@prb/effect-solana 1.0.0-beta.0

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 (210) hide show
  1. package/README.md +406 -0
  2. package/dist/balance/index.d.ts +2 -0
  3. package/dist/balance/index.d.ts.map +1 -0
  4. package/dist/balance/index.js +2 -0
  5. package/dist/balance/index.js.map +1 -0
  6. package/dist/balance/service.d.ts +21 -0
  7. package/dist/balance/service.d.ts.map +1 -0
  8. package/dist/balance/service.js +62 -0
  9. package/dist/balance/service.js.map +1 -0
  10. package/dist/constants/index.d.ts +11 -0
  11. package/dist/constants/index.d.ts.map +1 -0
  12. package/dist/constants/index.js +14 -0
  13. package/dist/constants/index.js.map +1 -0
  14. package/dist/core/errors/account.d.ts +21 -0
  15. package/dist/core/errors/account.d.ts.map +1 -0
  16. package/dist/core/errors/account.js +14 -0
  17. package/dist/core/errors/account.js.map +1 -0
  18. package/dist/core/errors/index.d.ts +6 -0
  19. package/dist/core/errors/index.d.ts.map +1 -0
  20. package/dist/core/errors/index.js +6 -0
  21. package/dist/core/errors/index.js.map +1 -0
  22. package/dist/core/errors/predicates.d.ts +21 -0
  23. package/dist/core/errors/predicates.d.ts.map +1 -0
  24. package/dist/core/errors/predicates.js +8 -0
  25. package/dist/core/errors/predicates.js.map +1 -0
  26. package/dist/core/errors/rpc.d.ts +20 -0
  27. package/dist/core/errors/rpc.d.ts.map +1 -0
  28. package/dist/core/errors/rpc.js +13 -0
  29. package/dist/core/errors/rpc.js.map +1 -0
  30. package/dist/core/errors/transaction.d.ts +46 -0
  31. package/dist/core/errors/transaction.d.ts.map +1 -0
  32. package/dist/core/errors/transaction.js +30 -0
  33. package/dist/core/errors/transaction.js.map +1 -0
  34. package/dist/core/errors/wallet.d.ts +25 -0
  35. package/dist/core/errors/wallet.d.ts.map +1 -0
  36. package/dist/core/errors/wallet.js +15 -0
  37. package/dist/core/errors/wallet.js.map +1 -0
  38. package/dist/core/index.d.ts +2 -0
  39. package/dist/core/index.d.ts.map +1 -0
  40. package/dist/core/index.js +2 -0
  41. package/dist/core/index.js.map +1 -0
  42. package/dist/index.d.ts +13 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +13 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/internal/index.d.ts +2 -0
  47. package/dist/internal/index.d.ts.map +1 -0
  48. package/dist/internal/index.js +2 -0
  49. package/dist/internal/index.js.map +1 -0
  50. package/dist/internal/kit-effect.d.ts +11 -0
  51. package/dist/internal/kit-effect.d.ts.map +1 -0
  52. package/dist/internal/kit-effect.js +19 -0
  53. package/dist/internal/kit-effect.js.map +1 -0
  54. package/dist/pda/index.d.ts +2 -0
  55. package/dist/pda/index.d.ts.map +1 -0
  56. package/dist/pda/index.js +2 -0
  57. package/dist/pda/index.js.map +1 -0
  58. package/dist/pda/service.d.ts +15 -0
  59. package/dist/pda/service.d.ts.map +1 -0
  60. package/dist/pda/service.js +34 -0
  61. package/dist/pda/service.js.map +1 -0
  62. package/dist/presets/index.d.ts +2 -0
  63. package/dist/presets/index.d.ts.map +1 -0
  64. package/dist/presets/index.js +2 -0
  65. package/dist/presets/index.js.map +1 -0
  66. package/dist/presets/layers.d.ts +18 -0
  67. package/dist/presets/layers.d.ts.map +1 -0
  68. package/dist/presets/layers.js +40 -0
  69. package/dist/presets/layers.js.map +1 -0
  70. package/dist/react-hooks/index.d.ts +9 -0
  71. package/dist/react-hooks/index.d.ts.map +1 -0
  72. package/dist/react-hooks/index.js +5 -0
  73. package/dist/react-hooks/index.js.map +1 -0
  74. package/dist/react-hooks/internal/error.d.ts +5 -0
  75. package/dist/react-hooks/internal/error.d.ts.map +1 -0
  76. package/dist/react-hooks/internal/error.js +9 -0
  77. package/dist/react-hooks/internal/error.js.map +1 -0
  78. package/dist/react-hooks/internal/is-dev.d.ts +2 -0
  79. package/dist/react-hooks/internal/is-dev.d.ts.map +1 -0
  80. package/dist/react-hooks/internal/is-dev.js +5 -0
  81. package/dist/react-hooks/internal/is-dev.js.map +1 -0
  82. package/dist/react-hooks/internal/runtime.d.ts +21 -0
  83. package/dist/react-hooks/internal/runtime.d.ts.map +1 -0
  84. package/dist/react-hooks/internal/runtime.js +38 -0
  85. package/dist/react-hooks/internal/runtime.js.map +1 -0
  86. package/dist/react-hooks/internal/scoped-run.d.ts +11 -0
  87. package/dist/react-hooks/internal/scoped-run.d.ts.map +1 -0
  88. package/dist/react-hooks/internal/scoped-run.js +21 -0
  89. package/dist/react-hooks/internal/scoped-run.js.map +1 -0
  90. package/dist/react-hooks/internal/stable.d.ts +2 -0
  91. package/dist/react-hooks/internal/stable.d.ts.map +1 -0
  92. package/dist/react-hooks/internal/stable.js +3 -0
  93. package/dist/react-hooks/internal/stable.js.map +1 -0
  94. package/dist/react-hooks/primitives/use-effect-memo-factory.d.ts +11 -0
  95. package/dist/react-hooks/primitives/use-effect-memo-factory.d.ts.map +1 -0
  96. package/dist/react-hooks/primitives/use-effect-memo-factory.js +92 -0
  97. package/dist/react-hooks/primitives/use-effect-memo-factory.js.map +1 -0
  98. package/dist/react-hooks/primitives/use-effect.d.ts +23 -0
  99. package/dist/react-hooks/primitives/use-effect.d.ts.map +1 -0
  100. package/dist/react-hooks/primitives/use-effect.js +93 -0
  101. package/dist/react-hooks/primitives/use-effect.js.map +1 -0
  102. package/dist/react-hooks/primitives/use-fork-effect.d.ts +4 -0
  103. package/dist/react-hooks/primitives/use-fork-effect.d.ts.map +1 -0
  104. package/dist/react-hooks/primitives/use-fork-effect.js +20 -0
  105. package/dist/react-hooks/primitives/use-fork-effect.js.map +1 -0
  106. package/dist/react-hooks/primitives/use-stream.d.ts +26 -0
  107. package/dist/react-hooks/primitives/use-stream.d.ts.map +1 -0
  108. package/dist/react-hooks/primitives/use-stream.js +161 -0
  109. package/dist/react-hooks/primitives/use-stream.js.map +1 -0
  110. package/dist/react-hooks/primitives.d.ts +8 -0
  111. package/dist/react-hooks/primitives.d.ts.map +1 -0
  112. package/dist/react-hooks/primitives.js +6 -0
  113. package/dist/react-hooks/primitives.js.map +1 -0
  114. package/dist/react-hooks/provider.d.ts +19 -0
  115. package/dist/react-hooks/provider.d.ts.map +1 -0
  116. package/dist/react-hooks/provider.js +71 -0
  117. package/dist/react-hooks/provider.js.map +1 -0
  118. package/dist/rpc/index.d.ts +2 -0
  119. package/dist/rpc/index.d.ts.map +1 -0
  120. package/dist/rpc/index.js +2 -0
  121. package/dist/rpc/index.js.map +1 -0
  122. package/dist/rpc/service.d.ts +17 -0
  123. package/dist/rpc/service.d.ts.map +1 -0
  124. package/dist/rpc/service.js +35 -0
  125. package/dist/rpc/service.js.map +1 -0
  126. package/dist/signer/index.d.ts +2 -0
  127. package/dist/signer/index.d.ts.map +1 -0
  128. package/dist/signer/index.js +2 -0
  129. package/dist/signer/index.js.map +1 -0
  130. package/dist/signer/service.d.ts +22 -0
  131. package/dist/signer/service.d.ts.map +1 -0
  132. package/dist/signer/service.js +42 -0
  133. package/dist/signer/service.js.map +1 -0
  134. package/dist/telemetry/index.d.ts +3 -0
  135. package/dist/telemetry/index.d.ts.map +1 -0
  136. package/dist/telemetry/index.js +3 -0
  137. package/dist/telemetry/index.js.map +1 -0
  138. package/dist/telemetry/logger.d.ts +30 -0
  139. package/dist/telemetry/logger.d.ts.map +1 -0
  140. package/dist/telemetry/logger.js +8 -0
  141. package/dist/telemetry/logger.js.map +1 -0
  142. package/dist/telemetry/tracer.d.ts +47 -0
  143. package/dist/telemetry/tracer.d.ts.map +1 -0
  144. package/dist/telemetry/tracer.js +47 -0
  145. package/dist/telemetry/tracer.js.map +1 -0
  146. package/dist/testing-kit/_fixtures/addresses.d.ts +8 -0
  147. package/dist/testing-kit/_fixtures/addresses.d.ts.map +1 -0
  148. package/dist/testing-kit/_fixtures/addresses.js +7 -0
  149. package/dist/testing-kit/_fixtures/addresses.js.map +1 -0
  150. package/dist/testing-kit/helpers.d.ts +9 -0
  151. package/dist/testing-kit/helpers.d.ts.map +1 -0
  152. package/dist/testing-kit/helpers.js +32 -0
  153. package/dist/testing-kit/helpers.js.map +1 -0
  154. package/dist/testing-kit/index.d.ts +17 -0
  155. package/dist/testing-kit/index.d.ts.map +1 -0
  156. package/dist/testing-kit/index.js +10 -0
  157. package/dist/testing-kit/index.js.map +1 -0
  158. package/dist/testing-kit/mock-balance-service.d.ts +18 -0
  159. package/dist/testing-kit/mock-balance-service.d.ts.map +1 -0
  160. package/dist/testing-kit/mock-balance-service.js +10 -0
  161. package/dist/testing-kit/mock-balance-service.js.map +1 -0
  162. package/dist/testing-kit/mock-pda-service.d.ts +12 -0
  163. package/dist/testing-kit/mock-pda-service.d.ts.map +1 -0
  164. package/dist/testing-kit/mock-pda-service.js +11 -0
  165. package/dist/testing-kit/mock-pda-service.js.map +1 -0
  166. package/dist/testing-kit/mock-rpc-service.d.ts +15 -0
  167. package/dist/testing-kit/mock-rpc-service.d.ts.map +1 -0
  168. package/dist/testing-kit/mock-rpc-service.js +63 -0
  169. package/dist/testing-kit/mock-rpc-service.js.map +1 -0
  170. package/dist/testing-kit/mock-signer-service.d.ts +16 -0
  171. package/dist/testing-kit/mock-signer-service.d.ts.map +1 -0
  172. package/dist/testing-kit/mock-signer-service.js +25 -0
  173. package/dist/testing-kit/mock-signer-service.js.map +1 -0
  174. package/dist/testing-kit/mock-token-service.d.ts +28 -0
  175. package/dist/testing-kit/mock-token-service.d.ts.map +1 -0
  176. package/dist/testing-kit/mock-token-service.js +51 -0
  177. package/dist/testing-kit/mock-token-service.js.map +1 -0
  178. package/dist/testing-kit/mock-transaction-service.d.ts +22 -0
  179. package/dist/testing-kit/mock-transaction-service.d.ts.map +1 -0
  180. package/dist/testing-kit/mock-transaction-service.js +29 -0
  181. package/dist/testing-kit/mock-transaction-service.js.map +1 -0
  182. package/dist/testing-kit/test-layer.d.ts +23 -0
  183. package/dist/testing-kit/test-layer.d.ts.map +1 -0
  184. package/dist/testing-kit/test-layer.js +31 -0
  185. package/dist/testing-kit/test-layer.js.map +1 -0
  186. package/dist/token/index.d.ts +2 -0
  187. package/dist/token/index.d.ts.map +1 -0
  188. package/dist/token/index.js +2 -0
  189. package/dist/token/index.js.map +1 -0
  190. package/dist/token/service.d.ts +38 -0
  191. package/dist/token/service.d.ts.map +1 -0
  192. package/dist/token/service.js +158 -0
  193. package/dist/token/service.js.map +1 -0
  194. package/dist/tx/index.d.ts +3 -0
  195. package/dist/tx/index.d.ts.map +1 -0
  196. package/dist/tx/index.js +3 -0
  197. package/dist/tx/index.js.map +1 -0
  198. package/dist/tx/service.d.ts +27 -0
  199. package/dist/tx/service.d.ts.map +1 -0
  200. package/dist/tx/service.js +178 -0
  201. package/dist/tx/service.js.map +1 -0
  202. package/dist/tx/types.d.ts +29 -0
  203. package/dist/tx/types.d.ts.map +1 -0
  204. package/dist/tx/types.js +2 -0
  205. package/dist/tx/types.js.map +1 -0
  206. package/dist/types/index.d.ts +12 -0
  207. package/dist/types/index.d.ts.map +1 -0
  208. package/dist/types/index.js +2 -0
  209. package/dist/types/index.js.map +1 -0
  210. package/package.json +81 -0
@@ -0,0 +1,20 @@
1
+ import { Schema } from "effect";
2
+ declare const RpcError_base: Schema.TaggedErrorClass<RpcError, "RpcError", {
3
+ readonly _tag: Schema.tag<"RpcError">;
4
+ } & {
5
+ cause: Schema.optional<typeof Schema.Unknown>;
6
+ message: typeof Schema.String;
7
+ url: typeof Schema.String;
8
+ }>;
9
+ export declare class RpcError extends RpcError_base {
10
+ }
11
+ declare const ConnectionNotFoundError_base: Schema.TaggedErrorClass<ConnectionNotFoundError, "ConnectionNotFoundError", {
12
+ readonly _tag: Schema.tag<"ConnectionNotFoundError">;
13
+ } & {
14
+ cluster: typeof Schema.String;
15
+ message: typeof Schema.String;
16
+ }>;
17
+ export declare class ConnectionNotFoundError extends ConnectionNotFoundError_base {
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/core/errors/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;;AAEhC,qBAAa,QAAS,SAAQ,aAI5B;CAAG;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAM5C;CAAG"}
@@ -0,0 +1,13 @@
1
+ import { Schema } from "effect";
2
+ export class RpcError extends Schema.TaggedError()("RpcError", {
3
+ cause: Schema.optional(Schema.Unknown),
4
+ message: Schema.String,
5
+ url: Schema.String,
6
+ }) {
7
+ }
8
+ export class ConnectionNotFoundError extends Schema.TaggedError()("ConnectionNotFoundError", {
9
+ cluster: Schema.String,
10
+ message: Schema.String,
11
+ }) {
12
+ }
13
+ //# sourceMappingURL=rpc.js.map
@@ -0,0 +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"}
@@ -0,0 +1,46 @@
1
+ import { Schema } from "effect";
2
+ declare const TransactionSendError_base: Schema.TaggedErrorClass<TransactionSendError, "TransactionSendError", {
3
+ readonly _tag: Schema.tag<"TransactionSendError">;
4
+ } & {
5
+ cause: Schema.optional<typeof Schema.Unknown>;
6
+ message: typeof Schema.String;
7
+ signature: Schema.optional<typeof Schema.String>;
8
+ }>;
9
+ export declare class TransactionSendError extends TransactionSendError_base {
10
+ }
11
+ declare const TransactionFailedError_base: Schema.TaggedErrorClass<TransactionFailedError, "TransactionFailedError", {
12
+ readonly _tag: Schema.tag<"TransactionFailedError">;
13
+ } & {
14
+ logs: Schema.optional<Schema.Array$<typeof Schema.String>>;
15
+ message: typeof Schema.String;
16
+ signature: typeof Schema.String;
17
+ }>;
18
+ export declare class TransactionFailedError extends TransactionFailedError_base {
19
+ }
20
+ declare const TransactionTimeoutError_base: Schema.TaggedErrorClass<TransactionTimeoutError, "TransactionTimeoutError", {
21
+ readonly _tag: Schema.tag<"TransactionTimeoutError">;
22
+ } & {
23
+ message: typeof Schema.String;
24
+ signature: typeof Schema.String;
25
+ }>;
26
+ export declare class TransactionTimeoutError extends TransactionTimeoutError_base {
27
+ }
28
+ declare const BlockhashExpiredError_base: Schema.TaggedErrorClass<BlockhashExpiredError, "BlockhashExpiredError", {
29
+ readonly _tag: Schema.tag<"BlockhashExpiredError">;
30
+ } & {
31
+ blockhash: typeof Schema.String;
32
+ message: typeof Schema.String;
33
+ }>;
34
+ export declare class BlockhashExpiredError extends BlockhashExpiredError_base {
35
+ }
36
+ declare const SimulationFailedError_base: Schema.TaggedErrorClass<SimulationFailedError, "SimulationFailedError", {
37
+ readonly _tag: Schema.tag<"SimulationFailedError">;
38
+ } & {
39
+ cause: Schema.optional<typeof Schema.Unknown>;
40
+ logs: Schema.optional<Schema.Array$<typeof Schema.String>>;
41
+ message: typeof Schema.String;
42
+ }>;
43
+ export declare class SimulationFailedError extends SimulationFailedError_base {
44
+ }
45
+ export {};
46
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/core/errors/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;;AAEhC,qBAAa,oBAAqB,SAAQ,yBAOzC;CAAG;;;;;;;;AAEJ,qBAAa,sBAAuB,SAAQ,2BAO3C;CAAG;;;;;;;AAEJ,qBAAa,uBAAwB,SAAQ,4BAM5C;CAAG;;;;;;;AAEJ,qBAAa,qBAAsB,SAAQ,0BAM1C;CAAG;;;;;;;;AAEJ,qBAAa,qBAAsB,SAAQ,0BAO1C;CAAG"}
@@ -0,0 +1,30 @@
1
+ import { Schema } from "effect";
2
+ export class TransactionSendError extends Schema.TaggedError()("TransactionSendError", {
3
+ cause: Schema.optional(Schema.Unknown),
4
+ message: Schema.String,
5
+ signature: Schema.optional(Schema.String),
6
+ }) {
7
+ }
8
+ export class TransactionFailedError extends Schema.TaggedError()("TransactionFailedError", {
9
+ logs: Schema.optional(Schema.Array(Schema.String)),
10
+ message: Schema.String,
11
+ signature: Schema.String,
12
+ }) {
13
+ }
14
+ export class TransactionTimeoutError extends Schema.TaggedError()("TransactionTimeoutError", {
15
+ message: Schema.String,
16
+ signature: Schema.String,
17
+ }) {
18
+ }
19
+ export class BlockhashExpiredError extends Schema.TaggedError()("BlockhashExpiredError", {
20
+ blockhash: Schema.String,
21
+ message: Schema.String,
22
+ }) {
23
+ }
24
+ export class SimulationFailedError extends Schema.TaggedError()("SimulationFailedError", {
25
+ cause: Schema.optional(Schema.Unknown),
26
+ logs: Schema.optional(Schema.Array(Schema.String)),
27
+ message: Schema.String,
28
+ }) {
29
+ }
30
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/core/errors/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,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,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"}
@@ -0,0 +1,25 @@
1
+ import { Schema } from "effect";
2
+ declare const WalletNotConnectedError_base: Schema.TaggedErrorClass<WalletNotConnectedError, "WalletNotConnectedError", {
3
+ readonly _tag: Schema.tag<"WalletNotConnectedError">;
4
+ } & {
5
+ message: typeof Schema.String;
6
+ }>;
7
+ export declare class WalletNotConnectedError extends WalletNotConnectedError_base {
8
+ }
9
+ declare const SignatureError_base: Schema.TaggedErrorClass<SignatureError, "SignatureError", {
10
+ readonly _tag: Schema.tag<"SignatureError">;
11
+ } & {
12
+ cause: Schema.optional<typeof Schema.Unknown>;
13
+ message: typeof Schema.String;
14
+ }>;
15
+ export declare class SignatureError extends SignatureError_base {
16
+ }
17
+ declare const UserRejectedError_base: Schema.TaggedErrorClass<UserRejectedError, "UserRejectedError", {
18
+ readonly _tag: Schema.tag<"UserRejectedError">;
19
+ } & {
20
+ message: typeof Schema.String;
21
+ }>;
22
+ export declare class UserRejectedError extends UserRejectedError_base {
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/core/errors/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;AAEhC,qBAAa,uBAAwB,SAAQ,4BAK5C;CAAG;;;;;;;AAEJ,qBAAa,cAAe,SAAQ,mBAGlC;CAAG;;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAKtC;CAAG"}
@@ -0,0 +1,15 @@
1
+ import { Schema } from "effect";
2
+ export class WalletNotConnectedError extends Schema.TaggedError()("WalletNotConnectedError", {
3
+ message: Schema.String,
4
+ }) {
5
+ }
6
+ export class SignatureError extends Schema.TaggedError()("SignatureError", {
7
+ cause: Schema.optional(Schema.Unknown),
8
+ message: Schema.String,
9
+ }) {
10
+ }
11
+ export class UserRejectedError extends Schema.TaggedError()("UserRejectedError", {
12
+ message: Schema.String,
13
+ }) {
14
+ }
15
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +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;AAEL,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAC5E,mBAAmB,EACnB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG"}
@@ -0,0 +1,2 @@
1
+ export * from "./errors/index.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./errors/index.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export * from "./balance/index.js";
2
+ export * from "./constants/index.js";
3
+ export * from "./core/index.js";
4
+ export * from "./pda/index.js";
5
+ export * from "./presets/index.js";
6
+ export * from "./react-hooks/index.js";
7
+ export * from "./rpc/index.js";
8
+ export * from "./signer/index.js";
9
+ export * from "./telemetry/index.js";
10
+ export * from "./token/index.js";
11
+ export * from "./tx/index.js";
12
+ export * from "./types/index.js";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","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,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"}
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ export * from "./balance/index.js";
2
+ export * from "./constants/index.js";
3
+ export * from "./core/index.js";
4
+ export * from "./pda/index.js";
5
+ export * from "./presets/index.js";
6
+ export * from "./react-hooks/index.js";
7
+ export * from "./rpc/index.js";
8
+ export * from "./signer/index.js";
9
+ export * from "./telemetry/index.js";
10
+ export * from "./token/index.js";
11
+ export * from "./tx/index.js";
12
+ export * from "./types/index.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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,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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { Rpc, SolanaRpcApi } from "@solana/kit";
2
+ import { Effect } from "effect";
3
+ import { RpcError } from "../core/errors/rpc.js";
4
+ import type { RpcServiceShape } from "../rpc/service.js";
5
+ export declare const withRpc: <A, E, R>(rpcService: RpcServiceShape, fn: (rpc: Rpc<SolanaRpcApi>) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
6
+ export declare const kitTryPromise: <A, E>(operation: () => Promise<A>, classifier: (error: unknown) => E) => Effect.Effect<A, E>;
7
+ export declare const classifyRpcError: (error: unknown, context: {
8
+ url: string;
9
+ operation: string;
10
+ }) => RpcError;
11
+ //# sourceMappingURL=kit-effect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kit-effect.d.ts","sourceRoot":"","sources":["../../src/internal/kit-effect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAkB5D,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,YAAY,eAAe,EAC3B,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACrD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAIpB,CAAC;AAeL,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAChC,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,YAAY,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,KAChC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAIjB,CAAC;AAKL,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,EACd,SAAS;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAC1C,QAOF,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { Effect } from "effect";
2
+ import { RpcError } from "../core/errors/rpc.js";
3
+ export const withRpc = (rpcService, fn) => Effect.gen(function* () {
4
+ const rpc = yield* rpcService.getRpc();
5
+ return yield* fn(rpc);
6
+ });
7
+ export const kitTryPromise = (operation, classifier) => Effect.tryPromise({
8
+ catch: classifier,
9
+ try: operation,
10
+ });
11
+ export const classifyRpcError = (error, context) => {
12
+ const message = error instanceof Error ? error.message : String(error);
13
+ return new RpcError({
14
+ cause: error,
15
+ message: `${context.operation} failed: ${message}`,
16
+ url: context.url,
17
+ });
18
+ };
19
+ //# sourceMappingURL=kit-effect.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export * from "./service.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pda/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./service.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pda/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Address, ProgramDerivedAddressBump } from "@solana/addresses";
2
+ import { Context, Effect, Layer } from "effect";
3
+ export type PdaSeed = Uint8Array | Address;
4
+ export type ProgramDerivedAddress = readonly [Address, ProgramDerivedAddressBump];
5
+ export type PdaServiceShape = {
6
+ readonly derive: (seeds: readonly PdaSeed[], programAddress: Address) => Effect.Effect<ProgramDerivedAddress>;
7
+ readonly deriveAddress: (seeds: readonly PdaSeed[], programAddress: Address) => Effect.Effect<Address>;
8
+ readonly deriveBump: (seeds: readonly PdaSeed[], programAddress: Address) => Effect.Effect<ProgramDerivedAddressBump>;
9
+ };
10
+ declare const PdaService_base: Context.TagClass<PdaService, "esolana/PdaService", PdaServiceShape>;
11
+ export declare class PdaService extends PdaService_base {
12
+ }
13
+ export declare const PdaServiceLive: Layer.Layer<PdaService, never, never>;
14
+ export {};
15
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/pda/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGhD,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AAElF,MAAM,MAAM,eAAe,GAAG;IAM5B,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,cAAc,EAAE,OAAO,KACpB,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAK1C,QAAQ,CAAC,aAAa,EAAE,CACtB,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,cAAc,EAAE,OAAO,KACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAK5B,QAAQ,CAAC,UAAU,EAAE,CACnB,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,cAAc,EAAE,OAAO,KACpB,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;CAC/C,CAAC;;AAEF,qBAAa,UAAW,SAAQ,eAAgE;CAAG;AAoDnG,eAAO,MAAM,cAAc,uCAA0D,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { getAddressEncoder, getProgramDerivedAddress } from "@solana/addresses";
2
+ import { Context, Effect, Layer } from "effect";
3
+ import { SpanNames } from "../telemetry/index.js";
4
+ export class PdaService extends Context.Tag("esolana/PdaService")() {
5
+ }
6
+ const toSeedBytes = (seed) => {
7
+ if (seed instanceof Uint8Array) {
8
+ return seed;
9
+ }
10
+ const encoder = getAddressEncoder();
11
+ const encoded = encoder.encode(seed);
12
+ return new Uint8Array(encoded);
13
+ };
14
+ const makeService = () => {
15
+ const service = {
16
+ derive: (seeds, programAddress) => Effect.gen(function* () {
17
+ const seedBytes = seeds.map(toSeedBytes);
18
+ return yield* Effect.promise(() => getProgramDerivedAddress({
19
+ programAddress,
20
+ seeds: seedBytes,
21
+ }));
22
+ }).pipe(Effect.withSpan(SpanNames.PDA_DERIVE, {
23
+ attributes: {
24
+ programAddress,
25
+ seedCount: seeds.length,
26
+ },
27
+ })),
28
+ deriveAddress: (seeds, programAddress) => service.derive(seeds, programAddress).pipe(Effect.map(([address]) => address), Effect.withSpan(SpanNames.PDA_DERIVE_ADDRESS, { attributes: { programAddress } })),
29
+ deriveBump: (seeds, programAddress) => service.derive(seeds, programAddress).pipe(Effect.map(([, bump]) => bump), Effect.withSpan(SpanNames.PDA_DERIVE_BUMP, { attributes: { programAddress } })),
30
+ };
31
+ return service;
32
+ };
33
+ export const PdaServiceLive = Layer.succeed(PdaService, PdaService.of(makeService()));
34
+ //# sourceMappingURL=service.js.map
@@ -0,0 +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;AAkCrD,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,OAAO,CAAC,GAAG,EAAE,CAChC,wBAAwB,CAAC;gBACvB,cAAc;gBACd,KAAK,EAAE,SAAS;aACjB,CAAC,CACH,CAAC;QACJ,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"}
@@ -0,0 +1,2 @@
1
+ export * from "./layers.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AAMA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./layers.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AAMA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Layer } from "effect";
2
+ import type { BalanceService } from "../balance/index.js";
3
+ import type { PdaService } from "../pda/index.js";
4
+ import type { RpcService } from "../rpc/index.js";
5
+ import type { SignerService, WalletAdapter } from "../signer/index.js";
6
+ import type { TokenService } from "../token/index.js";
7
+ import type { TransactionService } from "../tx/index.js";
8
+ import type { Cluster } from "../types/index.js";
9
+ export type SolanaClusterConfig = {
10
+ readonly cluster: Cluster;
11
+ readonly rpcUrl?: string;
12
+ readonly wsUrl?: string;
13
+ };
14
+ export declare function makeRpcLayer(config: SolanaClusterConfig): Layer.Layer<RpcService>;
15
+ export declare const effectSolanaServices: Layer.Layer<BalanceService | PdaService | TokenService | TransactionService, never, RpcService | SignerService>;
16
+ export declare function makeSignerLayer(getAdapter: () => WalletAdapter): Layer.Layer<SignerService>;
17
+ export declare function makeSolanaLayer(config: SolanaClusterConfig, getAdapter: () => WalletAdapter): Layer.Layer<RpcService | SignerService | BalanceService | TokenService | TransactionService | PdaService>;
18
+ //# sourceMappingURL=layers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../src/presets/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,sBAAsB,CAAC;AAOnE,MAAM,MAAM,mBAAmB,GAAG;IAIhC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAK1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAKzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAyCF,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAWjF;AAsBD,eAAO,MAAM,oBAAoB,iHAKhC,CAAC;AA4BF,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAE3F;AAiCD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,MAAM,aAAa,GAC9B,KAAK,CAAC,KAAK,CACZ,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,YAAY,GAAG,kBAAkB,GAAG,UAAU,CAC7F,CAOA"}
@@ -0,0 +1,40 @@
1
+ import { Layer } from "effect";
2
+ import { BalanceServiceLive } from "../balance/index.js";
3
+ import { PdaServiceLive } from "../pda/index.js";
4
+ import { makeRpcServiceLive } from "../rpc/index.js";
5
+ import { makeSignerServiceFromAdapter } from "../signer/index.js";
6
+ import { TokenServiceLive } from "../token/index.js";
7
+ import { TransactionServiceLive } from "../tx/index.js";
8
+ const DEFAULT_RPC_URLS = {
9
+ devnet: "https://api.devnet.solana.com",
10
+ localnet: "http://127.0.0.1:8899",
11
+ "mainnet-beta": "https://api.mainnet-beta.solana.com",
12
+ testnet: "https://api.testnet.solana.com",
13
+ };
14
+ const DEFAULT_WS_URLS = {
15
+ devnet: "wss://api.devnet.solana.com",
16
+ localnet: "ws://127.0.0.1:8900",
17
+ "mainnet-beta": "wss://api.mainnet-beta.solana.com",
18
+ testnet: "wss://api.testnet.solana.com",
19
+ };
20
+ export function makeRpcLayer(config) {
21
+ const rpcUrl = config.rpcUrl ?? DEFAULT_RPC_URLS[config.cluster];
22
+ const wsUrl = config.wsUrl ?? DEFAULT_WS_URLS[config.cluster];
23
+ const clusterConfig = {
24
+ cluster: config.cluster,
25
+ rpcUrl,
26
+ ...(wsUrl ? { wsUrl } : {}),
27
+ };
28
+ return makeRpcServiceLive(clusterConfig);
29
+ }
30
+ export const effectSolanaServices = Layer.mergeAll(BalanceServiceLive, TokenServiceLive, TransactionServiceLive, PdaServiceLive);
31
+ export function makeSignerLayer(getAdapter) {
32
+ return makeSignerServiceFromAdapter(getAdapter);
33
+ }
34
+ export function makeSolanaLayer(config, getAdapter) {
35
+ const rpcLayer = makeRpcLayer(config);
36
+ const signerLayer = makeSignerLayer(getAdapter);
37
+ const baseLayers = Layer.mergeAll(rpcLayer, signerLayer);
38
+ return Layer.provideMerge(effectSolanaServices, baseLayers);
39
+ }
40
+ //# sourceMappingURL=layers.js.map
@@ -0,0 +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,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,CACf,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;IAI/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"}
@@ -0,0 +1,9 @@
1
+ export type { EffectError } from "./internal/error.js";
2
+ export type { EffectSolanaRuntime } from "./internal/runtime.js";
3
+ export type { ScopedRun } from "./internal/scoped-run.js";
4
+ export { stableStringify } from "./internal/stable.js";
5
+ export type { EffectMemoOptions, StreamState, UseEffectResult, } from "./primitives.js";
6
+ export { useEffectMemo, useEffectMemoFactory, useEffectOnce, useForkEffect, useStream, useStreamEffect, useStreamValue, useSubscriptionRef, useSubscriptionRefValue, } from "./primitives.js";
7
+ export type { EffectSolanaLayerProviderProps, EffectSolanaProviderProps, } from "./provider.js";
8
+ export { EffectSolanaLayerProvider, EffectSolanaProvider, EffectSolanaProviderSync, useEffectSolanaLayer, useEffectSolanaRuntime, } from "./provider.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react-hooks/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ export { stableStringify } from "./internal/stable.js";
3
+ export { useEffectMemo, useEffectMemoFactory, useEffectOnce, useForkEffect, useStream, useStreamEffect, useStreamValue, useSubscriptionRef, useSubscriptionRefValue, } from "./primitives.js";
4
+ export { EffectSolanaLayerProvider, EffectSolanaProvider, EffectSolanaProviderSync, useEffectSolanaLayer, useEffectSolanaRuntime, } from "./provider.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,5 @@
1
+ import * as Cause from "effect/Cause";
2
+ export type EffectError<E> = E | Cause.Cause<never>;
3
+ export declare const fromCause: <E>(cause: Cause.Cause<E>) => EffectError<E>;
4
+ export declare const fromUnknown: (cause: unknown) => Cause.Cause<never>;
5
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/react-hooks/internal/error.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAEpD,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,WAAW,CAAC,CAAC,CAGjE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CACW,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import * as Cause from "effect/Cause";
3
+ import * as Option from "effect/Option";
4
+ export const fromCause = (cause) => {
5
+ const failure = Cause.failureOption(cause);
6
+ return Option.isSome(failure) ? failure.value : cause;
7
+ };
8
+ export const fromUnknown = (cause) => Cause.isCause(cause) ? cause : Cause.die(cause);
9
+ //# sourceMappingURL=error.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export declare const isDev: boolean;
2
+ //# sourceMappingURL=is-dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-dev.d.ts","sourceRoot":"","sources":["../../../src/react-hooks/internal/is-dev.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,SAGqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ export const isDev = typeof process !== "undefined" &&
3
+ typeof process.env !== "undefined" &&
4
+ process.env.NODE_ENV !== "production";
5
+ //# sourceMappingURL=is-dev.js.map
@@ -0,0 +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"}
@@ -0,0 +1,21 @@
1
+ import type * as Effect from "effect/Effect";
2
+ import * as Exit from "effect/Exit";
3
+ import type * as Fiber from "effect/Fiber";
4
+ import type * as Layer from "effect/Layer";
5
+ import type * as Runtime from "effect/Runtime";
6
+ import type * as Scope from "effect/Scope";
7
+ export type EffectSolanaRuntime = {
8
+ readonly runFork: <A, E, R>(effect: Effect.Effect<A, E, R>, options?: Runtime.RunForkOptions | undefined) => Fiber.RuntimeFiber<A, E>;
9
+ readonly runPromise: <A, E, R>(effect: Effect.Effect<A, E, R>, options?: {
10
+ readonly signal?: AbortSignal;
11
+ } | undefined) => Promise<A>;
12
+ readonly runPromiseExit: <A, E, R>(effect: Effect.Effect<A, E, R>, options?: {
13
+ readonly signal?: AbortSignal;
14
+ } | undefined) => Promise<Exit.Exit<A, E>>;
15
+ readonly runtime: Runtime.Runtime<unknown>;
16
+ readonly scope: Scope.Scope.Closeable;
17
+ };
18
+ export declare const buildRuntime: (layer: Layer.Layer<never, unknown, never>) => Promise<EffectSolanaRuntime>;
19
+ export declare const buildRuntimeSync: (layer: Layer.Layer<never, unknown, never>) => EffectSolanaRuntime;
20
+ export declare const closeRuntime: (scope: Scope.Scope.Closeable) => Promise<void>;
21
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/react-hooks/internal/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,SAAS,KACzC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,SAAS,KACpD,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,SAAS,KACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,KACxC,OAAO,CAAC,mBAAmB,CA4B7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,KACxC,mBA4BF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,KAAG,OAAO,CAAC,IAAI,CAE7E,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import * as Effect_ from "effect/Effect";
3
+ import * as Exit from "effect/Exit";
4
+ import * as Layer_ from "effect/Layer";
5
+ import * as Runtime_ from "effect/Runtime";
6
+ import * as Scope_ from "effect/Scope";
7
+ export const buildRuntime = async (layer) => {
8
+ const scope = await Effect_.runPromise(Scope_.make());
9
+ const runtime = await Effect_.runPromise(Scope_.extend(scope)(Layer_.toRuntime(layer)));
10
+ const runFork = (effect, options) => Runtime_.runFork(runtime, effect, options);
11
+ const runPromise = (effect, options) => Runtime_.runPromise(runtime, effect, options);
12
+ const runPromiseExit = (effect, options) => Runtime_.runPromiseExit(runtime, effect, options);
13
+ return {
14
+ runFork,
15
+ runPromise,
16
+ runPromiseExit,
17
+ runtime: runtime,
18
+ scope,
19
+ };
20
+ };
21
+ export const buildRuntimeSync = (layer) => {
22
+ const scope = Effect_.runSync(Scope_.make());
23
+ const runtime = Effect_.runSync(Scope_.extend(scope)(Layer_.toRuntime(layer)));
24
+ const runFork = (effect, options) => Runtime_.runFork(runtime, effect, options);
25
+ const runPromise = (effect, options) => Runtime_.runPromise(runtime, effect, options);
26
+ const runPromiseExit = (effect, options) => Runtime_.runPromiseExit(runtime, effect, options);
27
+ return {
28
+ runFork,
29
+ runPromise,
30
+ runPromiseExit,
31
+ runtime: runtime,
32
+ scope,
33
+ };
34
+ };
35
+ export const closeRuntime = async (scope) => {
36
+ await Effect_.runPromise(Scope_.close(scope, Exit.succeed(undefined)));
37
+ };
38
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +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"}