@prb/effect-evm 1.0.0-beta.0 → 1.0.0-beta.10
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/DOCS.md +13 -0
- package/README.md +4 -0
- package/dist/abi/erc165.js.map +1 -1
- package/dist/abi/erc20-no-output.js.map +1 -1
- package/dist/abi/erc20.js.map +1 -1
- package/dist/abi/erc721.js.map +1 -1
- package/dist/abi/index.js.map +1 -1
- package/dist/balance/index.js.map +1 -1
- package/dist/balance/service.js.map +1 -1
- package/dist/balance/service.test.integration.d.ts +2 -0
- package/dist/balance/service.test.integration.d.ts.map +1 -0
- package/dist/balance/service.test.integration.js +289 -0
- package/dist/balance/service.test.integration.js.map +1 -0
- package/dist/balance/utils.js.map +1 -1
- package/dist/block/errors.js.map +1 -1
- package/dist/block/index.js.map +1 -1
- package/dist/block/service.js.map +1 -1
- package/dist/block/service.test.integration.d.ts +2 -0
- package/dist/block/service.test.integration.d.ts.map +1 -0
- package/dist/block/service.test.integration.js +190 -0
- package/dist/block/service.test.integration.js.map +1 -0
- package/dist/constants/index.d.ts +0 -4
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +1 -5
- package/dist/constants/index.js.map +1 -1
- package/dist/contract/cross-chain-reader.d.ts +14 -10
- package/dist/contract/cross-chain-reader.d.ts.map +1 -1
- package/dist/contract/cross-chain-reader.js +2 -8
- package/dist/contract/cross-chain-reader.js.map +1 -1
- package/dist/contract/index.js.map +1 -1
- package/dist/contract/pipeline/index.js.map +1 -1
- package/dist/contract/pipeline/internal/core.d.ts +2 -2
- package/dist/contract/pipeline/internal/core.d.ts.map +1 -1
- package/dist/contract/pipeline/internal/core.js.map +1 -1
- package/dist/contract/pipeline/internal/helpers.js.map +1 -1
- package/dist/contract/pipeline/internal/nonce.js.map +1 -1
- package/dist/contract/pipeline/internal/prepare.js.map +1 -1
- package/dist/contract/pipeline/internal/receipt.d.ts +2 -2
- package/dist/contract/pipeline/internal/receipt.d.ts.map +1 -1
- package/dist/contract/pipeline/internal/receipt.js +1 -1
- package/dist/contract/pipeline/internal/receipt.js.map +1 -1
- package/dist/contract/pipeline/live.js.map +1 -1
- package/dist/contract/pipeline/service.d.ts +3 -3
- package/dist/contract/pipeline/service.d.ts.map +1 -1
- package/dist/contract/pipeline/service.js.map +1 -1
- package/dist/contract/pipeline/types.d.ts +2 -2
- package/dist/contract/pipeline/types.d.ts.map +1 -1
- package/dist/contract/pipeline/types.js.map +1 -1
- package/dist/contract/pipeline/write-and-track.d.ts.map +1 -1
- package/dist/contract/pipeline/write-and-track.js +5 -6
- package/dist/contract/pipeline/write-and-track.js.map +1 -1
- package/dist/contract/pipeline/write-and-wait.d.ts +1 -1
- package/dist/contract/pipeline/write-and-wait.d.ts.map +1 -1
- package/dist/contract/pipeline/write-and-wait.js.map +1 -1
- package/dist/contract/pipeline.js.map +1 -1
- package/dist/contract/reader.js.map +1 -1
- package/dist/contract/typed-contract.js.map +1 -1
- package/dist/contract/writer.js.map +1 -1
- package/dist/core/clients/index.js.map +1 -1
- package/dist/core/clients/public-client.js.map +1 -1
- package/dist/core/clients/wallet-client.js.map +1 -1
- package/dist/core/errors/client.js.map +1 -1
- package/dist/core/errors/contract.js.map +1 -1
- package/dist/core/errors/erc20.js.map +1 -1
- package/dist/core/errors/event.js.map +1 -1
- package/dist/core/errors/index.js.map +1 -1
- package/dist/core/errors/predicates.js.map +1 -1
- package/dist/core/errors/transaction.d.ts +10 -8
- package/dist/core/errors/transaction.d.ts.map +1 -1
- package/dist/core/errors/transaction.js +126 -4
- package/dist/core/errors/transaction.js.map +1 -1
- package/dist/core/errors/viem-mapper.d.ts +3 -3
- package/dist/core/errors/viem-mapper.d.ts.map +1 -1
- package/dist/core/errors/viem-mapper.js +14 -16
- package/dist/core/errors/viem-mapper.js.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/deploy/errors.js.map +1 -1
- package/dist/deploy/index.js.map +1 -1
- package/dist/deploy/service.d.ts +3 -3
- package/dist/deploy/service.d.ts.map +1 -1
- package/dist/deploy/service.js.map +1 -1
- package/dist/eip7702/erc7579.js.map +1 -1
- package/dist/eip7702/errors.d.ts +3 -3
- package/dist/eip7702/errors.d.ts.map +1 -1
- package/dist/eip7702/errors.js +1 -1
- package/dist/eip7702/errors.js.map +1 -1
- package/dist/eip7702/index.js.map +1 -1
- package/dist/eip7702/service.d.ts +8 -8
- package/dist/eip7702/service.d.ts.map +1 -1
- package/dist/eip7702/service.js +2 -2
- package/dist/eip7702/service.js.map +1 -1
- package/dist/ens/ens.d.ts.map +1 -1
- package/dist/ens/ens.js +6 -6
- package/dist/ens/ens.js.map +1 -1
- package/dist/ens/errors.js.map +1 -1
- package/dist/ens/index.js.map +1 -1
- package/dist/erc20/allowance/core.js.map +1 -1
- package/dist/erc20/allowance/index.js.map +1 -1
- package/dist/erc20/allowance/no-output.js.map +1 -1
- package/dist/erc20/allowance/types.js.map +1 -1
- package/dist/erc20/index.d.ts +1 -0
- package/dist/erc20/index.d.ts.map +1 -1
- package/dist/erc20/index.js +1 -0
- package/dist/erc20/index.js.map +1 -1
- package/dist/erc20/metadata.d.ts +16 -0
- package/dist/erc20/metadata.d.ts.map +1 -0
- package/dist/erc20/metadata.js +67 -0
- package/dist/erc20/metadata.js.map +1 -0
- package/dist/erc721/errors.js.map +1 -1
- package/dist/erc721/helpers.js.map +1 -1
- package/dist/erc721/index.js.map +1 -1
- package/dist/erc721/metadata.js.map +1 -1
- package/dist/erc721/service.js.map +1 -1
- package/dist/events/backfill.js.map +1 -1
- package/dist/events/backfill.test.integration.d.ts +2 -0
- package/dist/events/backfill.test.integration.d.ts.map +1 -0
- package/dist/events/backfill.test.integration.js +112 -0
- package/dist/events/backfill.test.integration.js.map +1 -0
- package/dist/events/cursor.js.map +1 -1
- package/dist/events/decoder.js.map +1 -1
- package/dist/events/index.js.map +1 -1
- package/dist/events/reliable-stream-simple.test.integration.d.ts +2 -0
- package/dist/events/reliable-stream-simple.test.integration.d.ts.map +1 -0
- package/dist/events/reliable-stream-simple.test.integration.js +22 -0
- package/dist/events/reliable-stream-simple.test.integration.js.map +1 -0
- package/dist/events/reliable-stream.js.map +1 -1
- package/dist/events/reliable-stream.test.integration.d.ts +2 -0
- package/dist/events/reliable-stream.test.integration.d.ts.map +1 -0
- package/dist/events/reliable-stream.test.integration.js +327 -0
- package/dist/events/reliable-stream.test.integration.js.map +1 -0
- package/dist/events/stream.js.map +1 -1
- package/dist/events/stream.test.integration.d.ts +2 -0
- package/dist/events/stream.test.integration.d.ts.map +1 -0
- package/dist/events/stream.test.integration.js +120 -0
- package/dist/events/stream.test.integration.js.map +1 -0
- package/dist/gas/errors.js.map +1 -1
- package/dist/gas/estimator.d.ts.map +1 -1
- package/dist/gas/estimator.js +75 -58
- package/dist/gas/estimator.js.map +1 -1
- package/dist/gas/index.js.map +1 -1
- package/dist/gas/service.d.ts.map +1 -1
- package/dist/gas/service.js +14 -2
- package/dist/gas/service.js.map +1 -1
- package/dist/gas/service.test.integration.d.ts +2 -0
- package/dist/gas/service.test.integration.d.ts.map +1 -0
- package/dist/gas/service.test.integration.js +152 -0
- package/dist/gas/service.test.integration.js.map +1 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/react-hooks/convenience/index.js.map +1 -1
- package/dist/integrations/react-hooks/internal/error.js.map +1 -1
- package/dist/integrations/react-hooks/internal/is-dev.js.map +1 -1
- package/dist/integrations/react-hooks/internal/runtime.js.map +1 -1
- package/dist/integrations/react-hooks/internal/scoped-run.js.map +1 -1
- package/dist/integrations/react-hooks/internal/stable.js.map +1 -1
- package/dist/integrations/react-hooks/primitives/use-effect-memo-factory.js.map +1 -1
- package/dist/integrations/react-hooks/primitives/use-effect.js.map +1 -1
- package/dist/integrations/react-hooks/primitives/use-fork-effect.js.map +1 -1
- package/dist/integrations/react-hooks/primitives/use-stream.js.map +1 -1
- package/dist/integrations/react-hooks/primitives.js.map +1 -1
- package/dist/integrations/react-hooks/provider.js.map +1 -1
- package/dist/integrations/react-hooks/wagmi/index.js.map +1 -1
- package/dist/integrations/react-hooks/wallet-provider-ref.js.map +1 -1
- package/dist/integrations/wagmi/index.js.map +1 -1
- package/dist/integrations/wagmi/layers.js.map +1 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/numbers.js.map +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/stream-adapters.js.map +1 -1
- package/dist/internal/viem-effect.js.map +1 -1
- package/dist/nonce/index.js.map +1 -1
- package/dist/nonce/manager.js.map +1 -1
- package/dist/nonce/service.js.map +1 -1
- package/dist/nonce/service.test.integration.d.ts +2 -0
- package/dist/nonce/service.test.integration.d.ts.map +1 -0
- package/dist/nonce/service.test.integration.js +141 -0
- package/dist/nonce/service.test.integration.js.map +1 -0
- package/dist/platform/browser/cursor-store/index.js.map +1 -1
- package/dist/platform/browser/cursor-store/local-storage.js.map +1 -1
- package/dist/platform/browser/index.js.map +1 -1
- package/dist/platform/browser/layers.js.map +1 -1
- package/dist/platform/browser/storage/errors.js.map +1 -1
- package/dist/platform/browser/storage/index.js.map +1 -1
- package/dist/platform/browser/storage/local-storage.js.map +1 -1
- package/dist/platform/browser/tx-persistence/index.js.map +1 -1
- package/dist/platform/browser/tx-persistence/persistence.js.map +1 -1
- package/dist/platform/browser/tx-store/errors.js.map +1 -1
- package/dist/platform/browser/tx-store/index.js.map +1 -1
- package/dist/platform/browser/tx-store/local-storage.js.map +1 -1
- package/dist/platform/browser/tx-store/store.js.map +1 -1
- package/dist/platform/browser/tx-store/types.js.map +1 -1
- package/dist/presets/index.js.map +1 -1
- package/dist/presets/layers.js.map +1 -1
- package/dist/presets/transports.js.map +1 -1
- package/dist/query/chain-head.js.map +1 -1
- package/dist/query/client.js.map +1 -1
- package/dist/query/client.test.integration.d.ts +2 -0
- package/dist/query/client.test.integration.d.ts.map +1 -0
- package/dist/query/client.test.integration.js +94 -0
- package/dist/query/client.test.integration.js.map +1 -0
- package/dist/query/contract-query.js.map +1 -1
- package/dist/query/contract-query.test.integration.d.ts +2 -0
- package/dist/query/contract-query.test.integration.d.ts.map +1 -0
- package/dist/query/contract-query.test.integration.js +133 -0
- package/dist/query/contract-query.test.integration.js.map +1 -0
- package/dist/query/index.js.map +1 -1
- package/dist/query/multicall-batcher.js.map +1 -1
- package/dist/react-hooks/index.d.ts +0 -2
- package/dist/react-hooks/index.d.ts.map +1 -1
- package/dist/react-hooks/index.js +0 -2
- package/dist/react-hooks/index.js.map +1 -1
- package/dist/react-hooks/wagmi/index.js.map +1 -1
- package/dist/rpc/cache.js.map +1 -1
- package/dist/rpc/circuit-breaker.js.map +1 -1
- package/dist/rpc/dedup.js.map +1 -1
- package/dist/rpc/index.js.map +1 -1
- package/dist/rpc/retry.js.map +1 -1
- package/dist/rpc/routemesh.js.map +1 -1
- package/dist/signature/errors.js.map +1 -1
- package/dist/signature/index.js.map +1 -1
- package/dist/signature/service.js.map +1 -1
- package/dist/signature/service.test.integration.d.ts +2 -0
- package/dist/signature/service.test.integration.d.ts.map +1 -0
- package/dist/signature/service.test.integration.js +179 -0
- package/dist/signature/service.test.integration.js.map +1 -0
- package/dist/signature/utils.js.map +1 -1
- package/dist/simulation/errors.js.map +1 -1
- package/dist/simulation/index.js.map +1 -1
- package/dist/simulation/service.js.map +1 -1
- package/dist/simulation/tenderly.js.map +1 -1
- package/dist/simulation/tenderly.test.integration.d.ts +2 -0
- package/dist/simulation/tenderly.test.integration.d.ts.map +1 -0
- package/dist/simulation/tenderly.test.integration.js +104 -0
- package/dist/simulation/tenderly.test.integration.js.map +1 -0
- package/dist/simulation/types.js.map +1 -1
- package/dist/subscriptions/block-subscription.js.map +1 -1
- package/dist/subscriptions/errors.js.map +1 -1
- package/dist/subscriptions/index.js.map +1 -1
- package/dist/subscriptions/log-subscription.js.map +1 -1
- package/dist/subscriptions/pending-tx.d.ts +1 -1
- package/dist/subscriptions/pending-tx.d.ts.map +1 -1
- package/dist/subscriptions/pending-tx.js +1 -1
- package/dist/subscriptions/pending-tx.js.map +1 -1
- package/dist/subscriptions/service.d.ts +2 -2
- package/dist/subscriptions/service.d.ts.map +1 -1
- package/dist/subscriptions/service.js +4 -4
- package/dist/subscriptions/service.js.map +1 -1
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/logger.js.map +1 -1
- package/dist/telemetry/tracer.d.ts +2 -2
- package/dist/telemetry/tracer.js +2 -2
- package/dist/telemetry/tracer.js.map +1 -1
- package/dist/testing-kit/_fixtures/addresses.js.map +1 -1
- package/dist/testing-kit/_fixtures/receipts.js.map +1 -1
- package/dist/testing-kit/helpers.js.map +1 -1
- package/dist/testing-kit/index.js.map +1 -1
- package/dist/testing-kit/mock-balance-service.js.map +1 -1
- package/dist/testing-kit/mock-block-service.js.map +1 -1
- package/dist/testing-kit/mock-cross-chain-reader.d.ts +3 -10
- package/dist/testing-kit/mock-cross-chain-reader.d.ts.map +1 -1
- package/dist/testing-kit/mock-cross-chain-reader.js.map +1 -1
- package/dist/testing-kit/mock-deploy-service.js.map +1 -1
- package/dist/testing-kit/mock-erc721-service.js.map +1 -1
- package/dist/testing-kit/mock-gas-service.js.map +1 -1
- package/dist/testing-kit/mock-nonce-service.js.map +1 -1
- package/dist/testing-kit/mock-public-client.js.map +1 -1
- package/dist/testing-kit/mock-signature-service.js.map +1 -1
- package/dist/testing-kit/mock-simulation-service.js.map +1 -1
- package/dist/testing-kit/mock-subscription-service.d.ts +2 -2
- package/dist/testing-kit/mock-subscription-service.d.ts.map +1 -1
- package/dist/testing-kit/mock-subscription-service.js +5 -5
- package/dist/testing-kit/mock-subscription-service.js.map +1 -1
- package/dist/testing-kit/mock-transfer-service.d.ts +3 -3
- package/dist/testing-kit/mock-transfer-service.d.ts.map +1 -1
- package/dist/testing-kit/mock-transfer-service.js.map +1 -1
- package/dist/testing-kit/mock-wallet-client.js.map +1 -1
- package/dist/testing-kit/mock-wallet-provider.js.map +1 -1
- package/dist/testing-kit/test-layer.js.map +1 -1
- package/dist/transfer/index.js.map +1 -1
- package/dist/transfer/service.d.ts +8 -11
- package/dist/transfer/service.d.ts.map +1 -1
- package/dist/transfer/service.js +32 -13
- package/dist/transfer/service.js.map +1 -1
- package/dist/tx/fees.d.ts.map +1 -1
- package/dist/tx/fees.js +3 -0
- package/dist/tx/fees.js.map +1 -1
- package/dist/tx/index.js.map +1 -1
- package/dist/tx/manager.d.ts +3 -2
- package/dist/tx/manager.d.ts.map +1 -1
- package/dist/tx/manager.js +232 -216
- package/dist/tx/manager.js.map +1 -1
- package/dist/tx/manager.test.integration.d.ts +2 -0
- package/dist/tx/manager.test.integration.d.ts.map +1 -0
- package/dist/tx/manager.test.integration.js +177 -0
- package/dist/tx/manager.test.integration.js.map +1 -0
- package/dist/tx/policy.d.ts +1 -1
- package/dist/tx/policy.d.ts.map +1 -1
- package/dist/tx/policy.js.map +1 -1
- package/dist/tx/replacement.d.ts +3 -3
- package/dist/tx/replacement.d.ts.map +1 -1
- package/dist/tx/replacement.js +3 -3
- package/dist/tx/replacement.js.map +1 -1
- package/dist/tx/tracker.d.ts +6 -6
- package/dist/tx/tracker.d.ts.map +1 -1
- package/dist/tx/tracker.js +9 -9
- package/dist/tx/tracker.js.map +1 -1
- package/dist/types/abi.js.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/params.d.ts +1 -1
- package/dist/types/params.d.ts.map +1 -1
- package/dist/types/params.js.map +1 -1
- package/dist/types/tx-overrides.d.ts +1 -1
- package/dist/types/tx-overrides.d.ts.map +1 -1
- package/dist/types/tx-overrides.js.map +1 -1
- package/dist/wagmi/index.js.map +1 -1
- package/dist/wagmi/layers.js.map +1 -1
- package/dist/wallet/errors.d.ts +3 -3
- package/dist/wallet/errors.d.ts.map +1 -1
- package/dist/wallet/errors.js +1 -1
- package/dist/wallet/errors.js.map +1 -1
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/lifecycle.js.map +1 -1
- package/dist/wallet/operations.d.ts +2 -2
- package/dist/wallet/operations.d.ts.map +1 -1
- package/dist/wallet/operations.js +8 -15
- package/dist/wallet/operations.js.map +1 -1
- package/dist/wallet/provider-ref.js.map +1 -1
- package/dist/wallet/service.d.ts +2 -2
- package/dist/wallet/service.d.ts.map +1 -1
- package/dist/wallet/service.js.map +1 -1
- package/dist/wallet/types.js.map +1 -1
- package/package.json +25 -14
- package/dist/react-hooks/use-is-safe-multisig.d.ts +0 -2
- package/dist/react-hooks/use-is-safe-multisig.d.ts.map +0 -1
- package/dist/react-hooks/use-is-safe-multisig.js +0 -44
- package/dist/react-hooks/use-is-safe-multisig.js.map +0 -1
- package/dist/react-hooks/use-safe-context.d.ts +0 -2
- package/dist/react-hooks/use-safe-context.d.ts.map +0 -1
- package/dist/react-hooks/use-safe-context.js +0 -41
- package/dist/react-hooks/use-safe-context.js.map +0 -1
- package/dist/safe/adapter.d.ts +0 -9
- package/dist/safe/adapter.d.ts.map +0 -1
- package/dist/safe/adapter.js +0 -13
- package/dist/safe/adapter.js.map +0 -1
- package/dist/safe/detection.d.ts +0 -26
- package/dist/safe/detection.d.ts.map +0 -1
- package/dist/safe/detection.js +0 -102
- package/dist/safe/detection.js.map +0 -1
- package/dist/safe/errors.d.ts +0 -79
- package/dist/safe/errors.d.ts.map +0 -1
- package/dist/safe/errors.js +0 -34
- package/dist/safe/errors.js.map +0 -1
- package/dist/safe/index.d.ts +0 -8
- package/dist/safe/index.d.ts.map +0 -1
- package/dist/safe/index.js +0 -6
- package/dist/safe/index.js.map +0 -1
- package/dist/safe/live.d.ts +0 -8
- package/dist/safe/live.d.ts.map +0 -1
- package/dist/safe/live.js +0 -250
- package/dist/safe/live.js.map +0 -1
- package/dist/safe/service.d.ts +0 -26
- package/dist/safe/service.d.ts.map +0 -1
- package/dist/safe/service.js +0 -4
- package/dist/safe/service.js.map +0 -1
- package/dist/safe/simulation/abis.d.ts +0 -73
- package/dist/safe/simulation/abis.d.ts.map +0 -1
- package/dist/safe/simulation/abis.js +0 -61
- package/dist/safe/simulation/abis.js.map +0 -1
- package/dist/safe/simulation/addresses.d.ts +0 -4
- package/dist/safe/simulation/addresses.d.ts.map +0 -1
- package/dist/safe/simulation/addresses.js +0 -40
- package/dist/safe/simulation/addresses.js.map +0 -1
- package/dist/safe/simulation/encoding.d.ts +0 -16
- package/dist/safe/simulation/encoding.d.ts.map +0 -1
- package/dist/safe/simulation/encoding.js +0 -36
- package/dist/safe/simulation/encoding.js.map +0 -1
- package/dist/safe/simulation/errors.d.ts +0 -56
- package/dist/safe/simulation/errors.d.ts.map +0 -1
- package/dist/safe/simulation/errors.js +0 -37
- package/dist/safe/simulation/errors.js.map +0 -1
- package/dist/safe/simulation/index.d.ts +0 -7
- package/dist/safe/simulation/index.d.ts.map +0 -1
- package/dist/safe/simulation/index.js +0 -6
- package/dist/safe/simulation/index.js.map +0 -1
- package/dist/safe/simulation/service.d.ts +0 -14
- package/dist/safe/simulation/service.d.ts.map +0 -1
- package/dist/safe/simulation/service.js +0 -140
- package/dist/safe/simulation/service.js.map +0 -1
- package/dist/safe/simulation/types.d.ts +0 -20
- package/dist/safe/simulation/types.d.ts.map +0 -1
- package/dist/safe/simulation/types.js +0 -2
- package/dist/safe/simulation/types.js.map +0 -1
- package/dist/safe/types.d.ts +0 -61
- package/dist/safe/types.d.ts.map +0 -1
- package/dist/safe/types.js +0 -2
- package/dist/safe/types.js.map +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Effect, Schema } from "effect";
|
|
1
|
+
import { Cause, Effect, Schema } from "effect";
|
|
2
2
|
import { dual } from "effect/Function";
|
|
3
3
|
import { isTaggedError } from "./predicates.js";
|
|
4
4
|
export class UserRejectedError extends Schema.TaggedError()("UserRejectedError", {
|
|
5
5
|
message: Schema.String,
|
|
6
6
|
}) {
|
|
7
7
|
}
|
|
8
|
-
export class
|
|
8
|
+
export class TxFailedError extends Schema.TaggedError()("TxFailedError", {
|
|
9
9
|
cause: Schema.optional(Schema.Unknown),
|
|
10
10
|
hash: Schema.String,
|
|
11
11
|
message: Schema.String,
|
|
12
12
|
}) {
|
|
13
13
|
}
|
|
14
|
-
export class
|
|
14
|
+
export class TxReplacedError extends Schema.TaggedError()("TxReplacedError", {
|
|
15
15
|
message: Schema.String,
|
|
16
16
|
newHash: Schema.String,
|
|
17
17
|
oldHash: Schema.String,
|
|
@@ -30,7 +30,129 @@ export class InsufficientFundsError extends Schema.TaggedError()("InsufficientFu
|
|
|
30
30
|
required: Schema.String,
|
|
31
31
|
}) {
|
|
32
32
|
}
|
|
33
|
-
export const
|
|
33
|
+
export const isTaggedUserRejectedError = isTaggedError("UserRejectedError");
|
|
34
|
+
const USER_REJECTION_CODE = 4001;
|
|
35
|
+
const USER_REJECTION_MESSAGE_FRAGMENTS = [
|
|
36
|
+
"user rejected",
|
|
37
|
+
"user denied",
|
|
38
|
+
"user cancelled",
|
|
39
|
+
"rejected by user",
|
|
40
|
+
"denied by user",
|
|
41
|
+
"rejected the request",
|
|
42
|
+
];
|
|
43
|
+
function matchesUserRejectionMessage(message) {
|
|
44
|
+
const normalized = message.trim().toLowerCase();
|
|
45
|
+
return USER_REJECTION_MESSAGE_FRAGMENTS.some((fragment) => normalized.includes(fragment));
|
|
46
|
+
}
|
|
47
|
+
function matchesUserRejectionTag(tag) {
|
|
48
|
+
return tag.trim().toLowerCase().includes("userrejected");
|
|
49
|
+
}
|
|
50
|
+
function matchesUserRejectionName(name) {
|
|
51
|
+
return name.trim().toLowerCase().includes("userrejected");
|
|
52
|
+
}
|
|
53
|
+
function isUserRejectionCode(value) {
|
|
54
|
+
return value === USER_REJECTION_CODE || value === `${USER_REJECTION_CODE}`;
|
|
55
|
+
}
|
|
56
|
+
function checkUserRejectionRecord(record, depth) {
|
|
57
|
+
if (typeof record._tag === "string" && matchesUserRejectionTag(record._tag)) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
if (typeof record.name === "string" && matchesUserRejectionName(record.name)) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
if (isUserRejectionCode(record.code)) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
if (Cause.isCause(record.cause)) {
|
|
67
|
+
return checkUserRejection(Cause.squash(record.cause), depth + 1);
|
|
68
|
+
}
|
|
69
|
+
if (record.cause && checkUserRejection(record.cause, depth + 1)) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
if (record.error && checkUserRejection(record.error, depth + 1)) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
if (Array.isArray(record.errors)) {
|
|
76
|
+
return record.errors.some((error) => checkUserRejection(error, depth + 1));
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
function checkUserRejection(error, depth) {
|
|
81
|
+
if (!error || depth > 4) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (isTaggedUserRejectedError(error)) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
if (Cause.isCause(error)) {
|
|
88
|
+
return checkUserRejection(Cause.squash(error), depth + 1);
|
|
89
|
+
}
|
|
90
|
+
if (error instanceof Error) {
|
|
91
|
+
if (matchesUserRejectionName(error.name)) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
if (isUserRejectionCode(error.code)) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
const tag = error._tag;
|
|
98
|
+
if (typeof tag === "string" && matchesUserRejectionTag(tag)) {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
return checkUserRejectionRecord(error, depth);
|
|
102
|
+
}
|
|
103
|
+
if (typeof error === "object") {
|
|
104
|
+
return checkUserRejectionRecord(error, depth);
|
|
105
|
+
}
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
export function isUserRejectedError(error) {
|
|
109
|
+
return checkUserRejection(error, 0);
|
|
110
|
+
}
|
|
111
|
+
export function isLikelyUserRejectedError(error) {
|
|
112
|
+
return checkLikelyUserRejection(error, 0);
|
|
113
|
+
}
|
|
114
|
+
function checkLikelyUserRejectionRecord(record, depth) {
|
|
115
|
+
if (typeof record.message === "string" && matchesUserRejectionMessage(record.message)) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
if (Cause.isCause(record.cause)) {
|
|
119
|
+
return checkLikelyUserRejection(Cause.squash(record.cause), depth + 1);
|
|
120
|
+
}
|
|
121
|
+
if (record.cause && checkLikelyUserRejection(record.cause, depth + 1)) {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
if (record.error && checkLikelyUserRejection(record.error, depth + 1)) {
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
if (Array.isArray(record.errors)) {
|
|
128
|
+
return record.errors.some((err) => checkLikelyUserRejection(err, depth + 1));
|
|
129
|
+
}
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
function checkLikelyUserRejection(error, depth) {
|
|
133
|
+
if (!error || depth > 4) {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
if (isUserRejectedError(error)) {
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
if (typeof error === "string") {
|
|
140
|
+
return matchesUserRejectionMessage(error);
|
|
141
|
+
}
|
|
142
|
+
if (Cause.isCause(error)) {
|
|
143
|
+
return checkLikelyUserRejection(Cause.squash(error), depth + 1);
|
|
144
|
+
}
|
|
145
|
+
if (error instanceof Error) {
|
|
146
|
+
if (matchesUserRejectionMessage(error.message)) {
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
return checkLikelyUserRejectionRecord(error, depth);
|
|
150
|
+
}
|
|
151
|
+
if (typeof error === "object") {
|
|
152
|
+
return checkLikelyUserRejectionRecord(error, depth);
|
|
153
|
+
}
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
34
156
|
export const catchUserRejection = dual(2, (effect, fallback) => Effect.catchIf(effect, isUserRejectedError, () => Effect.succeed(fallback)));
|
|
35
157
|
export const catchUserRejectionWith = dual(2, (effect, fallback) => Effect.catchIf(effect, isUserRejectedError, () => fallback));
|
|
36
158
|
//# sourceMappingURL=transaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/core/errors/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAC5E,mBAAmB,EACnB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,EAA0B,CACtF,wBAAwB,EACxB;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,0BAA0B,EAC1B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;CAC5D,CACF;CAAG;AAEJ,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,WAAW,EAAuB,CAChF,qBAAqB,EACrB;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,EAA0B,CACtF,wBAAwB,EACxB;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM;CACxB,CACF;CAAG;AAMJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAoB,mBAAmB,CAAC,CAAC;AAgBzF,MAAM,CAAC,MAAM,kBAAkB,GAU3B,IAAI,CACN,CAAC,EACD,CACE,MAA8B,EAC9B,QAAY,EAC6C,EAAE,CAC3D,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAIzE,CACJ,CAAC;AAcF,MAAM,CAAC,MAAM,sBAAsB,GAU/B,IAAI,CACN,CAAC,EACD,CACE,MAA8B,EAC9B,QAAmC,EACgC,EAAE,CACrE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAIzD,CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/core/errors/transaction.ts"],"names":[],"mappings":"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","sourcesContent":["import { Cause, Effect, Schema } from \"effect\";\nimport { dual } from \"effect/Function\";\n\nimport { isTaggedError } from \"./predicates.js\";\n\nexport type TxReplacementReason = \"cancelled\" | \"replaced\" | \"repriced\";\n\nexport class UserRejectedError extends Schema.TaggedError<UserRejectedError>()(\n \"UserRejectedError\",\n {\n message: Schema.String,\n }\n) {}\n\nexport class TxFailedError extends Schema.TaggedError<TxFailedError>()(\"TxFailedError\", {\n cause: Schema.optional(Schema.Unknown),\n hash: Schema.String,\n message: Schema.String,\n}) {}\n\nexport class TxReplacedError extends Schema.TaggedError<TxReplacedError>()(\"TxReplacedError\", {\n message: Schema.String,\n newHash: Schema.String,\n oldHash: Schema.String,\n reason: Schema.Literal(\"cancelled\", \"replaced\", \"repriced\"),\n}) {}\n\nexport class ReceiptTimeoutError extends Schema.TaggedError<ReceiptTimeoutError>()(\n \"ReceiptTimeoutError\",\n {\n hash: Schema.String,\n message: Schema.String,\n timeout: Schema.Number,\n }\n) {}\n\nexport class InsufficientFundsError extends Schema.TaggedError<InsufficientFundsError>()(\n \"InsufficientFundsError\",\n {\n available: Schema.String,\n message: Schema.String,\n required: Schema.String,\n }\n) {}\n\n/**\n * Strict _tag guard for UserRejectedError.\n */\nexport const isTaggedUserRejectedError = isTaggedError<UserRejectedError>(\"UserRejectedError\");\n\nconst USER_REJECTION_CODE = 4001;\nconst USER_REJECTION_MESSAGE_FRAGMENTS = [\n \"user rejected\",\n \"user denied\",\n \"user cancelled\",\n \"rejected by user\",\n \"denied by user\",\n \"rejected the request\",\n];\n\ntype UserRejectionRecord = {\n readonly _tag?: unknown;\n readonly cause?: unknown;\n readonly code?: unknown;\n readonly error?: unknown;\n readonly errors?: unknown;\n readonly name?: unknown;\n};\n\ntype UserRejectionLooseRecord = UserRejectionRecord & {\n readonly message?: unknown;\n};\n\nfunction matchesUserRejectionMessage(message: string): boolean {\n const normalized = message.trim().toLowerCase();\n return USER_REJECTION_MESSAGE_FRAGMENTS.some((fragment) => normalized.includes(fragment));\n}\n\nfunction matchesUserRejectionTag(tag: string): boolean {\n return tag.trim().toLowerCase().includes(\"userrejected\");\n}\n\nfunction matchesUserRejectionName(name: string): boolean {\n return name.trim().toLowerCase().includes(\"userrejected\");\n}\n\nfunction isUserRejectionCode(value: unknown): boolean {\n return value === USER_REJECTION_CODE || value === `${USER_REJECTION_CODE}`;\n}\n\nfunction checkUserRejectionRecord(record: UserRejectionRecord, depth: number): boolean {\n if (typeof record._tag === \"string\" && matchesUserRejectionTag(record._tag)) {\n return true;\n }\n\n if (typeof record.name === \"string\" && matchesUserRejectionName(record.name)) {\n return true;\n }\n\n if (isUserRejectionCode(record.code)) {\n return true;\n }\n\n if (Cause.isCause(record.cause)) {\n return checkUserRejection(Cause.squash(record.cause), depth + 1);\n }\n\n if (record.cause && checkUserRejection(record.cause, depth + 1)) {\n return true;\n }\n\n if (record.error && checkUserRejection(record.error, depth + 1)) {\n return true;\n }\n\n if (Array.isArray(record.errors)) {\n return record.errors.some((error) => checkUserRejection(error, depth + 1));\n }\n\n return false;\n}\n\nfunction checkUserRejection(error: unknown, depth: number): boolean {\n if (!error || depth > 4) {\n return false;\n }\n\n if (isTaggedUserRejectedError(error)) {\n return true;\n }\n\n if (Cause.isCause(error)) {\n return checkUserRejection(Cause.squash(error), depth + 1);\n }\n\n if (error instanceof Error) {\n if (matchesUserRejectionName(error.name)) {\n return true;\n }\n if (isUserRejectionCode((error as { code?: unknown }).code)) {\n return true;\n }\n const tag = (error as { _tag?: unknown })._tag;\n if (typeof tag === \"string\" && matchesUserRejectionTag(tag)) {\n return true;\n }\n return checkUserRejectionRecord(error as UserRejectionRecord, depth);\n }\n\n if (typeof error === \"object\") {\n return checkUserRejectionRecord(error as UserRejectionRecord, depth);\n }\n\n return false;\n}\n\n/**\n * Strict user rejection detection based on tags, names, codes, and nested causes.\n */\nexport function isUserRejectedError(error: unknown): boolean {\n return checkUserRejection(error, 0);\n}\n\n/**\n * Lenient user rejection check based on error messages and nested causes.\n * Useful for UI hints, not for control flow.\n */\nexport function isLikelyUserRejectedError(error: unknown): boolean {\n return checkLikelyUserRejection(error, 0);\n}\n\nfunction checkLikelyUserRejectionRecord(record: UserRejectionLooseRecord, depth: number): boolean {\n if (typeof record.message === \"string\" && matchesUserRejectionMessage(record.message)) {\n return true;\n }\n if (Cause.isCause(record.cause)) {\n return checkLikelyUserRejection(Cause.squash(record.cause), depth + 1);\n }\n if (record.cause && checkLikelyUserRejection(record.cause, depth + 1)) {\n return true;\n }\n if (record.error && checkLikelyUserRejection(record.error, depth + 1)) {\n return true;\n }\n if (Array.isArray(record.errors)) {\n return record.errors.some((err) => checkLikelyUserRejection(err, depth + 1));\n }\n return false;\n}\n\nfunction checkLikelyUserRejection(error: unknown, depth: number): boolean {\n if (!error || depth > 4) {\n return false;\n }\n\n if (isUserRejectedError(error)) {\n return true;\n }\n\n if (typeof error === \"string\") {\n return matchesUserRejectionMessage(error);\n }\n\n if (Cause.isCause(error)) {\n return checkLikelyUserRejection(Cause.squash(error), depth + 1);\n }\n\n if (error instanceof Error) {\n if (matchesUserRejectionMessage(error.message)) {\n return true;\n }\n return checkLikelyUserRejectionRecord(error as UserRejectionLooseRecord, depth);\n }\n\n if (typeof error === \"object\") {\n return checkLikelyUserRejectionRecord(error as UserRejectionLooseRecord, depth);\n }\n\n return false;\n}\n\n/**\n * Catch UserRejectedError and return a fallback value.\n * Useful for treating rejection as \"cancelled\" rather than \"failed\".\n *\n * @example\n * ```ts\n * const result = await Effect.runPromise(\n * pipeline.writeAndWait(request).pipe(catchUserRejection(null))\n * );\n * if (result === null) {\n * // User cancelled - reset to idle\n * }\n * ```\n */\nexport const catchUserRejection: {\n <A2>(\n fallback: A2\n ): <A, E, R>(\n effect: Effect.Effect<A, E, R>\n ) => Effect.Effect<A | A2, Exclude<E, UserRejectedError>, R>;\n <A, E, R, A2>(\n effect: Effect.Effect<A, E, R>,\n fallback: A2\n ): Effect.Effect<A | A2, Exclude<E, UserRejectedError>, R>;\n} = dual(\n 2,\n <A, E, R, A2>(\n effect: Effect.Effect<A, E, R>,\n fallback: A2\n ): Effect.Effect<A | A2, Exclude<E, UserRejectedError>, R> =>\n Effect.catchIf(effect, isUserRejectedError, () => Effect.succeed(fallback)) as Effect.Effect<\n A | A2,\n Exclude<E, UserRejectedError>,\n R\n >\n);\n\n/**\n * Catch UserRejectedError and run a fallback effect.\n *\n * @example\n * ```ts\n * const result = await Effect.runPromise(\n * pipeline.writeAndWait(request).pipe(\n * catchUserRejectionWith(Effect.succeed({ cancelled: true }))\n * )\n * );\n * ```\n */\nexport const catchUserRejectionWith: {\n <A2, E2, R2>(\n fallback: Effect.Effect<A2, E2, R2>\n ): <A, E, R>(\n effect: Effect.Effect<A, E, R>\n ) => Effect.Effect<A | A2, Exclude<E, UserRejectedError> | E2, R | R2>;\n <A, E, R, A2, E2, R2>(\n effect: Effect.Effect<A, E, R>,\n fallback: Effect.Effect<A2, E2, R2>\n ): Effect.Effect<A | A2, Exclude<E, UserRejectedError> | E2, R | R2>;\n} = dual(\n 2,\n <A, E, R, A2, E2, R2>(\n effect: Effect.Effect<A, E, R>,\n fallback: Effect.Effect<A2, E2, R2>\n ): Effect.Effect<A | A2, Exclude<E, UserRejectedError> | E2, R | R2> =>\n Effect.catchIf(effect, isUserRejectedError, () => fallback) as Effect.Effect<\n A | A2,\n Exclude<E, UserRejectedError> | E2,\n R | R2\n >\n);\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Address, Hash } from "viem";
|
|
2
2
|
import { ContractReadError, ContractWriteError, GasEstimationError, SimulationFailedError } from "../../core/errors/contract.js";
|
|
3
3
|
import { InsufficientFundsError, UserRejectedError } from "../../core/errors/transaction.js";
|
|
4
|
-
import { AddChainError, ChainSwitchError, SignMessageError,
|
|
4
|
+
import { AddChainError, ChainSwitchError, SignMessageError, SignTxError, SignTypedDataError, WalletConnectionError, WatchAssetError } from "../../wallet/index.js";
|
|
5
5
|
export declare function isUserRejection(error: unknown): boolean;
|
|
6
6
|
export declare function isInsufficientFunds(error: unknown): boolean;
|
|
7
7
|
export declare function extractRevertReason(error: unknown): string | undefined;
|
|
8
|
-
export declare function
|
|
8
|
+
export declare function isTxReplaced(error: unknown): {
|
|
9
9
|
newHash: Hash;
|
|
10
10
|
replaced: true;
|
|
11
11
|
} | false;
|
|
@@ -38,7 +38,7 @@ export declare function classifyWalletError(error: unknown, operation: "signType
|
|
|
38
38
|
}): UserRejectedError | SignTypedDataError;
|
|
39
39
|
export declare function classifyWalletError(error: unknown, operation: "signTransaction", context?: {
|
|
40
40
|
chainId?: number;
|
|
41
|
-
}): UserRejectedError |
|
|
41
|
+
}): UserRejectedError | SignTxError;
|
|
42
42
|
export declare function classifyWalletError(error: unknown, operation: "watchAsset", context?: {
|
|
43
43
|
chainId?: number;
|
|
44
44
|
}): UserRejectedError | WatchAssetError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viem-mapper.d.ts","sourceRoot":"","sources":["../../../src/core/errors/viem-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAU1C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"viem-mapper.d.ts","sourceRoot":"","sources":["../../../src/core/errors/viem-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,15 @@
|
|
|
1
1
|
import { ContractFunctionExecutionError, ContractFunctionRevertedError, BaseError as CoreError, EstimateGasExecutionError, TransactionExecutionError, UserRejectedRequestError, InsufficientFundsError as ViemInsufficientFundsError, } from "viem";
|
|
2
2
|
import { ContractReadError, ContractWriteError, GasEstimationError, SimulationFailedError, } from "../../core/errors/contract.js";
|
|
3
|
-
import { InsufficientFundsError, UserRejectedError } from "../../core/errors/transaction.js";
|
|
4
|
-
import { AddChainError, ChainSwitchError, SignMessageError,
|
|
3
|
+
import { InsufficientFundsError, isLikelyUserRejectedError, UserRejectedError, } from "../../core/errors/transaction.js";
|
|
4
|
+
import { AddChainError, ChainSwitchError, SignMessageError, SignTxError, SignTypedDataError, WalletConnectionError, WatchAssetError, } from "../../wallet/index.js";
|
|
5
5
|
const REVERT_REASON_RE = /reverted with reason: (.+?)(?:\n|$)/;
|
|
6
|
+
const REVERT_REASON_STRING_RE = /reverted with reason string '(.+?)'/;
|
|
6
7
|
const REVERT_CUSTOM_ERROR_RE = /reverted with custom error '(.+?)'/;
|
|
7
8
|
const EXECUTION_REVERTED_RE = /execution reverted(?::?\s*)(.+?)(?:\n|$)/i;
|
|
9
|
+
const EXECUTION_REVERTED_GENERIC_RE = /execution reverted/i;
|
|
8
10
|
const TX_HASH_RE = /0x[a-fA-F0-9]{64}/;
|
|
9
11
|
export function isUserRejection(error) {
|
|
10
|
-
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
if (error instanceof Error) {
|
|
14
|
-
const message = error.message.toLowerCase();
|
|
15
|
-
return (message.includes("user rejected") ||
|
|
16
|
-
message.includes("user denied") ||
|
|
17
|
-
message.includes("user cancelled") ||
|
|
18
|
-
message.includes("rejected by user") ||
|
|
19
|
-
message.includes("denied by user"));
|
|
20
|
-
}
|
|
21
|
-
return false;
|
|
12
|
+
return isLikelyUserRejectedError(error) || error instanceof UserRejectedRequestError;
|
|
22
13
|
}
|
|
23
14
|
export function isInsufficientFunds(error) {
|
|
24
15
|
if (error instanceof ViemInsufficientFundsError) {
|
|
@@ -59,6 +50,10 @@ export function extractRevertReason(error) {
|
|
|
59
50
|
}
|
|
60
51
|
}
|
|
61
52
|
if (error instanceof Error) {
|
|
53
|
+
const reasonStringMatch = error.message.match(REVERT_REASON_STRING_RE);
|
|
54
|
+
if (reasonStringMatch?.[1]) {
|
|
55
|
+
return reasonStringMatch[1];
|
|
56
|
+
}
|
|
62
57
|
const execMatch = error.message.match(EXECUTION_REVERTED_RE);
|
|
63
58
|
if (execMatch?.[1]) {
|
|
64
59
|
return execMatch[1].trim();
|
|
@@ -71,10 +66,13 @@ export function extractRevertReason(error) {
|
|
|
71
66
|
if (customMatch?.[1]) {
|
|
72
67
|
return customMatch[1];
|
|
73
68
|
}
|
|
69
|
+
if (EXECUTION_REVERTED_GENERIC_RE.test(error.message)) {
|
|
70
|
+
return "execution reverted";
|
|
71
|
+
}
|
|
74
72
|
}
|
|
75
73
|
return undefined;
|
|
76
74
|
}
|
|
77
|
-
export function
|
|
75
|
+
export function isTxReplaced(error) {
|
|
78
76
|
const byExecutionError = error instanceof TransactionExecutionError
|
|
79
77
|
? getReplacementHashFromExecutionError(error)
|
|
80
78
|
: undefined;
|
|
@@ -230,7 +228,7 @@ export function classifyWalletError(error, operation, context) {
|
|
|
230
228
|
message: error instanceof Error ? error.message : "Failed to sign typed data",
|
|
231
229
|
});
|
|
232
230
|
case "signTransaction":
|
|
233
|
-
return new
|
|
231
|
+
return new SignTxError({
|
|
234
232
|
cause: error,
|
|
235
233
|
message: error instanceof Error ? error.message : "Failed to sign transaction",
|
|
236
234
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viem-mapper.js","sourceRoot":"","sources":["../../../src/core/errors/viem-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"viem-mapper.js","sourceRoot":"","sources":["../../../src/core/errors/viem-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Address, Hash } from \"viem\";\nimport {\n ContractFunctionExecutionError,\n ContractFunctionRevertedError,\n BaseError as CoreError,\n EstimateGasExecutionError,\n TransactionExecutionError,\n UserRejectedRequestError,\n InsufficientFundsError as ViemInsufficientFundsError,\n} from \"viem\";\nimport {\n ContractReadError,\n ContractWriteError,\n GasEstimationError,\n SimulationFailedError,\n} from \"@/src/core/errors/contract.js\";\nimport {\n InsufficientFundsError,\n isLikelyUserRejectedError,\n UserRejectedError,\n} from \"@/src/core/errors/transaction.js\";\nimport {\n AddChainError,\n ChainSwitchError,\n SignMessageError,\n SignTxError,\n SignTypedDataError,\n WalletConnectionError,\n WatchAssetError,\n} from \"@/src/wallet/index.js\";\n\nconst REVERT_REASON_RE = /reverted with reason: (.+?)(?:\\n|$)/;\nconst REVERT_REASON_STRING_RE = /reverted with reason string '(.+?)'/;\nconst REVERT_CUSTOM_ERROR_RE = /reverted with custom error '(.+?)'/;\nconst EXECUTION_REVERTED_RE = /execution reverted(?::?\\s*)(.+?)(?:\\n|$)/i;\nconst EXECUTION_REVERTED_GENERIC_RE = /execution reverted/i;\nconst TX_HASH_RE = /0x[a-fA-F0-9]{64}/;\n\n/**\n * Check if an error represents a user rejection (wallet user denied the request)\n */\nexport function isUserRejection(error: unknown): boolean {\n return isLikelyUserRejectedError(error) || error instanceof UserRejectedRequestError;\n}\n\n/**\n * Check if an error represents insufficient funds\n */\nexport function isInsufficientFunds(error: unknown): boolean {\n if (error instanceof ViemInsufficientFundsError) {\n return true;\n }\n\n // Fallback: check error message\n if (error instanceof Error) {\n const message = error.message.toLowerCase();\n return (\n message.includes(\"insufficient funds\") ||\n message.includes(\"insufficient balance\") ||\n message.includes(\"exceeds balance\")\n );\n }\n\n return false;\n}\n\n/**\n * Extract revert reason from Viem errors using walk() to traverse the error chain.\n * See: https://github.com/wevm/viem/discussions/3519\n */\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: error extraction requires multiple conditional branches for different error types\nexport function extractRevertReason(error: unknown): string | undefined {\n // Use walk() to traverse to the deepest error in the chain (undocumented but reliable)\n // This handles nested error structures like ContractFunctionExecutionError wrapping ContractFunctionRevertedError\n if (error instanceof CoreError) {\n // First try to find a ContractFunctionRevertedError in the chain\n const revertError = error.walk(\n (e) => e instanceof ContractFunctionRevertedError\n ) as ContractFunctionRevertedError | null;\n\n if (revertError) {\n // Try reason property (decoded string revert)\n if (revertError.reason) {\n return revertError.reason;\n }\n // Try data.errorName for custom errors\n if (revertError.data?.errorName) {\n return revertError.data.errorName;\n }\n // Try shortMessage which often contains the revert reason\n if (revertError.shortMessage) {\n const match = revertError.shortMessage.match(EXECUTION_REVERTED_RE);\n if (match?.[1]) {\n return match[1].trim();\n }\n return revertError.shortMessage;\n }\n }\n\n // Fall back to the deepest error's shortMessage\n const deepestError = error.walk();\n if (deepestError instanceof CoreError && deepestError.shortMessage) {\n const match = deepestError.shortMessage.match(EXECUTION_REVERTED_RE);\n if (match?.[1]) {\n return match[1].trim();\n }\n }\n }\n\n // Fall back to regex matching on message\n if (error instanceof Error) {\n // Try \"reason string '...'\" format (e.g., \"Transaction reverted with reason string 'Insufficient allowance'\")\n const reasonStringMatch = error.message.match(REVERT_REASON_STRING_RE);\n if (reasonStringMatch?.[1]) {\n return reasonStringMatch[1];\n }\n\n // Try Viem's \"execution reverted:\" format with a reason\n const execMatch = error.message.match(EXECUTION_REVERTED_RE);\n if (execMatch?.[1]) {\n return execMatch[1].trim();\n }\n\n // Try legacy formats\n const revertMatch = error.message.match(REVERT_REASON_RE);\n if (revertMatch?.[1]) {\n return revertMatch[1];\n }\n\n const customMatch = error.message.match(REVERT_CUSTOM_ERROR_RE);\n if (customMatch?.[1]) {\n return customMatch[1];\n }\n\n // Check for generic \"execution reverted\" without specific reason\n if (EXECUTION_REVERTED_GENERIC_RE.test(error.message)) {\n return \"execution reverted\";\n }\n }\n\n return undefined;\n}\n\n/**\n * Check if an error represents a transaction replacement\n * Returns replacement info if replaced, false otherwise\n */\nexport function isTxReplaced(error: unknown): { newHash: Hash; replaced: true } | false {\n const byExecutionError =\n error instanceof TransactionExecutionError\n ? getReplacementHashFromExecutionError(error)\n : undefined;\n if (byExecutionError) {\n return { newHash: byExecutionError, replaced: true };\n }\n\n const byMessage =\n error instanceof Error ? getReplacementHashFromMessage(error.message) : undefined;\n if (byMessage) {\n return { newHash: byMessage, replaced: true };\n }\n\n return false;\n}\n\nfunction getReplacementHashFromExecutionError(error: TransactionExecutionError): Hash | undefined {\n const cause = error.cause;\n if (!cause || typeof cause !== \"object\") {\n return;\n }\n\n if (!(\"name\" in cause) || cause.name !== \"TransactionNotFoundError\") {\n return;\n }\n\n const details = (cause as { details?: string }).details;\n if (!details) {\n return;\n }\n\n const hashMatch = details.match(TX_HASH_RE);\n return hashMatch?.[0] ? (hashMatch[0] as Hash) : undefined;\n}\n\nfunction getReplacementHashFromMessage(message: string): Hash | undefined {\n if (!(message.includes(\"replaced\") || message.includes(\"repriced\"))) {\n return;\n }\n\n const hashes = message.match(/0x[a-fA-F0-9]{64}/g);\n if (!hashes || hashes.length === 0) {\n return;\n }\n\n return (hashes.length >= 2 ? hashes[1] : hashes[0]) as Hash;\n}\n\n/**\n * Classify contract read/simulation errors into specific error types\n */\nexport function classifyContractError(\n error: unknown,\n context: { address: Address; functionName: string }\n): ContractReadError | SimulationFailedError | InsufficientFundsError | UserRejectedError {\n // Check for user rejection first\n if (isUserRejection(error)) {\n return new UserRejectedError({\n message: error instanceof Error ? error.message : \"User rejected the request\",\n });\n }\n\n // Check for insufficient funds\n if (isInsufficientFunds(error)) {\n return new InsufficientFundsError({\n available: \"0\", // We don't have this info in the error\n message: error instanceof Error ? error.message : \"Insufficient funds\",\n required: \"0\", // We don't have this info in the error\n });\n }\n\n // Check for contract function execution errors (reverts)\n if (\n error instanceof ContractFunctionExecutionError ||\n error instanceof ContractFunctionRevertedError\n ) {\n const revertReason = extractRevertReason(error);\n return new SimulationFailedError({\n address: context.address,\n functionName: context.functionName,\n message: `Failed to simulate ${context.functionName} on ${context.address}${revertReason ? `: ${revertReason}` : \"\"}`,\n revertData: revertReason,\n });\n }\n\n // Default: return generic contract read error\n return new ContractReadError({\n address: context.address,\n cause: error,\n functionName: context.functionName,\n message: `Failed to read ${context.functionName} from ${context.address}`,\n });\n}\n\n/**\n * Classify contract write errors into specific error types\n */\nexport function classifyWriteError(\n error: unknown,\n context: { address: Address; functionName: string }\n): ContractWriteError | InsufficientFundsError | UserRejectedError {\n // Check for user rejection first\n if (isUserRejection(error)) {\n return new UserRejectedError({\n message: error instanceof Error ? error.message : \"User rejected the transaction\",\n });\n }\n\n // Check for insufficient funds\n if (isInsufficientFunds(error)) {\n return new InsufficientFundsError({\n available: \"0\", // We don't have this info in the error\n message: error instanceof Error ? error.message : \"Insufficient funds for transaction\",\n required: \"0\", // We don't have this info in the error\n });\n }\n\n // Default: return generic contract write error\n return new ContractWriteError({\n address: context.address,\n cause: error,\n functionName: context.functionName,\n message: `Failed to write ${context.functionName} to ${context.address}`,\n });\n}\n\n/**\n * Classify gas estimation errors into specific error types\n */\nexport function classifyGasEstimationError(\n error: unknown,\n context: { address: Address; functionName: string }\n): GasEstimationError | InsufficientFundsError | UserRejectedError {\n // Check for user rejection\n if (isUserRejection(error)) {\n return new UserRejectedError({\n message: error instanceof Error ? error.message : \"User rejected the request\",\n });\n }\n\n // Check for insufficient funds\n if (isInsufficientFunds(error)) {\n return new InsufficientFundsError({\n available: \"0\",\n message: error instanceof Error ? error.message : \"Insufficient funds for gas estimation\",\n required: \"0\",\n });\n }\n\n // Check for viem's EstimateGasExecutionError\n if (error instanceof EstimateGasExecutionError) {\n const revertReason = extractRevertReason(error.cause);\n return new GasEstimationError({\n address: context.address,\n cause: error,\n functionName: context.functionName,\n message: `Failed to estimate gas for ${context.functionName} on ${context.address}${revertReason ? `: ${revertReason}` : \"\"}`,\n });\n }\n\n // Default: return generic gas estimation error\n return new GasEstimationError({\n address: context.address,\n cause: error,\n functionName: context.functionName,\n message: `Failed to estimate gas for ${context.functionName} on ${context.address}`,\n });\n}\n\n/**\n * Classify wallet operation errors into specific error types\n */\nexport function classifyWalletError(\n error: unknown,\n operation: \"connect\",\n context?: { chainId?: number }\n): UserRejectedError | WalletConnectionError;\nexport function classifyWalletError(\n error: unknown,\n operation: \"switchChain\",\n context?: { chainId?: number }\n): UserRejectedError | ChainSwitchError;\nexport function classifyWalletError(\n error: unknown,\n operation: \"addChain\",\n context?: { chainId?: number }\n): UserRejectedError | AddChainError;\nexport function classifyWalletError(\n error: unknown,\n operation: \"signMessage\",\n context?: { chainId?: number }\n): UserRejectedError | SignMessageError;\nexport function classifyWalletError(\n error: unknown,\n operation: \"signTypedData\",\n context?: { chainId?: number }\n): UserRejectedError | SignTypedDataError;\nexport function classifyWalletError(\n error: unknown,\n operation: \"signTransaction\",\n context?: { chainId?: number }\n): UserRejectedError | SignTxError;\nexport function classifyWalletError(\n error: unknown,\n operation: \"watchAsset\",\n context?: { chainId?: number }\n): UserRejectedError | WatchAssetError;\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: switch statement complexity is inherent to operation classification\nexport function classifyWalletError(\n error: unknown,\n operation:\n | \"connect\"\n | \"switchChain\"\n | \"addChain\"\n | \"signMessage\"\n | \"signTypedData\"\n | \"signTransaction\"\n | \"watchAsset\",\n context?: { chainId?: number }\n):\n | UserRejectedError\n | WalletConnectionError\n | ChainSwitchError\n | AddChainError\n | SignMessageError\n | SignTypedDataError\n | SignTxError\n | WatchAssetError {\n // Check for user rejection first\n if (isUserRejection(error)) {\n return new UserRejectedError({\n message: error instanceof Error ? error.message : \"User rejected the request\",\n });\n }\n\n // Return operation-specific error\n switch (operation) {\n case \"connect\":\n return new WalletConnectionError({\n cause: error,\n message: error instanceof Error ? error.message : \"Failed to connect wallet\",\n });\n\n case \"switchChain\":\n return new ChainSwitchError({\n cause: error,\n chainId: context?.chainId ?? 0,\n message:\n error instanceof Error\n ? error.message\n : `Failed to switch to chain ${context?.chainId ?? \"unknown\"}`,\n });\n\n case \"addChain\":\n return new AddChainError({\n cause: error,\n chainId: context?.chainId ?? 0,\n message:\n error instanceof Error\n ? error.message\n : `Failed to add chain ${context?.chainId ?? \"unknown\"}`,\n });\n\n case \"signMessage\":\n return new SignMessageError({\n cause: error,\n message: error instanceof Error ? error.message : \"Failed to sign message\",\n });\n\n case \"signTypedData\":\n return new SignTypedDataError({\n cause: error,\n message: error instanceof Error ? error.message : \"Failed to sign typed data\",\n });\n\n case \"signTransaction\":\n return new SignTxError({\n cause: error,\n message: error instanceof Error ? error.message : \"Failed to sign transaction\",\n });\n\n case \"watchAsset\":\n return new WatchAssetError({\n cause: error,\n message: error instanceof Error ? error.message : \"Failed to watch asset\",\n });\n default: {\n const _exhaustive: never = operation;\n return new WalletConnectionError({\n cause: error,\n message: `Unhandled wallet operation: ${_exhaustive}`,\n });\n }\n }\n}\n"]}
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC","sourcesContent":["export * from \"./clients/index.js\";\nexport * from \"./errors/index.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/deploy/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE;IAC5F,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CAC3C,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/deploy/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE;IAC5F,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,uBAAwB,SAAQ,MAAM,CAAC,WAAW,EAA2B,CACxF,yBAAyB,EACzB;IACE,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CAC3C,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class DeploymentError extends Schema.TaggedError<DeploymentError>()(\"DeploymentError\", {\n cause: Schema.optional(Schema.Unknown),\n message: Schema.String,\n}) {}\n\nexport class DeploymentRevertedError extends Schema.TaggedError<DeploymentRevertedError>()(\n \"DeploymentRevertedError\",\n {\n bytecode: Schema.String,\n message: Schema.String,\n revertData: Schema.optional(Schema.String),\n }\n) {}\n\nexport class BytecodeMismatchError extends Schema.TaggedError<BytecodeMismatchError>()(\n \"BytecodeMismatchError\",\n {\n actual: Schema.String,\n address: Schema.String,\n expected: Schema.String,\n message: Schema.String,\n }\n) {}\n"]}
|
package/dist/deploy/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/deploy/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/deploy/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC","sourcesContent":["export * from \"./errors.js\";\nexport * from \"./service.js\";\n"]}
|
package/dist/deploy/service.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Scope, SubscriptionRef } from "effect";
|
|
2
2
|
import { Context, Effect, Layer } from "effect";
|
|
3
3
|
import type { Abi, Address, ContractConstructorArgs, Hash, Hex, TransactionReceipt } from "viem";
|
|
4
|
-
import type { ClientNotFoundError, ContractWriteError, ReceiptTimeoutError,
|
|
4
|
+
import type { ClientNotFoundError, ContractWriteError, ReceiptTimeoutError, TxFailedError, TxReplacedError, UserRejectedError, WrongNetworkError } from "../core/index.js";
|
|
5
5
|
import { PublicClientService, WalletClientService, WalletNotConnectedError } from "../core/index.js";
|
|
6
6
|
import { BytecodeMismatchError, DeploymentError, DeploymentRevertedError } from "../deploy/index.js";
|
|
7
7
|
import type { GasPriceUnavailableError } from "../gas/index.js";
|
|
@@ -28,7 +28,7 @@ export type DeployServiceShape = {
|
|
|
28
28
|
value?: bigint;
|
|
29
29
|
account?: Address;
|
|
30
30
|
gas?: bigint;
|
|
31
|
-
} & DeployArgsField<TAbi>) => Effect.Effect<DeployResult, DeploymentError | DeploymentRevertedError | GasPriceUnavailableError | ContractWriteError | UserRejectedError | ClientNotFoundError | WalletNotConnectedError | WrongNetworkError | ReceiptTimeoutError |
|
|
31
|
+
} & DeployArgsField<TAbi>) => Effect.Effect<DeployResult, DeploymentError | DeploymentRevertedError | GasPriceUnavailableError | ContractWriteError | UserRejectedError | ClientNotFoundError | WalletNotConnectedError | WrongNetworkError | ReceiptTimeoutError | TxFailedError | TxReplacedError>;
|
|
32
32
|
readonly deployAndTrack: <TAbi extends Abi>(params: {
|
|
33
33
|
chainId: number;
|
|
34
34
|
abi: TAbi;
|
|
@@ -38,7 +38,7 @@ export type DeployServiceShape = {
|
|
|
38
38
|
policy?: TxPolicy;
|
|
39
39
|
} & DeployArgsField<TAbi>) => Effect.Effect<{
|
|
40
40
|
stateRef: SubscriptionRef.SubscriptionRef<TxState>;
|
|
41
|
-
result: Effect.Effect<DeployResult, DeploymentError | DeploymentRevertedError | GasPriceUnavailableError | ContractWriteError | UserRejectedError | ClientNotFoundError | WalletNotConnectedError | WrongNetworkError | ReceiptTimeoutError |
|
|
41
|
+
result: Effect.Effect<DeployResult, DeploymentError | DeploymentRevertedError | GasPriceUnavailableError | ContractWriteError | UserRejectedError | ClientNotFoundError | WalletNotConnectedError | WrongNetworkError | ReceiptTimeoutError | TxFailedError | TxReplacedError>;
|
|
42
42
|
}, never, Scope.Scope>;
|
|
43
43
|
readonly computeAddress: (params: {
|
|
44
44
|
from: Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/deploy/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAEjG,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/deploy/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/deploy/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/deploy/service.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Scope, SubscriptionRef } from \"effect\";\nimport { Context, Effect, Layer } from \"effect\";\nimport type { Abi, Address, ContractConstructorArgs, Hash, Hex, TransactionReceipt } from \"viem\";\nimport { getContractAddress } from \"viem\";\nimport type {\n ClientNotFoundError,\n ContractWriteError,\n ReceiptTimeoutError,\n TxFailedError,\n TxReplacedError,\n UserRejectedError,\n WrongNetworkError,\n} from \"@/src/core/index.js\";\nimport {\n PublicClientService,\n WalletClientService,\n WalletNotConnectedError,\n} from \"@/src/core/index.js\";\nimport {\n BytecodeMismatchError,\n DeploymentError,\n DeploymentRevertedError,\n} from \"@/src/deploy/index.js\";\nimport type { GasPriceUnavailableError } from \"@/src/gas/index.js\";\nimport { GasService } from \"@/src/gas/index.js\";\nimport type { TxPolicy, TxState } from \"@/src/tx/index.js\";\nimport { defaultPolicy, deriveFeeOverrides, makeTxTracker, TxManager } from \"@/src/tx/index.js\";\n\ntype DeployArgs<TAbi extends Abi> = ContractConstructorArgs<TAbi>;\ntype DeployArgsField<TAbi extends Abi> =\n readonly [] extends DeployArgs<TAbi>\n ? { args?: DeployArgs<TAbi> | undefined }\n : { args: DeployArgs<TAbi> };\n\nexport type DeployResult = {\n hash: Hash;\n address: Address;\n receipt: TransactionReceipt;\n deployedBytecode: Hex;\n};\n\nexport type DeployServiceShape = {\n readonly deploy: <TAbi extends Abi>(\n params: {\n chainId: number;\n abi: TAbi;\n bytecode: Hex;\n value?: bigint;\n account?: Address;\n gas?: bigint;\n } & DeployArgsField<TAbi>\n ) => Effect.Effect<\n DeployResult,\n | DeploymentError\n | DeploymentRevertedError\n | GasPriceUnavailableError\n | ContractWriteError\n | UserRejectedError\n | ClientNotFoundError\n | WalletNotConnectedError\n | WrongNetworkError\n | ReceiptTimeoutError\n | TxFailedError\n | TxReplacedError\n >;\n\n readonly deployAndTrack: <TAbi extends Abi>(\n params: {\n chainId: number;\n abi: TAbi;\n bytecode: Hex;\n value?: bigint;\n account?: Address;\n policy?: TxPolicy;\n } & DeployArgsField<TAbi>\n ) => Effect.Effect<\n {\n stateRef: SubscriptionRef.SubscriptionRef<TxState>;\n result: Effect.Effect<\n DeployResult,\n | DeploymentError\n | DeploymentRevertedError\n | GasPriceUnavailableError\n | ContractWriteError\n | UserRejectedError\n | ClientNotFoundError\n | WalletNotConnectedError\n | WrongNetworkError\n | ReceiptTimeoutError\n | TxFailedError\n | TxReplacedError\n >;\n },\n never,\n Scope.Scope\n >;\n\n readonly computeAddress: (params: {\n from: Address;\n nonce: bigint;\n }) => Effect.Effect<Address, never>;\n\n readonly verifyDeployment: (params: {\n chainId: number;\n address: Address;\n }) => Effect.Effect<boolean, DeploymentError | ClientNotFoundError>;\n\n readonly verifyDeploymentStrict: (params: {\n chainId: number;\n address: Address;\n expectedBytecode: Hex;\n }) => Effect.Effect<boolean, BytecodeMismatchError | DeploymentError | ClientNotFoundError>;\n};\n\nexport class DeployService extends Context.Tag(\"ew3/DeployService\")<\n DeployService,\n DeployServiceShape\n>() {}\n\nexport const DeployServiceLive = Layer.effect(\n DeployService,\n Effect.gen(function* () {\n const publicClientService = yield* PublicClientService;\n const walletClientService = yield* WalletClientService;\n const txManager = yield* TxManager;\n const gasService = yield* GasService;\n\n return {\n computeAddress: Effect.fn(\"DeployService.computeAddress\")(\n (params: { from: Address; nonce: bigint }) => {\n return Effect.sync(() => {\n // Use viem's getContractAddress\n return getContractAddress({\n from: params.from,\n nonce: params.nonce,\n });\n });\n }\n ),\n deploy: Effect.fn(\"DeployService.deploy\")(function* <TAbi extends Abi>(\n params: {\n chainId: number;\n abi: TAbi;\n bytecode: Hex;\n value?: bigint;\n account?: Address;\n gas?: bigint;\n } & DeployArgsField<TAbi>\n ) {\n const walletClient = yield* walletClientService.get(params.chainId);\n const publicClient = yield* publicClientService.get(params.chainId);\n const account = params.account ?? walletClient.account?.address;\n const policy = defaultPolicy;\n\n if (!account) {\n return yield* Effect.fail(\n new WalletNotConnectedError({\n chainId: params.chainId,\n message: \"No active account found. Provide `account` explicitly.\",\n })\n );\n }\n\n const feeOverrides = yield* deriveFeeOverrides({\n chainId: params.chainId,\n policy,\n }).pipe(Effect.provideService(GasService, gasService));\n\n // Deploy the contract\n const hash = yield* Effect.tryPromise({\n catch: (cause) => {\n const error = cause as Error;\n // Check if this is a revert error\n if (error.message.includes(\"revert\") || error.message.includes(\"execution reverted\")) {\n return new DeploymentRevertedError({\n bytecode: params.bytecode,\n message: error.message,\n revertData: undefined, // viem doesn't provide revert data easily\n });\n }\n\n return new DeploymentError({\n cause,\n message: error instanceof Error ? error.message : \"Deployment failed\",\n });\n },\n try: () => {\n const base = {\n abi: params.abi,\n account,\n args: params.args,\n bytecode: params.bytecode,\n chain: walletClient.chain ?? null,\n gas: params.gas,\n value: params.value,\n };\n\n if (\"gasPrice\" in feeOverrides) {\n return walletClient.deployContract({\n ...base,\n gasPrice: feeOverrides.gasPrice,\n type: \"legacy\",\n });\n }\n\n return walletClient.deployContract({\n ...base,\n maxFeePerGas: feeOverrides.maxFeePerGas,\n maxPriorityFeePerGas: feeOverrides.maxPriorityFeePerGas,\n type: \"eip1559\",\n });\n },\n });\n\n // Wait for receipt\n const receipt = yield* txManager.waitForReceipt(params.chainId, hash);\n\n // Contract address is in the receipt\n const address = receipt.contractAddress;\n if (!address) {\n return yield* Effect.fail(\n new DeploymentError({\n message: \"Contract deployment succeeded but no address was returned\",\n })\n );\n }\n\n // Get deployed bytecode\n const deployedBytecode = yield* Effect.tryPromise({\n catch: (cause) =>\n new DeploymentError({\n cause,\n message: \"Failed to fetch deployed bytecode\",\n }),\n try: () => publicClient.getBytecode({ address }),\n });\n\n if (!deployedBytecode) {\n return yield* Effect.fail(\n new DeploymentError({\n message: `No bytecode found at deployed address ${address}`,\n })\n );\n }\n\n return {\n address,\n deployedBytecode,\n hash,\n receipt,\n };\n }),\n\n deployAndTrack: <TAbi extends Abi>(\n params: {\n chainId: number;\n abi: TAbi;\n bytecode: Hex;\n value?: bigint;\n account?: Address;\n policy?: TxPolicy;\n } & DeployArgsField<TAbi>\n ) =>\n Effect.gen(function* () {\n const tracker = yield* makeTxTracker;\n const policy = params.policy ?? defaultPolicy;\n\n // Set initial state\n yield* tracker.set({ status: \"idle\" });\n\n const result = Effect.gen(function* () {\n // Get clients inside the result Effect so errors stay in the inner channel\n const walletClient = yield* walletClientService.get(params.chainId);\n const publicClient = yield* publicClientService.get(params.chainId);\n const account = params.account ?? walletClient.account?.address;\n\n if (!account) {\n return yield* Effect.fail(\n new WalletNotConnectedError({\n chainId: params.chainId,\n message: \"No active account found. Provide `account` explicitly.\",\n })\n );\n }\n\n const feeOverrides = yield* deriveFeeOverrides({\n chainId: params.chainId,\n policy,\n }).pipe(Effect.provideService(GasService, gasService));\n\n // Simulate\n yield* tracker.set({ status: \"simulating\" });\n\n // Deploy the contract\n yield* tracker.set({ status: \"signing\" });\n const hash = yield* Effect.tryPromise({\n catch: (cause) => {\n const error = cause as Error;\n if (\n error.message.includes(\"revert\") ||\n error.message.includes(\"execution reverted\")\n ) {\n return new DeploymentRevertedError({\n bytecode: params.bytecode,\n message: error.message,\n revertData: undefined,\n });\n }\n\n return new DeploymentError({\n cause,\n message: error instanceof Error ? error.message : \"Deployment failed\",\n });\n },\n try: () => {\n const base = {\n abi: params.abi,\n account,\n args: params.args,\n bytecode: params.bytecode,\n chain: walletClient.chain ?? null,\n value: params.value,\n };\n\n if (\"gasPrice\" in feeOverrides) {\n return walletClient.deployContract({\n ...base,\n gasPrice: feeOverrides.gasPrice,\n type: \"legacy\",\n });\n }\n\n return walletClient.deployContract({\n ...base,\n maxFeePerGas: feeOverrides.maxFeePerGas,\n maxPriorityFeePerGas: feeOverrides.maxPriorityFeePerGas,\n type: \"eip1559\",\n });\n },\n });\n\n yield* tracker.set({ hash, status: \"submitted\" });\n\n // Wait for receipt\n const receipt = yield* txManager.waitForReceipt(\n params.chainId,\n hash,\n policy.receiptTimeout\n );\n\n // Contract address is in the receipt\n const address = receipt.contractAddress;\n if (!address) {\n return yield* Effect.fail(\n new DeploymentError({\n message: \"Contract deployment succeeded but no address was returned\",\n })\n );\n }\n\n // Get deployed bytecode\n const deployedBytecode = yield* Effect.tryPromise({\n catch: (cause) =>\n new DeploymentError({\n cause,\n message: \"Failed to fetch deployed bytecode\",\n }),\n try: () => publicClient.getBytecode({ address }),\n });\n\n if (!deployedBytecode) {\n return yield* Effect.fail(\n new DeploymentError({\n message: `No bytecode found at deployed address ${address}`,\n })\n );\n }\n\n yield* tracker.set({ hash, receipt, status: \"mined\" });\n\n return {\n address,\n deployedBytecode,\n hash,\n receipt,\n };\n });\n\n return {\n result,\n stateRef: tracker.ref,\n };\n }),\n\n verifyDeployment: Effect.fn(\"DeployService.verifyDeployment\")(function* (params: {\n chainId: number;\n address: Address;\n }) {\n const publicClient = yield* publicClientService.get(params.chainId);\n\n const actualBytecode = yield* Effect.tryPromise({\n catch: () =>\n new DeploymentError({\n message: \"Failed to fetch bytecode for verification\",\n }),\n try: () => publicClient.getBytecode({ address: params.address }),\n });\n\n if (!actualBytecode || actualBytecode === \"0x\") {\n return false;\n }\n\n return true;\n }),\n\n verifyDeploymentStrict: Effect.fn(\"DeployService.verifyDeploymentStrict\")(function* (params: {\n chainId: number;\n address: Address;\n expectedBytecode: Hex;\n }) {\n const publicClient = yield* publicClientService.get(params.chainId);\n\n const actualBytecode = yield* Effect.tryPromise({\n catch: () =>\n new DeploymentError({\n message: \"Failed to fetch bytecode for strict verification\",\n }),\n try: () => publicClient.getBytecode({ address: params.address }),\n });\n\n if (!actualBytecode || actualBytecode === \"0x\") {\n return false;\n }\n\n if (actualBytecode !== params.expectedBytecode) {\n return yield* Effect.fail(\n new BytecodeMismatchError({\n actual: actualBytecode,\n address: params.address,\n expected: params.expectedBytecode,\n message: `Bytecode mismatch at ${params.address}`,\n })\n );\n }\n\n return true;\n }),\n };\n })\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc7579.js","sourceRoot":"","sources":["../../src/eip7702/erc7579.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAa/D,MAAM,qBAAqB,GAAG;IAC5B,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;KACpC;IACD,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7C;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;CACqB,CAAC;AAEzB,MAAM,UAAU,mCAAmC,CAAC,UAAuC;IACzF,OAAO,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAG5C;IACC,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC7C,YAAY,EAAE,SAAS;KACxB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAGvC;IACC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,OAAO,KAAK,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAC/G,EAAE,CACH,EAAW,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;IAChE,QAAQ,EAAE,QAAQ;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;IAC/D,QAAQ,EAAE,OAAO;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;IACpE,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;IACnE,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"erc7579.js","sourceRoot":"","sources":["../../src/eip7702/erc7579.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAa/D,MAAM,qBAAqB,GAAG;IAC5B,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;KACpC;IACD,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7C;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;CACqB,CAAC;AAEzB,MAAM,UAAU,mCAAmC,CAAC,UAAuC;IACzF,OAAO,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAG5C;IACC,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC7C,YAAY,EAAE,SAAS;KACxB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAGvC;IACC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,OAAO,KAAK,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAC/G,EAAE,CACH,EAAW,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;IAChE,QAAQ,EAAE,QAAQ;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;IAC/D,QAAQ,EAAE,OAAO;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;IACpE,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;IACnE,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC","sourcesContent":["import type { Abi, Address, Hex } from \"viem\";\nimport { encodeAbiParameters, encodeFunctionData } from \"viem\";\n\nexport type Erc7579CallType = \"single\" | \"batch\";\nexport type Erc7579ExecType = \"default\" | \"try\";\n\nexport type Erc7579ModeCode = Hex;\n\nexport type Erc7579Execution = {\n readonly target: Address;\n readonly value: bigint;\n readonly callData: Hex;\n};\n\nconst erc7579ExecutionTuple = {\n components: [\n { name: \"target\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"callData\", type: \"bytes\" },\n ],\n name: \"executions\",\n type: \"tuple[]\",\n} as const;\n\nexport const erc7579AccountAbi = [\n {\n inputs: [\n { name: \"mode\", type: \"bytes32\" },\n { name: \"executionCalldata\", type: \"bytes\" },\n ],\n name: \"execute\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const satisfies Abi;\n\nexport function encodeErc7579BatchExecutionCalldata(executions: readonly Erc7579Execution[]): Hex {\n return encodeAbiParameters([erc7579ExecutionTuple], [executions]);\n}\n\nexport function encodeErc7579ExecuteCalldata(params: {\n readonly mode: Erc7579ModeCode;\n readonly executionCalldata: Hex;\n}): Hex {\n return encodeFunctionData({\n abi: erc7579AccountAbi,\n args: [params.mode, params.executionCalldata],\n functionName: \"execute\",\n });\n}\n\nexport function encodeErc7579SimpleMode(params: {\n readonly callType: Erc7579CallType;\n readonly execType?: Erc7579ExecType | undefined;\n}): Erc7579ModeCode {\n const callTypeByte = params.callType === \"batch\" ? 0x01 : 0x00;\n const execTypeByte = (params.execType ?? \"default\") === \"try\" ? 0x01 : 0x00;\n return `0x${callTypeByte.toString(16).padStart(2, \"0\")}${execTypeByte.toString(16).padStart(2, \"0\")}${\"00\".repeat(\n 30\n )}` as const;\n}\n\nexport const ERC7579_MODE_SIMPLE_SINGLE = encodeErc7579SimpleMode({\n callType: \"single\",\n});\n\nexport const ERC7579_MODE_SIMPLE_BATCH = encodeErc7579SimpleMode({\n callType: \"batch\",\n});\n\nexport const ERC7579_MODE_SIMPLE_SINGLE_TRY = encodeErc7579SimpleMode({\n callType: \"single\",\n execType: \"try\",\n});\n\nexport const ERC7579_MODE_SIMPLE_BATCH_TRY = encodeErc7579SimpleMode({\n callType: \"batch\",\n execType: \"try\",\n});\n"]}
|
package/dist/eip7702/errors.d.ts
CHANGED
|
@@ -17,14 +17,14 @@ declare const Eip7702AuthorizationPreparationError_base: Schema.TaggedErrorClass
|
|
|
17
17
|
}>;
|
|
18
18
|
export declare class Eip7702AuthorizationPreparationError extends Eip7702AuthorizationPreparationError_base {
|
|
19
19
|
}
|
|
20
|
-
declare const
|
|
21
|
-
readonly _tag: Schema.tag<"
|
|
20
|
+
declare const Eip7702SendTxError_base: Schema.TaggedErrorClass<Eip7702SendTxError, "Eip7702SendTxError", {
|
|
21
|
+
readonly _tag: Schema.tag<"Eip7702SendTxError">;
|
|
22
22
|
} & {
|
|
23
23
|
cause: Schema.optional<typeof Schema.Unknown>;
|
|
24
24
|
chainId: typeof Schema.Number;
|
|
25
25
|
message: typeof Schema.String;
|
|
26
26
|
}>;
|
|
27
|
-
export declare class
|
|
27
|
+
export declare class Eip7702SendTxError extends Eip7702SendTxError_base {
|
|
28
28
|
}
|
|
29
29
|
export {};
|
|
30
30
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/eip7702/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;;AAEhC,qBAAa,gCAAiC,SAAQ,qCAOrD;CAAG;;;;;;;;AAEJ,qBAAa,oCAAqC,SAAQ,yCAOzD;CAAG;;;;;;;;AAEJ,qBAAa,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/eip7702/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;;AAEhC,qBAAa,gCAAiC,SAAQ,qCAOrD;CAAG;;;;;;;;AAEJ,qBAAa,oCAAqC,SAAQ,yCAOzD;CAAG;;;;;;;;AAEJ,qBAAa,kBAAmB,SAAQ,uBAOvC;CAAG"}
|
package/dist/eip7702/errors.js
CHANGED
|
@@ -11,7 +11,7 @@ export class Eip7702AuthorizationPreparationError extends Schema.TaggedError()("
|
|
|
11
11
|
message: Schema.String,
|
|
12
12
|
}) {
|
|
13
13
|
}
|
|
14
|
-
export class
|
|
14
|
+
export class Eip7702SendTxError extends Schema.TaggedError()("Eip7702SendTxError", {
|
|
15
15
|
cause: Schema.optional(Schema.Unknown),
|
|
16
16
|
chainId: Schema.Number,
|
|
17
17
|
message: Schema.String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/eip7702/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,gCAAiC,SAAQ,MAAM,CAAC,WAAW,EAAoC,CAC1G,kCAAkC,EAClC;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,oCAAqC,SAAQ,MAAM,CAAC,WAAW,EAAwC,CAClH,sCAAsC,EACtC;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/eip7702/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,gCAAiC,SAAQ,MAAM,CAAC,WAAW,EAAoC,CAC1G,kCAAkC,EAClC;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,oCAAqC,SAAQ,MAAM,CAAC,WAAW,EAAwC,CAClH,sCAAsC,EACtC;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,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,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG","sourcesContent":["import { Schema } from \"effect\";\n\nexport class Eip7702AuthorizationSigningError extends Schema.TaggedError<Eip7702AuthorizationSigningError>()(\n \"Eip7702AuthorizationSigningError\",\n {\n cause: Schema.optional(Schema.Unknown),\n chainId: Schema.Number,\n message: Schema.String,\n }\n) {}\n\nexport class Eip7702AuthorizationPreparationError extends Schema.TaggedError<Eip7702AuthorizationPreparationError>()(\n \"Eip7702AuthorizationPreparationError\",\n {\n cause: Schema.optional(Schema.Unknown),\n chainId: Schema.Number,\n message: Schema.String,\n }\n) {}\n\nexport class Eip7702SendTxError extends Schema.TaggedError<Eip7702SendTxError>()(\n \"Eip7702SendTxError\",\n {\n cause: Schema.optional(Schema.Unknown),\n chainId: Schema.Number,\n message: Schema.String,\n }\n) {}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eip7702/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eip7702/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC","sourcesContent":["export * from \"./erc7579.js\";\nexport * from \"./errors.js\";\nexport * from \"./service.js\";\n"]}
|