@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,166 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import { encodeFunctionData, erc20Abi } from "viem";
|
|
3
|
+
import { prepareAuthorization } from "viem/actions";
|
|
4
|
+
import { InsufficientFundsError, isInsufficientFunds, isUserRejection, PublicClientService, UserRejectedError, WalletClientService, WalletNotConnectedError, } from "../core/index.js";
|
|
5
|
+
import { defaultPolicy, TxManager } from "../tx/index.js";
|
|
6
|
+
import { ERC7579_MODE_SIMPLE_BATCH, encodeErc7579BatchExecutionCalldata, encodeErc7579ExecuteCalldata, } from "./erc7579.js";
|
|
7
|
+
import { Eip7702AuthorizationPreparationError, Eip7702AuthorizationSigningError, Eip7702SendTransactionError, } from "./errors.js";
|
|
8
|
+
function mapSendEip7702TransactionCause(chainId, cause) {
|
|
9
|
+
if (isUserRejection(cause)) {
|
|
10
|
+
return new UserRejectedError({
|
|
11
|
+
message: cause instanceof Error ? cause.message : "User rejected the request",
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
if (isInsufficientFunds(cause)) {
|
|
15
|
+
return new InsufficientFundsError({
|
|
16
|
+
available: "0",
|
|
17
|
+
message: cause instanceof Error ? cause.message : "Insufficient funds for transaction",
|
|
18
|
+
required: "0",
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return new Eip7702SendTransactionError({
|
|
22
|
+
cause,
|
|
23
|
+
chainId,
|
|
24
|
+
message: cause instanceof Error ? cause.message : "Failed to send EIP-7702 transaction",
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export class Eip7702Service extends Context.Tag("ew3/Eip7702Service")() {
|
|
28
|
+
}
|
|
29
|
+
const accountAddress = (account) => typeof account === "string" ? account : account.address;
|
|
30
|
+
const signAuthorizationIfSupported = (account, authorization) => {
|
|
31
|
+
if (typeof account === "string") {
|
|
32
|
+
return Effect.succeed(authorization);
|
|
33
|
+
}
|
|
34
|
+
const signAuthorization = account.signAuthorization;
|
|
35
|
+
if (!signAuthorization) {
|
|
36
|
+
return Effect.succeed(authorization);
|
|
37
|
+
}
|
|
38
|
+
return Effect.tryPromise({
|
|
39
|
+
catch: (cause) => new Eip7702AuthorizationSigningError({
|
|
40
|
+
cause,
|
|
41
|
+
chainId: authorization.chainId,
|
|
42
|
+
message: cause instanceof Error ? cause.message : "Failed to sign EIP-7702 authorization",
|
|
43
|
+
}),
|
|
44
|
+
try: () => signAuthorization(authorization),
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
export const Eip7702ServiceLive = Layer.effect(Eip7702Service, Effect.gen(function* () {
|
|
48
|
+
const publicClientService = yield* PublicClientService;
|
|
49
|
+
const walletClientService = yield* WalletClientService;
|
|
50
|
+
const txManager = yield* TxManager;
|
|
51
|
+
const prepareAuthorizationEffect = (params) => Effect.gen(function* () {
|
|
52
|
+
const publicClient = yield* publicClientService.get(params.chainId);
|
|
53
|
+
return yield* Effect.tryPromise({
|
|
54
|
+
catch: (cause) => new Eip7702AuthorizationPreparationError({
|
|
55
|
+
cause,
|
|
56
|
+
chainId: params.chainId,
|
|
57
|
+
message: cause instanceof Error ? cause.message : "Failed to prepare EIP-7702 authorization",
|
|
58
|
+
}),
|
|
59
|
+
try: () => prepareAuthorization(publicClient, {
|
|
60
|
+
account: params.account,
|
|
61
|
+
chainId: params.chainId,
|
|
62
|
+
contractAddress: params.contractAddress,
|
|
63
|
+
executor: params.executor ?? "self",
|
|
64
|
+
}),
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
const prepareAuthorizationWithNonceEffect = (params) => Effect.gen(function* () {
|
|
68
|
+
const publicClient = yield* publicClientService.get(params.chainId);
|
|
69
|
+
return yield* Effect.tryPromise({
|
|
70
|
+
catch: (cause) => new Eip7702AuthorizationPreparationError({
|
|
71
|
+
cause,
|
|
72
|
+
chainId: params.chainId,
|
|
73
|
+
message: cause instanceof Error ? cause.message : "Failed to prepare EIP-7702 authorization",
|
|
74
|
+
}),
|
|
75
|
+
try: () => prepareAuthorization(publicClient, {
|
|
76
|
+
account: params.account,
|
|
77
|
+
chainId: params.chainId,
|
|
78
|
+
contractAddress: params.contractAddress,
|
|
79
|
+
executor: params.executor ?? "self",
|
|
80
|
+
nonce: params.nonce,
|
|
81
|
+
}),
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
const delegateAndExecuteBatch = (params) => Effect.gen(function* () {
|
|
85
|
+
const walletClient = yield* walletClientService.get(params.chainId);
|
|
86
|
+
const account = params.account ?? walletClient.account;
|
|
87
|
+
if (!account) {
|
|
88
|
+
return yield* Effect.fail(new WalletNotConnectedError({
|
|
89
|
+
chainId: params.chainId,
|
|
90
|
+
message: "No active account found. Provide `account` explicitly.",
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
const txNonce = params.tx?.nonce;
|
|
94
|
+
const authorizationNonce = txNonce !== undefined ? txNonce + 1 : undefined;
|
|
95
|
+
const authorization = yield* prepareAuthorizationWithNonceEffect({
|
|
96
|
+
account,
|
|
97
|
+
chainId: params.chainId,
|
|
98
|
+
contractAddress: params.delegation,
|
|
99
|
+
executor: "self",
|
|
100
|
+
nonce: authorizationNonce,
|
|
101
|
+
});
|
|
102
|
+
const authorizationSigned = yield* signAuthorizationIfSupported(account, authorization);
|
|
103
|
+
const executions = params.calls.map((call) => ({
|
|
104
|
+
callData: call.data,
|
|
105
|
+
target: call.to,
|
|
106
|
+
value: call.value ?? 0n,
|
|
107
|
+
}));
|
|
108
|
+
const executionCalldata = encodeErc7579BatchExecutionCalldata(executions);
|
|
109
|
+
const data = encodeErc7579ExecuteCalldata({
|
|
110
|
+
executionCalldata,
|
|
111
|
+
mode: params.mode ?? ERC7579_MODE_SIMPLE_BATCH,
|
|
112
|
+
});
|
|
113
|
+
const to = accountAddress(account);
|
|
114
|
+
return yield* Effect.tryPromise({
|
|
115
|
+
catch: (cause) => mapSendEip7702TransactionCause(params.chainId, cause),
|
|
116
|
+
try: () => walletClient.sendTransaction({
|
|
117
|
+
accessList: params.tx?.accessList,
|
|
118
|
+
account,
|
|
119
|
+
authorizationList: [authorizationSigned],
|
|
120
|
+
chain: walletClient.chain ?? null,
|
|
121
|
+
data,
|
|
122
|
+
gas: params.tx?.gas,
|
|
123
|
+
maxFeePerGas: params.tx?.maxFeePerGas,
|
|
124
|
+
maxPriorityFeePerGas: params.tx?.maxPriorityFeePerGas,
|
|
125
|
+
nonce: txNonce,
|
|
126
|
+
to,
|
|
127
|
+
type: "eip7702",
|
|
128
|
+
}),
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
const delegateAndExecuteBatchAndWait = (params) => Effect.gen(function* () {
|
|
132
|
+
const policy = params.policy ?? defaultPolicy;
|
|
133
|
+
const hash = yield* delegateAndExecuteBatch(params);
|
|
134
|
+
const receipt = yield* txManager.waitForReceipt(params.chainId, hash, policy.receiptTimeout);
|
|
135
|
+
return { hash, receipt };
|
|
136
|
+
});
|
|
137
|
+
const approveAndExecute = (params) => {
|
|
138
|
+
const approveData = encodeFunctionData({
|
|
139
|
+
abi: erc20Abi,
|
|
140
|
+
args: [params.spender, params.amount],
|
|
141
|
+
functionName: "approve",
|
|
142
|
+
});
|
|
143
|
+
return delegateAndExecuteBatch({
|
|
144
|
+
account: params.account,
|
|
145
|
+
calls: [{ data: approveData, to: params.token, value: 0n }, params.call],
|
|
146
|
+
chainId: params.chainId,
|
|
147
|
+
delegation: params.delegation,
|
|
148
|
+
mode: params.mode,
|
|
149
|
+
tx: params.tx,
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
const approveAndExecuteAndWait = (params) => Effect.gen(function* () {
|
|
153
|
+
const policy = params.policy ?? defaultPolicy;
|
|
154
|
+
const hash = yield* approveAndExecute(params);
|
|
155
|
+
const receipt = yield* txManager.waitForReceipt(params.chainId, hash, policy.receiptTimeout);
|
|
156
|
+
return { hash, receipt };
|
|
157
|
+
});
|
|
158
|
+
return Eip7702Service.of({
|
|
159
|
+
approveAndExecute,
|
|
160
|
+
approveAndExecuteAndWait,
|
|
161
|
+
delegateAndExecuteErc7579Batch: delegateAndExecuteBatch,
|
|
162
|
+
delegateAndExecuteErc7579BatchAndWait: delegateAndExecuteBatchAndWait,
|
|
163
|
+
prepareAuthorization: prepareAuthorizationEffect,
|
|
164
|
+
});
|
|
165
|
+
}));
|
|
166
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/eip7702/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import type { Address } from "viem";
|
|
3
|
+
import type { ClientNotFoundError } from "../core/index.js";
|
|
4
|
+
import { PublicClientService } from "../core/index.js";
|
|
5
|
+
import { EnsAvatarNotFoundError, EnsNameNotFoundError, EnsResolutionError, EnsResolverNotConfiguredError, EnsReverseNameNotFoundError, EnsTextNotFoundError } from "../ens/errors.js";
|
|
6
|
+
type AssetGatewayUrls = {
|
|
7
|
+
arweave?: string;
|
|
8
|
+
ipfs?: string;
|
|
9
|
+
};
|
|
10
|
+
export type EnsResolverShape = {
|
|
11
|
+
readonly getAddress: (name: string, opts?: {
|
|
12
|
+
coinType?: bigint;
|
|
13
|
+
}) => Effect.Effect<Address, EnsNameNotFoundError | EnsResolutionError | ClientNotFoundError>;
|
|
14
|
+
readonly getAvatar: (name: string, opts?: {
|
|
15
|
+
assetGatewayUrls?: AssetGatewayUrls;
|
|
16
|
+
}) => Effect.Effect<string, EnsAvatarNotFoundError | EnsResolutionError | ClientNotFoundError>;
|
|
17
|
+
readonly getName: (address: Address) => Effect.Effect<string, EnsReverseNameNotFoundError | EnsResolutionError | ClientNotFoundError>;
|
|
18
|
+
readonly getResolver: (name: string) => Effect.Effect<Address, EnsResolverNotConfiguredError | EnsResolutionError | ClientNotFoundError>;
|
|
19
|
+
readonly getText: (name: string, key: string) => Effect.Effect<string, EnsTextNotFoundError | EnsResolutionError | ClientNotFoundError>;
|
|
20
|
+
};
|
|
21
|
+
declare const EnsResolver_base: Context.TagClass<EnsResolver, "ew3/EnsResolver", EnsResolverShape>;
|
|
22
|
+
export declare class EnsResolver extends EnsResolver_base {
|
|
23
|
+
}
|
|
24
|
+
export declare const EnsResolverLive: Layer.Layer<EnsResolver, never, PublicClientService>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=ens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ens.d.ts","sourceRoot":"","sources":["../../src/ens/ens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAK7B,KAAK,gBAAgB,GAAG;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAQF,MAAM,MAAM,gBAAgB,GAAG;IAO7B,QAAQ,CAAC,UAAU,EAAE,CACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KACzB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,CAAC;IAQ7F,QAAQ,CAAC,SAAS,EAAE,CAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KAAE,KAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,CAAC;IAO9F,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,EAAE,OAAO,KACb,MAAM,CAAC,MAAM,CAChB,MAAM,EACN,2BAA2B,GAAG,kBAAkB,GAAG,mBAAmB,CACvE,CAAC;IAOF,QAAQ,CAAC,WAAW,EAAE,CACpB,IAAI,EAAE,MAAM,KACT,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,6BAA6B,GAAG,kBAAkB,GAAG,mBAAmB,CACzE,CAAC;IAQF,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,KACR,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,CAAC;CAC7F,CAAC;;AAEF,qBAAa,WAAY,SAAQ,gBAA+D;CAAG;AAOnG,eAAO,MAAM,eAAe,sDAgM3B,CAAC"}
|
package/dist/ens/ens.js
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import { normalize } from "viem/ens";
|
|
3
|
+
import { PublicClientService } from "../core/index.js";
|
|
4
|
+
import { EnsAvatarNotFoundError, EnsNameNotFoundError, EnsResolutionError, EnsResolverNotConfiguredError, EnsReverseNameNotFoundError, EnsTextNotFoundError, } from "../ens/errors.js";
|
|
5
|
+
import { SpanNames } from "../telemetry/index.js";
|
|
6
|
+
const MAINNET_CHAIN_ID = 1;
|
|
7
|
+
export class EnsResolver extends Context.Tag("ew3/EnsResolver")() {
|
|
8
|
+
}
|
|
9
|
+
export const EnsResolverLive = Layer.effect(EnsResolver, Effect.gen(function* () {
|
|
10
|
+
const publicClientService = yield* PublicClientService;
|
|
11
|
+
return EnsResolver.of({
|
|
12
|
+
getAddress: (name, opts) => Effect.gen(function* () {
|
|
13
|
+
const client = yield* publicClientService.get(MAINNET_CHAIN_ID);
|
|
14
|
+
const normalizedName = normalize(name);
|
|
15
|
+
const result = yield* Effect.tryPromise({
|
|
16
|
+
catch: (cause) => new EnsResolutionError({
|
|
17
|
+
cause,
|
|
18
|
+
message: `Failed to resolve ENS name: ${String(cause)}`,
|
|
19
|
+
name: normalizedName,
|
|
20
|
+
}),
|
|
21
|
+
try: () => client.getEnsAddress({
|
|
22
|
+
coinType: opts?.coinType,
|
|
23
|
+
name: normalizedName,
|
|
24
|
+
}),
|
|
25
|
+
});
|
|
26
|
+
if (result === null) {
|
|
27
|
+
return yield* Effect.fail(new EnsNameNotFoundError({
|
|
28
|
+
message: `No address found for ENS name "${normalizedName}"`,
|
|
29
|
+
name: normalizedName,
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}).pipe(Effect.withSpan(SpanNames.ENS_GET_ADDRESS, {
|
|
34
|
+
attributes: {
|
|
35
|
+
coinType: opts?.coinType?.toString(),
|
|
36
|
+
name,
|
|
37
|
+
},
|
|
38
|
+
})),
|
|
39
|
+
getAvatar: (name, opts) => Effect.gen(function* () {
|
|
40
|
+
const client = yield* publicClientService.get(MAINNET_CHAIN_ID);
|
|
41
|
+
const normalizedName = normalize(name);
|
|
42
|
+
const result = yield* Effect.tryPromise({
|
|
43
|
+
catch: (cause) => new EnsResolutionError({
|
|
44
|
+
cause,
|
|
45
|
+
message: `Failed to get ENS avatar: ${String(cause)}`,
|
|
46
|
+
name: normalizedName,
|
|
47
|
+
}),
|
|
48
|
+
try: () => client.getEnsAvatar({
|
|
49
|
+
assetGatewayUrls: opts?.assetGatewayUrls,
|
|
50
|
+
name: normalizedName,
|
|
51
|
+
}),
|
|
52
|
+
});
|
|
53
|
+
if (result === null) {
|
|
54
|
+
return yield* Effect.fail(new EnsAvatarNotFoundError({
|
|
55
|
+
message: `No avatar found for ENS name "${normalizedName}"`,
|
|
56
|
+
name: normalizedName,
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}).pipe(Effect.withSpan(SpanNames.ENS_GET_AVATAR, {
|
|
61
|
+
attributes: {
|
|
62
|
+
name,
|
|
63
|
+
},
|
|
64
|
+
})),
|
|
65
|
+
getName: (address) => Effect.gen(function* () {
|
|
66
|
+
const client = yield* publicClientService.get(MAINNET_CHAIN_ID);
|
|
67
|
+
const result = yield* Effect.tryPromise({
|
|
68
|
+
catch: (cause) => new EnsResolutionError({
|
|
69
|
+
cause,
|
|
70
|
+
message: `Failed to reverse resolve address: ${String(cause)}`,
|
|
71
|
+
name: address,
|
|
72
|
+
}),
|
|
73
|
+
try: () => client.getEnsName({
|
|
74
|
+
address,
|
|
75
|
+
}),
|
|
76
|
+
});
|
|
77
|
+
if (result === null) {
|
|
78
|
+
return yield* Effect.fail(new EnsReverseNameNotFoundError({
|
|
79
|
+
address,
|
|
80
|
+
message: `No ENS name found for address "${address}"`,
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}).pipe(Effect.withSpan(SpanNames.ENS_GET_NAME, {
|
|
85
|
+
attributes: {
|
|
86
|
+
address,
|
|
87
|
+
},
|
|
88
|
+
})),
|
|
89
|
+
getResolver: (name) => Effect.gen(function* () {
|
|
90
|
+
const client = yield* publicClientService.get(MAINNET_CHAIN_ID);
|
|
91
|
+
const normalizedName = normalize(name);
|
|
92
|
+
const result = yield* Effect.tryPromise({
|
|
93
|
+
catch: (cause) => new EnsResolutionError({
|
|
94
|
+
cause,
|
|
95
|
+
message: `Failed to get ENS resolver: ${String(cause)}`,
|
|
96
|
+
name: normalizedName,
|
|
97
|
+
}),
|
|
98
|
+
try: () => client.getEnsResolver({
|
|
99
|
+
name: normalizedName,
|
|
100
|
+
}),
|
|
101
|
+
});
|
|
102
|
+
if (result === null || result === "0x0000000000000000000000000000000000000000") {
|
|
103
|
+
return yield* Effect.fail(new EnsResolverNotConfiguredError({
|
|
104
|
+
message: `No resolver configured for ENS name "${normalizedName}"`,
|
|
105
|
+
name: normalizedName,
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
return result;
|
|
109
|
+
}).pipe(Effect.withSpan(SpanNames.ENS_GET_RESOLVER, {
|
|
110
|
+
attributes: {
|
|
111
|
+
name,
|
|
112
|
+
},
|
|
113
|
+
})),
|
|
114
|
+
getText: (name, key) => Effect.gen(function* () {
|
|
115
|
+
const client = yield* publicClientService.get(MAINNET_CHAIN_ID);
|
|
116
|
+
const normalizedName = normalize(name);
|
|
117
|
+
const result = yield* Effect.tryPromise({
|
|
118
|
+
catch: (cause) => new EnsResolutionError({
|
|
119
|
+
cause,
|
|
120
|
+
message: `Failed to get ENS text record: ${String(cause)}`,
|
|
121
|
+
name: normalizedName,
|
|
122
|
+
}),
|
|
123
|
+
try: () => client.getEnsText({
|
|
124
|
+
key,
|
|
125
|
+
name: normalizedName,
|
|
126
|
+
}),
|
|
127
|
+
});
|
|
128
|
+
if (result === null) {
|
|
129
|
+
return yield* Effect.fail(new EnsTextNotFoundError({
|
|
130
|
+
key,
|
|
131
|
+
message: `No text record "${key}" found for ENS name "${normalizedName}"`,
|
|
132
|
+
name: normalizedName,
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
return result;
|
|
136
|
+
}).pipe(Effect.withSpan(SpanNames.ENS_GET_TEXT, {
|
|
137
|
+
attributes: {
|
|
138
|
+
key,
|
|
139
|
+
name,
|
|
140
|
+
},
|
|
141
|
+
})),
|
|
142
|
+
});
|
|
143
|
+
}));
|
|
144
|
+
//# sourceMappingURL=ens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ens.js","sourceRoot":"","sources":["../../src/ens/ens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
declare const EnsNameNotFoundError_base: Schema.TaggedErrorClass<EnsNameNotFoundError, "EnsNameNotFoundError", {
|
|
3
|
+
readonly _tag: Schema.tag<"EnsNameNotFoundError">;
|
|
4
|
+
} & {
|
|
5
|
+
message: typeof Schema.String;
|
|
6
|
+
name: typeof Schema.String;
|
|
7
|
+
}>;
|
|
8
|
+
export declare class EnsNameNotFoundError extends EnsNameNotFoundError_base {
|
|
9
|
+
}
|
|
10
|
+
declare const EnsReverseNameNotFoundError_base: Schema.TaggedErrorClass<EnsReverseNameNotFoundError, "EnsReverseNameNotFoundError", {
|
|
11
|
+
readonly _tag: Schema.tag<"EnsReverseNameNotFoundError">;
|
|
12
|
+
} & {
|
|
13
|
+
address: typeof Schema.String;
|
|
14
|
+
message: typeof Schema.String;
|
|
15
|
+
}>;
|
|
16
|
+
export declare class EnsReverseNameNotFoundError extends EnsReverseNameNotFoundError_base {
|
|
17
|
+
}
|
|
18
|
+
declare const EnsTextNotFoundError_base: Schema.TaggedErrorClass<EnsTextNotFoundError, "EnsTextNotFoundError", {
|
|
19
|
+
readonly _tag: Schema.tag<"EnsTextNotFoundError">;
|
|
20
|
+
} & {
|
|
21
|
+
key: typeof Schema.String;
|
|
22
|
+
message: typeof Schema.String;
|
|
23
|
+
name: typeof Schema.String;
|
|
24
|
+
}>;
|
|
25
|
+
export declare class EnsTextNotFoundError extends EnsTextNotFoundError_base {
|
|
26
|
+
}
|
|
27
|
+
declare const EnsAvatarNotFoundError_base: Schema.TaggedErrorClass<EnsAvatarNotFoundError, "EnsAvatarNotFoundError", {
|
|
28
|
+
readonly _tag: Schema.tag<"EnsAvatarNotFoundError">;
|
|
29
|
+
} & {
|
|
30
|
+
message: typeof Schema.String;
|
|
31
|
+
name: typeof Schema.String;
|
|
32
|
+
}>;
|
|
33
|
+
export declare class EnsAvatarNotFoundError extends EnsAvatarNotFoundError_base {
|
|
34
|
+
}
|
|
35
|
+
declare const EnsResolverNotConfiguredError_base: Schema.TaggedErrorClass<EnsResolverNotConfiguredError, "EnsResolverNotConfiguredError", {
|
|
36
|
+
readonly _tag: Schema.tag<"EnsResolverNotConfiguredError">;
|
|
37
|
+
} & {
|
|
38
|
+
message: typeof Schema.String;
|
|
39
|
+
name: typeof Schema.String;
|
|
40
|
+
}>;
|
|
41
|
+
export declare class EnsResolverNotConfiguredError extends EnsResolverNotConfiguredError_base {
|
|
42
|
+
}
|
|
43
|
+
declare const EnsResolutionError_base: Schema.TaggedErrorClass<EnsResolutionError, "EnsResolutionError", {
|
|
44
|
+
readonly _tag: Schema.tag<"EnsResolutionError">;
|
|
45
|
+
} & {
|
|
46
|
+
cause: Schema.optional<typeof Schema.Unknown>;
|
|
47
|
+
message: typeof Schema.String;
|
|
48
|
+
name: typeof Schema.String;
|
|
49
|
+
}>;
|
|
50
|
+
export declare class EnsResolutionError extends EnsResolutionError_base {
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ens/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;AAEhC,qBAAa,oBAAqB,SAAQ,yBAMzC;CAAG;;;;;;;AAEJ,qBAAa,2BAA4B,SAAQ,gCAMhD;CAAG;;;;;;;;AAEJ,qBAAa,oBAAqB,SAAQ,yBAOzC;CAAG;;;;;;;AAEJ,qBAAa,sBAAuB,SAAQ,2BAM3C;CAAG;;;;;;;AAEJ,qBAAa,6BAA8B,SAAQ,kCAMlD;CAAG;;;;;;;;AAEJ,qBAAa,kBAAmB,SAAQ,uBAOvC;CAAG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
export class EnsNameNotFoundError extends Schema.TaggedError()("EnsNameNotFoundError", {
|
|
3
|
+
message: Schema.String,
|
|
4
|
+
name: Schema.String,
|
|
5
|
+
}) {
|
|
6
|
+
}
|
|
7
|
+
export class EnsReverseNameNotFoundError extends Schema.TaggedError()("EnsReverseNameNotFoundError", {
|
|
8
|
+
address: Schema.String,
|
|
9
|
+
message: Schema.String,
|
|
10
|
+
}) {
|
|
11
|
+
}
|
|
12
|
+
export class EnsTextNotFoundError extends Schema.TaggedError()("EnsTextNotFoundError", {
|
|
13
|
+
key: Schema.String,
|
|
14
|
+
message: Schema.String,
|
|
15
|
+
name: Schema.String,
|
|
16
|
+
}) {
|
|
17
|
+
}
|
|
18
|
+
export class EnsAvatarNotFoundError extends Schema.TaggedError()("EnsAvatarNotFoundError", {
|
|
19
|
+
message: Schema.String,
|
|
20
|
+
name: Schema.String,
|
|
21
|
+
}) {
|
|
22
|
+
}
|
|
23
|
+
export class EnsResolverNotConfiguredError extends Schema.TaggedError()("EnsResolverNotConfiguredError", {
|
|
24
|
+
message: Schema.String,
|
|
25
|
+
name: Schema.String,
|
|
26
|
+
}) {
|
|
27
|
+
}
|
|
28
|
+
export class EnsResolutionError extends Schema.TaggedError()("EnsResolutionError", {
|
|
29
|
+
cause: Schema.optional(Schema.Unknown),
|
|
30
|
+
message: Schema.String,
|
|
31
|
+
name: Schema.String,
|
|
32
|
+
}) {
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ens/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,WAAW,EAAwB,CAClF,sBAAsB,EACtB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CACF;CAAG;AAEJ,MAAM,OAAO,2BAA4B,SAAQ,MAAM,CAAC,WAAW,EAA+B,CAChG,6BAA6B,EAC7B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,WAAW,EAAwB,CAClF,sBAAsB,EACtB;IACE,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CACF;CAAG;AAEJ,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,EAA0B,CACtF,wBAAwB,EACxB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CACF;CAAG;AAEJ,MAAM,OAAO,6BAA8B,SAAQ,MAAM,CAAC,WAAW,EAAiC,CACpG,+BAA+B,EAC/B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CACF;CAAG;AAEJ,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAC9E,oBAAoB,EACpB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CACF;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ens/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ens/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Context, Layer } from "effect";
|
|
2
|
+
import { ContractReader, ContractWriter } from "../../contract/index.js";
|
|
3
|
+
import type { Erc20AllowanceServiceShape } from "../../erc20/allowance/index.js";
|
|
4
|
+
declare const Erc20AllowanceService_base: Context.TagClass<Erc20AllowanceService, "ew3/Erc20AllowanceService", Erc20AllowanceServiceShape>;
|
|
5
|
+
export declare class Erc20AllowanceService extends Erc20AllowanceService_base {
|
|
6
|
+
}
|
|
7
|
+
export declare const Erc20AllowanceServiceLive: Layer.Layer<Erc20AllowanceService, never, ContractReader | ContractWriter>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/erc20/allowance/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAOzE,OAAO,KAAK,EAIV,0BAA0B,EAC3B,MAAM,gCAAgC,CAAC;;AAExC,qBAAa,qBAAsB,SAAQ,0BAGxC;CAAG;AAEN,eAAO,MAAM,yBAAyB,4EA+IrC,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
|
+
import { erc20Abi, maxUint256 } from "viem";
|
|
3
|
+
import { ContractReader, ContractWriter } from "../../contract/index.js";
|
|
4
|
+
import { ApprovalCheckError, ApprovalError } from "../../core/index.js";
|
|
5
|
+
export class Erc20AllowanceService extends Context.Tag("ew3/Erc20AllowanceService")() {
|
|
6
|
+
}
|
|
7
|
+
export const Erc20AllowanceServiceLive = Layer.effect(Erc20AllowanceService, Effect.gen(function* () {
|
|
8
|
+
const reader = yield* ContractReader;
|
|
9
|
+
const writer = yield* ContractWriter;
|
|
10
|
+
const approve = Effect.fn("approve")(function* (params) {
|
|
11
|
+
const writeParams = {
|
|
12
|
+
abi: erc20Abi,
|
|
13
|
+
account: params.account,
|
|
14
|
+
address: params.tokenAddress,
|
|
15
|
+
args: [params.spender, params.amount],
|
|
16
|
+
chainId: params.chainId,
|
|
17
|
+
functionName: "approve",
|
|
18
|
+
};
|
|
19
|
+
yield* writer.simulate(writeParams).pipe(Effect.mapError((e) => {
|
|
20
|
+
if (e._tag === "ClientNotFoundError" ||
|
|
21
|
+
e._tag === "InsufficientFundsError" ||
|
|
22
|
+
e._tag === "UserRejectedError") {
|
|
23
|
+
return e;
|
|
24
|
+
}
|
|
25
|
+
return new ApprovalError({
|
|
26
|
+
cause: e,
|
|
27
|
+
message: `Approval simulation failed: ${String(e.message)}`,
|
|
28
|
+
spender: params.spender,
|
|
29
|
+
tokenAddress: params.tokenAddress,
|
|
30
|
+
});
|
|
31
|
+
}));
|
|
32
|
+
return yield* writer.write(writeParams);
|
|
33
|
+
});
|
|
34
|
+
const checkAllowance = Effect.fn("checkAllowance")(function* (params) {
|
|
35
|
+
const result = yield* reader
|
|
36
|
+
.read({
|
|
37
|
+
abi: erc20Abi,
|
|
38
|
+
address: params.tokenAddress,
|
|
39
|
+
args: [params.owner, params.spender],
|
|
40
|
+
chainId: params.chainId,
|
|
41
|
+
functionName: "allowance",
|
|
42
|
+
})
|
|
43
|
+
.pipe(Effect.mapError((e) => {
|
|
44
|
+
if (e._tag === "ClientNotFoundError") {
|
|
45
|
+
return e;
|
|
46
|
+
}
|
|
47
|
+
return new ApprovalCheckError({
|
|
48
|
+
cause: e,
|
|
49
|
+
message: `Failed to check allowance: ${String(e.message)}`,
|
|
50
|
+
owner: params.owner,
|
|
51
|
+
spender: params.spender,
|
|
52
|
+
tokenAddress: params.tokenAddress,
|
|
53
|
+
});
|
|
54
|
+
}));
|
|
55
|
+
return result;
|
|
56
|
+
});
|
|
57
|
+
const ensureAllowance = Effect.fn("ensureAllowance")(function* (params) {
|
|
58
|
+
if (params.required <= 0n) {
|
|
59
|
+
return { currentAllowance: 0n, status: "already-sufficient" };
|
|
60
|
+
}
|
|
61
|
+
const currentAllowance = yield* checkAllowance({
|
|
62
|
+
chainId: params.chainId,
|
|
63
|
+
owner: params.account,
|
|
64
|
+
spender: params.spender,
|
|
65
|
+
tokenAddress: params.tokenAddress,
|
|
66
|
+
});
|
|
67
|
+
if (currentAllowance >= params.required) {
|
|
68
|
+
return { currentAllowance, status: "already-sufficient" };
|
|
69
|
+
}
|
|
70
|
+
const approveAmount = params.approveAmount ?? params.required;
|
|
71
|
+
const zeroFirst = params.zeroFirst ?? true;
|
|
72
|
+
const direct = approve({
|
|
73
|
+
account: params.account,
|
|
74
|
+
amount: approveAmount,
|
|
75
|
+
chainId: params.chainId,
|
|
76
|
+
spender: params.spender,
|
|
77
|
+
tokenAddress: params.tokenAddress,
|
|
78
|
+
}).pipe(Effect.either);
|
|
79
|
+
const directResult = yield* direct;
|
|
80
|
+
if (directResult._tag === "Right") {
|
|
81
|
+
return {
|
|
82
|
+
approveAmount,
|
|
83
|
+
currentAllowance,
|
|
84
|
+
hashes: [directResult.right],
|
|
85
|
+
mode: "direct",
|
|
86
|
+
status: "approved",
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
if (!zeroFirst || currentAllowance === 0n) {
|
|
90
|
+
return yield* Effect.fail(directResult.left);
|
|
91
|
+
}
|
|
92
|
+
const resetHash = yield* approve({
|
|
93
|
+
account: params.account,
|
|
94
|
+
amount: 0n,
|
|
95
|
+
chainId: params.chainId,
|
|
96
|
+
spender: params.spender,
|
|
97
|
+
tokenAddress: params.tokenAddress,
|
|
98
|
+
});
|
|
99
|
+
const approveHash = yield* approve({
|
|
100
|
+
account: params.account,
|
|
101
|
+
amount: approveAmount,
|
|
102
|
+
chainId: params.chainId,
|
|
103
|
+
spender: params.spender,
|
|
104
|
+
tokenAddress: params.tokenAddress,
|
|
105
|
+
});
|
|
106
|
+
return {
|
|
107
|
+
approveAmount,
|
|
108
|
+
currentAllowance,
|
|
109
|
+
hashes: [resetHash, approveHash],
|
|
110
|
+
mode: "zero-first",
|
|
111
|
+
status: "approved",
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
return Erc20AllowanceService.of({
|
|
115
|
+
approve,
|
|
116
|
+
checkAllowance,
|
|
117
|
+
ensureAllowance,
|
|
118
|
+
getMaxAmount: (_decimals) => maxUint256,
|
|
119
|
+
});
|
|
120
|
+
}));
|
|
121
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/erc20/allowance/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/erc20/allowance/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/erc20/allowance/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|