@prb/effect-evm 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.
- package/CONTRIBUTING.md +42 -0
- package/DOCS.md +798 -0
- package/README.md +74 -0
- package/dist/abi/erc165.d.ts +21 -0
- package/dist/abi/erc165.d.ts.map +1 -0
- package/dist/abi/erc165.js +36 -0
- package/dist/abi/erc165.js.map +1 -0
- package/dist/abi/erc20-no-output.d.ts +14 -0
- package/dist/abi/erc20-no-output.d.ts.map +1 -0
- package/dist/abi/erc20-no-output.js +13 -0
- package/dist/abi/erc20-no-output.js.map +1 -0
- package/dist/abi/erc20.d.ts +2 -0
- package/dist/abi/erc20.d.ts.map +1 -0
- package/dist/abi/erc20.js +2 -0
- package/dist/abi/erc20.js.map +1 -0
- package/dist/abi/erc721.d.ts +3 -0
- package/dist/abi/erc721.d.ts.map +1 -0
- package/dist/abi/erc721.js +3 -0
- package/dist/abi/erc721.js.map +1 -0
- package/dist/abi/index.d.ts +5 -0
- package/dist/abi/index.d.ts.map +1 -0
- package/dist/abi/index.js +5 -0
- package/dist/abi/index.js.map +1 -0
- package/dist/balance/index.d.ts +3 -0
- package/dist/balance/index.d.ts.map +1 -0
- package/dist/balance/index.js +3 -0
- package/dist/balance/index.js.map +1 -0
- package/dist/balance/service.d.ts +57 -0
- package/dist/balance/service.d.ts.map +1 -0
- package/dist/balance/service.js +244 -0
- package/dist/balance/service.js.map +1 -0
- package/dist/balance/utils.d.ts +3 -0
- package/dist/balance/utils.d.ts.map +1 -0
- package/dist/balance/utils.js +23 -0
- package/dist/balance/utils.js.map +1 -0
- package/dist/block/errors.d.ts +22 -0
- package/dist/block/errors.d.ts.map +1 -0
- package/dist/block/errors.js +15 -0
- package/dist/block/errors.js.map +1 -0
- package/dist/block/index.d.ts +3 -0
- package/dist/block/index.d.ts.map +1 -0
- package/dist/block/index.js +3 -0
- package/dist/block/index.js.map +1 -0
- package/dist/block/service.d.ts +48 -0
- package/dist/block/service.d.ts.map +1 -0
- package/dist/block/service.js +194 -0
- package/dist/block/service.js.map +1 -0
- package/dist/constants/index.d.ts +16 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +17 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/contract/cross-chain-reader.d.ts +33 -0
- package/dist/contract/cross-chain-reader.d.ts.map +1 -0
- package/dist/contract/cross-chain-reader.js +86 -0
- package/dist/contract/cross-chain-reader.js.map +1 -0
- package/dist/contract/index.d.ts +6 -0
- package/dist/contract/index.d.ts.map +1 -0
- package/dist/contract/index.js +6 -0
- package/dist/contract/index.js.map +1 -0
- package/dist/contract/pipeline/index.d.ts +4 -0
- package/dist/contract/pipeline/index.d.ts.map +1 -0
- package/dist/contract/pipeline/index.js +4 -0
- package/dist/contract/pipeline/index.js.map +1 -0
- package/dist/contract/pipeline/internal/core.d.ts +22 -0
- package/dist/contract/pipeline/internal/core.d.ts.map +1 -0
- package/dist/contract/pipeline/internal/core.js +64 -0
- package/dist/contract/pipeline/internal/core.js.map +1 -0
- package/dist/contract/pipeline/internal/helpers.d.ts +3 -0
- package/dist/contract/pipeline/internal/helpers.d.ts.map +1 -0
- package/dist/contract/pipeline/internal/helpers.js +9 -0
- package/dist/contract/pipeline/internal/helpers.js.map +1 -0
- package/dist/contract/pipeline/internal/nonce.d.ts +22 -0
- package/dist/contract/pipeline/internal/nonce.d.ts.map +1 -0
- package/dist/contract/pipeline/internal/nonce.js +44 -0
- package/dist/contract/pipeline/internal/nonce.js.map +1 -0
- package/dist/contract/pipeline/internal/prepare.d.ts +20 -0
- package/dist/contract/pipeline/internal/prepare.d.ts.map +1 -0
- package/dist/contract/pipeline/internal/prepare.js +41 -0
- package/dist/contract/pipeline/internal/prepare.js.map +1 -0
- package/dist/contract/pipeline/internal/receipt.d.ts +12 -0
- package/dist/contract/pipeline/internal/receipt.d.ts.map +1 -0
- package/dist/contract/pipeline/internal/receipt.js +24 -0
- package/dist/contract/pipeline/internal/receipt.js.map +1 -0
- package/dist/contract/pipeline/live.d.ts +10 -0
- package/dist/contract/pipeline/live.d.ts.map +1 -0
- package/dist/contract/pipeline/live.js +40 -0
- package/dist/contract/pipeline/live.js.map +1 -0
- package/dist/contract/pipeline/service.d.ts +24 -0
- package/dist/contract/pipeline/service.d.ts.map +1 -0
- package/dist/contract/pipeline/service.js +4 -0
- package/dist/contract/pipeline/service.js.map +1 -0
- package/dist/contract/pipeline/types.d.ts +47 -0
- package/dist/contract/pipeline/types.d.ts.map +1 -0
- package/dist/contract/pipeline/types.js +2 -0
- package/dist/contract/pipeline/types.js.map +1 -0
- package/dist/contract/pipeline/write-and-track.d.ts +28 -0
- package/dist/contract/pipeline/write-and-track.d.ts.map +1 -0
- package/dist/contract/pipeline/write-and-track.js +264 -0
- package/dist/contract/pipeline/write-and-track.js.map +1 -0
- package/dist/contract/pipeline/write-and-wait.d.ts +7 -0
- package/dist/contract/pipeline/write-and-wait.d.ts.map +1 -0
- package/dist/contract/pipeline/write-and-wait.js +7 -0
- package/dist/contract/pipeline/write-and-wait.js.map +1 -0
- package/dist/contract/pipeline.d.ts +2 -0
- package/dist/contract/pipeline.d.ts.map +1 -0
- package/dist/contract/pipeline.js +2 -0
- package/dist/contract/pipeline.js.map +1 -0
- package/dist/contract/reader.d.ts +20 -0
- package/dist/contract/reader.d.ts.map +1 -0
- package/dist/contract/reader.js +64 -0
- package/dist/contract/reader.js.map +1 -0
- package/dist/contract/typed-contract.d.ts +33 -0
- package/dist/contract/typed-contract.d.ts.map +1 -0
- package/dist/contract/typed-contract.js +53 -0
- package/dist/contract/typed-contract.js.map +1 -0
- package/dist/contract/writer.d.ts +16 -0
- package/dist/contract/writer.d.ts.map +1 -0
- package/dist/contract/writer.js +84 -0
- package/dist/contract/writer.js.map +1 -0
- package/dist/core/clients/index.d.ts +3 -0
- package/dist/core/clients/index.d.ts.map +1 -0
- package/dist/core/clients/index.js +3 -0
- package/dist/core/clients/index.js.map +1 -0
- package/dist/core/clients/public-client.d.ts +12 -0
- package/dist/core/clients/public-client.d.ts.map +1 -0
- package/dist/core/clients/public-client.js +4 -0
- package/dist/core/clients/public-client.js.map +1 -0
- package/dist/core/clients/wallet-client.d.ts +12 -0
- package/dist/core/clients/wallet-client.d.ts.map +1 -0
- package/dist/core/clients/wallet-client.js +4 -0
- package/dist/core/clients/wallet-client.js.map +1 -0
- package/dist/core/errors/client.d.ts +37 -0
- package/dist/core/errors/client.d.ts.map +1 -0
- package/dist/core/errors/client.js +24 -0
- package/dist/core/errors/client.js.map +1 -0
- package/dist/core/errors/contract.d.ts +58 -0
- package/dist/core/errors/contract.d.ts.map +1 -0
- package/dist/core/errors/contract.js +42 -0
- package/dist/core/errors/contract.js.map +1 -0
- package/dist/core/errors/erc20.d.ts +24 -0
- package/dist/core/errors/erc20.d.ts.map +1 -0
- package/dist/core/errors/erc20.js +17 -0
- package/dist/core/errors/erc20.js.map +1 -0
- package/dist/core/errors/event.d.ts +21 -0
- package/dist/core/errors/event.d.ts.map +1 -0
- package/dist/core/errors/event.js +14 -0
- package/dist/core/errors/event.js.map +1 -0
- package/dist/core/errors/index.d.ts +8 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +8 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/predicates.d.ts +12 -0
- package/dist/core/errors/predicates.d.ts.map +1 -0
- package/dist/core/errors/predicates.js +3 -0
- package/dist/core/errors/predicates.js.map +1 -0
- package/dist/core/errors/transaction.d.ts +57 -0
- package/dist/core/errors/transaction.d.ts.map +1 -0
- package/dist/core/errors/transaction.js +36 -0
- package/dist/core/errors/transaction.js.map +1 -0
- package/dist/core/errors/viem-mapper.d.ts +45 -0
- package/dist/core/errors/viem-mapper.d.ts.map +1 -0
- package/dist/core/errors/viem-mapper.js +251 -0
- package/dist/core/errors/viem-mapper.js.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -0
- package/dist/deploy/errors.d.ts +30 -0
- package/dist/deploy/errors.d.ts.map +1 -0
- package/dist/deploy/errors.js +20 -0
- package/dist/deploy/errors.js.map +1 -0
- package/dist/deploy/index.d.ts +3 -0
- package/dist/deploy/index.d.ts.map +1 -0
- package/dist/deploy/index.js +3 -0
- package/dist/deploy/index.js.map +1 -0
- package/dist/deploy/service.d.ts +62 -0
- package/dist/deploy/service.d.ts.map +1 -0
- package/dist/deploy/service.js +233 -0
- package/dist/deploy/service.js.map +1 -0
- package/dist/eip7702/erc7579.d.ts +36 -0
- package/dist/eip7702/erc7579.d.ts.map +1 -0
- package/dist/eip7702/erc7579.js +52 -0
- package/dist/eip7702/erc7579.js.map +1 -0
- package/dist/eip7702/errors.d.ts +30 -0
- package/dist/eip7702/errors.d.ts.map +1 -0
- package/dist/eip7702/errors.js +20 -0
- package/dist/eip7702/errors.js.map +1 -0
- package/dist/eip7702/index.d.ts +4 -0
- package/dist/eip7702/index.d.ts.map +1 -0
- package/dist/eip7702/index.js +4 -0
- package/dist/eip7702/index.js.map +1 -0
- package/dist/eip7702/service.d.ts +64 -0
- package/dist/eip7702/service.d.ts.map +1 -0
- package/dist/eip7702/service.js +166 -0
- package/dist/eip7702/service.js.map +1 -0
- package/dist/ens/ens.d.ts +26 -0
- package/dist/ens/ens.d.ts.map +1 -0
- package/dist/ens/ens.js +144 -0
- package/dist/ens/ens.js.map +1 -0
- package/dist/ens/errors.d.ts +53 -0
- package/dist/ens/errors.d.ts.map +1 -0
- package/dist/ens/errors.js +34 -0
- package/dist/ens/errors.js.map +1 -0
- package/dist/ens/index.d.ts +3 -0
- package/dist/ens/index.d.ts.map +1 -0
- package/dist/ens/index.js +3 -0
- package/dist/ens/index.js.map +1 -0
- package/dist/erc20/allowance/core.d.ts +9 -0
- package/dist/erc20/allowance/core.d.ts.map +1 -0
- package/dist/erc20/allowance/core.js +121 -0
- package/dist/erc20/allowance/core.js.map +1 -0
- package/dist/erc20/allowance/index.d.ts +4 -0
- package/dist/erc20/allowance/index.d.ts.map +1 -0
- package/dist/erc20/allowance/index.js +4 -0
- package/dist/erc20/allowance/index.js.map +1 -0
- package/dist/erc20/allowance/no-output.d.ts +9 -0
- package/dist/erc20/allowance/no-output.d.ts.map +1 -0
- package/dist/erc20/allowance/no-output.js +122 -0
- package/dist/erc20/allowance/no-output.js.map +1 -0
- package/dist/erc20/allowance/types.d.ts +42 -0
- package/dist/erc20/allowance/types.d.ts.map +1 -0
- package/dist/erc20/allowance/types.js +2 -0
- package/dist/erc20/allowance/types.js.map +1 -0
- package/dist/erc20/index.d.ts +2 -0
- package/dist/erc20/index.d.ts.map +1 -0
- package/dist/erc20/index.js +2 -0
- package/dist/erc20/index.js.map +1 -0
- package/dist/erc721/errors.d.ts +47 -0
- package/dist/erc721/errors.d.ts.map +1 -0
- package/dist/erc721/errors.js +34 -0
- package/dist/erc721/errors.js.map +1 -0
- package/dist/erc721/helpers.d.ts +24 -0
- package/dist/erc721/helpers.d.ts.map +1 -0
- package/dist/erc721/helpers.js +28 -0
- package/dist/erc721/helpers.js.map +1 -0
- package/dist/erc721/index.d.ts +4 -0
- package/dist/erc721/index.d.ts.map +1 -0
- package/dist/erc721/index.js +4 -0
- package/dist/erc721/index.js.map +1 -0
- package/dist/erc721/metadata.d.ts +28 -0
- package/dist/erc721/metadata.d.ts.map +1 -0
- package/dist/erc721/metadata.js +67 -0
- package/dist/erc721/metadata.js.map +1 -0
- package/dist/erc721/service.d.ts +93 -0
- package/dist/erc721/service.d.ts.map +1 -0
- package/dist/erc721/service.js +277 -0
- package/dist/erc721/service.js.map +1 -0
- package/dist/events/backfill.d.ts +25 -0
- package/dist/events/backfill.d.ts.map +1 -0
- package/dist/events/backfill.js +36 -0
- package/dist/events/backfill.js.map +1 -0
- package/dist/events/cursor.d.ts +40 -0
- package/dist/events/cursor.d.ts.map +1 -0
- package/dist/events/cursor.js +85 -0
- package/dist/events/cursor.js.map +1 -0
- package/dist/events/decoder.d.ts +18 -0
- package/dist/events/decoder.d.ts.map +1 -0
- package/dist/events/decoder.js +33 -0
- package/dist/events/decoder.js.map +1 -0
- package/dist/events/index.d.ts +6 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +6 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/reliable-stream.d.ts +25 -0
- package/dist/events/reliable-stream.d.ts.map +1 -0
- package/dist/events/reliable-stream.js +121 -0
- package/dist/events/reliable-stream.js.map +1 -0
- package/dist/events/stream.d.ts +25 -0
- package/dist/events/stream.d.ts.map +1 -0
- package/dist/events/stream.js +39 -0
- package/dist/events/stream.js.map +1 -0
- package/dist/gas/errors.d.ts +12 -0
- package/dist/gas/errors.d.ts.map +1 -0
- package/dist/gas/errors.js +8 -0
- package/dist/gas/errors.js.map +1 -0
- package/dist/gas/estimator.d.ts +15 -0
- package/dist/gas/estimator.d.ts.map +1 -0
- package/dist/gas/estimator.js +113 -0
- package/dist/gas/estimator.js.map +1 -0
- package/dist/gas/index.d.ts +4 -0
- package/dist/gas/index.d.ts.map +1 -0
- package/dist/gas/index.js +4 -0
- package/dist/gas/index.js.map +1 -0
- package/dist/gas/service.d.ts +37 -0
- package/dist/gas/service.d.ts.map +1 -0
- package/dist/gas/service.js +95 -0
- package/dist/gas/service.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/react-hooks/convenience/index.d.ts +28 -0
- package/dist/integrations/react-hooks/convenience/index.d.ts.map +1 -0
- package/dist/integrations/react-hooks/convenience/index.js +126 -0
- package/dist/integrations/react-hooks/convenience/index.js.map +1 -0
- package/dist/integrations/react-hooks/internal/error.d.ts +5 -0
- package/dist/integrations/react-hooks/internal/error.d.ts.map +1 -0
- package/dist/integrations/react-hooks/internal/error.js +8 -0
- package/dist/integrations/react-hooks/internal/error.js.map +1 -0
- package/dist/integrations/react-hooks/internal/is-dev.d.ts +2 -0
- package/dist/integrations/react-hooks/internal/is-dev.d.ts.map +1 -0
- package/dist/integrations/react-hooks/internal/is-dev.js +4 -0
- package/dist/integrations/react-hooks/internal/is-dev.js.map +1 -0
- package/dist/integrations/react-hooks/internal/runtime.d.ts +21 -0
- package/dist/integrations/react-hooks/internal/runtime.d.ts.map +1 -0
- package/dist/integrations/react-hooks/internal/runtime.js +37 -0
- package/dist/integrations/react-hooks/internal/runtime.js.map +1 -0
- package/dist/integrations/react-hooks/internal/scoped-run.d.ts +11 -0
- package/dist/integrations/react-hooks/internal/scoped-run.d.ts.map +1 -0
- package/dist/integrations/react-hooks/internal/scoped-run.js +20 -0
- package/dist/integrations/react-hooks/internal/scoped-run.js.map +1 -0
- package/dist/integrations/react-hooks/internal/stable.d.ts +2 -0
- package/dist/integrations/react-hooks/internal/stable.d.ts.map +1 -0
- package/dist/integrations/react-hooks/internal/stable.js +2 -0
- package/dist/integrations/react-hooks/internal/stable.js.map +1 -0
- package/dist/integrations/react-hooks/primitives/use-effect-memo-factory.d.ts +11 -0
- package/dist/integrations/react-hooks/primitives/use-effect-memo-factory.d.ts.map +1 -0
- package/dist/integrations/react-hooks/primitives/use-effect-memo-factory.js +92 -0
- package/dist/integrations/react-hooks/primitives/use-effect-memo-factory.js.map +1 -0
- package/dist/integrations/react-hooks/primitives/use-effect.d.ts +23 -0
- package/dist/integrations/react-hooks/primitives/use-effect.d.ts.map +1 -0
- package/dist/integrations/react-hooks/primitives/use-effect.js +93 -0
- package/dist/integrations/react-hooks/primitives/use-effect.js.map +1 -0
- package/dist/integrations/react-hooks/primitives/use-fork-effect.d.ts +4 -0
- package/dist/integrations/react-hooks/primitives/use-fork-effect.d.ts.map +1 -0
- package/dist/integrations/react-hooks/primitives/use-fork-effect.js +20 -0
- package/dist/integrations/react-hooks/primitives/use-fork-effect.js.map +1 -0
- package/dist/integrations/react-hooks/primitives/use-stream.d.ts +26 -0
- package/dist/integrations/react-hooks/primitives/use-stream.d.ts.map +1 -0
- package/dist/integrations/react-hooks/primitives/use-stream.js +161 -0
- package/dist/integrations/react-hooks/primitives/use-stream.js.map +1 -0
- package/dist/integrations/react-hooks/primitives.d.ts +8 -0
- package/dist/integrations/react-hooks/primitives.d.ts.map +1 -0
- package/dist/integrations/react-hooks/primitives.js +6 -0
- package/dist/integrations/react-hooks/primitives.js.map +1 -0
- package/dist/integrations/react-hooks/provider.d.ts +19 -0
- package/dist/integrations/react-hooks/provider.d.ts.map +1 -0
- package/dist/integrations/react-hooks/provider.js +71 -0
- package/dist/integrations/react-hooks/provider.js.map +1 -0
- package/dist/integrations/react-hooks/wagmi/index.d.ts +13 -0
- package/dist/integrations/react-hooks/wagmi/index.d.ts.map +1 -0
- package/dist/integrations/react-hooks/wagmi/index.js +81 -0
- package/dist/integrations/react-hooks/wagmi/index.js.map +1 -0
- package/dist/integrations/react-hooks/wallet-provider-ref.d.ts +7 -0
- package/dist/integrations/react-hooks/wallet-provider-ref.d.ts.map +1 -0
- package/dist/integrations/react-hooks/wallet-provider-ref.js +27 -0
- package/dist/integrations/react-hooks/wallet-provider-ref.js.map +1 -0
- package/dist/integrations/wagmi/index.d.ts +2 -0
- package/dist/integrations/wagmi/index.d.ts.map +1 -0
- package/dist/integrations/wagmi/index.js +2 -0
- package/dist/integrations/wagmi/index.js.map +1 -0
- package/dist/integrations/wagmi/layers.d.ts +12 -0
- package/dist/integrations/wagmi/layers.d.ts.map +1 -0
- package/dist/integrations/wagmi/layers.js +72 -0
- package/dist/integrations/wagmi/layers.js.map +1 -0
- package/dist/internal/index.d.ts +5 -0
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/index.js +5 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/internal/numbers.d.ts +28 -0
- package/dist/internal/numbers.d.ts.map +1 -0
- package/dist/internal/numbers.js +139 -0
- package/dist/internal/numbers.js.map +1 -0
- package/dist/internal/schedule.d.ts +9 -0
- package/dist/internal/schedule.d.ts.map +1 -0
- package/dist/internal/schedule.js +10 -0
- package/dist/internal/schedule.js.map +1 -0
- package/dist/internal/stream-adapters.d.ts +10 -0
- package/dist/internal/stream-adapters.d.ts.map +1 -0
- package/dist/internal/stream-adapters.js +9 -0
- package/dist/internal/stream-adapters.js.map +1 -0
- package/dist/internal/viem-effect.d.ts +8 -0
- package/dist/internal/viem-effect.d.ts.map +1 -0
- package/dist/internal/viem-effect.js +14 -0
- package/dist/internal/viem-effect.js.map +1 -0
- package/dist/nonce/index.d.ts +3 -0
- package/dist/nonce/index.d.ts.map +1 -0
- package/dist/nonce/index.js +3 -0
- package/dist/nonce/index.js.map +1 -0
- package/dist/nonce/manager.d.ts +13 -0
- package/dist/nonce/manager.d.ts.map +1 -0
- package/dist/nonce/manager.js +100 -0
- package/dist/nonce/manager.js.map +1 -0
- package/dist/nonce/service.d.ts +46 -0
- package/dist/nonce/service.d.ts.map +1 -0
- package/dist/nonce/service.js +139 -0
- package/dist/nonce/service.js.map +1 -0
- package/dist/platform/browser/cursor-store/index.d.ts +2 -0
- package/dist/platform/browser/cursor-store/index.d.ts.map +1 -0
- package/dist/platform/browser/cursor-store/index.js +2 -0
- package/dist/platform/browser/cursor-store/index.js.map +1 -0
- package/dist/platform/browser/cursor-store/local-storage.d.ts +5 -0
- package/dist/platform/browser/cursor-store/local-storage.d.ts.map +1 -0
- package/dist/platform/browser/cursor-store/local-storage.js +99 -0
- package/dist/platform/browser/cursor-store/local-storage.js.map +1 -0
- package/dist/platform/browser/index.d.ts +6 -0
- package/dist/platform/browser/index.d.ts.map +1 -0
- package/dist/platform/browser/index.js +6 -0
- package/dist/platform/browser/index.js.map +1 -0
- package/dist/platform/browser/layers.d.ts +13 -0
- package/dist/platform/browser/layers.d.ts.map +1 -0
- package/dist/platform/browser/layers.js +8 -0
- package/dist/platform/browser/layers.js.map +1 -0
- package/dist/platform/browser/storage/errors.d.ts +28 -0
- package/dist/platform/browser/storage/errors.d.ts.map +1 -0
- package/dist/platform/browser/storage/errors.js +17 -0
- package/dist/platform/browser/storage/errors.js.map +1 -0
- package/dist/platform/browser/storage/index.d.ts +3 -0
- package/dist/platform/browser/storage/index.d.ts.map +1 -0
- package/dist/platform/browser/storage/index.js +3 -0
- package/dist/platform/browser/storage/index.js.map +1 -0
- package/dist/platform/browser/storage/local-storage.d.ts +10 -0
- package/dist/platform/browser/storage/local-storage.d.ts.map +1 -0
- package/dist/platform/browser/storage/local-storage.js +89 -0
- package/dist/platform/browser/storage/local-storage.js.map +1 -0
- package/dist/platform/browser/tx-persistence/index.d.ts +2 -0
- package/dist/platform/browser/tx-persistence/index.d.ts.map +1 -0
- package/dist/platform/browser/tx-persistence/index.js +2 -0
- package/dist/platform/browser/tx-persistence/index.js.map +1 -0
- package/dist/platform/browser/tx-persistence/persistence.d.ts +22 -0
- package/dist/platform/browser/tx-persistence/persistence.d.ts.map +1 -0
- package/dist/platform/browser/tx-persistence/persistence.js +170 -0
- package/dist/platform/browser/tx-persistence/persistence.js.map +1 -0
- package/dist/platform/browser/tx-store/errors.d.ts +3 -0
- package/dist/platform/browser/tx-store/errors.d.ts.map +1 -0
- package/dist/platform/browser/tx-store/errors.js +2 -0
- package/dist/platform/browser/tx-store/errors.js.map +1 -0
- package/dist/platform/browser/tx-store/index.d.ts +5 -0
- package/dist/platform/browser/tx-store/index.d.ts.map +1 -0
- package/dist/platform/browser/tx-store/index.js +4 -0
- package/dist/platform/browser/tx-store/index.js.map +1 -0
- package/dist/platform/browser/tx-store/local-storage.d.ts +9 -0
- package/dist/platform/browser/tx-store/local-storage.d.ts.map +1 -0
- package/dist/platform/browser/tx-store/local-storage.js +163 -0
- package/dist/platform/browser/tx-store/local-storage.js.map +1 -0
- package/dist/platform/browser/tx-store/store.d.ts +16 -0
- package/dist/platform/browser/tx-store/store.d.ts.map +1 -0
- package/dist/platform/browser/tx-store/store.js +35 -0
- package/dist/platform/browser/tx-store/store.js.map +1 -0
- package/dist/platform/browser/tx-store/types.d.ts +34 -0
- package/dist/platform/browser/tx-store/types.d.ts.map +1 -0
- package/dist/platform/browser/tx-store/types.js +4 -0
- package/dist/platform/browser/tx-store/types.js.map +1 -0
- package/dist/presets/index.d.ts +3 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +3 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/layers.d.ts +59 -0
- package/dist/presets/layers.d.ts.map +1 -0
- package/dist/presets/layers.js +317 -0
- package/dist/presets/layers.js.map +1 -0
- package/dist/presets/transports.d.ts +16 -0
- package/dist/presets/transports.d.ts.map +1 -0
- package/dist/presets/transports.js +19 -0
- package/dist/presets/transports.js.map +1 -0
- package/dist/query/chain-head.d.ts +14 -0
- package/dist/query/chain-head.d.ts.map +1 -0
- package/dist/query/chain-head.js +34 -0
- package/dist/query/chain-head.js.map +1 -0
- package/dist/query/client.d.ts +21 -0
- package/dist/query/client.d.ts.map +1 -0
- package/dist/query/client.js +64 -0
- package/dist/query/client.js.map +1 -0
- package/dist/query/contract-query.d.ts +25 -0
- package/dist/query/contract-query.d.ts.map +1 -0
- package/dist/query/contract-query.js +76 -0
- package/dist/query/contract-query.js.map +1 -0
- package/dist/query/index.d.ts +5 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +5 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/multicall-batcher.d.ts +16 -0
- package/dist/query/multicall-batcher.d.ts.map +1 -0
- package/dist/query/multicall-batcher.js +62 -0
- package/dist/query/multicall-batcher.js.map +1 -0
- package/dist/react-hooks/index.d.ts +9 -0
- package/dist/react-hooks/index.d.ts.map +1 -0
- package/dist/react-hooks/index.js +7 -0
- package/dist/react-hooks/index.js.map +1 -0
- package/dist/react-hooks/use-is-safe-multisig.d.ts +2 -0
- package/dist/react-hooks/use-is-safe-multisig.d.ts.map +1 -0
- package/dist/react-hooks/use-is-safe-multisig.js +44 -0
- package/dist/react-hooks/use-is-safe-multisig.js.map +1 -0
- package/dist/react-hooks/use-safe-context.d.ts +2 -0
- package/dist/react-hooks/use-safe-context.d.ts.map +1 -0
- package/dist/react-hooks/use-safe-context.js +41 -0
- package/dist/react-hooks/use-safe-context.js.map +1 -0
- package/dist/react-hooks/wagmi/index.d.ts +2 -0
- package/dist/react-hooks/wagmi/index.d.ts.map +1 -0
- package/dist/react-hooks/wagmi/index.js +3 -0
- package/dist/react-hooks/wagmi/index.js.map +1 -0
- package/dist/rpc/cache.d.ts +25 -0
- package/dist/rpc/cache.d.ts.map +1 -0
- package/dist/rpc/cache.js +127 -0
- package/dist/rpc/cache.js.map +1 -0
- package/dist/rpc/circuit-breaker.d.ts +28 -0
- package/dist/rpc/circuit-breaker.d.ts.map +1 -0
- package/dist/rpc/circuit-breaker.js +108 -0
- package/dist/rpc/circuit-breaker.js.map +1 -0
- package/dist/rpc/dedup.d.ts +10 -0
- package/dist/rpc/dedup.d.ts.map +1 -0
- package/dist/rpc/dedup.js +39 -0
- package/dist/rpc/dedup.js.map +1 -0
- package/dist/rpc/index.d.ts +6 -0
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/rpc/index.js +6 -0
- package/dist/rpc/index.js.map +1 -0
- package/dist/rpc/retry.d.ts +15 -0
- package/dist/rpc/retry.d.ts.map +1 -0
- package/dist/rpc/retry.js +34 -0
- package/dist/rpc/retry.js.map +1 -0
- package/dist/rpc/routemesh.d.ts +29 -0
- package/dist/rpc/routemesh.d.ts.map +1 -0
- package/dist/rpc/routemesh.js +21 -0
- package/dist/rpc/routemesh.js.map +1 -0
- package/dist/safe/adapter.d.ts +9 -0
- package/dist/safe/adapter.d.ts.map +1 -0
- package/dist/safe/adapter.js +13 -0
- package/dist/safe/adapter.js.map +1 -0
- package/dist/safe/detection.d.ts +26 -0
- package/dist/safe/detection.d.ts.map +1 -0
- package/dist/safe/detection.js +102 -0
- package/dist/safe/detection.js.map +1 -0
- package/dist/safe/errors.d.ts +79 -0
- package/dist/safe/errors.d.ts.map +1 -0
- package/dist/safe/errors.js +34 -0
- package/dist/safe/errors.js.map +1 -0
- package/dist/safe/index.d.ts +8 -0
- package/dist/safe/index.d.ts.map +1 -0
- package/dist/safe/index.js +6 -0
- package/dist/safe/index.js.map +1 -0
- package/dist/safe/live.d.ts +8 -0
- package/dist/safe/live.d.ts.map +1 -0
- package/dist/safe/live.js +250 -0
- package/dist/safe/live.js.map +1 -0
- package/dist/safe/service.d.ts +26 -0
- package/dist/safe/service.d.ts.map +1 -0
- package/dist/safe/service.js +4 -0
- package/dist/safe/service.js.map +1 -0
- package/dist/safe/simulation/abis.d.ts +73 -0
- package/dist/safe/simulation/abis.d.ts.map +1 -0
- package/dist/safe/simulation/abis.js +61 -0
- package/dist/safe/simulation/abis.js.map +1 -0
- package/dist/safe/simulation/addresses.d.ts +4 -0
- package/dist/safe/simulation/addresses.d.ts.map +1 -0
- package/dist/safe/simulation/addresses.js +40 -0
- package/dist/safe/simulation/addresses.js.map +1 -0
- package/dist/safe/simulation/encoding.d.ts +16 -0
- package/dist/safe/simulation/encoding.d.ts.map +1 -0
- package/dist/safe/simulation/encoding.js +36 -0
- package/dist/safe/simulation/encoding.js.map +1 -0
- package/dist/safe/simulation/errors.d.ts +56 -0
- package/dist/safe/simulation/errors.d.ts.map +1 -0
- package/dist/safe/simulation/errors.js +37 -0
- package/dist/safe/simulation/errors.js.map +1 -0
- package/dist/safe/simulation/index.d.ts +7 -0
- package/dist/safe/simulation/index.d.ts.map +1 -0
- package/dist/safe/simulation/index.js +6 -0
- package/dist/safe/simulation/index.js.map +1 -0
- package/dist/safe/simulation/service.d.ts +14 -0
- package/dist/safe/simulation/service.d.ts.map +1 -0
- package/dist/safe/simulation/service.js +140 -0
- package/dist/safe/simulation/service.js.map +1 -0
- package/dist/safe/simulation/types.d.ts +20 -0
- package/dist/safe/simulation/types.d.ts.map +1 -0
- package/dist/safe/simulation/types.js +2 -0
- package/dist/safe/simulation/types.js.map +1 -0
- package/dist/safe/types.d.ts +61 -0
- package/dist/safe/types.d.ts.map +1 -0
- package/dist/safe/types.js +2 -0
- package/dist/safe/types.js.map +1 -0
- package/dist/signature/errors.d.ts +29 -0
- package/dist/signature/errors.d.ts.map +1 -0
- package/dist/signature/errors.js +19 -0
- package/dist/signature/errors.js.map +1 -0
- package/dist/signature/index.d.ts +4 -0
- package/dist/signature/index.d.ts.map +1 -0
- package/dist/signature/index.js +4 -0
- package/dist/signature/index.js.map +1 -0
- package/dist/signature/service.d.ts +34 -0
- package/dist/signature/service.d.ts.map +1 -0
- package/dist/signature/service.js +97 -0
- package/dist/signature/service.js.map +1 -0
- package/dist/signature/utils.d.ts +13 -0
- package/dist/signature/utils.d.ts.map +1 -0
- package/dist/signature/utils.js +17 -0
- package/dist/signature/utils.js.map +1 -0
- package/dist/simulation/errors.d.ts +36 -0
- package/dist/simulation/errors.d.ts.map +1 -0
- package/dist/simulation/errors.js +23 -0
- package/dist/simulation/errors.js.map +1 -0
- package/dist/simulation/index.d.ts +5 -0
- package/dist/simulation/index.d.ts.map +1 -0
- package/dist/simulation/index.js +5 -0
- package/dist/simulation/index.js.map +1 -0
- package/dist/simulation/service.d.ts +34 -0
- package/dist/simulation/service.d.ts.map +1 -0
- package/dist/simulation/service.js +149 -0
- package/dist/simulation/service.js.map +1 -0
- package/dist/simulation/tenderly.d.ts +26 -0
- package/dist/simulation/tenderly.d.ts.map +1 -0
- package/dist/simulation/tenderly.js +200 -0
- package/dist/simulation/tenderly.js.map +1 -0
- package/dist/simulation/types.d.ts +47 -0
- package/dist/simulation/types.d.ts.map +1 -0
- package/dist/simulation/types.js +2 -0
- package/dist/simulation/types.js.map +1 -0
- package/dist/subscriptions/block-subscription.d.ts +10 -0
- package/dist/subscriptions/block-subscription.d.ts.map +1 -0
- package/dist/subscriptions/block-subscription.js +31 -0
- package/dist/subscriptions/block-subscription.js.map +1 -0
- package/dist/subscriptions/errors.d.ts +21 -0
- package/dist/subscriptions/errors.d.ts.map +1 -0
- package/dist/subscriptions/errors.js +14 -0
- package/dist/subscriptions/errors.js.map +1 -0
- package/dist/subscriptions/index.d.ts +6 -0
- package/dist/subscriptions/index.d.ts.map +1 -0
- package/dist/subscriptions/index.js +6 -0
- package/dist/subscriptions/index.js.map +1 -0
- package/dist/subscriptions/log-subscription.d.ts +11 -0
- package/dist/subscriptions/log-subscription.d.ts.map +1 -0
- package/dist/subscriptions/log-subscription.js +35 -0
- package/dist/subscriptions/log-subscription.js.map +1 -0
- package/dist/subscriptions/pending-tx.d.ts +8 -0
- package/dist/subscriptions/pending-tx.d.ts.map +1 -0
- package/dist/subscriptions/pending-tx.js +39 -0
- package/dist/subscriptions/pending-tx.js.map +1 -0
- package/dist/subscriptions/service.d.ts +64 -0
- package/dist/subscriptions/service.d.ts.map +1 -0
- package/dist/subscriptions/service.js +56 -0
- package/dist/subscriptions/service.js.map +1 -0
- package/dist/telemetry/index.d.ts +3 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +3 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/logger.d.ts +27 -0
- package/dist/telemetry/logger.d.ts.map +1 -0
- package/dist/telemetry/logger.js +7 -0
- package/dist/telemetry/logger.js.map +1 -0
- package/dist/telemetry/tracer.d.ts +94 -0
- package/dist/telemetry/tracer.d.ts.map +1 -0
- package/dist/telemetry/tracer.js +94 -0
- package/dist/telemetry/tracer.js.map +1 -0
- package/dist/testing-kit/_fixtures/addresses.d.ts +6 -0
- package/dist/testing-kit/_fixtures/addresses.d.ts.map +1 -0
- package/dist/testing-kit/_fixtures/addresses.js +7 -0
- package/dist/testing-kit/_fixtures/addresses.js.map +1 -0
- package/dist/testing-kit/_fixtures/receipts.d.ts +19 -0
- package/dist/testing-kit/_fixtures/receipts.d.ts.map +1 -0
- package/dist/testing-kit/_fixtures/receipts.js +22 -0
- package/dist/testing-kit/_fixtures/receipts.js.map +1 -0
- package/dist/testing-kit/helpers.d.ts +21 -0
- package/dist/testing-kit/helpers.d.ts.map +1 -0
- package/dist/testing-kit/helpers.js +56 -0
- package/dist/testing-kit/helpers.js.map +1 -0
- package/dist/testing-kit/index.d.ts +34 -0
- package/dist/testing-kit/index.d.ts.map +1 -0
- package/dist/testing-kit/index.js +19 -0
- package/dist/testing-kit/index.js.map +1 -0
- package/dist/testing-kit/mock-balance-service.d.ts +47 -0
- package/dist/testing-kit/mock-balance-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-balance-service.js +28 -0
- package/dist/testing-kit/mock-balance-service.js.map +1 -0
- package/dist/testing-kit/mock-block-service.d.ts +44 -0
- package/dist/testing-kit/mock-block-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-block-service.js +55 -0
- package/dist/testing-kit/mock-block-service.js.map +1 -0
- package/dist/testing-kit/mock-cross-chain-reader.d.ts +18 -0
- package/dist/testing-kit/mock-cross-chain-reader.d.ts.map +1 -0
- package/dist/testing-kit/mock-cross-chain-reader.js +65 -0
- package/dist/testing-kit/mock-cross-chain-reader.js.map +1 -0
- package/dist/testing-kit/mock-deploy-service.d.ts +47 -0
- package/dist/testing-kit/mock-deploy-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-deploy-service.js +52 -0
- package/dist/testing-kit/mock-deploy-service.js.map +1 -0
- package/dist/testing-kit/mock-erc721-service.d.ts +87 -0
- package/dist/testing-kit/mock-erc721-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-erc721-service.js +41 -0
- package/dist/testing-kit/mock-erc721-service.js.map +1 -0
- package/dist/testing-kit/mock-gas-service.d.ts +33 -0
- package/dist/testing-kit/mock-gas-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-gas-service.js +58 -0
- package/dist/testing-kit/mock-gas-service.js.map +1 -0
- package/dist/testing-kit/mock-nonce-service.d.ts +43 -0
- package/dist/testing-kit/mock-nonce-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-nonce-service.js +24 -0
- package/dist/testing-kit/mock-nonce-service.js.map +1 -0
- package/dist/testing-kit/mock-public-client.d.ts +56 -0
- package/dist/testing-kit/mock-public-client.d.ts.map +1 -0
- package/dist/testing-kit/mock-public-client.js +91 -0
- package/dist/testing-kit/mock-public-client.js.map +1 -0
- package/dist/testing-kit/mock-signature-service.d.ts +50 -0
- package/dist/testing-kit/mock-signature-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-signature-service.js +30 -0
- package/dist/testing-kit/mock-signature-service.js.map +1 -0
- package/dist/testing-kit/mock-simulation-service.d.ts +29 -0
- package/dist/testing-kit/mock-simulation-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-simulation-service.js +28 -0
- package/dist/testing-kit/mock-simulation-service.js.map +1 -0
- package/dist/testing-kit/mock-subscription-service.d.ts +52 -0
- package/dist/testing-kit/mock-subscription-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-subscription-service.js +49 -0
- package/dist/testing-kit/mock-subscription-service.js.map +1 -0
- package/dist/testing-kit/mock-transfer-service.d.ts +28 -0
- package/dist/testing-kit/mock-transfer-service.d.ts.map +1 -0
- package/dist/testing-kit/mock-transfer-service.js +17 -0
- package/dist/testing-kit/mock-transfer-service.js.map +1 -0
- package/dist/testing-kit/mock-wallet-client.d.ts +17 -0
- package/dist/testing-kit/mock-wallet-client.d.ts.map +1 -0
- package/dist/testing-kit/mock-wallet-client.js +30 -0
- package/dist/testing-kit/mock-wallet-client.js.map +1 -0
- package/dist/testing-kit/mock-wallet-provider.d.ts +11 -0
- package/dist/testing-kit/mock-wallet-provider.d.ts.map +1 -0
- package/dist/testing-kit/mock-wallet-provider.js +6 -0
- package/dist/testing-kit/mock-wallet-provider.js.map +1 -0
- package/dist/testing-kit/test-layer.d.ts +42 -0
- package/dist/testing-kit/test-layer.d.ts.map +1 -0
- package/dist/testing-kit/test-layer.js +65 -0
- package/dist/testing-kit/test-layer.js.map +1 -0
- package/dist/transfer/index.d.ts +2 -0
- package/dist/transfer/index.d.ts.map +1 -0
- package/dist/transfer/index.js +2 -0
- package/dist/transfer/index.js.map +1 -0
- package/dist/transfer/service.d.ts +37 -0
- package/dist/transfer/service.d.ts.map +1 -0
- package/dist/transfer/service.js +146 -0
- package/dist/transfer/service.js.map +1 -0
- package/dist/tx/fees.d.ts +17 -0
- package/dist/tx/fees.d.ts.map +1 -0
- package/dist/tx/fees.js +49 -0
- package/dist/tx/fees.js.map +1 -0
- package/dist/tx/index.d.ts +6 -0
- package/dist/tx/index.d.ts.map +1 -0
- package/dist/tx/index.js +6 -0
- package/dist/tx/index.js.map +1 -0
- package/dist/tx/manager.d.ts +23 -0
- package/dist/tx/manager.d.ts.map +1 -0
- package/dist/tx/manager.js +240 -0
- package/dist/tx/manager.js.map +1 -0
- package/dist/tx/policy.d.ts +18 -0
- package/dist/tx/policy.d.ts.map +1 -0
- package/dist/tx/policy.js +9 -0
- package/dist/tx/policy.js.map +1 -0
- package/dist/tx/replacement.d.ts +17 -0
- package/dist/tx/replacement.d.ts.map +1 -0
- package/dist/tx/replacement.js +116 -0
- package/dist/tx/replacement.js.map +1 -0
- package/dist/tx/tracker.d.ts +72 -0
- package/dist/tx/tracker.d.ts.map +1 -0
- package/dist/tx/tracker.js +95 -0
- package/dist/tx/tracker.js.map +1 -0
- package/dist/types/abi.d.ts +13 -0
- package/dist/types/abi.d.ts.map +1 -0
- package/dist/types/abi.js +2 -0
- package/dist/types/abi.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/params.d.ts +56 -0
- package/dist/types/params.d.ts.map +1 -0
- package/dist/types/params.js +2 -0
- package/dist/types/params.js.map +1 -0
- package/dist/types/tx-overrides.d.ts +20 -0
- package/dist/types/tx-overrides.d.ts.map +1 -0
- package/dist/types/tx-overrides.js +2 -0
- package/dist/types/tx-overrides.js.map +1 -0
- package/dist/wagmi/index.d.ts +2 -0
- package/dist/wagmi/index.d.ts.map +1 -0
- package/dist/wagmi/index.js +2 -0
- package/dist/wagmi/index.js.map +1 -0
- package/dist/wagmi/layers.d.ts +2 -0
- package/dist/wagmi/layers.d.ts.map +1 -0
- package/dist/wagmi/layers.js +2 -0
- package/dist/wagmi/layers.js.map +1 -0
- package/dist/wallet/errors.d.ts +68 -0
- package/dist/wallet/errors.d.ts.map +1 -0
- package/dist/wallet/errors.js +43 -0
- package/dist/wallet/errors.js.map +1 -0
- package/dist/wallet/index.d.ts +7 -0
- package/dist/wallet/index.d.ts.map +1 -0
- package/dist/wallet/index.js +7 -0
- package/dist/wallet/index.js.map +1 -0
- package/dist/wallet/lifecycle.d.ts +22 -0
- package/dist/wallet/lifecycle.d.ts.map +1 -0
- package/dist/wallet/lifecycle.js +242 -0
- package/dist/wallet/lifecycle.js.map +1 -0
- package/dist/wallet/operations.d.ts +8 -0
- package/dist/wallet/operations.d.ts.map +1 -0
- package/dist/wallet/operations.js +211 -0
- package/dist/wallet/operations.js.map +1 -0
- package/dist/wallet/provider-ref.d.ts +14 -0
- package/dist/wallet/provider-ref.d.ts.map +1 -0
- package/dist/wallet/provider-ref.js +13 -0
- package/dist/wallet/provider-ref.js.map +1 -0
- package/dist/wallet/service.d.ts +22 -0
- package/dist/wallet/service.d.ts.map +1 -0
- package/dist/wallet/service.js +156 -0
- package/dist/wallet/service.js.map +1 -0
- package/dist/wallet/types.d.ts +37 -0
- package/dist/wallet/types.d.ts.map +1 -0
- package/dist/wallet/types.js +2 -0
- package/dist/wallet/types.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { constVoid as noop } from "effect/Function";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { makeScopedRun } from "../internal/scoped-run.js";
|
|
5
|
+
import { useEffectEvmRuntime } from "../provider.js";
|
|
6
|
+
export const useForkEffect = (makeEffect, deps) => {
|
|
7
|
+
const runtime = useEffectEvmRuntime();
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
let scopedClose = null;
|
|
10
|
+
(async () => {
|
|
11
|
+
const scoped = await makeScopedRun(runtime);
|
|
12
|
+
scopedClose = scoped.close;
|
|
13
|
+
scoped.fork(makeEffect());
|
|
14
|
+
})().catch(noop);
|
|
15
|
+
return () => {
|
|
16
|
+
scopedClose?.();
|
|
17
|
+
};
|
|
18
|
+
}, [runtime, ...deps]);
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=use-fork-effect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-fork-effect.js","sourceRoot":"","sources":["../../../../src/integrations/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,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,UAA+C,EAC/C,IAA0B,EACpB,EAAE;IACR,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Stream from "effect/Stream";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type StreamState<A> = {
|
|
5
|
+
readonly status: "starting";
|
|
6
|
+
readonly value?: A | undefined;
|
|
7
|
+
} | {
|
|
8
|
+
readonly status: "running";
|
|
9
|
+
readonly value: A;
|
|
10
|
+
} | {
|
|
11
|
+
readonly status: "error";
|
|
12
|
+
readonly error: unknown;
|
|
13
|
+
readonly value?: A | undefined;
|
|
14
|
+
};
|
|
15
|
+
export declare const useStream: <A, E, R>(stream: Stream.Stream<A, E, R>, options?: {
|
|
16
|
+
readonly initial?: A | undefined;
|
|
17
|
+
}) => StreamState<A>;
|
|
18
|
+
export declare const useStreamEffect: <A, E, R>(makeStream: () => Effect.Effect<Stream.Stream<A, E, R>, E, R>, deps: React.DependencyList, options?: {
|
|
19
|
+
readonly initial?: A | undefined;
|
|
20
|
+
}) => StreamState<A>;
|
|
21
|
+
export declare const useStreamValue: <A, E, R>(stream: Stream.Stream<A, E, R>, options?: {
|
|
22
|
+
readonly initial?: A | undefined;
|
|
23
|
+
}) => A | undefined;
|
|
24
|
+
export declare const useSubscriptionRef: <A>(ref: import("effect/SubscriptionRef").SubscriptionRef<A>, initial: A) => A;
|
|
25
|
+
export declare const useSubscriptionRefValue: <A>(ref: import("effect/SubscriptionRef").SubscriptionRef<A>, initial: A) => A;
|
|
26
|
+
//# sourceMappingURL=use-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-stream.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-hooks/primitives/use-stream.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,MAAM,WAAW,CAAC,CAAC,IACrB;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACjD;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;CAChC,CAAC;AA6BN,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/B,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,UAAS;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;CAAO,KACjD,WAAW,CAAC,CAAC,CA4Ef,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACrC,YAAY,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC7D,MAAM,KAAK,CAAC,cAAc,EAC1B,UAAS;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;CAAO,KACjD,WAAW,CAAC,CAAC,CAoEf,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACpC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,UAAS;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAAA;CAAO,KACjD,CAAC,GAAG,SASN,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAClC,KAAK,OAAO,wBAAwB,EAAE,eAAe,CAAC,CAAC,CAAC,EACxD,SAAS,CAAC,KACT,CAGF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,CAAC,EACvC,KAAK,OAAO,wBAAwB,EAAE,eAAe,CAAC,CAAC,CAAC,EACxD,SAAS,CAAC,KACT,CAAqC,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Fiber from "effect/Fiber";
|
|
4
|
+
import * as Scope from "effect/Scope";
|
|
5
|
+
import * as Stream from "effect/Stream";
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import { fromCause, fromUnknown } from "../internal/error.js";
|
|
8
|
+
import { isDev } from "../internal/is-dev.js";
|
|
9
|
+
import { makeScopedRun } from "../internal/scoped-run.js";
|
|
10
|
+
import { useEffectEvmRuntime } from "../provider.js";
|
|
11
|
+
const makeExternalStore = (initial) => {
|
|
12
|
+
let snapshot = initial;
|
|
13
|
+
const listeners = new Set();
|
|
14
|
+
return {
|
|
15
|
+
getSnapshot: () => snapshot,
|
|
16
|
+
setSnapshot: (value) => {
|
|
17
|
+
snapshot = value;
|
|
18
|
+
for (const listener of listeners) {
|
|
19
|
+
listener();
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
subscribe: (listener) => {
|
|
23
|
+
listeners.add(listener);
|
|
24
|
+
return () => {
|
|
25
|
+
listeners.delete(listener);
|
|
26
|
+
};
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export const useStream = (stream, options = {}) => {
|
|
31
|
+
const runtime = useEffectEvmRuntime();
|
|
32
|
+
const devRef = React.useRef(null);
|
|
33
|
+
if (isDev) {
|
|
34
|
+
if (devRef.current === null) {
|
|
35
|
+
devRef.current = { initial: options.initial, warned: false };
|
|
36
|
+
}
|
|
37
|
+
else if (!devRef.current.warned && devRef.current.initial !== options.initial) {
|
|
38
|
+
devRef.current.warned = true;
|
|
39
|
+
console.warn([
|
|
40
|
+
"[effect-evm] useStream does not react to initial changes after mount.",
|
|
41
|
+
"If you need to update the initial value, recreate the stream or use stable inputs.",
|
|
42
|
+
].join(" "));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const storeRef = React.useRef(null);
|
|
46
|
+
if (storeRef.current === null) {
|
|
47
|
+
storeRef.current = makeExternalStore({
|
|
48
|
+
status: "starting",
|
|
49
|
+
value: options.initial,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
const store = storeRef.current;
|
|
53
|
+
const state = React.useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
|
|
54
|
+
React.useEffect(() => {
|
|
55
|
+
store.setSnapshot({ status: "starting", value: options.initial });
|
|
56
|
+
let cancelled = false;
|
|
57
|
+
let scopedClose = null;
|
|
58
|
+
let lastValue = options.initial;
|
|
59
|
+
(async () => {
|
|
60
|
+
const scoped = await makeScopedRun(runtime);
|
|
61
|
+
scopedClose = scoped.close;
|
|
62
|
+
const runner = Stream.runForEach(stream, (value) => Effect.sync(() => {
|
|
63
|
+
lastValue = value;
|
|
64
|
+
store.setSnapshot({ status: "running", value });
|
|
65
|
+
}));
|
|
66
|
+
const fiber = scoped.fork(Effect.exit(runner));
|
|
67
|
+
const exit = await runtime.runPromise(Fiber.join(fiber));
|
|
68
|
+
if (cancelled) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (exit._tag === "Failure") {
|
|
72
|
+
store.setSnapshot({
|
|
73
|
+
error: fromCause(exit.cause),
|
|
74
|
+
status: "error",
|
|
75
|
+
value: lastValue,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
})().catch((cause) => {
|
|
79
|
+
if (!cancelled) {
|
|
80
|
+
store.setSnapshot({
|
|
81
|
+
error: fromUnknown(cause),
|
|
82
|
+
status: "error",
|
|
83
|
+
value: lastValue,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
return () => {
|
|
88
|
+
cancelled = true;
|
|
89
|
+
scopedClose?.();
|
|
90
|
+
};
|
|
91
|
+
}, [runtime, store, stream]);
|
|
92
|
+
return state;
|
|
93
|
+
};
|
|
94
|
+
export const useStreamEffect = (makeStream, deps, options = {}) => {
|
|
95
|
+
const runtime = useEffectEvmRuntime();
|
|
96
|
+
const storeRef = React.useRef(null);
|
|
97
|
+
if (storeRef.current === null) {
|
|
98
|
+
storeRef.current = makeExternalStore({
|
|
99
|
+
status: "starting",
|
|
100
|
+
value: options.initial,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
const store = storeRef.current;
|
|
104
|
+
const state = React.useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
|
|
105
|
+
React.useEffect(() => {
|
|
106
|
+
store.setSnapshot({ status: "starting", value: options.initial });
|
|
107
|
+
let cancelled = false;
|
|
108
|
+
let scopedClose = null;
|
|
109
|
+
let lastValue = options.initial;
|
|
110
|
+
(async () => {
|
|
111
|
+
const scoped = await makeScopedRun(runtime);
|
|
112
|
+
scopedClose = scoped.close;
|
|
113
|
+
const stream = await runtime.runPromise(Scope.extend(scoped.scope)(makeStream()));
|
|
114
|
+
const runner = Stream.runForEach(stream, (value) => Effect.sync(() => {
|
|
115
|
+
lastValue = value;
|
|
116
|
+
store.setSnapshot({ status: "running", value });
|
|
117
|
+
}));
|
|
118
|
+
const fiber = scoped.fork(Effect.exit(runner));
|
|
119
|
+
const exit = await runtime.runPromise(Fiber.join(fiber));
|
|
120
|
+
if (cancelled) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (exit._tag === "Failure") {
|
|
124
|
+
store.setSnapshot({
|
|
125
|
+
error: fromCause(exit.cause),
|
|
126
|
+
status: "error",
|
|
127
|
+
value: lastValue,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
})().catch((cause) => {
|
|
131
|
+
if (!cancelled) {
|
|
132
|
+
store.setSnapshot({
|
|
133
|
+
error: fromUnknown(cause),
|
|
134
|
+
status: "error",
|
|
135
|
+
value: lastValue,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
return () => {
|
|
140
|
+
cancelled = true;
|
|
141
|
+
scopedClose?.();
|
|
142
|
+
};
|
|
143
|
+
}, [runtime, ...deps]);
|
|
144
|
+
return state;
|
|
145
|
+
};
|
|
146
|
+
export const useStreamValue = (stream, options = {}) => {
|
|
147
|
+
const state = useStream(stream, options);
|
|
148
|
+
if (state.status === "starting") {
|
|
149
|
+
return options.initial;
|
|
150
|
+
}
|
|
151
|
+
if (state.status === "error") {
|
|
152
|
+
return state.value ?? options.initial;
|
|
153
|
+
}
|
|
154
|
+
return state.value;
|
|
155
|
+
};
|
|
156
|
+
export const useSubscriptionRef = (ref, initial) => {
|
|
157
|
+
const state = useStream(ref.changes, { initial });
|
|
158
|
+
return state.status === "starting" ? initial : (state.value ?? initial);
|
|
159
|
+
};
|
|
160
|
+
export const useSubscriptionRefValue = (ref, initial) => useSubscriptionRef(ref, initial);
|
|
161
|
+
//# sourceMappingURL=use-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-stream.js","sourceRoot":"","sources":["../../../../src/integrations/react-hooks/primitives/use-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type { UseEffectResult } from "./primitives/use-effect.js";
|
|
2
|
+
export { useEffectMemo, useEffectOnce } from "./primitives/use-effect.js";
|
|
3
|
+
export type { EffectMemoOptions } from "./primitives/use-effect-memo-factory.js";
|
|
4
|
+
export { useEffectMemoFactory } from "./primitives/use-effect-memo-factory.js";
|
|
5
|
+
export { useForkEffect } from "./primitives/use-fork-effect.js";
|
|
6
|
+
export type { StreamState } from "./primitives/use-stream.js";
|
|
7
|
+
export { useStream, useStreamEffect, useStreamValue, useSubscriptionRef, useSubscriptionRefValue, } from "./primitives/use-stream.js";
|
|
8
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/integrations/react-hooks/primitives.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
export { useEffectMemo, useEffectOnce } from "./primitives/use-effect.js";
|
|
3
|
+
export { useEffectMemoFactory } from "./primitives/use-effect-memo-factory.js";
|
|
4
|
+
export { useForkEffect } from "./primitives/use-fork-effect.js";
|
|
5
|
+
export { useStream, useStreamEffect, useStreamValue, useSubscriptionRef, useSubscriptionRefValue, } from "./primitives/use-stream.js";
|
|
6
|
+
//# sourceMappingURL=primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../src/integrations/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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type * as Layer from "effect/Layer";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import type { EffectEvmRuntime } from "./internal/runtime.js";
|
|
4
|
+
export type EffectEvmProviderProps = {
|
|
5
|
+
readonly children?: React.ReactNode;
|
|
6
|
+
readonly fallback?: React.ReactNode;
|
|
7
|
+
readonly layer: Layer.Layer<never, unknown, never>;
|
|
8
|
+
readonly onUnhandledError?: (cause: unknown) => void;
|
|
9
|
+
};
|
|
10
|
+
export type EffectEvmLayerProviderProps = {
|
|
11
|
+
readonly children?: React.ReactNode;
|
|
12
|
+
readonly layer: Layer.Layer<never, unknown, never>;
|
|
13
|
+
};
|
|
14
|
+
export declare const EffectEvmProvider: (props: EffectEvmProviderProps) => React.ReactElement;
|
|
15
|
+
export declare const EffectEvmProviderSync: (props: EffectEvmProviderProps) => React.ReactElement;
|
|
16
|
+
export declare const EffectEvmLayerProvider: (props: EffectEvmLayerProviderProps) => React.ReactElement;
|
|
17
|
+
export declare const useEffectEvmRuntime: () => EffectEvmRuntime;
|
|
18
|
+
export declare const useEffectEvmLayer: () => Layer.Layer<never, unknown, never>;
|
|
19
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/integrations/react-hooks/provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;CACpD,CAAC;AAKF,eAAO,MAAM,iBAAiB,GAAI,OAAO,sBAAsB,KAAG,KAAK,CAAC,YAsCvE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,sBAAsB,KAAG,KAAK,CAAC,YAoB3E,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,2BAA2B,KAAG,KAAK,CAAC,YAGjF,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,gBAMtC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAMrE,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { constVoid as noop } from "effect/Function";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { buildRuntime, buildRuntimeSync, closeRuntime } from "./internal/runtime.js";
|
|
5
|
+
const EffectEvmRuntimeContext = React.createContext(null);
|
|
6
|
+
const EffectEvmLayerContext = React.createContext(null);
|
|
7
|
+
export const EffectEvmProvider = (props) => {
|
|
8
|
+
const { children, fallback = null, layer, onUnhandledError } = props;
|
|
9
|
+
const [runtime, setRuntime] = React.useState(null);
|
|
10
|
+
React.useEffect(() => {
|
|
11
|
+
let cancelled = false;
|
|
12
|
+
let current = null;
|
|
13
|
+
setRuntime(null);
|
|
14
|
+
(async () => {
|
|
15
|
+
const built = await buildRuntime(layer);
|
|
16
|
+
current = built;
|
|
17
|
+
if (cancelled) {
|
|
18
|
+
await closeRuntime(built.scope);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
setRuntime(built);
|
|
22
|
+
})().catch((cause) => {
|
|
23
|
+
onUnhandledError?.(cause);
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
cancelled = true;
|
|
27
|
+
if (current) {
|
|
28
|
+
closeRuntime(current.scope).catch(noop);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}, [layer, onUnhandledError]);
|
|
32
|
+
if (runtime === null) {
|
|
33
|
+
return React.createElement(React.Fragment, null, fallback);
|
|
34
|
+
}
|
|
35
|
+
return React.createElement(EffectEvmRuntimeContext.Provider, { value: runtime }, children);
|
|
36
|
+
};
|
|
37
|
+
export const EffectEvmProviderSync = (props) => {
|
|
38
|
+
const { children, layer, onUnhandledError } = props;
|
|
39
|
+
const runtime = React.useMemo(() => {
|
|
40
|
+
try {
|
|
41
|
+
return buildRuntimeSync(layer);
|
|
42
|
+
}
|
|
43
|
+
catch (cause) {
|
|
44
|
+
onUnhandledError?.(cause);
|
|
45
|
+
throw cause;
|
|
46
|
+
}
|
|
47
|
+
}, [layer, onUnhandledError]);
|
|
48
|
+
React.useEffect(() => () => {
|
|
49
|
+
void closeRuntime(runtime.scope).catch(noop);
|
|
50
|
+
}, [runtime]);
|
|
51
|
+
return React.createElement(EffectEvmRuntimeContext.Provider, { value: runtime }, children);
|
|
52
|
+
};
|
|
53
|
+
export const EffectEvmLayerProvider = (props) => {
|
|
54
|
+
const { children, layer } = props;
|
|
55
|
+
return React.createElement(EffectEvmLayerContext.Provider, { value: layer }, children);
|
|
56
|
+
};
|
|
57
|
+
export const useEffectEvmRuntime = () => {
|
|
58
|
+
const runtime = React.useContext(EffectEvmRuntimeContext);
|
|
59
|
+
if (runtime === null) {
|
|
60
|
+
throw new Error("EffectEvmProvider is missing (useEffectEvmRuntime)");
|
|
61
|
+
}
|
|
62
|
+
return runtime;
|
|
63
|
+
};
|
|
64
|
+
export const useEffectEvmLayer = () => {
|
|
65
|
+
const layer = React.useContext(EffectEvmLayerContext);
|
|
66
|
+
if (layer === null) {
|
|
67
|
+
throw new Error("EffectEvmLayerProvider is missing (useEffectEvmLayer)");
|
|
68
|
+
}
|
|
69
|
+
return layer;
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/integrations/react-hooks/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Config } from "@wagmi/core";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type WagmiEffectEvmProviderProps = {
|
|
5
|
+
readonly children: React.ReactNode;
|
|
6
|
+
readonly config: Config;
|
|
7
|
+
readonly fallback?: React.ReactNode;
|
|
8
|
+
readonly layer?: Layer.Layer<never, unknown, never> | undefined;
|
|
9
|
+
readonly onUnhandledError?: (cause: unknown) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare const WagmiEffectEvmProvider: (props: WagmiEffectEvmProviderProps) => React.ReactElement;
|
|
12
|
+
export declare const WagmiEffectEvmProviderSync: (props: WagmiEffectEvmProviderProps) => React.ReactElement;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/integrations/react-hooks/wagmi/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD,CAAC;AAkEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,2BAA2B,KAAG,KAAK,CAAC,YA0BjF,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,OAAO,2BAA2B,KACjC,KAAK,CAAC,YAyBR,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { getAccount, watchAccount } from "@wagmi/core";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { makeEffectEvmLayerFromWagmiWithWalletProviderRef } from "../../../wagmi/index.js";
|
|
6
|
+
import { EffectEvmProvider, EffectEvmProviderSync } from "../provider.js";
|
|
7
|
+
import { useWalletProviderRef } from "../wallet-provider-ref.js";
|
|
8
|
+
const toWalletProvider = (value) => {
|
|
9
|
+
if (typeof value === "object" &&
|
|
10
|
+
value !== null &&
|
|
11
|
+
"request" in value &&
|
|
12
|
+
typeof value.request === "function") {
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
return undefined;
|
|
16
|
+
};
|
|
17
|
+
const WagmiWalletProviderRefSync = (props) => {
|
|
18
|
+
const { config } = props;
|
|
19
|
+
const { clearProvider, setProvider } = useWalletProviderRef();
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
let cancelled = false;
|
|
22
|
+
const sync = async (account) => {
|
|
23
|
+
if (!account.connector || account.chainId === undefined) {
|
|
24
|
+
clearProvider();
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
const raw = await account.connector.getProvider({
|
|
29
|
+
chainId: account.chainId,
|
|
30
|
+
});
|
|
31
|
+
const provider = toWalletProvider(raw);
|
|
32
|
+
if (cancelled) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (provider) {
|
|
36
|
+
setProvider(provider);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
clearProvider();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
if (!cancelled) {
|
|
44
|
+
clearProvider();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
void sync(getAccount(config));
|
|
49
|
+
const unsubscribe = watchAccount(config, {
|
|
50
|
+
onChange: (next) => {
|
|
51
|
+
void sync(next);
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
return () => {
|
|
55
|
+
cancelled = true;
|
|
56
|
+
unsubscribe();
|
|
57
|
+
clearProvider();
|
|
58
|
+
};
|
|
59
|
+
}, [clearProvider, config, setProvider]);
|
|
60
|
+
return null;
|
|
61
|
+
};
|
|
62
|
+
export const WagmiEffectEvmProvider = (props) => {
|
|
63
|
+
const { children, config, fallback, layer: extraLayer, onUnhandledError } = props;
|
|
64
|
+
const baseLayer = React.useMemo(() => makeEffectEvmLayerFromWagmiWithWalletProviderRef(config), [config]);
|
|
65
|
+
const fullLayer = React.useMemo(() => (extraLayer ? Layer.mergeAll(baseLayer, extraLayer) : baseLayer), [baseLayer, extraLayer]);
|
|
66
|
+
return React.createElement(EffectEvmProvider, {
|
|
67
|
+
fallback,
|
|
68
|
+
layer: fullLayer,
|
|
69
|
+
onUnhandledError,
|
|
70
|
+
}, React.createElement(React.Fragment, null, React.createElement(WagmiWalletProviderRefSync, { config }), children));
|
|
71
|
+
};
|
|
72
|
+
export const WagmiEffectEvmProviderSync = (props) => {
|
|
73
|
+
const { children, config, layer: extraLayer, onUnhandledError } = props;
|
|
74
|
+
const baseLayer = React.useMemo(() => makeEffectEvmLayerFromWagmiWithWalletProviderRef(config), [config]);
|
|
75
|
+
const fullLayer = React.useMemo(() => (extraLayer ? Layer.mergeAll(baseLayer, extraLayer) : baseLayer), [baseLayer, extraLayer]);
|
|
76
|
+
return React.createElement(EffectEvmProviderSync, {
|
|
77
|
+
layer: fullLayer,
|
|
78
|
+
onUnhandledError,
|
|
79
|
+
}, React.createElement(React.Fragment, null, React.createElement(WagmiWalletProviderRefSync, { config }), children));
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integrations/react-hooks/wagmi/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WalletProvider } from "../../wallet/index.js";
|
|
2
|
+
export type WalletProviderRefActions = {
|
|
3
|
+
readonly clearProvider: () => void;
|
|
4
|
+
readonly setProvider: (provider: WalletProvider) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const useWalletProviderRef: () => WalletProviderRefActions;
|
|
7
|
+
//# sourceMappingURL=wallet-provider-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-provider-ref.d.ts","sourceRoot":"","sources":["../../../src/integrations/react-hooks/wallet-provider-ref.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,wBA6BvC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import { constVoid as noop } from "effect/Function";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { WalletProviderRef } from "../../wallet/index.js";
|
|
6
|
+
import { useEffectEvmRuntime } from "./provider.js";
|
|
7
|
+
export const useWalletProviderRef = () => {
|
|
8
|
+
const runtime = useEffectEvmRuntime();
|
|
9
|
+
const setProvider = React.useCallback((provider) => {
|
|
10
|
+
runtime
|
|
11
|
+
.runPromise(Effect.gen(function* () {
|
|
12
|
+
const ref = yield* WalletProviderRef;
|
|
13
|
+
yield* ref.set(provider);
|
|
14
|
+
}))
|
|
15
|
+
.catch(noop);
|
|
16
|
+
}, [runtime]);
|
|
17
|
+
const clearProvider = React.useCallback(() => {
|
|
18
|
+
runtime
|
|
19
|
+
.runPromise(Effect.gen(function* () {
|
|
20
|
+
const ref = yield* WalletProviderRef;
|
|
21
|
+
yield* ref.clear;
|
|
22
|
+
}))
|
|
23
|
+
.catch(noop);
|
|
24
|
+
}, [runtime]);
|
|
25
|
+
return { clearProvider, setProvider };
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=wallet-provider-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-provider-ref.js","sourceRoot":"","sources":["../../../src/integrations/react-hooks/wallet-provider-ref.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAOpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAA6B,EAAE;IACjE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,QAAwB,EAAE,EAAE;QAC3B,OAAO;aACJ,UAAU,CACT,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC;YACrC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC,CAAC,CACH;aACA,KAAK,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,OAAO;aACJ,UAAU,CACT,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC;YACrC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QACnB,CAAC,CAAC,CACH;aACA,KAAK,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACxC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/wagmi/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/wagmi/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Config } from "@wagmi/core";
|
|
2
|
+
import { Layer } from "effect";
|
|
3
|
+
import type { Address } from "viem";
|
|
4
|
+
import { PublicClientService, WalletClientService } from "../../core/index.js";
|
|
5
|
+
export type WagmiWalletClientOptions = {
|
|
6
|
+
readonly account?: Address;
|
|
7
|
+
};
|
|
8
|
+
export declare function makePublicClientLayerFromWagmi(config: Config): Layer.Layer<PublicClientService>;
|
|
9
|
+
export declare function makeWalletClientLayerFromWagmi(config: Config, options?: WagmiWalletClientOptions): Layer.Layer<WalletClientService>;
|
|
10
|
+
export declare function makeEffectEvmLayerFromWagmi(config: Config, options?: WagmiWalletClientOptions): Layer.Layer<PublicClientService | WalletClientService | import("../../index.js").ContractReader | import("../../index.js").EventBackfill | import("../../index.js").CursorStore | import("../../index.js").CursorStream | import("../../index.js").EventStream | import("../../index.js").ReliableEventStream | import("../../index.js").GasService | import("../../index.js").NonceService | import("../../index.js").TxReplacement | import("../../index.js").TxManager | import("../../index.js").ContractPipeline | import("../../index.js").ContractWriter | import("../../index.js").BalanceService | import("../../index.js").BlockService | import("../../index.js").DeployService | import("../../index.js").Eip7702Service | import("../../index.js").EnsResolver | import("../../index.js").Erc721Service | import("../../index.js").SubscriptionService | import("../../index.js").ChainHead | import("../../index.js").RpcCache | import("../../index.js").RequestDedup | import("../../index.js").QueryClient | import("../../index.js").MulticallBatcher | import("../../index.js").ContractQuery | import("../../index.js").SignatureService | import("../../index.js").SimulationService, never, never>;
|
|
11
|
+
export declare function makeEffectEvmLayerFromWagmiWithWalletProviderRef(config: Config, options?: WagmiWalletClientOptions): Layer.Layer<import("../../wallet/index.js").WalletLifecycle | import("../../wallet/index.js").WalletProviderRef | import("../../wallet/index.js").WalletService | PublicClientService | WalletClientService | import("../../index.js").ContractReader | import("../../index.js").EventBackfill | import("../../index.js").CursorStore | import("../../index.js").CursorStream | import("../../index.js").EventStream | import("../../index.js").ReliableEventStream | import("../../index.js").GasService | import("../../index.js").NonceService | import("../../index.js").TxReplacement | import("../../index.js").TxManager | import("../../index.js").ContractPipeline | import("../../index.js").ContractWriter | import("../../index.js").BalanceService | import("../../index.js").BlockService | import("../../index.js").DeployService | import("../../index.js").Eip7702Service | import("../../index.js").EnsResolver | import("../../index.js").Erc721Service | import("../../index.js").SubscriptionService | import("../../index.js").ChainHead | import("../../index.js").RpcCache | import("../../index.js").RequestDedup | import("../../index.js").QueryClient | import("../../index.js").MulticallBatcher | import("../../index.js").ContractQuery | import("../../index.js").SignatureService | import("../../index.js").SimulationService, never, never>;
|
|
12
|
+
//# sourceMappingURL=layers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../../src/integrations/wagmi/layers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAQ7B,MAAM,MAAM,wBAAwB,GAAG;IAMrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CA0B/F;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B,GACrC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAkDlC;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B,4pCAQvC;AAYD,wBAAgB,gDAAgD,CAC9D,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B,kzCAkBvC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { getPublicClient, getWalletClient } from "@wagmi/core";
|
|
2
|
+
import { Effect, Layer } from "effect";
|
|
3
|
+
import { ClientNotFoundError, PublicClientService, WalletClientService, WalletNotConnectedError, WrongNetworkError, } from "../../core/index.js";
|
|
4
|
+
import { effectEvmServices } from "../../presets/index.js";
|
|
5
|
+
import { makeWalletProviderRefLive, WalletLifecycleFromProviderRefLive, WalletServiceFromProviderRefLive, } from "../../wallet/index.js";
|
|
6
|
+
export function makePublicClientLayerFromWagmi(config) {
|
|
7
|
+
return Layer.succeed(PublicClientService, {
|
|
8
|
+
get: (chainId) => Effect.gen(function* () {
|
|
9
|
+
const client = yield* Effect.try({
|
|
10
|
+
catch: (cause) => new ClientNotFoundError({
|
|
11
|
+
chainId,
|
|
12
|
+
message: cause instanceof Error ? cause.message : `No public client for chain ${chainId}`,
|
|
13
|
+
}),
|
|
14
|
+
try: () => getPublicClient(config, { chainId }),
|
|
15
|
+
});
|
|
16
|
+
if (!client) {
|
|
17
|
+
return yield* Effect.fail(new ClientNotFoundError({
|
|
18
|
+
chainId,
|
|
19
|
+
message: `No public client found for chain ${chainId}`,
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
return client;
|
|
23
|
+
}),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export function makeWalletClientLayerFromWagmi(config, options = {}) {
|
|
27
|
+
return Layer.succeed(WalletClientService, {
|
|
28
|
+
get: (chainId) => Effect.tryPromise({
|
|
29
|
+
catch: (cause) => new WalletNotConnectedError({
|
|
30
|
+
chainId,
|
|
31
|
+
message: cause instanceof Error
|
|
32
|
+
? cause.message
|
|
33
|
+
: `No wallet client available for chain ${chainId}`,
|
|
34
|
+
}),
|
|
35
|
+
try: () => {
|
|
36
|
+
const params = options.account ? { account: options.account, chainId } : { chainId };
|
|
37
|
+
return getWalletClient(config, params);
|
|
38
|
+
},
|
|
39
|
+
}).pipe(Effect.flatMap((client) => {
|
|
40
|
+
if (!client) {
|
|
41
|
+
return Effect.fail(new WalletNotConnectedError({
|
|
42
|
+
chainId,
|
|
43
|
+
message: `No wallet client available for chain ${chainId}`,
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
return Effect.tryPromise({
|
|
47
|
+
catch: () => new WalletNotConnectedError({
|
|
48
|
+
chainId,
|
|
49
|
+
message: `Failed to read wallet chainId for ${chainId}`,
|
|
50
|
+
}),
|
|
51
|
+
try: () => client.getChainId(),
|
|
52
|
+
}).pipe(Effect.flatMap((actualChainId) => actualChainId === chainId
|
|
53
|
+
? Effect.succeed(client)
|
|
54
|
+
: Effect.fail(new WrongNetworkError({
|
|
55
|
+
actualChainId,
|
|
56
|
+
expectedChainId: chainId,
|
|
57
|
+
message: `Wallet is on chainId=${actualChainId} but expected chainId=${chainId}`,
|
|
58
|
+
}))));
|
|
59
|
+
})),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
export function makeEffectEvmLayerFromWagmi(config, options = {}) {
|
|
63
|
+
const clientLayers = Layer.mergeAll(makePublicClientLayerFromWagmi(config), makeWalletClientLayerFromWagmi(config, options));
|
|
64
|
+
return Layer.provideMerge(effectEvmServices, clientLayers);
|
|
65
|
+
}
|
|
66
|
+
export function makeEffectEvmLayerFromWagmiWithWalletProviderRef(config, options = {}) {
|
|
67
|
+
const clientLayers = Layer.mergeAll(makePublicClientLayerFromWagmi(config), makeWalletClientLayerFromWagmi(config, options));
|
|
68
|
+
const providerRefLayer = makeWalletProviderRefLive();
|
|
69
|
+
const walletLayers = Layer.provideMerge(Layer.mergeAll(WalletServiceFromProviderRefLive, WalletLifecycleFromProviderRefLive), providerRefLayer);
|
|
70
|
+
return Layer.provideMerge(Layer.mergeAll(effectEvmServices, walletLayers, providerRefLayer), clientLayers);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=layers.js.map
|