@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,139 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import { PublicClientService, TransportError } from "../core/index.js";
|
|
3
|
+
import { makeNonceManager } from "../nonce/manager.js";
|
|
4
|
+
import { SpanNames } from "../telemetry/index.js";
|
|
5
|
+
export class NonceService extends Context.Tag("ew3/NonceService")() {
|
|
6
|
+
}
|
|
7
|
+
export const NonceServiceLive = Layer.effect(NonceService, Effect.gen(function* () {
|
|
8
|
+
const publicClientService = yield* PublicClientService;
|
|
9
|
+
const manager = yield* makeNonceManager();
|
|
10
|
+
return NonceService.of({
|
|
11
|
+
confirm: (params) => manager.confirm(params.chainId, params.address, params.nonce).pipe(Effect.withSpan(SpanNames.NONCE_CONFIRM, {
|
|
12
|
+
attributes: {
|
|
13
|
+
address: params.address,
|
|
14
|
+
chainId: params.chainId,
|
|
15
|
+
nonce: params.nonce.toString(),
|
|
16
|
+
},
|
|
17
|
+
})),
|
|
18
|
+
getConfirmedCount: (params) => Effect.gen(function* () {
|
|
19
|
+
const client = yield* publicClientService.get(params.chainId);
|
|
20
|
+
const count = yield* Effect.tryPromise({
|
|
21
|
+
catch: (cause) => new TransportError({
|
|
22
|
+
cause,
|
|
23
|
+
message: `Failed to get confirmed nonce count (chainId=${params.chainId}, address=${params.address})`,
|
|
24
|
+
url: client.transport.url ?? "unknown",
|
|
25
|
+
}),
|
|
26
|
+
try: () => client.getTransactionCount({
|
|
27
|
+
address: params.address,
|
|
28
|
+
blockTag: "latest",
|
|
29
|
+
}),
|
|
30
|
+
});
|
|
31
|
+
return BigInt(count);
|
|
32
|
+
}).pipe(Effect.withSpan(SpanNames.NONCE_GET_CONFIRMED_COUNT, {
|
|
33
|
+
attributes: {
|
|
34
|
+
address: params.address,
|
|
35
|
+
chainId: params.chainId,
|
|
36
|
+
},
|
|
37
|
+
})),
|
|
38
|
+
getGaps: (params) => manager.getGaps(params.chainId, params.address).pipe(Effect.withSpan(SpanNames.NONCE_GET_GAPS, {
|
|
39
|
+
attributes: {
|
|
40
|
+
address: params.address,
|
|
41
|
+
chainId: params.chainId,
|
|
42
|
+
},
|
|
43
|
+
})),
|
|
44
|
+
getNext: (params) => Effect.gen(function* () {
|
|
45
|
+
const client = yield* publicClientService.get(params.chainId);
|
|
46
|
+
const [onChainPending, cachedConfirmed] = yield* Effect.all([
|
|
47
|
+
Effect.tryPromise({
|
|
48
|
+
catch: (cause) => new TransportError({
|
|
49
|
+
cause,
|
|
50
|
+
message: `Failed to get pending nonce count (chainId=${params.chainId}, address=${params.address})`,
|
|
51
|
+
url: client.transport.url ?? "unknown",
|
|
52
|
+
}),
|
|
53
|
+
try: () => client.getTransactionCount({
|
|
54
|
+
address: params.address,
|
|
55
|
+
blockTag: "pending",
|
|
56
|
+
}),
|
|
57
|
+
}),
|
|
58
|
+
manager.getConfirmed(params.chainId, params.address),
|
|
59
|
+
], { concurrency: 2 });
|
|
60
|
+
const pending = BigInt(onChainPending);
|
|
61
|
+
return cachedConfirmed && cachedConfirmed > pending ? cachedConfirmed : pending;
|
|
62
|
+
}).pipe(Effect.withSpan(SpanNames.NONCE_GET_NEXT, {
|
|
63
|
+
attributes: {
|
|
64
|
+
address: params.address,
|
|
65
|
+
chainId: params.chainId,
|
|
66
|
+
},
|
|
67
|
+
})),
|
|
68
|
+
getPendingCount: (params) => Effect.gen(function* () {
|
|
69
|
+
const client = yield* publicClientService.get(params.chainId);
|
|
70
|
+
const count = yield* Effect.tryPromise({
|
|
71
|
+
catch: (cause) => new TransportError({
|
|
72
|
+
cause,
|
|
73
|
+
message: `Failed to get pending nonce count (chainId=${params.chainId}, address=${params.address})`,
|
|
74
|
+
url: client.transport.url ?? "unknown",
|
|
75
|
+
}),
|
|
76
|
+
try: () => client.getTransactionCount({
|
|
77
|
+
address: params.address,
|
|
78
|
+
blockTag: "pending",
|
|
79
|
+
}),
|
|
80
|
+
});
|
|
81
|
+
return BigInt(count);
|
|
82
|
+
}).pipe(Effect.withSpan(SpanNames.NONCE_GET_PENDING_COUNT, {
|
|
83
|
+
attributes: {
|
|
84
|
+
address: params.address,
|
|
85
|
+
chainId: params.chainId,
|
|
86
|
+
},
|
|
87
|
+
})),
|
|
88
|
+
release: (params) => manager.release(params.chainId, params.address, params.nonce).pipe(Effect.withSpan(SpanNames.NONCE_RELEASE, {
|
|
89
|
+
attributes: {
|
|
90
|
+
address: params.address,
|
|
91
|
+
chainId: params.chainId,
|
|
92
|
+
nonce: params.nonce.toString(),
|
|
93
|
+
},
|
|
94
|
+
})),
|
|
95
|
+
reserve: (params) => Effect.gen(function* () {
|
|
96
|
+
const client = yield* publicClientService.get(params.chainId);
|
|
97
|
+
const onChainPending = yield* Effect.tryPromise({
|
|
98
|
+
catch: (cause) => new TransportError({
|
|
99
|
+
cause,
|
|
100
|
+
message: `Failed to get pending nonce count (chainId=${params.chainId}, address=${params.address})`,
|
|
101
|
+
url: client.transport.url ?? "unknown",
|
|
102
|
+
}),
|
|
103
|
+
try: () => client.getTransactionCount({
|
|
104
|
+
address: params.address,
|
|
105
|
+
blockTag: "pending",
|
|
106
|
+
}),
|
|
107
|
+
});
|
|
108
|
+
return yield* manager.reserveNext(params.chainId, params.address, BigInt(onChainPending));
|
|
109
|
+
}).pipe(Effect.withSpan(SpanNames.NONCE_RESERVE, {
|
|
110
|
+
attributes: {
|
|
111
|
+
address: params.address,
|
|
112
|
+
chainId: params.chainId,
|
|
113
|
+
},
|
|
114
|
+
})),
|
|
115
|
+
sync: (params) => Effect.gen(function* () {
|
|
116
|
+
const client = yield* publicClientService.get(params.chainId);
|
|
117
|
+
const count = yield* Effect.tryPromise({
|
|
118
|
+
catch: (cause) => new TransportError({
|
|
119
|
+
cause,
|
|
120
|
+
message: `Failed to sync confirmed nonce count (chainId=${params.chainId}, address=${params.address})`,
|
|
121
|
+
url: client.transport.url ?? "unknown",
|
|
122
|
+
}),
|
|
123
|
+
try: () => client.getTransactionCount({
|
|
124
|
+
address: params.address,
|
|
125
|
+
blockTag: "latest",
|
|
126
|
+
}),
|
|
127
|
+
});
|
|
128
|
+
const latest = BigInt(count);
|
|
129
|
+
yield* manager.setConfirmed(params.chainId, params.address, latest);
|
|
130
|
+
return latest;
|
|
131
|
+
}).pipe(Effect.withSpan(SpanNames.NONCE_SYNC, {
|
|
132
|
+
attributes: {
|
|
133
|
+
address: params.address,
|
|
134
|
+
chainId: params.chainId,
|
|
135
|
+
},
|
|
136
|
+
})),
|
|
137
|
+
});
|
|
138
|
+
}));
|
|
139
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/nonce/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/browser/cursor-store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/platform/browser/cursor-store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import { CursorStore } from "../../../events/index.js";
|
|
3
|
+
import { BrowserStorage } from "../../../platform/browser/storage/index.js";
|
|
4
|
+
export declare const LocalStorageCursorStoreLive: Layer.Layer<CursorStore, never, BrowserStorage>;
|
|
5
|
+
//# sourceMappingURL=local-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage.d.ts","sourceRoot":"","sources":["../../../../src/platform/browser/cursor-store/local-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAO,MAAM,QAAQ,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAuDzE,eAAO,MAAM,2BAA2B,iDAmIvC,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Effect, Layer, Ref } from "effect";
|
|
2
|
+
import { DEFAULT_CURSOR_FLUSH_DELAY } from "../../../constants/index.js";
|
|
3
|
+
import { CursorStore } from "../../../events/index.js";
|
|
4
|
+
import { BrowserStorage } from "../../../platform/browser/storage/index.js";
|
|
5
|
+
const makeCursorStorageKey = (cursorKey) => `ew3:v1:cursor:${cursorKey}`;
|
|
6
|
+
const serializeCursor = (cursor) => JSON.stringify({
|
|
7
|
+
address: cursor.address,
|
|
8
|
+
chainId: cursor.chainId,
|
|
9
|
+
eventName: cursor.eventName,
|
|
10
|
+
lastBlockNumber: cursor.lastBlockNumber.toString(),
|
|
11
|
+
lastLogIndex: cursor.lastLogIndex,
|
|
12
|
+
updatedAt: cursor.updatedAt,
|
|
13
|
+
});
|
|
14
|
+
const deserializeCursor = (json) => {
|
|
15
|
+
const parsed = JSON.parse(json);
|
|
16
|
+
return {
|
|
17
|
+
address: parsed.address,
|
|
18
|
+
chainId: parsed.chainId,
|
|
19
|
+
eventName: parsed.eventName,
|
|
20
|
+
lastBlockNumber: BigInt(parsed.lastBlockNumber),
|
|
21
|
+
lastLogIndex: parsed.lastLogIndex,
|
|
22
|
+
updatedAt: parsed.updatedAt,
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export const LocalStorageCursorStoreLive = Layer.effect(CursorStore, Effect.gen(function* () {
|
|
26
|
+
const storage = yield* BrowserStorage;
|
|
27
|
+
const pendingWrites = yield* Ref.make(new Map());
|
|
28
|
+
const activeTimers = yield* Ref.make(new Map());
|
|
29
|
+
const get = (key) => Effect.gen(function* () {
|
|
30
|
+
const storageKey = makeCursorStorageKey(key);
|
|
31
|
+
const value = yield* storage.get(storageKey);
|
|
32
|
+
if (value === null) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
return deserializeCursor(value);
|
|
37
|
+
}
|
|
38
|
+
catch (_error) {
|
|
39
|
+
yield* Effect.logWarning(`Corrupt cursor data for key "${key}", deleting entry`);
|
|
40
|
+
yield* storage.remove(storageKey).pipe(Effect.catchAll(() => Effect.void));
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
const set = (key, cursor) => Effect.gen(function* () {
|
|
45
|
+
const now = Date.now();
|
|
46
|
+
const storageKey = makeCursorStorageKey(key);
|
|
47
|
+
yield* Ref.update(pendingWrites, (map) => {
|
|
48
|
+
const newMap = new Map(map);
|
|
49
|
+
newMap.set(key, { cursor, scheduledAt: now });
|
|
50
|
+
return newMap;
|
|
51
|
+
});
|
|
52
|
+
const timers = yield* Ref.get(activeTimers);
|
|
53
|
+
const existingTimer = timers.get(key);
|
|
54
|
+
if (existingTimer !== undefined) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const flushWrite = Effect.gen(function* () {
|
|
58
|
+
yield* Effect.sleep(DEFAULT_CURSOR_FLUSH_DELAY);
|
|
59
|
+
const pending = yield* Ref.get(pendingWrites);
|
|
60
|
+
const pendingWrite = pending.get(key);
|
|
61
|
+
if (pendingWrite === undefined) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
yield* Ref.update(pendingWrites, (map) => {
|
|
65
|
+
const newMap = new Map(map);
|
|
66
|
+
newMap.delete(key);
|
|
67
|
+
return newMap;
|
|
68
|
+
});
|
|
69
|
+
yield* Ref.update(activeTimers, (map) => {
|
|
70
|
+
const newMap = new Map(map);
|
|
71
|
+
newMap.delete(key);
|
|
72
|
+
return newMap;
|
|
73
|
+
});
|
|
74
|
+
const serialized = serializeCursor(pendingWrite.cursor);
|
|
75
|
+
yield* storage.set(storageKey, serialized);
|
|
76
|
+
});
|
|
77
|
+
const _fiber = yield* Effect.fork(flushWrite);
|
|
78
|
+
yield* Ref.update(activeTimers, (map) => {
|
|
79
|
+
const newMap = new Map(map);
|
|
80
|
+
newMap.set(key, {});
|
|
81
|
+
return newMap;
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
const deleteKey = (key) => Effect.gen(function* () {
|
|
85
|
+
const storageKey = makeCursorStorageKey(key);
|
|
86
|
+
yield* Ref.update(pendingWrites, (map) => {
|
|
87
|
+
const newMap = new Map(map);
|
|
88
|
+
newMap.delete(key);
|
|
89
|
+
return newMap;
|
|
90
|
+
});
|
|
91
|
+
yield* storage.remove(storageKey);
|
|
92
|
+
});
|
|
93
|
+
return CursorStore.of({
|
|
94
|
+
delete: deleteKey,
|
|
95
|
+
get,
|
|
96
|
+
set,
|
|
97
|
+
});
|
|
98
|
+
}));
|
|
99
|
+
//# sourceMappingURL=local-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../../../src/platform/browser/cursor-store/local-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/browser/index.ts"],"names":[],"mappings":"AAGA,cAAc,yBAAyB,CAAC;AAExC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/browser/index.ts"],"names":[],"mappings":"AAGA,cAAc,yBAAyB,CAAC;AAExC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import type { LocalStorageTxStoreConfig } from "./tx-store/index.js";
|
|
3
|
+
export type BrowserPersistenceConfig = {
|
|
4
|
+
namespace?: string;
|
|
5
|
+
maxTxs?: number;
|
|
6
|
+
ttlMs?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const makeLocalStorageCursorStoreLayer: (_config?: {
|
|
9
|
+
namespace?: string;
|
|
10
|
+
}) => Layer.Layer<import("../../index.js").CursorStore, never, never>;
|
|
11
|
+
export declare const makeLocalStorageTxStoreLayer: (config?: LocalStorageTxStoreConfig) => Layer.Layer<import("./tx-store/store.js").TxStore, never, never>;
|
|
12
|
+
export declare const makeBrowserPersistenceLayer: (config?: BrowserPersistenceConfig) => Layer.Layer<import("../../index.js").CursorStore | import("./tx-store/store.js").TxStore, never, never>;
|
|
13
|
+
//# sourceMappingURL=layers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../../src/platform/browser/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAIrE,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF,eAAO,MAAM,gCAAgC,GAAI,UAAU;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,oEACZ,CAAC;AAMtE,eAAO,MAAM,4BAA4B,GAAI,SAAS,yBAAyB,qEACF,CAAC;AAM9E,eAAO,MAAM,2BAA2B,GAAI,SAAS,wBAAwB,4GAK1E,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import { LocalStorageCursorStoreLive } from "./cursor-store/index.js";
|
|
3
|
+
import { BrowserStorageLive } from "./storage/index.js";
|
|
4
|
+
import { makeLocalStorageTxStoreLive } from "./tx-store/index.js";
|
|
5
|
+
export const makeLocalStorageCursorStoreLayer = (_config) => LocalStorageCursorStoreLive.pipe(Layer.provide(BrowserStorageLive));
|
|
6
|
+
export const makeLocalStorageTxStoreLayer = (config) => makeLocalStorageTxStoreLive(config).pipe(Layer.provide(BrowserStorageLive));
|
|
7
|
+
export const makeBrowserPersistenceLayer = (config) => Layer.mergeAll(makeLocalStorageCursorStoreLayer(config), makeLocalStorageTxStoreLayer(config));
|
|
8
|
+
//# sourceMappingURL=layers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.js","sourceRoot":"","sources":["../../../src/platform/browser/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAalE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,OAAgC,EAAE,EAAE,CACnF,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAMtE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAkC,EAAE,EAAE,CACjF,2BAA2B,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAM9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAiC,EAAE,EAAE,CAC/E,KAAK,CAAC,QAAQ,CACZ,gCAAgC,CAAC,MAAM,CAAC,EACxC,4BAA4B,CAAC,MAAM,CAAC,CAErC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
declare const StorageUnavailableError_base: Schema.TaggedErrorClass<StorageUnavailableError, "StorageUnavailableError", {
|
|
3
|
+
readonly _tag: Schema.tag<"StorageUnavailableError">;
|
|
4
|
+
} & {
|
|
5
|
+
message: typeof Schema.String;
|
|
6
|
+
}>;
|
|
7
|
+
export declare class StorageUnavailableError extends StorageUnavailableError_base {
|
|
8
|
+
}
|
|
9
|
+
declare const StorageQuotaExceededError_base: Schema.TaggedErrorClass<StorageQuotaExceededError, "StorageQuotaExceededError", {
|
|
10
|
+
readonly _tag: Schema.tag<"StorageQuotaExceededError">;
|
|
11
|
+
} & {
|
|
12
|
+
key: typeof Schema.String;
|
|
13
|
+
message: typeof Schema.String;
|
|
14
|
+
}>;
|
|
15
|
+
export declare class StorageQuotaExceededError extends StorageQuotaExceededError_base {
|
|
16
|
+
}
|
|
17
|
+
declare const StorageDecodeError_base: Schema.TaggedErrorClass<StorageDecodeError, "StorageDecodeError", {
|
|
18
|
+
readonly _tag: Schema.tag<"StorageDecodeError">;
|
|
19
|
+
} & {
|
|
20
|
+
cause: typeof Schema.Unknown;
|
|
21
|
+
key: typeof Schema.String;
|
|
22
|
+
message: typeof Schema.String;
|
|
23
|
+
}>;
|
|
24
|
+
export declare class StorageDecodeError extends StorageDecodeError_base {
|
|
25
|
+
}
|
|
26
|
+
export type StorageError = StorageUnavailableError | StorageQuotaExceededError | StorageDecodeError;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/platform/browser/storage/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;AAOhC,qBAAa,uBAAwB,SAAQ,4BAK5C;CAAG;;;;;;;AAMJ,qBAAa,yBAA0B,SAAQ,8BAM9C;CAAG;;;;;;;;AAMJ,qBAAa,kBAAmB,SAAQ,uBAOvC;CAAG;AAKJ,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,yBAAyB,GAAG,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
export class StorageUnavailableError extends Schema.TaggedError()("StorageUnavailableError", {
|
|
3
|
+
message: Schema.String,
|
|
4
|
+
}) {
|
|
5
|
+
}
|
|
6
|
+
export class StorageQuotaExceededError extends Schema.TaggedError()("StorageQuotaExceededError", {
|
|
7
|
+
key: Schema.String,
|
|
8
|
+
message: Schema.String,
|
|
9
|
+
}) {
|
|
10
|
+
}
|
|
11
|
+
export class StorageDecodeError extends Schema.TaggedError()("StorageDecodeError", {
|
|
12
|
+
cause: Schema.Unknown,
|
|
13
|
+
key: Schema.String,
|
|
14
|
+
message: Schema.String,
|
|
15
|
+
}) {
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/platform/browser/storage/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOhC,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAMJ,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,WAAW,EAA6B,CAC5F,2BAA2B,EAC3B;IACE,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAMJ,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,KAAK,EAAE,MAAM,CAAC,OAAO;IACrB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/browser/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/platform/browser/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAElB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import type { StorageError } from "./errors.js";
|
|
3
|
+
export type BrowserStorage = {
|
|
4
|
+
readonly get: (key: string) => Effect.Effect<string | null, StorageError>;
|
|
5
|
+
readonly set: (key: string, value: string) => Effect.Effect<void, StorageError>;
|
|
6
|
+
readonly remove: (key: string) => Effect.Effect<void, StorageError>;
|
|
7
|
+
};
|
|
8
|
+
export declare const BrowserStorage: Context.Tag<BrowserStorage, BrowserStorage>;
|
|
9
|
+
export declare const BrowserStorageLive: Layer.Layer<BrowserStorage, never, never>;
|
|
10
|
+
//# sourceMappingURL=local-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage.d.ts","sourceRoot":"","sources":["../../../../src/platform/browser/storage/local-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAWhD,MAAM,MAAM,cAAc,GAAG;IAK3B,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC;IAK1E,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAKhF,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;CACrE,CAAC;AAKF,eAAO,MAAM,cAAc,6CAA2D,CAAC;AAWvF,eAAO,MAAM,kBAAkB,2CA6F9B,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import { StorageDecodeError, StorageQuotaExceededError, StorageUnavailableError, } from "./errors.js";
|
|
3
|
+
export const BrowserStorage = Context.GenericTag("ew3/BrowserStorage");
|
|
4
|
+
const isStorageAvailable = () => typeof window !== "undefined" && typeof window.localStorage !== "undefined";
|
|
5
|
+
export const BrowserStorageLive = Layer.succeed(BrowserStorage, BrowserStorage.of({
|
|
6
|
+
get: (key) => Effect.try({
|
|
7
|
+
catch: (error) => {
|
|
8
|
+
if (error instanceof StorageUnavailableError) {
|
|
9
|
+
return error;
|
|
10
|
+
}
|
|
11
|
+
if (error instanceof Error && error.name === "SecurityError") {
|
|
12
|
+
return new StorageUnavailableError({
|
|
13
|
+
message: `localStorage access denied: ${error.message}`,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return new StorageDecodeError({
|
|
17
|
+
cause: error,
|
|
18
|
+
key,
|
|
19
|
+
message: "Failed to retrieve value from localStorage",
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
try: () => {
|
|
23
|
+
if (!isStorageAvailable()) {
|
|
24
|
+
throw new StorageUnavailableError({
|
|
25
|
+
message: "localStorage is not available (SSR or blocked by browser)",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return window.localStorage.getItem(key);
|
|
29
|
+
},
|
|
30
|
+
}),
|
|
31
|
+
remove: (key) => Effect.try({
|
|
32
|
+
catch: (error) => {
|
|
33
|
+
if (error instanceof StorageUnavailableError) {
|
|
34
|
+
return error;
|
|
35
|
+
}
|
|
36
|
+
if (error instanceof Error && error.name === "SecurityError") {
|
|
37
|
+
return new StorageUnavailableError({
|
|
38
|
+
message: `localStorage access denied: ${error.message}`,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return new StorageDecodeError({
|
|
42
|
+
cause: error,
|
|
43
|
+
key,
|
|
44
|
+
message: "Failed to remove value from localStorage",
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
try: () => {
|
|
48
|
+
if (!isStorageAvailable()) {
|
|
49
|
+
throw new StorageUnavailableError({
|
|
50
|
+
message: "localStorage is not available (SSR or blocked by browser)",
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
window.localStorage.removeItem(key);
|
|
54
|
+
},
|
|
55
|
+
}),
|
|
56
|
+
set: (key, value) => Effect.try({
|
|
57
|
+
catch: (error) => {
|
|
58
|
+
if (error instanceof StorageUnavailableError) {
|
|
59
|
+
return error;
|
|
60
|
+
}
|
|
61
|
+
if (error instanceof Error &&
|
|
62
|
+
(error.name === "QuotaExceededError" || error.name === "NS_ERROR_DOM_QUOTA_REACHED")) {
|
|
63
|
+
return new StorageQuotaExceededError({
|
|
64
|
+
key,
|
|
65
|
+
message: "Storage quota exceeded",
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
if (error instanceof Error && error.name === "SecurityError") {
|
|
69
|
+
return new StorageUnavailableError({
|
|
70
|
+
message: `localStorage access denied: ${error.message}`,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return new StorageDecodeError({
|
|
74
|
+
cause: error,
|
|
75
|
+
key,
|
|
76
|
+
message: "Failed to store value in localStorage",
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
try: () => {
|
|
80
|
+
if (!isStorageAvailable()) {
|
|
81
|
+
throw new StorageUnavailableError({
|
|
82
|
+
message: "localStorage is not available (SSR or blocked by browser)",
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
window.localStorage.setItem(key, value);
|
|
86
|
+
},
|
|
87
|
+
}),
|
|
88
|
+
}));
|
|
89
|
+
//# sourceMappingURL=local-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../../../src/platform/browser/storage/local-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/browser/tx-persistence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/platform/browser/tx-persistence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EAGjB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Scope, SubscriptionRef } from "effect";
|
|
2
|
+
import { Context, Effect, Layer } from "effect";
|
|
3
|
+
import type { Hash } from "viem";
|
|
4
|
+
import type { ClientNotFoundError } from "../../../core/index.js";
|
|
5
|
+
import { TxStore } from "../../../platform/browser/tx-store/index.js";
|
|
6
|
+
import type { TxRequestMeta, TxState } from "../../../tx/index.js";
|
|
7
|
+
import { TxManager } from "../../../tx/index.js";
|
|
8
|
+
export type TxPersistenceMeta = {
|
|
9
|
+
readonly description?: string;
|
|
10
|
+
readonly tags?: string[];
|
|
11
|
+
readonly txRequest?: TxRequestMeta;
|
|
12
|
+
};
|
|
13
|
+
export type TxPersistenceShape = {
|
|
14
|
+
readonly trackAndPersist: (chainId: number, hash: Hash, meta?: TxPersistenceMeta) => Effect.Effect<SubscriptionRef.SubscriptionRef<TxState>, ClientNotFoundError, Scope.Scope>;
|
|
15
|
+
};
|
|
16
|
+
declare const TxPersistence_base: Context.TagClass<TxPersistence, "ew3/TxPersistence", TxPersistenceShape>;
|
|
17
|
+
export declare class TxPersistence extends TxPersistence_base {
|
|
18
|
+
}
|
|
19
|
+
export declare const TxPersistenceLive: Layer.Layer<TxPersistence, never, TxManager | TxStore>;
|
|
20
|
+
export declare const TxPersistenceWithRehydrationLive: Layer.Layer<TxPersistence, never, TxManager | TxStore>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../../src/platform/browser/tx-persistence/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAY,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9C,MAAM,MAAM,iBAAiB,GAAG;IAI9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAK9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAKzB,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;CACpC,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG;IAS/B,QAAQ,CAAC,eAAe,EAAE,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,EAAE,iBAAiB,KACrB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;CAChG,CAAC;;AAKF,qBAAa,aAAc,SAAQ,kBAGhC;CAAG;AA+GN,eAAO,MAAM,iBAAiB,wDAiF7B,CAAC;AAsEF,eAAO,MAAM,gCAAgC,wDAEA,CAAC"}
|