@prb/effect-solana 1.0.0-beta.4 → 1.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +48 -3
  2. package/dist/balance/service.d.ts +2 -2
  3. package/dist/balance/service.d.ts.map +1 -1
  4. package/dist/balance/service.js +3 -3
  5. package/dist/balance/service.js.map +1 -1
  6. package/dist/internal/kit-effect.d.ts +2 -2
  7. package/dist/internal/kit-effect.d.ts.map +1 -1
  8. package/dist/internal/kit-effect.js +1 -1
  9. package/dist/internal/kit-effect.js.map +1 -1
  10. package/dist/pda/service.js +1 -1
  11. package/dist/pda/service.js.map +1 -1
  12. package/dist/presets/layers.d.ts +10 -10
  13. package/dist/presets/layers.d.ts.map +1 -1
  14. package/dist/presets/layers.js +8 -8
  15. package/dist/presets/layers.js.map +1 -1
  16. package/dist/program/index.d.ts +1 -0
  17. package/dist/program/index.d.ts.map +1 -1
  18. package/dist/program/index.js +1 -0
  19. package/dist/program/index.js.map +1 -1
  20. package/dist/program/internal/anchor-helpers.d.ts +20 -0
  21. package/dist/program/internal/anchor-helpers.d.ts.map +1 -0
  22. package/dist/program/internal/anchor-helpers.js +64 -0
  23. package/dist/program/internal/anchor-helpers.js.map +1 -0
  24. package/dist/program/reader.d.ts +19 -0
  25. package/dist/program/reader.d.ts.map +1 -0
  26. package/dist/program/reader.js +288 -0
  27. package/dist/program/reader.js.map +1 -0
  28. package/dist/program/service.d.ts +1 -1
  29. package/dist/program/service.d.ts.map +1 -1
  30. package/dist/program/service.js +18 -37
  31. package/dist/program/service.js.map +1 -1
  32. package/dist/program/types.d.ts +48 -13
  33. package/dist/program/types.d.ts.map +1 -1
  34. package/dist/program/types.js +27 -28
  35. package/dist/program/types.js.map +1 -1
  36. package/dist/rpc/service.d.ts +2 -2
  37. package/dist/rpc/service.d.ts.map +1 -1
  38. package/dist/rpc/service.js +1 -1
  39. package/dist/rpc/service.js.map +1 -1
  40. package/dist/signer/service.d.ts +1 -1
  41. package/dist/signer/service.d.ts.map +1 -1
  42. package/dist/signer/service.js +2 -2
  43. package/dist/signer/service.js.map +1 -1
  44. package/dist/telemetry/tracer.d.ts +3 -0
  45. package/dist/telemetry/tracer.d.ts.map +1 -1
  46. package/dist/telemetry/tracer.js +3 -0
  47. package/dist/telemetry/tracer.js.map +1 -1
  48. package/dist/testing-kit/mock-balance-service.d.ts +2 -2
  49. package/dist/testing-kit/mock-balance-service.d.ts.map +1 -1
  50. package/dist/testing-kit/mock-balance-service.js +1 -1
  51. package/dist/testing-kit/mock-balance-service.js.map +1 -1
  52. package/dist/testing-kit/mock-pda-service.d.ts +2 -2
  53. package/dist/testing-kit/mock-pda-service.d.ts.map +1 -1
  54. package/dist/testing-kit/mock-pda-service.js +1 -1
  55. package/dist/testing-kit/mock-pda-service.js.map +1 -1
  56. package/dist/testing-kit/mock-rpc-service.d.ts +3 -3
  57. package/dist/testing-kit/mock-rpc-service.d.ts.map +1 -1
  58. package/dist/testing-kit/mock-rpc-service.js +2 -2
  59. package/dist/testing-kit/mock-rpc-service.js.map +1 -1
  60. package/dist/testing-kit/mock-signer-service.d.ts +3 -3
  61. package/dist/testing-kit/mock-signer-service.d.ts.map +1 -1
  62. package/dist/testing-kit/mock-signer-service.js +2 -2
  63. package/dist/testing-kit/mock-signer-service.js.map +1 -1
  64. package/dist/testing-kit/mock-token-service.d.ts +3 -3
  65. package/dist/testing-kit/mock-token-service.d.ts.map +1 -1
  66. package/dist/testing-kit/mock-token-service.js +1 -1
  67. package/dist/testing-kit/mock-token-service.js.map +1 -1
  68. package/dist/testing-kit/mock-transaction-service.d.ts +7 -8
  69. package/dist/testing-kit/mock-transaction-service.d.ts.map +1 -1
  70. package/dist/testing-kit/mock-transaction-service.js +1 -1
  71. package/dist/testing-kit/mock-transaction-service.js.map +1 -1
  72. package/dist/testing-kit/test-layer.d.ts +11 -7
  73. package/dist/testing-kit/test-layer.d.ts.map +1 -1
  74. package/dist/testing-kit/test-layer.js +12 -5
  75. package/dist/testing-kit/test-layer.js.map +1 -1
  76. package/dist/token/service.d.ts +2 -2
  77. package/dist/token/service.d.ts.map +1 -1
  78. package/dist/token/service.js +4 -4
  79. package/dist/token/service.js.map +1 -1
  80. package/dist/tx/service.d.ts +9 -10
  81. package/dist/tx/service.d.ts.map +1 -1
  82. package/dist/tx/service.js +4 -4
  83. package/dist/tx/service.js.map +1 -1
  84. package/dist/tx/types.d.ts +2 -0
  85. package/dist/tx/types.d.ts.map +1 -1
  86. package/dist/tx/types.js.map +1 -1
  87. package/dist/web3.js/layers.d.ts +9 -9
  88. package/dist/web3.js/layers.d.ts.map +1 -1
  89. package/dist/web3.js/layers.js +1 -1
  90. package/dist/web3.js/layers.js.map +1 -1
  91. package/dist/web3.js/legacy-signer.d.ts +1 -1
  92. package/dist/web3.js/legacy-signer.d.ts.map +1 -1
  93. package/dist/web3.js/legacy-signer.js +3 -3
  94. package/dist/web3.js/legacy-signer.js.map +1 -1
  95. package/package.json +19 -14
@@ -1,12 +1,12 @@
1
1
  import { Layer } from "effect";
2
- import type { BalanceService } from "../balance/index.js";
3
- import type { PdaService } from "../pda/index.js";
4
- import type { SolanaClusterConfig } from "../presets/index.js";
5
- import type { ProgramWriter } from "../program/index.js";
6
- import type { RpcService } from "../rpc/index.js";
7
- import type { SignerService } from "../signer/index.js";
8
- import type { TokenService } from "../token/index.js";
9
- import type { TransactionService } from "../tx/index.js";
2
+ import type { BalanceService } from "#src/balance/index.js";
3
+ import type { PdaService } from "#src/pda/index.js";
4
+ import type { SolanaClusterConfig } from "#src/presets/index.js";
5
+ import type { ProgramReader, ProgramWriter } from "#src/program/index.js";
6
+ import type { RpcService } from "#src/rpc/index.js";
7
+ import type { SignerService } from "#src/signer/index.js";
8
+ import type { TokenService } from "#src/token/index.js";
9
+ import type { TransactionService } from "#src/tx/index.js";
10
10
  import type { LegacyWalletAdapter } from "./types.js";
11
- export declare function makeSolanaLayerWithLegacyAdapter(config: SolanaClusterConfig, getAdapter: () => LegacyWalletAdapter): Layer.Layer<RpcService | SignerService | BalanceService | TokenService | TransactionService | PdaService | ProgramWriter>;
11
+ export declare function makeSolanaLayerWithLegacyAdapter(config: SolanaClusterConfig, getAdapter: () => LegacyWalletAdapter): Layer.Layer<RpcService | SignerService | BalanceService | TokenService | TransactionService | PdaService | ProgramReader | ProgramWriter>;
12
12
  //# sourceMappingURL=layers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../src/web3.js/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA6BtD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,MAAM,mBAAmB,GACpC,KAAK,CAAC,KAAK,CACV,UAAU,GACV,aAAa,GACb,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,UAAU,GACV,aAAa,CAChB,CAOA"}
1
+ {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../src/web3.js/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA6BtD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,MAAM,mBAAmB,GACpC,KAAK,CAAC,KAAK,CACV,UAAU,GACV,aAAa,GACb,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,UAAU,GACV,aAAa,GACb,aAAa,CAChB,CAOA"}
@@ -1,5 +1,5 @@
1
1
  import { Layer } from "effect";
2
- import { effectSolanaServices, makeRpcLayer } from "../presets/index.js";
2
+ import { effectSolanaServices, makeRpcLayer } from "#src/presets/index.js";
3
3
  import { makeSignerServiceFromLegacyAdapter } from "./legacy-signer.js";
4
4
  export function makeSolanaLayerWithLegacyAdapter(config, getAdapter) {
5
5
  const rpcLayer = makeRpcLayer(config);
@@ -1 +1 @@
1
- {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../src/web3.js/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAI/B,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAM5E,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AA8BxE,MAAM,UAAU,gCAAgC,CAC9C,MAA2B,EAC3B,UAAqC;IAUrC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAEnE,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 type { PdaService } from \"@/src/pda/index.js\";\nimport type { SolanaClusterConfig } from \"@/src/presets/index.js\";\nimport { effectSolanaServices, makeRpcLayer } from \"@/src/presets/index.js\";\nimport type { ProgramWriter } from \"@/src/program/index.js\";\nimport type { RpcService } from \"@/src/rpc/index.js\";\nimport type { SignerService } from \"@/src/signer/index.js\";\nimport type { TokenService } from \"@/src/token/index.js\";\nimport type { TransactionService } from \"@/src/tx/index.js\";\nimport { makeSignerServiceFromLegacyAdapter } from \"./legacy-signer.js\";\nimport type { LegacyWalletAdapter } from \"./types.js\";\n\n/**\n * Create a complete Solana layer using a legacy wallet adapter.\n *\n * This is a convenience factory that combines RPC, signer, and all service layers\n * for use with legacy @solana/web3.js wallet adapters (like @reown/appkit-adapter-solana).\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 Compatibility\n *\n * @example\n * ```typescript\n * import { makeSolanaLayerWithLegacyAdapter } from \"@prb/effect-solana/compat\";\n *\n * const layer = makeSolanaLayerWithLegacyAdapter(\n * { cluster: \"devnet\" },\n * () => ({\n * publicKey: walletProvider?.publicKey ?? null,\n * connected: !!walletProvider?.publicKey,\n * signTransaction: walletProvider.signTransaction.bind(walletProvider),\n * signAllTransactions: walletProvider.signAllTransactions.bind(walletProvider),\n * })\n * );\n * ```\n */\nexport function makeSolanaLayerWithLegacyAdapter(\n config: SolanaClusterConfig,\n getAdapter: () => LegacyWalletAdapter\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 = makeSignerServiceFromLegacyAdapter(getAdapter);\n\n const baseLayers = Layer.mergeAll(rpcLayer, signerLayer);\n\n return Layer.provideMerge(effectSolanaServices, baseLayers);\n}\n"]}
1
+ {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../src/web3.js/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAI/B,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAM3E,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AA8BxE,MAAM,UAAU,gCAAgC,CAC9C,MAA2B,EAC3B,UAAqC;IAWrC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAEnE,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 type { PdaService } from \"#src/pda/index.js\";\nimport type { SolanaClusterConfig } from \"#src/presets/index.js\";\nimport { effectSolanaServices, makeRpcLayer } from \"#src/presets/index.js\";\nimport type { ProgramReader, ProgramWriter } from \"#src/program/index.js\";\nimport type { RpcService } from \"#src/rpc/index.js\";\nimport type { SignerService } from \"#src/signer/index.js\";\nimport type { TokenService } from \"#src/token/index.js\";\nimport type { TransactionService } from \"#src/tx/index.js\";\nimport { makeSignerServiceFromLegacyAdapter } from \"./legacy-signer.js\";\nimport type { LegacyWalletAdapter } from \"./types.js\";\n\n/**\n * Create a complete Solana layer using a legacy wallet adapter.\n *\n * This is a convenience factory that combines RPC, signer, and all service layers\n * for use with legacy @solana/web3.js wallet adapters (like @reown/appkit-adapter-solana).\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 Compatibility\n *\n * @example\n * ```typescript\n * import { makeSolanaLayerWithLegacyAdapter } from \"@prb/effect-solana/compat\";\n *\n * const layer = makeSolanaLayerWithLegacyAdapter(\n * { cluster: \"devnet\" },\n * () => ({\n * publicKey: walletProvider?.publicKey ?? null,\n * connected: !!walletProvider?.publicKey,\n * signTransaction: walletProvider.signTransaction.bind(walletProvider),\n * signAllTransactions: walletProvider.signAllTransactions.bind(walletProvider),\n * })\n * );\n * ```\n */\nexport function makeSolanaLayerWithLegacyAdapter(\n config: SolanaClusterConfig,\n getAdapter: () => LegacyWalletAdapter\n): Layer.Layer<\n | RpcService\n | SignerService\n | BalanceService\n | TokenService\n | TransactionService\n | PdaService\n | ProgramReader\n | ProgramWriter\n> {\n const rpcLayer = makeRpcLayer(config);\n const signerLayer = makeSignerServiceFromLegacyAdapter(getAdapter);\n\n const baseLayers = Layer.mergeAll(rpcLayer, signerLayer);\n\n return Layer.provideMerge(effectSolanaServices, baseLayers);\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Layer } from "effect";
2
- import { SignerService } from "../signer/index.js";
2
+ import { SignerService } from "#src/signer/index.js";
3
3
  import type { LegacyWalletAdapter } from "./types.js";
4
4
  export declare function makeSignerServiceFromLegacyAdapter(getAdapter: () => LegacyWalletAdapter): Layer.Layer<SignerService>;
5
5
  //# sourceMappingURL=legacy-signer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-signer.d.ts","sourceRoot":"","sources":["../../src/web3.js/legacy-signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA2BtD,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,mBAAmB,GACpC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAkH5B"}
1
+ {"version":3,"file":"legacy-signer.d.ts","sourceRoot":"","sources":["../../src/web3.js/legacy-signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA2BtD,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,mBAAmB,GACpC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAkH5B"}
@@ -1,7 +1,7 @@
1
1
  import { Effect, Layer } from "effect";
2
- import { SignatureError, WalletNotConnectedError } from "../core/errors/index.js";
3
- import { SignerService } from "../signer/index.js";
4
- import { SpanNames } from "../telemetry/index.js";
2
+ import { SignatureError, WalletNotConnectedError } from "#src/core/errors/index.js";
3
+ import { SignerService } from "#src/signer/index.js";
4
+ import { SpanNames } from "#src/telemetry/index.js";
5
5
  import { fromWeb3Transaction, toWeb3Transaction } from "./transaction-bridge.js";
6
6
  import { publicKeyToAddress } from "./types.js";
7
7
  export function makeSignerServiceFromLegacyAdapter(getAdapter) {
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-signer.js","sourceRoot":"","sources":["../../src/web3.js/legacy-signer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, Layer } from \"effect\";\nimport { SignatureError, WalletNotConnectedError } from \"@/src/core/errors/index.js\";\nimport { SignerService } from \"@/src/signer/index.js\";\nimport { SpanNames } from \"@/src/telemetry/index.js\";\nimport { fromWeb3Transaction, toWeb3Transaction } from \"./transaction-bridge.js\";\nimport type { LegacyWalletAdapter } from \"./types.js\";\nimport { publicKeyToAddress } from \"./types.js\";\n\n/**\n * Create a SignerService layer from a legacy wallet adapter.\n *\n * This factory bridges the gap between legacy @solana/web3.js wallet adapters\n * (like @reown/appkit-adapter-solana) and the modern @solana/kit types used\n * by @prb/effect-solana.\n *\n * @param getAdapter - Function that returns the current wallet adapter\n * @returns A Layer providing SignerService\n *\n * @category Compatibility\n *\n * @example\n * ```typescript\n * import { makeSignerServiceFromLegacyAdapter } from \"@prb/effect-solana/compat\";\n *\n * const signerLayer = makeSignerServiceFromLegacyAdapter(() => ({\n * publicKey: walletProvider?.publicKey ?? null,\n * connected: !!walletProvider?.publicKey,\n * signTransaction: walletProvider.signTransaction.bind(walletProvider),\n * signAllTransactions: walletProvider.signAllTransactions.bind(walletProvider),\n * }));\n * ```\n */\nexport function makeSignerServiceFromLegacyAdapter(\n getAdapter: () => LegacyWalletAdapter\n): Layer.Layer<SignerService> {\n return 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\n // Runtime validation before type assertion\n if (\n typeof adapter.publicKey !== \"object\" ||\n adapter.publicKey === null ||\n typeof (adapter.publicKey as { toBase58?: unknown }).toBase58 !== \"function\"\n ) {\n return yield* Effect.fail(\n new WalletNotConnectedError({\n message: \"Invalid publicKey: missing toBase58 method\",\n })\n );\n }\n\n return publicKeyToAddress(adapter.publicKey as { toBase58(): string });\n }).pipe(Effect.withSpan(SpanNames.SIGNER_GET_ADDRESS)),\n\n isConnected: () => Effect.sync(() => getAdapter().connected),\n\n signAllTransactions: (txs) =>\n Effect.gen(function* () {\n // Early return for empty arrays\n if (txs.length === 0) {\n return [] as typeof txs;\n }\n\n const adapter = getAdapter();\n if (!adapter.connected) {\n return yield* Effect.fail(\n new WalletNotConnectedError({ message: \"Wallet not connected\" })\n );\n }\n\n // Convert all kit → web3.js\n const legacyTxs = yield* Effect.all(\n txs.map((tx) =>\n Effect.tryPromise({\n catch: (cause) =>\n new SignatureError({\n cause,\n message:\n cause instanceof Error ? cause.message : \"Failed to convert transaction\",\n }),\n try: () => toWeb3Transaction(tx),\n })\n )\n );\n\n // Sign all with legacy adapter\n const signedAll = 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(legacyTxs),\n });\n\n // Convert all web3.js → kit\n // Cast is necessary because we can't preserve the generic T through web3.js conversion\n return signedAll.map((signed) =>\n fromWeb3Transaction(signed as Parameters<typeof fromWeb3Transaction>[0])\n ) as typeof txs;\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\n // Convert kit → web3.js\n const legacyTx = yield* Effect.tryPromise({\n catch: (cause) =>\n new SignatureError({\n cause,\n message: cause instanceof Error ? cause.message : \"Failed to convert transaction\",\n }),\n try: () => toWeb3Transaction(tx),\n });\n\n // Sign with legacy adapter\n const signed = 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(legacyTx),\n });\n\n // Convert web3.js → kit\n // Cast is necessary because we can't preserve the generic T through web3.js conversion\n return fromWeb3Transaction(\n signed as Parameters<typeof fromWeb3Transaction>[0]\n ) as typeof tx;\n }).pipe(Effect.withSpan(SpanNames.TX_SIGN)),\n })\n );\n}\n"]}
1
+ {"version":3,"file":"legacy-signer.js","sourceRoot":"","sources":["../../src/web3.js/legacy-signer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, Layer } from \"effect\";\nimport { SignatureError, WalletNotConnectedError } from \"#src/core/errors/index.js\";\nimport { SignerService } from \"#src/signer/index.js\";\nimport { SpanNames } from \"#src/telemetry/index.js\";\nimport { fromWeb3Transaction, toWeb3Transaction } from \"./transaction-bridge.js\";\nimport type { LegacyWalletAdapter } from \"./types.js\";\nimport { publicKeyToAddress } from \"./types.js\";\n\n/**\n * Create a SignerService layer from a legacy wallet adapter.\n *\n * This factory bridges the gap between legacy @solana/web3.js wallet adapters\n * (like @reown/appkit-adapter-solana) and the modern @solana/kit types used\n * by @prb/effect-solana.\n *\n * @param getAdapter - Function that returns the current wallet adapter\n * @returns A Layer providing SignerService\n *\n * @category Compatibility\n *\n * @example\n * ```typescript\n * import { makeSignerServiceFromLegacyAdapter } from \"@prb/effect-solana/compat\";\n *\n * const signerLayer = makeSignerServiceFromLegacyAdapter(() => ({\n * publicKey: walletProvider?.publicKey ?? null,\n * connected: !!walletProvider?.publicKey,\n * signTransaction: walletProvider.signTransaction.bind(walletProvider),\n * signAllTransactions: walletProvider.signAllTransactions.bind(walletProvider),\n * }));\n * ```\n */\nexport function makeSignerServiceFromLegacyAdapter(\n getAdapter: () => LegacyWalletAdapter\n): Layer.Layer<SignerService> {\n return 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\n // Runtime validation before type assertion\n if (\n typeof adapter.publicKey !== \"object\" ||\n adapter.publicKey === null ||\n typeof (adapter.publicKey as { toBase58?: unknown }).toBase58 !== \"function\"\n ) {\n return yield* Effect.fail(\n new WalletNotConnectedError({\n message: \"Invalid publicKey: missing toBase58 method\",\n })\n );\n }\n\n return publicKeyToAddress(adapter.publicKey as { toBase58(): string });\n }).pipe(Effect.withSpan(SpanNames.SIGNER_GET_ADDRESS)),\n\n isConnected: () => Effect.sync(() => getAdapter().connected),\n\n signAllTransactions: (txs) =>\n Effect.gen(function* () {\n // Early return for empty arrays\n if (txs.length === 0) {\n return [] as typeof txs;\n }\n\n const adapter = getAdapter();\n if (!adapter.connected) {\n return yield* Effect.fail(\n new WalletNotConnectedError({ message: \"Wallet not connected\" })\n );\n }\n\n // Convert all kit → web3.js\n const legacyTxs = yield* Effect.all(\n txs.map((tx) =>\n Effect.tryPromise({\n catch: (cause) =>\n new SignatureError({\n cause,\n message:\n cause instanceof Error ? cause.message : \"Failed to convert transaction\",\n }),\n try: () => toWeb3Transaction(tx),\n })\n )\n );\n\n // Sign all with legacy adapter\n const signedAll = 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(legacyTxs),\n });\n\n // Convert all web3.js → kit\n // Cast is necessary because we can't preserve the generic T through web3.js conversion\n return signedAll.map((signed) =>\n fromWeb3Transaction(signed as Parameters<typeof fromWeb3Transaction>[0])\n ) as typeof txs;\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\n // Convert kit → web3.js\n const legacyTx = yield* Effect.tryPromise({\n catch: (cause) =>\n new SignatureError({\n cause,\n message: cause instanceof Error ? cause.message : \"Failed to convert transaction\",\n }),\n try: () => toWeb3Transaction(tx),\n });\n\n // Sign with legacy adapter\n const signed = 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(legacyTx),\n });\n\n // Convert web3.js → kit\n // Cast is necessary because we can't preserve the generic T through web3.js conversion\n return fromWeb3Transaction(\n signed as Parameters<typeof fromWeb3Transaction>[0]\n ) as typeof tx;\n }).pipe(Effect.withSpan(SpanNames.TX_SIGN)),\n })\n );\n}\n"]}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "sideEffects": false,
8
8
  "type": "module",
9
9
  "types": "./dist/index.d.ts",
10
- "version": "1.0.0-beta.4",
10
+ "version": "1.0.0-beta.5",
11
11
  "scripts": {
12
12
  "build": "just build",
13
13
  "prepack": "bun install --frozen-lockfile && just build"
@@ -25,7 +25,8 @@
25
25
  "url": "https://github.com/PaulRBerg/prb-effect/issues"
26
26
  },
27
27
  "dependencies": {
28
- "bn.js": "^5.2.1"
28
+ "bn.js": "^5.2.1",
29
+ "buffer": "^6.0.3"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@biomejs/biome": "catalog:dev",
@@ -33,10 +34,10 @@
33
34
  "@effect/platform": "catalog:effect",
34
35
  "@effect/vitest": "catalog:dev",
35
36
  "@sablier/devkit": "catalog:dev",
36
- "@solana-program/compute-budget": "^0.8.0",
37
- "@solana-program/system": "^0.8.0",
38
- "@solana-program/token": "^0.8.0",
39
- "@solana/kit": "^2.2.7",
37
+ "@solana-program/compute-budget": "^0.12.0",
38
+ "@solana-program/system": "^0.10.0",
39
+ "@solana-program/token": "^0.9.0",
40
+ "@solana/kit": "^5.4.0",
40
41
  "@solana/web3.js": "^1.95.0",
41
42
  "@types/bn.js": "^5.2.0",
42
43
  "@types/node": "^25.0.3",
@@ -47,7 +48,6 @@
47
48
  "effect": "catalog:effect",
48
49
  "react": "catalog:",
49
50
  "react-dom": "catalog:",
50
- "tsc-alias": "catalog:dev",
51
51
  "typescript": "catalog:dev",
52
52
  "vitest": "catalog:dev"
53
53
  },
@@ -57,6 +57,7 @@
57
57
  "import": "./dist/index.js"
58
58
  },
59
59
  "./internal/*": null,
60
+ "./*/internal/*": null,
60
61
  "./*": {
61
62
  "types": "./dist/*/index.d.ts",
62
63
  "import": "./dist/*/index.js"
@@ -64,9 +65,7 @@
64
65
  },
65
66
  "files": [
66
67
  "dist/**",
67
- "README.md",
68
- "DOCS.md",
69
- "CONTRIBUTING.md"
68
+ "DOCS.md"
70
69
  ],
71
70
  "keywords": [
72
71
  "anchor",
@@ -81,10 +80,10 @@
81
80
  "peerDependencies": {
82
81
  "@coral-xyz/anchor": "^0.31.1",
83
82
  "@effect/platform": "catalog:peers",
84
- "@solana-program/compute-budget": "^0.8.0",
85
- "@solana-program/system": "^0.8.0",
86
- "@solana-program/token": "^0.8.0",
87
- "@solana/kit": "^2.2.0",
83
+ "@solana-program/compute-budget": "^0.12.0",
84
+ "@solana-program/system": "^0.10.0",
85
+ "@solana-program/token": "^0.9.0",
86
+ "@solana/kit": "^5.4.0",
88
87
  "@solana/web3.js": "^1.95.0",
89
88
  "effect": "catalog:peers",
90
89
  "react": "catalog:peers",
@@ -104,6 +103,12 @@
104
103
  "optional": true
105
104
  }
106
105
  },
106
+ "imports": {
107
+ "#src/*": {
108
+ "source": "./src/*",
109
+ "default": "./dist/*"
110
+ }
111
+ },
107
112
  "publishConfig": {
108
113
  "access": "public"
109
114
  }