@prb/effect-solana 1.0.0-beta.3 → 1.0.0-beta.4
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/balance/index.js.map +1 -1
- package/dist/balance/service.js.map +1 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/core/errors/account.js.map +1 -1
- package/dist/core/errors/index.js.map +1 -1
- package/dist/core/errors/predicates.js.map +1 -1
- package/dist/core/errors/rpc.js.map +1 -1
- package/dist/core/errors/transaction.js.map +1 -1
- package/dist/core/errors/wallet.js.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/kit-effect.js.map +1 -1
- package/dist/pda/index.js.map +1 -1
- package/dist/pda/service.js.map +1 -1
- package/dist/pda/types.js.map +1 -1
- package/dist/presets/index.js.map +1 -1
- package/dist/presets/layers.js.map +1 -1
- package/dist/program/index.js.map +1 -1
- package/dist/program/service.js.map +1 -1
- package/dist/program/types.js.map +1 -1
- package/dist/react-hooks/index.js.map +1 -1
- package/dist/react-hooks/internal/error.js.map +1 -1
- package/dist/react-hooks/internal/is-dev.js.map +1 -1
- package/dist/react-hooks/internal/runtime.js.map +1 -1
- package/dist/react-hooks/internal/scoped-run.js.map +1 -1
- package/dist/react-hooks/internal/stable.js.map +1 -1
- package/dist/react-hooks/primitives/use-effect-memo-factory.js.map +1 -1
- package/dist/react-hooks/primitives/use-effect.js.map +1 -1
- package/dist/react-hooks/primitives/use-fork-effect.js.map +1 -1
- package/dist/react-hooks/primitives/use-stream.js.map +1 -1
- package/dist/react-hooks/primitives.js.map +1 -1
- package/dist/react-hooks/provider.js.map +1 -1
- package/dist/rpc/index.js.map +1 -1
- package/dist/rpc/service.js.map +1 -1
- package/dist/signer/index.js.map +1 -1
- package/dist/signer/service.js.map +1 -1
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/logger.js.map +1 -1
- package/dist/telemetry/tracer.js.map +1 -1
- package/dist/testing-kit/_fixtures/addresses.js.map +1 -1
- package/dist/testing-kit/helpers.js.map +1 -1
- package/dist/testing-kit/index.js.map +1 -1
- package/dist/testing-kit/mock-balance-service.js.map +1 -1
- package/dist/testing-kit/mock-pda-service.js.map +1 -1
- package/dist/testing-kit/mock-rpc-service.js.map +1 -1
- package/dist/testing-kit/mock-signer-service.js.map +1 -1
- package/dist/testing-kit/mock-token-service.js.map +1 -1
- package/dist/testing-kit/mock-transaction-service.js.map +1 -1
- package/dist/testing-kit/test-layer.js.map +1 -1
- package/dist/token/index.js.map +1 -1
- package/dist/token/service.js.map +1 -1
- package/dist/tx/index.js.map +1 -1
- package/dist/tx/service.js.map +1 -1
- package/dist/tx/types.js.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/web3.js/_fixtures.js.map +1 -1
- package/dist/web3.js/index.js.map +1 -1
- package/dist/web3.js/layers.js.map +1 -1
- package/dist/web3.js/legacy-signer.js.map +1 -1
- package/dist/web3.js/transaction-bridge.js.map +1 -1
- package/dist/web3.js/types.js.map +1 -1
- package/package.json +22 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/balance/index.ts"],"names":[],"mappings":"AAMA,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/balance/index.ts"],"names":[],"mappings":"AAMA,cAAc,cAAc,CAAC","sourcesContent":["/**\n * Balance service for Solana blockchain.\n *\n * @module\n */\n\nexport * from \"./service.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/balance/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/balance/service.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Address, Lamports } from \"@solana/kit\";\nimport { Context, Duration, Effect, Layer, Schedule, Stream } from \"effect\";\nimport { RpcError } from \"@/src/core/errors/index.js\";\nimport { RpcService } from \"@/src/rpc/index.js\";\nimport { SpanNames } from \"@/src/telemetry/index.js\";\n\n/**\n * Shape of the Balance service for type inference.\n *\n * @category Services\n */\nexport type BalanceServiceShape = {\n /**\n * Get the SOL balance for an address.\n */\n readonly getSolBalance: (address: Address) => Effect.Effect<Lamports, RpcError>;\n\n /**\n * Check if an address has sufficient SOL balance.\n */\n readonly hasSufficientBalance: (params: {\n address: Address;\n required: Lamports;\n }) => Effect.Effect<boolean, RpcError>;\n\n /**\n * Watch SOL balance changes for an address.\n */\n readonly watchBalance: (params: {\n address: Address;\n pollingInterval?: number;\n }) => Effect.Effect<Stream.Stream<Lamports, RpcError>>;\n};\n\n/**\n * Service tag for Balance operations.\n *\n * @category Services\n */\nexport class BalanceService extends Context.Tag(\"esolana/BalanceService\")<\n BalanceService,\n BalanceServiceShape\n>() {}\n\n/**\n * Live implementation of the Balance service.\n *\n * @category Layers\n */\nexport const BalanceServiceLive = Layer.effect(\n BalanceService,\n Effect.gen(function* () {\n const rpcService = yield* RpcService;\n\n return BalanceService.of({\n getSolBalance: (address) =>\n Effect.gen(function* () {\n const rpc = yield* rpcService.getRpc();\n const rpcUrl = yield* rpcService.getRpcUrl();\n\n return yield* Effect.tryPromise({\n catch: (cause) =>\n new RpcError({\n cause,\n message: `Failed to get balance for ${address}`,\n url: rpcUrl,\n }),\n try: () => rpc.getBalance(address).send(),\n });\n }).pipe(\n Effect.map((response) => response.value),\n Effect.withSpan(SpanNames.BALANCE_GET_SOL, {\n attributes: { address },\n })\n ),\n\n hasSufficientBalance: (params) =>\n Effect.gen(function* () {\n const rpc = yield* rpcService.getRpc();\n const rpcUrl = yield* rpcService.getRpcUrl();\n\n const response = yield* Effect.tryPromise({\n catch: (cause) =>\n new RpcError({\n cause,\n message: `Failed to get balance for ${params.address}`,\n url: rpcUrl,\n }),\n try: () => rpc.getBalance(params.address).send(),\n });\n\n return response.value >= params.required;\n }).pipe(\n Effect.withSpan(SpanNames.BALANCE_GET_SOL, {\n attributes: {\n address: params.address,\n required: params.required.toString(),\n },\n })\n ),\n\n watchBalance: (params) =>\n Effect.gen(function* () {\n const rpc = yield* rpcService.getRpc();\n const rpcUrl = yield* rpcService.getRpcUrl();\n const interval = params.pollingInterval ?? 5000;\n\n return Stream.repeatEffectWithSchedule(\n Effect.tryPromise({\n catch: (cause) =>\n new RpcError({\n cause,\n message: `Failed to poll balance for ${params.address}`,\n url: rpcUrl,\n }),\n try: () => rpc.getBalance(params.address).send(),\n }).pipe(Effect.map((response) => response.value)),\n Schedule.spaced(Duration.millis(interval))\n );\n }).pipe(\n Effect.withSpan(SpanNames.BALANCE_WATCH_SOL, {\n attributes: {\n address: params.address,\n pollingInterval: params.pollingInterval,\n },\n })\n ),\n });\n })\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAc,CAAC;AAS/C,MAAM,CAAC,MAAM,gBAAgB,GAA4B;IACvD,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,uBAAuB;IACjC,cAAc,EAAE,qCAAqC;IACrD,OAAO,EAAE,gCAAgC;CAC1C,CAAC;AAOF,MAAM,CAAC,MAAM,sBAAsB,GACjC,kCAAiF,CAAC;AAGpF,MAAM,CAAC,MAAM,qBAAqB,GAChC,6CAAuG,CAAC;AAG1G,MAAM,CAAC,MAAM,0BAA0B,GACrC,6CAAuG,CAAC;AAG1G,MAAM,CAAC,MAAM,gCAAgC,GAC3C,8CAAyG,CAAC;AAG5G,MAAM,CAAC,MAAM,8BAA8B,GACzC,6CAAuG,CAAC;AAG1G,MAAM,CAAC,MAAM,oBAAoB,GAC/B,6CAAuG,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAc,CAAC;AAS/C,MAAM,CAAC,MAAM,gBAAgB,GAA4B;IACvD,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,uBAAuB;IACjC,cAAc,EAAE,qCAAqC;IACrD,OAAO,EAAE,gCAAgC;CAC1C,CAAC;AAOF,MAAM,CAAC,MAAM,sBAAsB,GACjC,kCAAiF,CAAC;AAGpF,MAAM,CAAC,MAAM,qBAAqB,GAChC,6CAAuG,CAAC;AAG1G,MAAM,CAAC,MAAM,0BAA0B,GACrC,6CAAuG,CAAC;AAG1G,MAAM,CAAC,MAAM,gCAAgC,GAC3C,8CAAyG,CAAC;AAG5G,MAAM,CAAC,MAAM,8BAA8B,GACzC,6CAAuG,CAAC;AAG1G,MAAM,CAAC,MAAM,oBAAoB,GAC/B,6CAAuG,CAAC","sourcesContent":["/**\n * Shared constants for Solana integration.\n *\n * @module\n */\n\nimport type { Address } from \"@solana/kit\";\nimport type { Cluster } from \"../types/index.js\";\n\n// =============================================================================\n// Lamport Constants\n// =============================================================================\n\n/** Number of lamports per SOL (1 SOL = 1,000,000,000 lamports). */\nexport const LAMPORTS_PER_SOL = 1_000_000_000n;\n\n// =============================================================================\n// Cluster Endpoints\n// =============================================================================\n\n/**\n * Default RPC endpoints for each Solana cluster.\n */\nexport const ClusterEndpoints: Record<Cluster, string> = {\n devnet: \"https://api.devnet.solana.com\",\n localnet: \"http://localhost:8899\",\n \"mainnet-beta\": \"https://api.mainnet-beta.solana.com\",\n testnet: \"https://api.testnet.solana.com\",\n};\n\n// =============================================================================\n// Common Program Addresses\n// =============================================================================\n\n/** System Program address. */\nexport const SYSTEM_PROGRAM_ADDRESS =\n \"11111111111111111111111111111111\" as Address<\"11111111111111111111111111111111\">;\n\n/** SPL Token Program address. */\nexport const TOKEN_PROGRAM_ADDRESS =\n \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\" as Address<\"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\">;\n\n/** SPL Token-2022 Program address. */\nexport const TOKEN_2022_PROGRAM_ADDRESS =\n \"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\" as Address<\"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb\">;\n\n/** Associated Token Account Program address. */\nexport const ASSOCIATED_TOKEN_PROGRAM_ADDRESS =\n \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\" as Address<\"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\">;\n\n/** Compute Budget Program address. */\nexport const COMPUTE_BUDGET_PROGRAM_ADDRESS =\n \"ComputeBudget111111111111111111111111111111\" as Address<\"ComputeBudget111111111111111111111111111111\">;\n\n/** Memo Program address. */\nexport const MEMO_PROGRAM_ADDRESS =\n \"MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr\" as Address<\"MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr\">;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/core/errors/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,WAAW,EAAwB,CAClF,sBAAsB,EACtB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,0BAA0B,EAC1B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM;CACxB,CACF;CAAG"}
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/core/errors/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,WAAW,EAAwB,CAClF,sBAAsB,EACtB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,0BAA0B,EAC1B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM;CACxB,CACF;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class AccountNotFoundError extends Schema.TaggedError<AccountNotFoundError>()(\n \"AccountNotFoundError\",\n {\n address: Schema.String,\n message: Schema.String,\n }\n) {}\n\nexport class InsufficientBalanceError extends Schema.TaggedError<InsufficientBalanceError>()(\n \"InsufficientBalanceError\",\n {\n address: Schema.String,\n available: Schema.BigInt,\n message: Schema.String,\n required: Schema.BigInt,\n }\n) {}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC","sourcesContent":["export * from \"./account.js\";\nexport * from \"./predicates.js\";\nexport * from \"./rpc.js\";\nexport * from \"./transaction.js\";\nexport * from \"./wallet.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../../src/core/errors/predicates.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAA6B,EAAE,CAC/E,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AAMnG,MAAM,CAAC,MAAM,aAAa,GACxB,CAAsC,GAAc,EAAE,EAAE,CACxD,CAAC,KAAc,EAAc,EAAE,CAC7B,mBAAmB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC"}
|
|
1
|
+
{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../../src/core/errors/predicates.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAA6B,EAAE,CAC/E,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AAMnG,MAAM,CAAC,MAAM,aAAa,GACxB,CAAsC,GAAc,EAAE,EAAE,CACxD,CAAC,KAAc,EAAc,EAAE,CAC7B,mBAAmB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC","sourcesContent":["/** Shape of Effect-TS tagged errors */\nexport type TaggedErrorShape = {\n readonly _tag: string;\n readonly message: string;\n readonly cause?: unknown;\n};\n\n/**\n * Check if an error has the shape of a tagged error (has _tag property).\n * Use this for general tagged error detection without checking a specific tag.\n */\nexport const hasTaggedErrorShape = (error: unknown): error is TaggedErrorShape =>\n error !== null && typeof error === \"object\" && \"_tag\" in error && typeof error._tag === \"string\";\n\n/**\n * Creates a type guard for tagged errors with a specific tag.\n * Works with both instanceof checks and _tag property (for serialized errors).\n */\nexport const isTaggedError =\n <T extends { readonly _tag: string }>(tag: T[\"_tag\"]) =>\n (error: unknown): error is T =>\n hasTaggedErrorShape(error) && error._tag === tag;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/core/errors/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,UAAU,EAAE;IACvE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM;CACnB,CAAC;CAAG;AAEL,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG"}
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/core/errors/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,UAAU,EAAE;IACvE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM;CACnB,CAAC;CAAG;AAEL,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class RpcError extends Schema.TaggedError<RpcError>()(\"RpcError\", {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n url: Schema.String,\n}) {}\n\nexport class ConnectionNotFoundError extends Schema.TaggedError<ConnectionNotFoundError>()(\n \"ConnectionNotFoundError\",\n {\n cluster: Schema.String,\n message: Schema.String,\n }\n) {}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/core/errors/transaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/core/errors/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMrE,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAC5E,mBAAmB,EACnB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,WAAW,EAAwB,CAClF,sBAAsB,EACtB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CAC1C,CACF;CAAG;AAEJ,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,EAA0B,CACtF,wBAAwB,EACxB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CACF;CAAG;AAEJ,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AASJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAoB,mBAAmB,CAAC,CAAC;AAM/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAM7D,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAKjC,MAAM,uBAAuB,GAAG,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;AAE1E,SAAS,eAAe,CAAC,IAAa;IACpC,OAAO,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,GAAG,mBAAmB,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,KAAa;IAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,IAAI,eAAe,CAAE,KAA4B,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,UAAU,CAAE,KAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzF,OAAO,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAaD,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAClE,OAAO,UAAU,CAAE,KAA6B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAoBD,MAAM,CAAC,MAAM,kBAAkB,GAU3B,IAAI,CACN,CAAC,EACD,CACE,MAA8B,EAC9B,QAAY,EAC6C,EAAE,CAC3D,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAIzE,CACJ,CAAC;AAcF,MAAM,CAAC,MAAM,sBAAsB,GAU/B,IAAI,CACN,CAAC,EACD,CACE,MAA8B,EAC9B,QAAmC,EACgC,EAAE,CACrE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAIzD,CACJ,CAAC","sourcesContent":["import { Effect, Schema } from \"effect\";\nimport { dual } from \"effect/Function\";\n\nimport { hasTaggedErrorShape, isTaggedError } from \"./predicates.js\";\n\n// =============================================================================\n// Error Classes\n// =============================================================================\n\nexport class UserRejectedError extends Schema.TaggedError<UserRejectedError>()(\n \"UserRejectedError\",\n {\n message: Schema.String,\n }\n) {}\n\nexport class TransactionSendError extends Schema.TaggedError<TransactionSendError>()(\n \"TransactionSendError\",\n {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n signature: Schema.optional(Schema.String),\n }\n) {}\n\nexport class TransactionFailedError extends Schema.TaggedError<TransactionFailedError>()(\n \"TransactionFailedError\",\n {\n cause: Schema.optional(Schema.Unknown),\n logs: Schema.optional(Schema.Array(Schema.String)),\n message: Schema.String,\n signature: Schema.String,\n }\n) {}\n\nexport class TransactionTimeoutError extends Schema.TaggedError<TransactionTimeoutError>()(\n \"TransactionTimeoutError\",\n {\n message: Schema.String,\n signature: Schema.String,\n }\n) {}\n\nexport class BlockhashExpiredError extends Schema.TaggedError<BlockhashExpiredError>()(\n \"BlockhashExpiredError\",\n {\n blockhash: Schema.String,\n message: Schema.String,\n }\n) {}\n\nexport class SimulationFailedError extends Schema.TaggedError<SimulationFailedError>()(\n \"SimulationFailedError\",\n {\n cause: Schema.optional(Schema.Unknown),\n logs: Schema.optional(Schema.Array(Schema.String)),\n message: Schema.String,\n }\n) {}\n\n// =============================================================================\n// User Rejection Detection\n// =============================================================================\n\n/**\n * Strict _tag guard for UserRejectedError.\n */\nexport const isTaggedUserRejectedError = isTaggedError<UserRejectedError>(\"UserRejectedError\");\n\n/**\n * Type guard for UserRejectedError.\n * Works with both instanceof and _tag (for serialized errors).\n */\nexport const isUserRejectedError = isTaggedUserRejectedError;\n\n/**\n * EIP-1193 / Phantom / Solflare standard error code for user rejection.\n * Both Phantom and Solflare use 4001 following Ethereum's standard.\n */\nconst USER_REJECTION_CODE = 4001;\n\n/**\n * Fallback message fragments if code is not available.\n */\nconst USER_REJECTION_MESSAGES = [\"user rejected\", \"rejected the request\"];\n\nfunction isRejectionCode(code: unknown): boolean {\n return code === USER_REJECTION_CODE || code === `${USER_REJECTION_CODE}`;\n}\n\nfunction hasRejectionMessage(message: string): boolean {\n const lower = message.toLowerCase();\n return USER_REJECTION_MESSAGES.some((m) => lower.includes(m));\n}\n\nfunction checkCause(cause: unknown, depth: number): boolean {\n if (!cause || depth > 3) {\n return false;\n }\n\n // Check for code 4001 (standard rejection code)\n if (typeof cause === \"object\" && \"code\" in cause && isRejectionCode(cause.code)) {\n return true;\n }\n\n // Check message\n if (typeof cause === \"string\") {\n return hasRejectionMessage(cause);\n }\n\n if (cause instanceof Error) {\n if (isRejectionCode((cause as { code?: unknown }).code)) {\n return true;\n }\n if (hasRejectionMessage(cause.message)) {\n return true;\n }\n return checkCause((cause as { cause?: unknown }).cause, depth + 1);\n }\n\n if (typeof cause === \"object\" && \"message\" in cause && typeof cause.message === \"string\") {\n return hasRejectionMessage(cause.message);\n }\n\n return false;\n}\n\n/**\n * Lenient user rejection check for Solana wallet errors.\n *\n * Solana wallets (Phantom, Solflare) use EIP-1193 error code 4001 for user rejection,\n * same as EVM wallets. The error gets wrapped in SignatureError by @prb/effect-solana.\n *\n * Detects:\n * - Tagged UserRejectedError\n * - Tagged WalletNotConnectedError (user didn't connect)\n * - SignatureError with code 4001 or rejection message in cause\n */\nexport function isLikelyUserRejectedError(error: unknown): boolean {\n if (!error || typeof error !== \"object\") {\n return false;\n }\n\n // Tagged UserRejectedError\n if (isUserRejectedError(error)) {\n return true;\n }\n\n // Tagged WalletNotConnectedError - treat as user cancellation\n if (hasTaggedErrorShape(error) && error._tag === \"WalletNotConnectedError\") {\n return true;\n }\n\n // SignatureError - check cause for code 4001 or rejection message\n if (hasTaggedErrorShape(error) && error._tag === \"SignatureError\") {\n return checkCause((error as { cause?: unknown }).cause, 0);\n }\n\n return false;\n}\n\n// =============================================================================\n// Effect Operators\n// =============================================================================\n\n/**\n * Catch UserRejectedError and return a fallback value.\n * Useful for treating rejection as \"cancelled\" rather than \"failed\".\n *\n * @example\n * ```ts\n * const result = await Effect.runPromise(\n * sendTransaction(tx).pipe(catchUserRejection(null))\n * );\n * if (result === null) {\n * // User cancelled - reset to idle\n * }\n * ```\n */\nexport const catchUserRejection: {\n <A2>(\n fallback: A2\n ): <A, E, R>(\n effect: Effect.Effect<A, E, R>\n ) => Effect.Effect<A | A2, Exclude<E, UserRejectedError>, R>;\n <A, E, R, A2>(\n effect: Effect.Effect<A, E, R>,\n fallback: A2\n ): Effect.Effect<A | A2, Exclude<E, UserRejectedError>, R>;\n} = dual(\n 2,\n <A, E, R, A2>(\n effect: Effect.Effect<A, E, R>,\n fallback: A2\n ): Effect.Effect<A | A2, Exclude<E, UserRejectedError>, R> =>\n Effect.catchIf(effect, isUserRejectedError, () => Effect.succeed(fallback)) as Effect.Effect<\n A | A2,\n Exclude<E, UserRejectedError>,\n R\n >\n);\n\n/**\n * Catch UserRejectedError and run a fallback effect.\n *\n * @example\n * ```ts\n * const result = await Effect.runPromise(\n * sendTransaction(tx).pipe(\n * catchUserRejectionWith(Effect.succeed({ cancelled: true }))\n * )\n * );\n * ```\n */\nexport const catchUserRejectionWith: {\n <A2, E2, R2>(\n fallback: Effect.Effect<A2, E2, R2>\n ): <A, E, R>(\n effect: Effect.Effect<A, E, R>\n ) => Effect.Effect<A | A2, Exclude<E, UserRejectedError> | E2, R | R2>;\n <A, E, R, A2, E2, R2>(\n effect: Effect.Effect<A, E, R>,\n fallback: Effect.Effect<A2, E2, R2>\n ): Effect.Effect<A | A2, Exclude<E, UserRejectedError> | E2, R | R2>;\n} = dual(\n 2,\n <A, E, R, A2, E2, R2>(\n effect: Effect.Effect<A, E, R>,\n fallback: Effect.Effect<A2, E2, R2>\n ): Effect.Effect<A | A2, Exclude<E, UserRejectedError> | E2, R | R2> =>\n Effect.catchIf(effect, isUserRejectedError, () => fallback) as Effect.Effect<\n A | A2,\n Exclude<E, UserRejectedError> | E2,\n R | R2\n >\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/core/errors/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IACzF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG"}
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/core/errors/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IACzF,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class WalletNotConnectedError extends Schema.TaggedError<WalletNotConnectedError>()(\n \"WalletNotConnectedError\",\n {\n message: Schema.String,\n }\n) {}\n\nexport class SignatureError extends Schema.TaggedError<SignatureError>()(\"SignatureError\", {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n}) {}\n"]}
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC","sourcesContent":["export * from \"./errors/index.js\";\n"]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC","sourcesContent":["/**\n * @prb/effect-solana\n *\n * Effect-TS integration for Solana blockchain.\n *\n * @module\n */\n\nexport * from \"./balance/index.js\";\nexport * from \"./constants/index.js\";\nexport * from \"./core/index.js\";\nexport * from \"./pda/index.js\";\nexport * from \"./presets/index.js\";\nexport * from \"./program/index.js\";\nexport * from \"./react-hooks/index.js\";\nexport * from \"./rpc/index.js\";\nexport * from \"./signer/index.js\";\nexport * from \"./telemetry/index.js\";\nexport * from \"./token/index.js\";\nexport * from \"./tx/index.js\";\nexport * from \"./types/index.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"","sourcesContent":["// Internal utilities - not exported from package\nexport {};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kit-effect.js","sourceRoot":"","sources":["../../src/internal/kit-effect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAmBpD,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,UAA2B,EAC3B,EAAsD,EAC9B,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IACvC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AAeL,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,SAA2B,EAC3B,UAAiC,EACZ,EAAE,CACvB,MAAM,CAAC,UAAU,CAAC;IAChB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,SAAS;CACf,CAAC,CAAC;AAKL,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAc,EACd,OAA2C,EACjC,EAAE;IACZ,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,IAAI,QAAQ,CAAC;QAClB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,YAAY,OAAO,EAAE;QAClD,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"kit-effect.js","sourceRoot":"","sources":["../../src/internal/kit-effect.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAmBpD,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,UAA2B,EAC3B,EAAsD,EAC9B,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IACvC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AAeL,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,SAA2B,EAC3B,UAAiC,EACZ,EAAE,CACvB,MAAM,CAAC,UAAU,CAAC;IAChB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,SAAS;CACf,CAAC,CAAC;AAKL,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAc,EACd,OAA2C,EACjC,EAAE;IACZ,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,IAAI,QAAQ,CAAC;QAClB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,YAAY,OAAO,EAAE;QAClD,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import type { Rpc, SolanaRpcApi } from \"@solana/kit\";\nimport { Effect } from \"effect\";\nimport { RpcError } from \"@/src/core/errors/rpc.js\";\nimport type { RpcServiceShape } from \"@/src/rpc/service.js\";\n\n/**\n * Get the RPC client and run an operation with it.\n *\n * Reduces boilerplate by combining client retrieval with Effect operations.\n *\n * @example\n * ```typescript\n * yield* withRpc(\n * rpcService,\n * (rpc) => Effect.tryPromise({\n * try: () => rpc.getBalance(address).send(),\n * catch: (e) => new RpcError({ cause: e, message: \"Failed\", url: \"\" })\n * })\n * );\n * ```\n */\nexport const withRpc = <A, E, R>(\n rpcService: RpcServiceShape,\n fn: (rpc: Rpc<SolanaRpcApi>) => Effect.Effect<A, E, R>\n): Effect.Effect<A, E, R> =>\n Effect.gen(function* () {\n const rpc = yield* rpcService.getRpc();\n return yield* fn(rpc);\n });\n\n/**\n * Convert a Solana Kit Promise operation to an Effect with custom error classification.\n *\n * Reduces boilerplate when wrapping @solana/kit methods that return promises.\n *\n * @example\n * ```typescript\n * yield* kitTryPromise(\n * () => rpc.getBalance(address).send(),\n * (cause) => new RpcError({ cause, message: \"Failed to get balance\", url })\n * );\n * ```\n */\nexport const kitTryPromise = <A, E>(\n operation: () => Promise<A>,\n classifier: (error: unknown) => E\n): Effect.Effect<A, E> =>\n Effect.tryPromise({\n catch: classifier,\n try: operation,\n });\n\n/**\n * Classify Solana errors into appropriate error types.\n */\nexport const classifyRpcError = (\n error: unknown,\n context: { url: string; operation: string }\n): RpcError => {\n const message = error instanceof Error ? error.message : String(error);\n return new RpcError({\n cause: error,\n message: `${context.operation} failed: ${message}`,\n url: context.url,\n });\n};\n"]}
|
package/dist/pda/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pda/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pda/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC","sourcesContent":["export * from \"./service.js\";\nexport * from \"./types.js\";\n"]}
|
package/dist/pda/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/pda/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkChD,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAA+B;CAAG;AAKnG,MAAM,WAAW,GAAG,CAAC,IAAa,EAAc,EAAE;IAChD,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAoB,EAAE;IACxC,MAAM,OAAO,GAAoB;QAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,kBAAkB,CAAC;oBACrB,KAAK;oBACL,OAAO,EAAE,oCAAoC,cAAc,EAAE;oBAC7D,cAAc;iBACf,CAAC;gBACJ,GAAG,EAAE,GAAG,EAAE,CACR,wBAAwB,CAAC;oBACvB,cAAc;oBACd,KAAK,EAAE,SAAS;iBACjB,CAAC;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE;YACpC,UAAU,EAAE;gBACV,cAAc;gBACd,SAAS,EAAE,KAAK,CAAC,MAAM;aACxB;SACF,CAAC,CACH;QAEH,aAAa,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CACvC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,CACxC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAClC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,CAClF;QAEH,UAAU,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CACpC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,CACxC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAC9B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,CAC/E;KACJ,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/pda/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkChD,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAA+B;CAAG;AAKnG,MAAM,WAAW,GAAG,CAAC,IAAa,EAAc,EAAE;IAChD,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAoB,EAAE;IACxC,MAAM,OAAO,GAAoB;QAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,kBAAkB,CAAC;oBACrB,KAAK;oBACL,OAAO,EAAE,oCAAoC,cAAc,EAAE;oBAC7D,cAAc;iBACf,CAAC;gBACJ,GAAG,EAAE,GAAG,EAAE,CACR,wBAAwB,CAAC;oBACvB,cAAc;oBACd,KAAK,EAAE,SAAS;iBACjB,CAAC;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE;YACpC,UAAU,EAAE;gBACV,cAAc;gBACd,SAAS,EAAE,KAAK,CAAC,MAAM;aACxB;SACF,CAAC,CACH;QAEH,aAAa,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CACvC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,CACxC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAClC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,CAClF;QAEH,UAAU,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CACpC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,CACxC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAC9B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,CAC/E;KACJ,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC","sourcesContent":["import type { Address, ProgramDerivedAddressBump } from \"@solana/addresses\";\nimport { getAddressEncoder, getProgramDerivedAddress } from \"@solana/addresses\";\nimport { Context, Effect, Layer } from \"effect\";\nimport { SpanNames } from \"@/src/telemetry/index.js\";\nimport { PdaDerivationError } from \"./types.js\";\n\nexport type PdaSeed = Uint8Array | Address;\n\nexport type ProgramDerivedAddress = readonly [Address, ProgramDerivedAddressBump];\n\nexport type PdaServiceShape = {\n /**\n * Derive a Program Derived Address from seeds and a program address.\n *\n * @returns A tuple of [address, bumpSeed]\n */\n readonly derive: (\n seeds: readonly PdaSeed[],\n programAddress: Address\n ) => Effect.Effect<ProgramDerivedAddress, PdaDerivationError>;\n\n /**\n * Derive a PDA and return only the address (without bump).\n */\n readonly deriveAddress: (\n seeds: readonly PdaSeed[],\n programAddress: Address\n ) => Effect.Effect<Address, PdaDerivationError>;\n\n /**\n * Derive a PDA and return only the bump seed.\n */\n readonly deriveBump: (\n seeds: readonly PdaSeed[],\n programAddress: Address\n ) => Effect.Effect<ProgramDerivedAddressBump, PdaDerivationError>;\n};\n\nexport class PdaService extends Context.Tag(\"esolana/PdaService\")<PdaService, PdaServiceShape>() {}\n\n/**\n * Convert seed to Uint8Array format required by @solana/addresses.\n */\nconst toSeedBytes = (seed: PdaSeed): Uint8Array => {\n if (seed instanceof Uint8Array) {\n return seed;\n }\n // Address type - use address encoder\n const encoder = getAddressEncoder();\n const encoded = encoder.encode(seed);\n // Convert ReadonlyUint8Array to Uint8Array\n return new Uint8Array(encoded);\n};\n\nconst makeService = (): PdaServiceShape => {\n const service: PdaServiceShape = {\n derive: (seeds, programAddress) =>\n Effect.gen(function* () {\n const seedBytes = seeds.map(toSeedBytes);\n return yield* Effect.tryPromise({\n catch: (cause) =>\n new PdaDerivationError({\n cause,\n message: `Failed to derive PDA for program ${programAddress}`,\n programAddress,\n }),\n try: () =>\n getProgramDerivedAddress({\n programAddress,\n seeds: seedBytes,\n }),\n });\n }).pipe(\n Effect.withSpan(SpanNames.PDA_DERIVE, {\n attributes: {\n programAddress,\n seedCount: seeds.length,\n },\n })\n ),\n\n deriveAddress: (seeds, programAddress) =>\n service.derive(seeds, programAddress).pipe(\n Effect.map(([address]) => address),\n Effect.withSpan(SpanNames.PDA_DERIVE_ADDRESS, { attributes: { programAddress } })\n ),\n\n deriveBump: (seeds, programAddress) =>\n service.derive(seeds, programAddress).pipe(\n Effect.map(([, bump]) => bump),\n Effect.withSpan(SpanNames.PDA_DERIVE_BUMP, { attributes: { programAddress } })\n ),\n };\n\n return service;\n};\n\nexport const PdaServiceLive = Layer.succeed(PdaService, PdaService.of(makeService()));\n"]}
|
package/dist/pda/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pda/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,KAAK,EAAE,MAAM,CAAC,OAAO;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CAC/C,CACF;CAAG"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pda/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,KAAK,EAAE,MAAM,CAAC,OAAO;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CAC/C,CACF;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class PdaDerivationError extends Schema.TaggedError<PdaDerivationError>()(\n \"PdaDerivationError\",\n {\n cause: Schema.Unknown,\n message: Schema.String,\n programAddress: Schema.optional(Schema.String),\n }\n) {}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AAMA,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AAMA,cAAc,aAAa,CAAC","sourcesContent":["/**\n * Presets and layer factories for @prb/effect-solana.\n *\n * @module\n */\n\nexport * from \"./layers.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layers.js","sourceRoot":"","sources":["../../src/presets/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AA4B3D,MAAM,gBAAgB,GAA4B;IAChD,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,uBAAuB;IACjC,cAAc,EAAE,qCAAqC;IACrD,OAAO,EAAE,gCAAgC;CAC1C,CAAC;AAKF,MAAM,eAAe,GAAwC;IAC3D,MAAM,EAAE,6BAA6B;IACrC,QAAQ,EAAE,qBAAqB;IAC/B,cAAc,EAAE,mCAAmC;IACnD,OAAO,EAAE,8BAA8B;CACxC,CAAC;AAqBF,MAAM,UAAU,YAAY,CAAC,MAA2B;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAkB;QACnC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM;QACN,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC;IAEF,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC;AAsBD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAChD,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,CAClB,CAAC;AA4BF,MAAM,UAAU,eAAe,CAAC,UAA+B;IAC7D,OAAO,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC;AAiCD,MAAM,UAAU,eAAe,CAC7B,MAA2B,EAC3B,UAA+B;IAU/B,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,YAAY,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"layers.js","sourceRoot":"","sources":["../../src/presets/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AA4B3D,MAAM,gBAAgB,GAA4B;IAChD,MAAM,EAAE,+BAA+B;IACvC,QAAQ,EAAE,uBAAuB;IACjC,cAAc,EAAE,qCAAqC;IACrD,OAAO,EAAE,gCAAgC;CAC1C,CAAC;AAKF,MAAM,eAAe,GAAwC;IAC3D,MAAM,EAAE,6BAA6B;IACrC,QAAQ,EAAE,qBAAqB;IAC/B,cAAc,EAAE,mCAAmC;IACnD,OAAO,EAAE,8BAA8B;CACxC,CAAC;AAqBF,MAAM,UAAU,YAAY,CAAC,MAA2B;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAkB;QACnC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM;QACN,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC;IAEF,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC;AAsBD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAChD,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,CAClB,CAAC;AA4BF,MAAM,UAAU,eAAe,CAAC,UAA+B;IAC7D,OAAO,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC;AAiCD,MAAM,UAAU,eAAe,CAC7B,MAA2B,EAC3B,UAA+B;IAU/B,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,YAAY,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC","sourcesContent":["import { Layer } from \"effect\";\nimport type { BalanceService } from \"@/src/balance/index.js\";\nimport { BalanceServiceLive } from \"@/src/balance/index.js\";\nimport type { PdaService } from \"@/src/pda/index.js\";\nimport { PdaServiceLive } from \"@/src/pda/index.js\";\nimport type { ProgramWriter } from \"@/src/program/index.js\";\nimport { ProgramWriterLive } from \"@/src/program/index.js\";\nimport type { RpcService } from \"@/src/rpc/index.js\";\nimport { makeRpcServiceLive } from \"@/src/rpc/index.js\";\nimport type { SignerService, WalletAdapter } from \"@/src/signer/index.js\";\nimport { makeSignerServiceFromAdapter } from \"@/src/signer/index.js\";\nimport type { TokenService } from \"@/src/token/index.js\";\nimport { TokenServiceLive } from \"@/src/token/index.js\";\nimport type { TransactionService } from \"@/src/tx/index.js\";\nimport { TransactionServiceLive } from \"@/src/tx/index.js\";\nimport type { Cluster, ClusterConfig } from \"@/src/types/index.js\";\n\n/**\n * Configuration for connecting to a Solana cluster.\n *\n * @category Configuration\n */\nexport type SolanaClusterConfig = {\n /**\n * The cluster environment (mainnet-beta, devnet, testnet, localnet).\n */\n readonly cluster: Cluster;\n\n /**\n * Override the default RPC URL for the cluster.\n */\n readonly rpcUrl?: string;\n\n /**\n * Optional WebSocket URL for subscriptions.\n */\n readonly wsUrl?: string;\n};\n\n/**\n * Default RPC endpoints for Solana clusters.\n */\nconst DEFAULT_RPC_URLS: Record<Cluster, string> = {\n devnet: \"https://api.devnet.solana.com\",\n localnet: \"http://127.0.0.1:8899\",\n \"mainnet-beta\": \"https://api.mainnet-beta.solana.com\",\n testnet: \"https://api.testnet.solana.com\",\n};\n\n/**\n * Default WebSocket endpoints for Solana clusters.\n */\nconst DEFAULT_WS_URLS: Record<Cluster, string | undefined> = {\n devnet: \"wss://api.devnet.solana.com\",\n localnet: \"ws://127.0.0.1:8900\",\n \"mainnet-beta\": \"wss://api.mainnet-beta.solana.com\",\n testnet: \"wss://api.testnet.solana.com\",\n};\n\n/**\n * Create an RpcService layer from cluster configuration.\n *\n * @param config - Cluster configuration\n * @returns A Layer providing RpcService\n *\n * @category Layers\n *\n * @example\n * ```typescript\n * const rpcLayer = makeRpcLayer({ cluster: \"devnet\" });\n *\n * // Override default RPC URL\n * const customRpcLayer = makeRpcLayer({\n * cluster: \"mainnet-beta\",\n * rpcUrl: \"https://my-custom-rpc.com\",\n * });\n * ```\n */\nexport function makeRpcLayer(config: SolanaClusterConfig): Layer.Layer<RpcService> {\n const rpcUrl = config.rpcUrl ?? DEFAULT_RPC_URLS[config.cluster];\n const wsUrl = config.wsUrl ?? DEFAULT_WS_URLS[config.cluster];\n\n const clusterConfig: ClusterConfig = {\n cluster: config.cluster,\n rpcUrl,\n ...(wsUrl ? { wsUrl } : {}),\n };\n\n return makeRpcServiceLive(clusterConfig);\n}\n\n/**\n * Compose all application services (Balance, Token, Transaction, PDA, ProgramWriter).\n * Requires RpcService and SignerService to be provided.\n *\n * @category Layers\n *\n * @example\n * ```typescript\n * import { Layer } from \"effect\";\n * import { makeRpcLayer, makeSignerLayer, effectSolanaServices } from \"@prb/effect-solana\";\n *\n * const rpcLayer = makeRpcLayer({ cluster: \"devnet\" });\n * const signerLayer = makeSignerLayer(walletAdapter);\n *\n * const appLayer = Layer.provideMerge(\n * effectSolanaServices,\n * Layer.mergeAll(rpcLayer, signerLayer)\n * );\n * ```\n */\nexport const effectSolanaServices = Layer.mergeAll(\n BalanceServiceLive,\n TokenServiceLive,\n TransactionServiceLive,\n PdaServiceLive,\n ProgramWriterLive\n);\n\n/**\n * Create a SignerService layer from a wallet adapter.\n *\n * @param getAdapter - Function that returns the current wallet adapter\n * @returns A Layer providing SignerService\n *\n * @category Layers\n *\n * @example\n * ```typescript\n * import { useWallet } from \"@solana/wallet-adapter-react\";\n *\n * function App() {\n * const wallet = useWallet();\n *\n * const signerLayer = makeSignerLayer(() => ({\n * publicKey: wallet.publicKey,\n * connected: wallet.connected,\n * signTransaction: wallet.signTransaction!,\n * signAllTransactions: wallet.signAllTransactions!,\n * }));\n *\n * // Use signerLayer in your runtime...\n * }\n * ```\n */\nexport function makeSignerLayer(getAdapter: () => WalletAdapter): Layer.Layer<SignerService> {\n return makeSignerServiceFromAdapter(getAdapter);\n}\n\n/**\n * Create a complete Solana layer with all services.\n *\n * @param config - Cluster configuration\n * @param getAdapter - Function that returns the current wallet adapter\n * @returns A Layer providing all Solana services\n *\n * @category Layers\n *\n * @example\n * ```typescript\n * import { makeSolanaLayer } from \"@prb/effect-solana\";\n * import { useWallet } from \"@solana/wallet-adapter-react\";\n *\n * function App() {\n * const wallet = useWallet();\n *\n * const solanaLayer = makeSolanaLayer(\n * { cluster: \"devnet\" },\n * () => ({\n * publicKey: wallet.publicKey,\n * connected: wallet.connected,\n * signTransaction: wallet.signTransaction!,\n * signAllTransactions: wallet.signAllTransactions!,\n * })\n * );\n *\n * // Use solanaLayer in your Effect runtime...\n * }\n * ```\n */\nexport function makeSolanaLayer(\n config: SolanaClusterConfig,\n getAdapter: () => WalletAdapter\n): Layer.Layer<\n | RpcService\n | SignerService\n | BalanceService\n | TokenService\n | TransactionService\n | PdaService\n | ProgramWriter\n> {\n const rpcLayer = makeRpcLayer(config);\n const signerLayer = makeSignerLayer(getAdapter);\n\n const baseLayers = Layer.mergeAll(rpcLayer, signerLayer);\n\n return Layer.provideMerge(effectSolanaServices, baseLayers);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/program/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/program/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC","sourcesContent":["export * from \"./service.js\";\nexport * from \"./types.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/program/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AASnG,SAAS,WAAW,CAAC,OAAyB;IAC5C,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAKD,SAAS,gBAAgB,CAAC,QAAqB;IAC7C,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAKD,SAAS,IAAI,CAAC,KAAsB;IAClC,OAAO,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClC,CAAC;AAMD,SAAS,YAAY,CAAC,IAAwB;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAKD,SAAS,cAAc,CAAC,QAAiB,EAAE,UAAmB;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC;IAChF,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;AAClE,CAAC;AAKD,SAAS,gBAAgB,CAAC,QAAgC;IACxD,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAa;YACzC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC;SACnD,CAAC,CAAC;QACH,IAAI,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAa;KACzD,CAAC;AACJ,CAAC;AAiED,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAGpE;CAAG;AAWN,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAC3C,aAAa,EACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;IAErC,MAAM,OAAO,GAAuB;QAClC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAEnD,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAG1C,MAAM,QAAQ,GAAI,OAAO,CAAC,OAAmC,CAAC,MAAM,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAChD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC,CAC9E,CAAC;YACJ,CAAC;YAGD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAGtC,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAGlD,MAAM,OAAO,GAAI,QAAkD,CAAC,GAAG,UAAU,CAAC,CAAC;YACnF,MAAM,YAAY,GAChB,OACD,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAElC,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBACjD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC;gBAC1D,GAAG,EAAE,GAAG,EAAE,CAEN,YACD,CAAC,WAAW,EAAE;aAClB,CAAC,CAAC;YAGH,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,yBAAyB,EAAE;YACnD,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;SACtC,CAAC,CACH;QACH,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAGlC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAGvC,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,SAAmB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAElF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC;gBACjD,GAAG,EAAE,GAAG,EAAE,CAGR,IAAI,OAAO,CACT,cAAqB,EACrB;oBACE,UAAU,EAAE;wBACV,cAAc,EAAE,CAAC,MAAiB,EAAE,EAAE,CACpC,GAAG;6BACA,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAa,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;6BACpE,IAAI,EAAE;wBAEX,kBAAkB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE;qBACV;iBAChB,CACK;aAC7C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;KACrD,CAAC;IAEF,OAAO,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC,CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/program/service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ProgramWriter - Effect-based Anchor program interaction service.\n *\n * Wraps @coral-xyz/anchor Program class for clean, type-safe instruction building.\n * This mirrors how ContractWriter works for EVM ABIs.\n *\n * @module program/service\n */\n\nimport type { Idl } from \"@coral-xyz/anchor\";\nimport { Program } from \"@coral-xyz/anchor\";\nimport type { Address } from \"@solana/addresses\";\nimport type { Instruction } from \"@solana/instructions\";\nimport { AccountRole } from \"@solana/instructions\";\nimport type { TransactionInstruction } from \"@solana/web3.js\";\nimport { PublicKey } from \"@solana/web3.js\";\nimport BN from \"bn.js\";\nimport { Context, Effect, Layer } from \"effect\";\nimport { RpcService } from \"@/src/rpc/index.js\";\nimport { SpanNames } from \"@/src/telemetry/index.js\";\nimport type { AccountsMap, BuildInstructionParams, CreateProgramParams } from \"./types.js\";\nimport { InstructionBuildError, InstructionNotFoundError, ProgramCreationError } from \"./types.js\";\n\n// =============================================================================\n// Helpers\n// =============================================================================\n\n/**\n * Convert a string/Address to PublicKey.\n */\nfunction toPublicKey(address: Address | string): PublicKey {\n return new PublicKey(address);\n}\n\n/**\n * Convert account map values to PublicKeys for Anchor.\n */\nfunction toAnchorAccounts(accounts: AccountsMap): Record<string, PublicKey> {\n const result: Record<string, PublicKey> = {};\n for (const [key, value] of Object.entries(accounts)) {\n result[key] = toPublicKey(value);\n }\n return result;\n}\n\n/**\n * Convert a bigint to BN for Anchor.\n */\nfunction toBN(value: bigint | number): BN {\n return new BN(value.toString());\n}\n\n/**\n * Convert args to Anchor-compatible format.\n * Handles bigint -> BN conversion.\n */\nfunction toAnchorArgs(args: readonly unknown[]): unknown[] {\n return args.map((arg) => {\n if (typeof arg === \"bigint\") {\n return toBN(arg);\n }\n if (typeof arg === \"number\" && Number.isInteger(arg)) {\n return toBN(arg);\n }\n return arg;\n });\n}\n\n/**\n * Get account role from signer and writable flags.\n */\nfunction getAccountRole(isSigner: boolean, isWritable: boolean): AccountRole {\n if (isSigner) {\n return isWritable ? AccountRole.WRITABLE_SIGNER : AccountRole.READONLY_SIGNER;\n }\n return isWritable ? AccountRole.WRITABLE : AccountRole.READONLY;\n}\n\n/**\n * Convert Anchor TransactionInstruction to Solana kit Instruction format.\n */\nfunction toKitInstruction(anchorIx: TransactionInstruction): Instruction {\n return {\n accounts: anchorIx.keys.map((key) => ({\n address: key.pubkey.toBase58() as Address,\n role: getAccountRole(key.isSigner, key.isWritable),\n })),\n data: new Uint8Array(anchorIx.data),\n programAddress: anchorIx.programId.toBase58() as Address,\n };\n}\n\n// =============================================================================\n// Service Definition\n// =============================================================================\n\n/**\n * Shape of the ProgramWriter for type inference.\n *\n * @category Services\n */\nexport type ProgramWriterShape = {\n /**\n * Create an Anchor Program instance from an IDL.\n *\n * @param params - Program creation parameters\n * @returns The Anchor Program instance\n */\n readonly createProgram: <T extends Idl>(\n params: CreateProgramParams<T>\n ) => Effect.Effect<Program<T>, ProgramCreationError>;\n\n /**\n * Build an instruction using Anchor's Program.methods API.\n *\n * This is the cleanest way to build instructions - Anchor handles:\n * - Discriminator generation from method name\n * - Account ordering from IDL\n * - Argument serialization\n * - PDA derivation (for accounts with seeds in IDL)\n *\n * @param program - The Anchor Program instance\n * @param params - Instruction building parameters\n * @returns The built instruction in Solana kit format\n */\n readonly buildInstruction: <T extends Idl>(\n program: Program<T>,\n params: BuildInstructionParams\n ) => Effect.Effect<Instruction, InstructionNotFoundError | InstructionBuildError>;\n\n /**\n * Build an instruction directly from IDL (creates program internally).\n *\n * Convenience method that combines createProgram + buildInstruction.\n *\n * @param idl - The Anchor IDL\n * @param params - Instruction building parameters\n * @param programId - Optional program ID override\n * @returns The built instruction\n */\n readonly build: <T extends Idl>(\n idl: T,\n params: BuildInstructionParams,\n programId?: Address\n ) => Effect.Effect<\n Instruction,\n ProgramCreationError | InstructionNotFoundError | InstructionBuildError\n >;\n};\n\n/**\n * Service tag for program operations (Solana equivalent of ContractWriter).\n *\n * @category Services\n */\nexport class ProgramWriter extends Context.Tag(\"esolana/ProgramWriter\")<\n ProgramWriter,\n ProgramWriterShape\n>() {}\n\n// =============================================================================\n// Service Implementation\n// =============================================================================\n\n/**\n * Create a ProgramWriter layer.\n *\n * @category Layers\n */\nexport const ProgramWriterLive = Layer.effect(\n ProgramWriter,\n Effect.gen(function* () {\n const rpcService = yield* RpcService;\n\n const service: ProgramWriterShape = {\n build: (idl, params, programId) =>\n Effect.gen(function* () {\n const program = yield* service.createProgram({ idl, programId });\n return yield* service.buildInstruction(program, params);\n }).pipe(Effect.withSpan(SpanNames.PROGRAM_BUILD)),\n\n buildInstruction: (program, params) =>\n Effect.gen(function* () {\n const { method, args, accounts } = params;\n\n // Check if method exists\n const methodFn = (program.methods as Record<string, unknown>)[method];\n if (!methodFn || typeof methodFn !== \"function\") {\n return yield* Effect.fail(\n new InstructionNotFoundError(method, program.idl.metadata?.name ?? \"unknown\")\n );\n }\n\n // Convert args to Anchor format (bigint -> BN)\n const anchorArgs = toAnchorArgs(args);\n\n // Convert accounts to PublicKeys\n const anchorAccounts = toAnchorAccounts(accounts);\n\n // Build instruction using Anchor's fluent API\n const builder = (methodFn as (...methodArgs: unknown[]) => unknown)(...anchorArgs);\n const withAccounts = (\n builder as { accountsPartial: (a: unknown) => unknown }\n ).accountsPartial(anchorAccounts);\n\n const anchorInstruction = yield* Effect.tryPromise({\n catch: (error) => new InstructionBuildError(method, error),\n try: () =>\n (\n withAccounts as { instruction: () => Promise<TransactionInstruction> }\n ).instruction(),\n });\n\n // Convert to Solana kit format\n return toKitInstruction(anchorInstruction);\n }).pipe(\n Effect.withSpan(SpanNames.PROGRAM_BUILD_INSTRUCTION, {\n attributes: { method: params.method },\n })\n ),\n createProgram: (params) =>\n Effect.gen(function* () {\n const { idl, programId } = params;\n\n // Create a minimal provider for Anchor (it just needs the connection for PDAs)\n const rpc = yield* rpcService.getRpc();\n\n // Build IDL with address override if provided\n const idlWithAddress = programId ? { ...idl, address: programId as string } : idl;\n\n return yield* Effect.try({\n catch: (error) => new ProgramCreationError(error),\n try: () =>\n // Create Program with a dummy provider (we're only using it for instruction building)\n // Anchor requires a provider but we only need the IDL parsing\n new Program(\n idlWithAddress as Idl,\n {\n connection: {\n getAccountInfo: (pubkey: PublicKey) =>\n rpc\n .getAccountInfo(pubkey.toBase58() as Address, { encoding: \"base64\" })\n .send(),\n // Minimal connection interface for Anchor\n getLatestBlockhash: () => rpc.getLatestBlockhash().send(),\n } as unknown as Program[\"provider\"][\"connection\"],\n } as unknown as Program[\"provider\"]\n ) as unknown as Program<typeof params.idl>,\n });\n }).pipe(Effect.withSpan(SpanNames.PROGRAM_CREATE)),\n };\n\n return ProgramWriter.of(service);\n })\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/program/types.ts"],"names":[],"mappings":"AAkEA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,IAAI,GAAG,0BAA0B,CAAC;IAClC,MAAM,CAAS;IACf,OAAO,CAAS;IAEzB,YAAY,MAAc,EAAE,OAAe;QACzC,KAAK,CAAC,gBAAgB,MAAM,uBAAuB,OAAO,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAKD,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,GAAG,sBAAsB,CAAC;IACrB,KAAK,CAAU;IAEjC,YAAY,KAAc,EAAE,OAAgB;QAC1C,KAAK,CAAC,OAAO,IAAI,iCAAiC,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAKD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,uBAAuB,CAAC;IAC/B,MAAM,CAAS;IACN,KAAK,CAAU;IAEjC,YAAY,MAAc,EAAE,KAAc;QACxC,KAAK,CAAC,gCAAgC,MAAM,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/program/types.ts"],"names":[],"mappings":"AAkEA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,IAAI,GAAG,0BAA0B,CAAC;IAClC,MAAM,CAAS;IACf,OAAO,CAAS;IAEzB,YAAY,MAAc,EAAE,OAAe;QACzC,KAAK,CAAC,gBAAgB,MAAM,uBAAuB,OAAO,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAKD,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,GAAG,sBAAsB,CAAC;IACrB,KAAK,CAAU;IAEjC,YAAY,KAAc,EAAE,OAAgB;QAC1C,KAAK,CAAC,OAAO,IAAI,iCAAiC,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAKD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,uBAAuB,CAAC;IAC/B,MAAM,CAAS;IACN,KAAK,CAAU;IAEjC,YAAY,MAAc,EAAE,KAAc;QACxC,KAAK,CAAC,gCAAgC,MAAM,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF","sourcesContent":["/**\n * Type definitions for Anchor program interactions.\n *\n * Provides TypeScript types for IDL-based instruction building using @coral-xyz/anchor.\n *\n * @module program/types\n */\n\nimport type { Address } from \"@solana/addresses\";\nimport type { Instruction } from \"@solana/instructions\";\n\n// =============================================================================\n// Re-exports from Anchor\n// =============================================================================\n\nexport type { Idl, Program } from \"@coral-xyz/anchor\";\n\n// =============================================================================\n// Program Service Types\n// =============================================================================\n\n/**\n * Account configuration for instruction building.\n * Maps account names to addresses.\n */\nexport type AccountsMap = Record<string, Address | string>;\n\n/**\n * Parameters for creating a Program instance.\n */\nexport type CreateProgramParams<\n T extends import(\"@coral-xyz/anchor\").Idl = import(\"@coral-xyz/anchor\").Idl,\n> = {\n /** The Anchor IDL */\n readonly idl: T;\n /** Override the program address from IDL */\n readonly programId?: Address;\n};\n\n/**\n * Parameters for building an instruction.\n */\nexport type BuildInstructionParams<TArgs extends readonly unknown[] = readonly unknown[]> = {\n /** The method/instruction name */\n readonly method: string;\n /** Instruction arguments in order */\n readonly args: TArgs;\n /** Account addresses mapped by name (only non-PDA, non-fixed accounts) */\n readonly accounts: AccountsMap;\n};\n\n/**\n * Result of building an instruction.\n */\nexport type BuildInstructionResult = {\n /** The built instruction (Solana kit format) */\n readonly instruction: Instruction;\n};\n\n// =============================================================================\n// Error Types\n// =============================================================================\n\n/**\n * Error thrown when an instruction method is not found in the IDL.\n */\nexport class InstructionNotFoundError extends Error {\n readonly _tag = \"InstructionNotFoundError\";\n readonly method: string;\n readonly idlName: string;\n\n constructor(method: string, idlName: string) {\n super(`Instruction \"${method}\" not found in IDL \"${idlName}\"`);\n this.name = \"InstructionNotFoundError\";\n this.method = method;\n this.idlName = idlName;\n }\n}\n\n/**\n * Error thrown when program creation fails.\n */\nexport class ProgramCreationError extends Error {\n readonly _tag = \"ProgramCreationError\";\n override readonly cause: unknown;\n\n constructor(cause: unknown, message?: string) {\n super(message ?? \"Failed to create Anchor program\");\n this.name = \"ProgramCreationError\";\n this.cause = cause;\n }\n}\n\n/**\n * Error thrown when instruction building fails.\n */\nexport class InstructionBuildError extends Error {\n readonly _tag = \"InstructionBuildError\";\n readonly method: string;\n override readonly cause: unknown;\n\n constructor(method: string, cause: unknown) {\n super(`Failed to build instruction \"${method}\"`);\n this.name = \"InstructionBuildError\";\n this.method = method;\n this.cause = cause;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react-hooks/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAKb,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react-hooks/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAKb,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAC","sourcesContent":["\"use client\";\n\nexport type { EffectError } from \"./internal/error.js\";\nexport type { EffectSolanaRuntime } from \"./internal/runtime.js\";\nexport type { ScopedRun } from \"./internal/scoped-run.js\";\nexport { stableStringify } from \"./internal/stable.js\";\nexport type {\n EffectMemoOptions,\n StreamState,\n UseEffectResult,\n} from \"./primitives.js\";\nexport {\n useEffectMemo,\n useEffectMemoFactory,\n useEffectOnce,\n useForkEffect,\n useStream,\n useStreamEffect,\n useStreamValue,\n useSubscriptionRef,\n useSubscriptionRefValue,\n} from \"./primitives.js\";\nexport type {\n EffectSolanaLayerProviderProps,\n EffectSolanaProviderProps,\n} from \"./provider.js\";\nexport {\n EffectSolanaLayerProvider,\n EffectSolanaProvider,\n EffectSolanaProviderSync,\n useEffectSolanaLayer,\n useEffectSolanaRuntime,\n} from \"./provider.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/error.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,KAAqB,EAAkB,EAAE;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,KAA4B,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE,CAChE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAA4B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/error.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,KAAqB,EAAkB,EAAE;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,KAA4B,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE,CAChE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAA4B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC","sourcesContent":["\"use client\";\n\nimport * as Cause from \"effect/Cause\";\nimport * as Option from \"effect/Option\";\n\nexport type EffectError<E> = E | Cause.Cause<never>;\n\nexport const fromCause = <E>(cause: Cause.Cause<E>): EffectError<E> => {\n const failure = Cause.failureOption(cause);\n return Option.isSome(failure) ? failure.value : (cause as Cause.Cause<never>);\n};\n\nexport const fromUnknown = (cause: unknown): Cause.Cause<never> =>\n Cause.isCause(cause) ? (cause as Cause.Cause<never>) : Cause.die(cause);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-dev.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/is-dev.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,MAAM,KAAK,GAChB,OAAO,OAAO,KAAK,WAAW;IAC9B,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"is-dev.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/is-dev.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,MAAM,KAAK,GAChB,OAAO,OAAO,KAAK,WAAW;IAC9B,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW;IAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC","sourcesContent":["\"use client\";\n\nexport const isDev =\n typeof process !== \"undefined\" &&\n typeof process.env !== \"undefined\" &&\n process.env.NODE_ENV !== \"production\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/runtime.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAmBvC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAyC,EACX,EAAE;IAChC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAA6C,CAAC,CAAC,CACtF,CAAC;IAEF,MAAM,OAAO,GAAG,CACd,MAA8B,EAC9B,OAA4C,EAC5C,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAE3F,MAAM,UAAU,GAAG,CACjB,MAA8B,EAC9B,OAAuD,EACvD,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAE9F,MAAM,cAAc,GAAG,CACrB,MAA8B,EAC9B,OAAuD,EACvD,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAElG,OAAO;QACL,OAAO;QACP,UAAU;QACV,cAAc;QACd,OAAO,EAAE,OAA8C;QACvD,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAyC,EACpB,EAAE;IACvB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC7B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAA6C,CAAC,CAAC,CACtF,CAAC;IAEF,MAAM,OAAO,GAAG,CACd,MAA8B,EAC9B,OAA4C,EAC5C,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAE3F,MAAM,UAAU,GAAG,CACjB,MAA8B,EAC9B,OAAuD,EACvD,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAE9F,MAAM,cAAc,GAAG,CACrB,MAA8B,EAC9B,OAAuD,EACvD,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAElG,OAAO;QACL,OAAO;QACP,UAAU;QACV,cAAc;QACd,OAAO,EAAE,OAA8C;QACvD,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,KAA4B,EAAiB,EAAE;IAChF,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/runtime.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAmBvC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAyC,EACX,EAAE;IAChC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAA6C,CAAC,CAAC,CACtF,CAAC;IAEF,MAAM,OAAO,GAAG,CACd,MAA8B,EAC9B,OAA4C,EAC5C,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAE3F,MAAM,UAAU,GAAG,CACjB,MAA8B,EAC9B,OAAuD,EACvD,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAE9F,MAAM,cAAc,GAAG,CACrB,MAA8B,EAC9B,OAAuD,EACvD,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAElG,OAAO;QACL,OAAO;QACP,UAAU;QACV,cAAc;QACd,OAAO,EAAE,OAA8C;QACvD,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAyC,EACpB,EAAE;IACvB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC7B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAA6C,CAAC,CAAC,CACtF,CAAC;IAEF,MAAM,OAAO,GAAG,CACd,MAA8B,EAC9B,OAA4C,EAC5C,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAE3F,MAAM,UAAU,GAAG,CACjB,MAA8B,EAC9B,OAAuD,EACvD,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAE9F,MAAM,cAAc,GAAG,CACrB,MAA8B,EAC9B,OAAuD,EACvD,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAiD,EAAE,OAAO,CAAC,CAAC;IAElG,OAAO;QACL,OAAO;QACP,UAAU;QACV,cAAc;QACd,OAAO,EAAE,OAA8C;QACvD,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,KAA4B,EAAiB,EAAE;IAChF,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC","sourcesContent":["\"use client\";\n\nimport type * as Effect from \"effect/Effect\";\nimport * as Effect_ from \"effect/Effect\";\nimport * as Exit from \"effect/Exit\";\nimport type * as Fiber from \"effect/Fiber\";\nimport type * as Layer from \"effect/Layer\";\nimport * as Layer_ from \"effect/Layer\";\nimport type * as Runtime from \"effect/Runtime\";\nimport * as Runtime_ from \"effect/Runtime\";\nimport type * as Scope from \"effect/Scope\";\nimport * as Scope_ from \"effect/Scope\";\n\nexport type EffectSolanaRuntime = {\n readonly runFork: <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n options?: Runtime.RunForkOptions | undefined\n ) => Fiber.RuntimeFiber<A, E>;\n readonly runPromise: <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n options?: { readonly signal?: AbortSignal } | undefined\n ) => Promise<A>;\n readonly runPromiseExit: <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n options?: { readonly signal?: AbortSignal } | undefined\n ) => Promise<Exit.Exit<A, E>>;\n readonly runtime: Runtime.Runtime<unknown>;\n readonly scope: Scope.Scope.Closeable;\n};\n\nexport const buildRuntime = async (\n layer: Layer.Layer<never, unknown, never>\n): Promise<EffectSolanaRuntime> => {\n const scope = await Effect_.runPromise(Scope_.make());\n const runtime = await Effect_.runPromise(\n Scope_.extend(scope)(Layer_.toRuntime(layer as Layer.Layer<unknown, unknown, never>))\n );\n\n const runFork = <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n options?: Runtime.RunForkOptions | undefined\n ) => Runtime_.runFork(runtime, effect as unknown as Effect.Effect<A, E, unknown>, options);\n\n const runPromise = <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n options?: { readonly signal?: AbortSignal } | undefined\n ) => Runtime_.runPromise(runtime, effect as unknown as Effect.Effect<A, E, unknown>, options);\n\n const runPromiseExit = <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n options?: { readonly signal?: AbortSignal } | undefined\n ) => Runtime_.runPromiseExit(runtime, effect as unknown as Effect.Effect<A, E, unknown>, options);\n\n return {\n runFork,\n runPromise,\n runPromiseExit,\n runtime: runtime as unknown as Runtime.Runtime<unknown>,\n scope,\n };\n};\n\nexport const buildRuntimeSync = (\n layer: Layer.Layer<never, unknown, never>\n): EffectSolanaRuntime => {\n const scope = Effect_.runSync(Scope_.make());\n const runtime = Effect_.runSync(\n Scope_.extend(scope)(Layer_.toRuntime(layer as Layer.Layer<unknown, unknown, never>))\n );\n\n const runFork = <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n options?: Runtime.RunForkOptions | undefined\n ) => Runtime_.runFork(runtime, effect as unknown as Effect.Effect<A, E, unknown>, options);\n\n const runPromise = <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n options?: { readonly signal?: AbortSignal } | undefined\n ) => Runtime_.runPromise(runtime, effect as unknown as Effect.Effect<A, E, unknown>, options);\n\n const runPromiseExit = <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n options?: { readonly signal?: AbortSignal } | undefined\n ) => Runtime_.runPromiseExit(runtime, effect as unknown as Effect.Effect<A, E, unknown>, options);\n\n return {\n runFork,\n runPromise,\n runPromiseExit,\n runtime: runtime as unknown as Runtime.Runtime<unknown>,\n scope,\n };\n};\n\nexport const closeRuntime = async (scope: Scope.Scope.Closeable): Promise<void> => {\n await Effect_.runPromise(Scope_.close(scope, Exit.succeed(undefined)));\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-run.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/scoped-run.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AASvC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,OAA4B,EAAsB,EAAE;IACtF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IACjG,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAU,MAA8B,EAAE,EAAE,CACvD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAiD,CAAC,EAAE;QACvF,KAAK;KACN,CAAC,CAAC;IAEL,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"scoped-run.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/scoped-run.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AASvC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,OAA4B,EAAsB,EAAE;IACtF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IACjG,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAU,MAA8B,EAAE,EAAE,CACvD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAiD,CAAC,EAAE;QACvF,KAAK;KACN,CAAC,CAAC;IAEL,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC","sourcesContent":["\"use client\";\n\nimport type * as Effect from \"effect/Effect\";\nimport * as ExecutionStrategy from \"effect/ExecutionStrategy\";\nimport * as Exit from \"effect/Exit\";\nimport type * as Fiber from \"effect/Fiber\";\nimport { constVoid as noop } from \"effect/Function\";\nimport * as Scope_ from \"effect/Scope\";\nimport type { EffectSolanaRuntime } from \"./runtime.js\";\n\nexport type ScopedRun = {\n readonly close: () => void;\n readonly fork: <A, E, R>(effect: Effect.Effect<A, E, R>) => Fiber.RuntimeFiber<A, E>;\n readonly scope: Scope_.Scope.Closeable;\n};\n\nexport const makeScopedRun = async (runtime: EffectSolanaRuntime): Promise<ScopedRun> => {\n const scope = await runtime.runPromise(Scope_.fork(runtime.scope, ExecutionStrategy.sequential));\n let closed = false;\n\n const close = () => {\n if (closed) {\n return;\n }\n closed = true;\n runtime.runPromise(Scope_.close(scope, Exit.succeed(undefined))).catch(noop);\n };\n\n const fork = <A, E, R>(effect: Effect.Effect<A, E, R>) =>\n runtime.runFork(Scope_.extend(scope)(effect as unknown as Effect.Effect<A, E, unknown>), {\n scope,\n });\n\n return { close, fork, scope };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stable.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/stable.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE,CACxD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"stable.js","sourceRoot":"","sources":["../../../src/react-hooks/internal/stable.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE,CACxD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC","sourcesContent":["\"use client\";\n\nexport const stableStringify = (value: unknown): string =>\n JSON.stringify(value, (_, v) => (typeof v === \"bigint\" ? v.toString() : v));\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-effect-memo-factory.js","sourceRoot":"","sources":["../../../src/react-hooks/primitives/use-effect-memo-factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-effect-memo-factory.js","sourceRoot":"","sources":["../../../src/react-hooks/primitives/use-effect-memo-factory.ts"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as Cause from \"effect/Cause\";\nimport * as Effect from \"effect/Effect\";\nimport type * as Exit from \"effect/Exit\";\nimport * as Fiber from \"effect/Fiber\";\nimport * as React from \"react\";\nimport { makeScopedRun } from \"../internal/scoped-run.js\";\nimport { useEffectSolanaRuntime } from \"../provider.js\";\n\nexport type EffectMemoOptions<A> = {\n readonly key?: string | undefined;\n readonly minIntervalMs?: number | undefined;\n readonly debounceMs?: number | undefined;\n readonly transition?: boolean | undefined;\n readonly initial?: A | undefined;\n};\n\nexport const useEffectMemoFactory = <A, E, R>(\n effectFactory: (signal: AbortSignal) => Effect.Effect<A, E, R>,\n deps: React.DependencyList,\n options: EffectMemoOptions<A> = {}\n): A | undefined => {\n const runtime = useEffectSolanaRuntime();\n const [value, setValue] = React.useState<A | undefined>(options.initial);\n const inFlightRef = React.useRef<{\n key: string | null;\n fiber: Fiber.RuntimeFiber<Exit.Exit<A, E>, never> | null;\n close: (() => void) | null;\n abort: AbortController | null;\n }>({ abort: null, close: null, fiber: null, key: null });\n const lastRunRef = React.useRef<{ key: string | null; at: number }>({ at: 0, key: null });\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n\n React.useEffect(() => {\n let active = true;\n\n const key = options.key ?? null;\n const minIntervalMs = options.minIntervalMs ?? 0;\n const debounceMs = options.debounceMs ?? 0;\n const useTransition = options.transition !== false;\n\n const now = Date.now();\n if (key && inFlightRef.current.key === key && inFlightRef.current.fiber) {\n return () => {\n active = false;\n };\n }\n if (\n key &&\n minIntervalMs > 0 &&\n lastRunRef.current.key === key &&\n now - lastRunRef.current.at < minIntervalMs\n ) {\n return () => {\n active = false;\n };\n }\n\n const run = () => {\n const controller = new AbortController();\n\n (async () => {\n const scoped = await makeScopedRun(runtime);\n const effect = effectFactory(controller.signal);\n\n const fiber = scoped.fork(\n Effect.exit(\n (effect as unknown as Effect.Effect<A, E, unknown>).pipe(\n Effect.tap((result) =>\n Effect.sync(() => {\n if (!active) {\n return;\n }\n if (useTransition) {\n React.startTransition(() => setValue(result));\n } else {\n setValue(result);\n }\n })\n ),\n Effect.tapErrorCause((cause) =>\n Effect.sync(() => {\n if (!Cause.isEmpty(cause)) {\n console.error(\"[useEffectMemoFactory] Fiber error:\", Cause.pretty(cause));\n }\n })\n )\n )\n )\n );\n\n inFlightRef.current = { abort: controller, close: scoped.close, fiber, key };\n lastRunRef.current = { at: Date.now(), key };\n\n await runtime.runPromise(Fiber.join(fiber));\n\n if (inFlightRef.current.fiber === fiber) {\n inFlightRef.current = { abort: null, close: null, fiber: null, key: null };\n }\n\n scoped.close();\n })().catch((cause) => {\n if (active && !controller.signal.aborted) {\n console.error(\"[useEffectMemoFactory] Fiber error:\", cause);\n }\n });\n };\n\n if (debounceMs > 0) {\n timeoutRef.current = setTimeout(run, debounceMs);\n } else {\n run();\n }\n\n return () => {\n active = false;\n\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n if (inFlightRef.current.abort) {\n inFlightRef.current.abort.abort();\n }\n\n if (inFlightRef.current.close) {\n inFlightRef.current.close();\n }\n\n if (inFlightRef.current.key === key) {\n inFlightRef.current = { abort: null, close: null, fiber: null, key: null };\n }\n };\n }, [runtime, ...deps]);\n\n return value;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-effect.js","sourceRoot":"","sources":["../../../src/react-hooks/primitives/use-effect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-effect.js","sourceRoot":"","sources":["../../../src/react-hooks/primitives/use-effect.ts"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as Effect from \"effect/Effect\";\nimport * as Fiber from \"effect/Fiber\";\nimport * as React from \"react\";\nimport type { EffectError } from \"../internal/error.js\";\nimport { fromCause, fromUnknown } from \"../internal/error.js\";\nimport { isDev } from \"../internal/is-dev.js\";\nimport { makeScopedRun } from \"../internal/scoped-run.js\";\nimport { useEffectSolanaRuntime } from \"../provider.js\";\n\nexport type UseEffectResult<A, E> =\n | {\n readonly status: \"idle\" | \"loading\";\n readonly data?: A | undefined;\n readonly error?: never;\n }\n | { readonly status: \"success\"; readonly data: A; readonly error?: never }\n | {\n readonly status: \"error\";\n readonly data?: never;\n readonly error: EffectError<E>;\n };\n\nexport const useEffectOnce = <A, E, R>(\n makeEffect: () => Effect.Effect<A, E, R>,\n options: { readonly initial?: A | undefined } = {}\n): UseEffectResult<A, E> => {\n const runtime = useEffectSolanaRuntime();\n const devRef = React.useRef<{\n makeEffect: () => Effect.Effect<A, E, R>;\n initial: A | undefined;\n warned: boolean;\n } | null>(null);\n if (isDev) {\n if (devRef.current === null) {\n devRef.current = { initial: options.initial, makeEffect, warned: false };\n } else if (\n !devRef.current.warned &&\n (devRef.current.makeEffect !== makeEffect || devRef.current.initial !== options.initial)\n ) {\n devRef.current.warned = true;\n console.warn(\n [\n \"[effect-solana] useEffectOnce ignores changes after the first render.\",\n \"Memoize inputs or switch to useEffectMemo for reactive effects.\",\n ].join(\" \")\n );\n }\n }\n const [state, setState] = React.useState<UseEffectResult<A, E>>(() => ({\n data: options.initial,\n status: \"idle\",\n }));\n\n React.useEffect(() => {\n let cancelled = false;\n let scopedClose: (() => void) | null = null;\n\n setState({ data: options.initial, status: \"loading\" });\n\n (async () => {\n const scoped = await makeScopedRun(runtime);\n scopedClose = scoped.close;\n\n const fiber = scoped.fork(\n Effect.exit(makeEffect() as unknown as Effect.Effect<A, E, unknown>)\n );\n const exit = await runtime.runPromise(Fiber.join(fiber));\n\n if (cancelled) {\n return;\n }\n\n if (exit._tag === \"Success\") {\n setState({ data: exit.value, status: \"success\" });\n return;\n }\n\n setState({ error: fromCause(exit.cause), status: \"error\" });\n })().catch((cause) => {\n if (!cancelled) {\n setState({ error: fromUnknown(cause), status: \"error\" });\n }\n });\n\n return () => {\n cancelled = true;\n scopedClose?.();\n };\n }, [runtime]);\n\n return state;\n};\n\n/**\n * Runs an Effect when dependencies change, similar to React's `useEffect` + `useMemo`.\n *\n * @remarks\n * **Stability requirements:**\n *\n * 1. **`makeEffect` must be stable** — wrap with `useCallback` or define outside the component.\n * Passing an inline arrow function will cause the effect to re-run on every render.\n *\n * 2. **`deps` must contain referentially stable values** — works like React's `useEffect`.\n * Passing inline objects/arrays/functions will cause infinite re-renders.\n *\n * 3. **`options.initial` should be stable** — wrap with `useMemo` if computed, or move outside.\n *\n * @example\n * ```tsx\n * // ✅ CORRECT: makeEffect is stable (defined outside component)\n * const fetchUser = (id: string) => () =>\n * Effect.gen(function* () {\n * const user = yield* UserService.getUser(id);\n * return user;\n * });\n *\n * function UserProfile({ userId }: { userId: string }) {\n * const result = useEffectMemo(fetchUser(userId), [userId]);\n * // Effect re-runs only when userId changes\n * }\n * ```\n *\n * @example\n * ```tsx\n * // ✅ CORRECT: makeEffect is memoized with useCallback\n * function TokenBalance({ address }: { address: string }) {\n * const getBalance = useCallback(\n * () => TokenService.getBalance(address),\n * [address]\n * );\n * const result = useEffectMemo(getBalance, [address]);\n * }\n * ```\n *\n * @example\n * ```tsx\n * // ❌ WRONG: inline makeEffect causes re-run on every render\n * function Example({ userId }: { userId: string }) {\n * const result = useEffectMemo(\n * () => UserService.getUser(userId), // inline function — BAD!\n * [userId]\n * );\n * }\n * ```\n *\n * @example\n * ```tsx\n * // ❌ WRONG: inline object in deps causes infinite re-renders\n * function Example() {\n * const result = useEffectMemo(\n * fetchData,\n * [{ filter: \"active\" }] // new object on every render — BAD!\n * );\n * }\n * ```\n *\n * @param makeEffect - Factory function returning an Effect. Must be referentially stable.\n * @param deps - Dependency array (like React's useEffect). Values must be referentially stable.\n * @param options - Optional configuration. `initial` sets the initial data value.\n * @returns State object with `status`, `data`, and `error` fields.\n */\nexport const useEffectMemo = <A, E, R>(\n makeEffect: () => Effect.Effect<A, E, R>,\n deps: React.DependencyList,\n options: { readonly initial?: A | undefined } = {}\n): UseEffectResult<A, E> => {\n const runtime = useEffectSolanaRuntime();\n const [state, setState] = React.useState<UseEffectResult<A, E>>(() => ({\n data: options.initial,\n status: \"idle\",\n }));\n\n React.useEffect(() => {\n let cancelled = false;\n let scopedClose: (() => void) | null = null;\n\n setState({ data: options.initial, status: \"loading\" });\n\n (async () => {\n const scoped = await makeScopedRun(runtime);\n scopedClose = scoped.close;\n\n const fiber = scoped.fork(\n Effect.exit(makeEffect() as unknown as Effect.Effect<A, E, unknown>)\n );\n const exit = await runtime.runPromise(Fiber.join(fiber));\n\n if (cancelled) {\n return;\n }\n\n if (exit._tag === \"Success\") {\n setState({ data: exit.value, status: \"success\" });\n return;\n }\n\n setState({ error: fromCause(exit.cause), status: \"error\" });\n })().catch((cause) => {\n if (!cancelled) {\n setState({ error: fromUnknown(cause), status: \"error\" });\n }\n });\n\n return () => {\n cancelled = true;\n scopedClose?.();\n };\n }, [runtime, ...deps]);\n\n return state;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-fork-effect.js","sourceRoot":"","sources":["../../../src/react-hooks/primitives/use-fork-effect.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,UAA+C,EAC/C,IAA0B,EACpB,EAAE;IACR,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IAEzC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,WAAW,GAAwB,IAAI,CAAC;QAE5C,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAE3B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAoD,CAAC,CAAC;QAC9E,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjB,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"use-fork-effect.js","sourceRoot":"","sources":["../../../src/react-hooks/primitives/use-fork-effect.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,UAA+C,EAC/C,IAA0B,EACpB,EAAE;IACR,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IAEzC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,WAAW,GAAwB,IAAI,CAAC;QAE5C,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAE3B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAoD,CAAC,CAAC;QAC9E,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjB,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC","sourcesContent":["\"use client\";\n\nimport type * as Effect from \"effect/Effect\";\nimport { constVoid as noop } from \"effect/Function\";\nimport * as React from \"react\";\nimport { makeScopedRun } from \"../internal/scoped-run.js\";\nimport { useEffectSolanaRuntime } from \"../provider.js\";\n\nexport const useForkEffect = <R>(\n makeEffect: () => Effect.Effect<void, never, R>,\n deps: React.DependencyList\n): void => {\n const runtime = useEffectSolanaRuntime();\n\n React.useEffect(() => {\n let scopedClose: (() => void) | null = null;\n\n (async () => {\n const scoped = await makeScopedRun(runtime);\n scopedClose = scoped.close;\n\n scoped.fork(makeEffect() as unknown as Effect.Effect<void, never, unknown>);\n })().catch(noop);\n\n return () => {\n scopedClose?.();\n };\n }, [runtime, ...deps]);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-stream.js","sourceRoot":"","sources":["../../../src/react-hooks/primitives/use-stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-stream.js","sourceRoot":"","sources":["../../../src/react-hooks/primitives/use-stream.ts"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as Effect from \"effect/Effect\";\nimport * as Fiber from \"effect/Fiber\";\nimport * as Scope from \"effect/Scope\";\nimport * as Stream from \"effect/Stream\";\nimport * as React from \"react\";\nimport { fromCause, fromUnknown } from \"../internal/error.js\";\nimport { isDev } from \"../internal/is-dev.js\";\nimport { makeScopedRun } from \"../internal/scoped-run.js\";\nimport { useEffectSolanaRuntime } from \"../provider.js\";\n\nexport type StreamState<A> =\n | { readonly status: \"starting\"; readonly value?: A | undefined }\n | { readonly status: \"running\"; readonly value: A }\n | {\n readonly status: \"error\";\n readonly error: unknown;\n readonly value?: A | undefined;\n };\n\ntype ExternalStore<S> = {\n readonly getSnapshot: () => S;\n readonly setSnapshot: (value: S) => void;\n readonly subscribe: (listener: () => void) => () => void;\n};\n\nconst makeExternalStore = <S>(initial: S): ExternalStore<S> => {\n let snapshot = initial;\n const listeners = new Set<() => void>();\n\n return {\n getSnapshot: () => snapshot,\n setSnapshot: (value) => {\n snapshot = value;\n for (const listener of listeners) {\n listener();\n }\n },\n subscribe: (listener) => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n };\n};\n\nexport const useStream = <A, E, R>(\n stream: Stream.Stream<A, E, R>,\n options: { readonly initial?: A | undefined } = {}\n): StreamState<A> => {\n const runtime = useEffectSolanaRuntime();\n const devRef = React.useRef<{ initial: A | undefined; warned: boolean } | null>(null);\n if (isDev) {\n if (devRef.current === null) {\n devRef.current = { initial: options.initial, warned: false };\n } else if (!devRef.current.warned && devRef.current.initial !== options.initial) {\n devRef.current.warned = true;\n console.warn(\n [\n \"[effect-solana] useStream does not react to initial changes after mount.\",\n \"If you need to update the initial value, recreate the stream or use stable inputs.\",\n ].join(\" \")\n );\n }\n }\n const storeRef = React.useRef<ExternalStore<StreamState<A>> | null>(null);\n if (storeRef.current === null) {\n storeRef.current = makeExternalStore<StreamState<A>>({\n status: \"starting\",\n value: options.initial,\n });\n }\n\n const store = storeRef.current;\n const state = React.useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);\n\n React.useEffect(() => {\n store.setSnapshot({ status: \"starting\", value: options.initial });\n\n let cancelled = false;\n let scopedClose: (() => void) | null = null;\n let lastValue = options.initial;\n\n (async () => {\n const scoped = await makeScopedRun(runtime);\n scopedClose = scoped.close;\n\n const runner = Stream.runForEach(stream, (value: A) =>\n Effect.sync(() => {\n lastValue = value;\n store.setSnapshot({ status: \"running\", value });\n })\n );\n\n const fiber = scoped.fork(Effect.exit(runner));\n const exit = await runtime.runPromise(Fiber.join(fiber));\n\n if (cancelled) {\n return;\n }\n\n if (exit._tag === \"Failure\") {\n store.setSnapshot({\n error: fromCause(exit.cause),\n status: \"error\",\n value: lastValue,\n });\n }\n })().catch((cause) => {\n if (!cancelled) {\n store.setSnapshot({\n error: fromUnknown(cause),\n status: \"error\",\n value: lastValue,\n });\n }\n });\n\n return () => {\n cancelled = true;\n scopedClose?.();\n };\n }, [runtime, store, stream]);\n\n return state;\n};\n\nexport const useStreamEffect = <A, E, R>(\n makeStream: () => Effect.Effect<Stream.Stream<A, E, R>, E, R>,\n deps: React.DependencyList,\n options: { readonly initial?: A | undefined } = {}\n): StreamState<A> => {\n const runtime = useEffectSolanaRuntime();\n const storeRef = React.useRef<ExternalStore<StreamState<A>> | null>(null);\n if (storeRef.current === null) {\n storeRef.current = makeExternalStore<StreamState<A>>({\n status: \"starting\",\n value: options.initial,\n });\n }\n\n const store = storeRef.current;\n const state = React.useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);\n\n React.useEffect(() => {\n store.setSnapshot({ status: \"starting\", value: options.initial });\n\n let cancelled = false;\n let scopedClose: (() => void) | null = null;\n let lastValue = options.initial;\n\n (async () => {\n const scoped = await makeScopedRun(runtime);\n scopedClose = scoped.close;\n\n const stream = await runtime.runPromise(\n Scope.extend(scoped.scope)(\n makeStream() as unknown as Effect.Effect<Stream.Stream<A, E, unknown>, E, unknown>\n )\n );\n\n const runner = Stream.runForEach(stream, (value: A) =>\n Effect.sync(() => {\n lastValue = value;\n store.setSnapshot({ status: \"running\", value });\n })\n );\n\n const fiber = scoped.fork(Effect.exit(runner));\n const exit = await runtime.runPromise(Fiber.join(fiber));\n\n if (cancelled) {\n return;\n }\n\n if (exit._tag === \"Failure\") {\n store.setSnapshot({\n error: fromCause(exit.cause),\n status: \"error\",\n value: lastValue,\n });\n }\n })().catch((cause) => {\n if (!cancelled) {\n store.setSnapshot({\n error: fromUnknown(cause),\n status: \"error\",\n value: lastValue,\n });\n }\n });\n\n return () => {\n cancelled = true;\n scopedClose?.();\n };\n }, [runtime, ...deps]);\n\n return state;\n};\n\nexport const useStreamValue = <A, E, R>(\n stream: Stream.Stream<A, E, R>,\n options: { readonly initial?: A | undefined } = {}\n): A | undefined => {\n const state = useStream(stream, options);\n if (state.status === \"starting\") {\n return options.initial;\n }\n if (state.status === \"error\") {\n return state.value ?? options.initial;\n }\n return state.value;\n};\n\nexport const useSubscriptionRef = <A>(\n ref: import(\"effect/SubscriptionRef\").SubscriptionRef<A>,\n initial: A\n): A => {\n const state = useStream(ref.changes, { initial });\n return state.status === \"starting\" ? initial : (state.value ?? initial);\n};\n\nexport const useSubscriptionRefValue = <A>(\n ref: import(\"effect/SubscriptionRef\").SubscriptionRef<A>,\n initial: A\n): A => useSubscriptionRef(ref, initial);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/react-hooks/primitives.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/react-hooks/primitives.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC","sourcesContent":["\"use client\";\n\nexport type { UseEffectResult } from \"./primitives/use-effect.js\";\nexport { useEffectMemo, useEffectOnce } from \"./primitives/use-effect.js\";\nexport type { EffectMemoOptions } from \"./primitives/use-effect-memo-factory.js\";\nexport { useEffectMemoFactory } from \"./primitives/use-effect-memo-factory.js\";\nexport { useForkEffect } from \"./primitives/use-fork-effect.js\";\nexport type { StreamState } from \"./primitives/use-stream.js\";\nexport {\n useStream,\n useStreamEffect,\n useStreamValue,\n useSubscriptionRef,\n useSubscriptionRefValue,\n} from \"./primitives/use-stream.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/react-hooks/provider.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/react-hooks/provider.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport { constVoid as noop } from \"effect/Function\";\nimport type * as Layer from \"effect/Layer\";\nimport * as React from \"react\";\nimport type { EffectSolanaRuntime } from \"./internal/runtime.js\";\nimport { buildRuntime, buildRuntimeSync, closeRuntime } from \"./internal/runtime.js\";\n\nexport type EffectSolanaProviderProps = {\n readonly children?: React.ReactNode;\n readonly fallback?: React.ReactNode;\n readonly layer: Layer.Layer<never, unknown, never>;\n readonly onUnhandledError?: (cause: unknown) => void;\n};\n\nexport type EffectSolanaLayerProviderProps = {\n readonly children?: React.ReactNode;\n readonly layer: Layer.Layer<never, unknown, never>;\n};\n\nconst EffectSolanaRuntimeContext = React.createContext<EffectSolanaRuntime | null>(null);\nconst EffectSolanaLayerContext = React.createContext<Layer.Layer<never, unknown, never> | null>(\n null\n);\n\nexport const EffectSolanaProvider = (props: EffectSolanaProviderProps): React.ReactElement => {\n const { children, fallback = null, layer, onUnhandledError } = props;\n\n const [runtime, setRuntime] = React.useState<EffectSolanaRuntime | null>(null);\n\n React.useEffect(() => {\n let cancelled = false;\n let current: EffectSolanaRuntime | null = null;\n\n setRuntime(null);\n\n (async () => {\n const built = await buildRuntime(layer);\n current = built;\n\n if (cancelled) {\n await closeRuntime(built.scope);\n return;\n }\n\n setRuntime(built);\n })().catch((cause) => {\n onUnhandledError?.(cause);\n });\n\n return () => {\n cancelled = true;\n if (current) {\n closeRuntime(current.scope).catch(noop);\n }\n };\n }, [layer, onUnhandledError]);\n\n if (runtime === null) {\n return React.createElement(React.Fragment, null, fallback);\n }\n\n return React.createElement(EffectSolanaRuntimeContext.Provider, { value: runtime }, children);\n};\n\nexport const EffectSolanaProviderSync = (props: EffectSolanaProviderProps): React.ReactElement => {\n const { children, layer, onUnhandledError } = props;\n\n const runtime = React.useMemo(() => {\n try {\n return buildRuntimeSync(layer);\n } catch (cause) {\n onUnhandledError?.(cause);\n throw cause;\n }\n }, [layer, onUnhandledError]);\n\n React.useEffect(\n () => () => {\n void closeRuntime(runtime.scope).catch(noop);\n },\n [runtime]\n );\n\n return React.createElement(EffectSolanaRuntimeContext.Provider, { value: runtime }, children);\n};\n\nexport const EffectSolanaLayerProvider = (\n props: EffectSolanaLayerProviderProps\n): React.ReactElement => {\n const { children, layer } = props;\n return React.createElement(EffectSolanaLayerContext.Provider, { value: layer }, children);\n};\n\nexport const useEffectSolanaRuntime = (): EffectSolanaRuntime => {\n const runtime = React.useContext(EffectSolanaRuntimeContext);\n if (runtime === null) {\n throw new Error(\"EffectSolanaProvider is missing (useEffectSolanaRuntime)\");\n }\n return runtime;\n};\n\nexport const useEffectSolanaLayer = (): Layer.Layer<never, unknown, never> => {\n const layer = React.useContext(EffectSolanaLayerContext);\n if (layer === null) {\n throw new Error(\"EffectSolanaLayerProvider is missing (useEffectSolanaLayer)\");\n }\n return layer;\n};\n"]}
|
package/dist/rpc/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rpc/index.ts"],"names":[],"mappings":"AAMA,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rpc/index.ts"],"names":[],"mappings":"AAMA,cAAc,cAAc,CAAC","sourcesContent":["/**\n * RPC service for Solana blockchain interactions.\n *\n * @module\n */\n\nexport * from \"./service.js\";\n"]}
|
package/dist/rpc/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/rpc/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAsCrE,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAA+B;CAAG;AAOnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAqB,EAAE,EAAE,CAC1D,KAAK,CAAC,MAAM,CACV,UAAU,EACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAElB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAGjD,MAAM,sBAAsB,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAa,EAAE,EAAE,CAC5E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CACvD,CAAC;IAEF,OAAO,UAAU,CAAC,EAAE,CAAC;QACnB,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAEhD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QAEvC,mBAAmB,EAAE,GAAG,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,uBAAuB,CAAC;oBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,6CAA6C,MAAM,CAAC,OAAO,EAAE;iBACvE,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC;AAOJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;IACjD,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,+BAA+B;IACvC,KAAK,EAAE,6BAA6B;CACrC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/rpc/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAsCrE,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAA+B;CAAG;AAOnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAqB,EAAE,EAAE,CAC1D,KAAK,CAAC,MAAM,CACV,UAAU,EACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAElB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAGjD,MAAM,sBAAsB,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAa,EAAE,EAAE,CAC5E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CACvD,CAAC;IAEF,OAAO,UAAU,CAAC,EAAE,CAAC;QACnB,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAEhD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QAEvC,mBAAmB,EAAE,GAAG,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,uBAAuB,CAAC;oBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,6CAA6C,MAAM,CAAC,OAAO,EAAE;iBACvE,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC;AAOJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;IACjD,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,+BAA+B;IACvC,KAAK,EAAE,6BAA6B;CACrC,CAAC,CAAC","sourcesContent":["import type { Rpc, RpcSubscriptions, SolanaRpcApi, SolanaRpcSubscriptionsApi } from \"@solana/kit\";\nimport { createSolanaRpc, createSolanaRpcSubscriptions } from \"@solana/kit\";\nimport { Context, Effect, Layer } from \"effect\";\nimport { ConnectionNotFoundError } from \"@/src/core/errors/index.js\";\nimport type { Cluster, ClusterConfig } from \"@/src/types/index.js\";\n\n/**\n * Shape of the RPC service for type inference.\n *\n * @category Services\n */\nexport type RpcServiceShape = {\n /**\n * Get the Solana RPC client for making RPC calls.\n */\n readonly getRpc: () => Effect.Effect<Rpc<SolanaRpcApi>>;\n\n /**\n * Get the Solana RPC subscriptions client for WebSocket subscriptions.\n */\n readonly getRpcSubscriptions: () => Effect.Effect<\n RpcSubscriptions<SolanaRpcSubscriptionsApi>,\n ConnectionNotFoundError\n >;\n\n /**\n * Get the current cluster.\n */\n readonly getCluster: () => Effect.Effect<Cluster>;\n\n /**\n * Get the RPC URL.\n */\n readonly getRpcUrl: () => Effect.Effect<string>;\n};\n\n/**\n * Service tag for RPC client.\n *\n * @category Services\n */\nexport class RpcService extends Context.Tag(\"esolana/RpcService\")<RpcService, RpcServiceShape>() {}\n\n/**\n * Create an RpcService layer from cluster configuration.\n *\n * @category Layers\n */\nexport const makeRpcServiceLive = (config: ClusterConfig) =>\n Layer.effect(\n RpcService,\n Effect.gen(function* () {\n // Create RPC client once during layer construction\n const rpcClient = createSolanaRpc(config.rpcUrl);\n\n // Memoized WebSocket subscription client - created once on first access\n const getCachedSubscriptions = yield* Effect.cachedFunction((wsUrl: string) =>\n Effect.sync(() => createSolanaRpcSubscriptions(wsUrl))\n );\n\n return RpcService.of({\n getCluster: () => Effect.succeed(config.cluster),\n\n getRpc: () => Effect.succeed(rpcClient),\n\n getRpcSubscriptions: () => {\n const wsUrl = config.wsUrl;\n if (!wsUrl) {\n return Effect.fail(\n new ConnectionNotFoundError({\n cluster: config.cluster,\n message: `WebSocket URL not configured for cluster: ${config.cluster}`,\n })\n );\n }\n return getCachedSubscriptions(wsUrl);\n },\n\n getRpcUrl: () => Effect.succeed(config.rpcUrl),\n });\n })\n );\n\n/**\n * Default devnet configuration for development.\n *\n * @category Layers\n */\nexport const RpcServiceDevnet = makeRpcServiceLive({\n cluster: \"devnet\",\n rpcUrl: \"https://api.devnet.solana.com\",\n wsUrl: \"wss://api.devnet.solana.com\",\n});\n"]}
|
package/dist/signer/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signer/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signer/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from \"./service.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/signer/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/signer/service.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Address } from \"@solana/addresses\";\nimport type { Transaction, TransactionWithLifetime } from \"@solana/transactions\";\nimport { Context, Effect, Layer } from \"effect\";\nimport { SignatureError, WalletNotConnectedError } from \"@/src/core/errors/index.js\";\nimport { SpanNames } from \"@/src/telemetry/index.js\";\n\nexport type SignerServiceShape = {\n /**\n * Get the connected wallet's address.\n */\n readonly getAddress: () => Effect.Effect<Address, WalletNotConnectedError>;\n\n /**\n * Sign a single transaction.\n */\n readonly signTransaction: <T extends Transaction & TransactionWithLifetime>(\n tx: T\n ) => Effect.Effect<T, SignatureError | WalletNotConnectedError>;\n\n /**\n * Sign multiple transactions in a batch.\n */\n readonly signAllTransactions: <T extends Transaction & TransactionWithLifetime>(\n txs: readonly T[]\n ) => Effect.Effect<readonly T[], SignatureError | WalletNotConnectedError>;\n\n /**\n * Check if a wallet is connected.\n */\n readonly isConnected: () => Effect.Effect<boolean>;\n};\n\nexport class SignerService extends Context.Tag(\"esolana/SignerService\")<\n SignerService,\n SignerServiceShape\n>() {}\n\n/**\n * Wallet adapter interface - consumers implement this to integrate their wallet.\n */\nexport type WalletAdapter = {\n readonly publicKey: Address | null;\n readonly connected: boolean;\n readonly signTransaction: <T extends Transaction & TransactionWithLifetime>(tx: T) => Promise<T>;\n readonly signAllTransactions: <T extends Transaction & TransactionWithLifetime>(\n txs: readonly T[]\n ) => Promise<readonly T[]>;\n};\n\n/**\n * Create a SignerService layer from a wallet adapter.\n * This is used to bridge wallet-adapter-react or similar libraries.\n */\nexport const makeSignerServiceFromAdapter = (getAdapter: () => WalletAdapter) =>\n Layer.succeed(\n SignerService,\n SignerService.of({\n getAddress: () =>\n Effect.gen(function* () {\n const adapter = getAdapter();\n if (!(adapter.connected && adapter.publicKey)) {\n return yield* Effect.fail(\n new WalletNotConnectedError({ message: \"Wallet not connected\" })\n );\n }\n return adapter.publicKey;\n }).pipe(Effect.withSpan(SpanNames.SIGNER_GET_ADDRESS)),\n\n isConnected: () => Effect.sync(() => getAdapter().connected),\n\n signAllTransactions: (txs) =>\n Effect.gen(function* () {\n const adapter = getAdapter();\n if (!adapter.connected) {\n return yield* Effect.fail(\n new WalletNotConnectedError({ message: \"Wallet not connected\" })\n );\n }\n return yield* Effect.tryPromise({\n catch: (cause) =>\n new SignatureError({\n cause,\n message: cause instanceof Error ? cause.message : \"Failed to sign transactions\",\n }),\n try: () => adapter.signAllTransactions(txs),\n });\n }).pipe(Effect.withSpan(SpanNames.TX_SIGN)),\n\n signTransaction: (tx) =>\n Effect.gen(function* () {\n const adapter = getAdapter();\n if (!adapter.connected) {\n return yield* Effect.fail(\n new WalletNotConnectedError({ message: \"Wallet not connected\" })\n );\n }\n return yield* Effect.tryPromise({\n catch: (cause) =>\n new SignatureError({\n cause,\n message: cause instanceof Error ? cause.message : \"Failed to sign transaction\",\n }),\n try: () => adapter.signTransaction(tx),\n });\n }).pipe(Effect.withSpan(SpanNames.TX_SIGN)),\n })\n );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC","sourcesContent":["export * from \"./logger.js\";\nexport * from \"./tracer.js\";\n"]}
|