@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,73 +0,0 @@
|
|
|
1
|
-
export declare const safeAbis: {
|
|
2
|
-
readonly multiSend: readonly [{
|
|
3
|
-
readonly inputs: readonly [{
|
|
4
|
-
readonly internalType: "bytes";
|
|
5
|
-
readonly name: "transactions";
|
|
6
|
-
readonly type: "bytes";
|
|
7
|
-
}];
|
|
8
|
-
readonly name: "multiSend";
|
|
9
|
-
readonly outputs: readonly [];
|
|
10
|
-
readonly stateMutability: "payable";
|
|
11
|
-
readonly type: "function";
|
|
12
|
-
}];
|
|
13
|
-
readonly multisig: readonly [{
|
|
14
|
-
readonly inputs: readonly [];
|
|
15
|
-
readonly name: "getOwners";
|
|
16
|
-
readonly outputs: readonly [{
|
|
17
|
-
readonly name: "";
|
|
18
|
-
readonly type: "address[]";
|
|
19
|
-
}];
|
|
20
|
-
readonly stateMutability: "view";
|
|
21
|
-
readonly type: "function";
|
|
22
|
-
}, {
|
|
23
|
-
readonly inputs: readonly [{
|
|
24
|
-
readonly internalType: "address";
|
|
25
|
-
readonly name: "targetContract";
|
|
26
|
-
readonly type: "address";
|
|
27
|
-
}, {
|
|
28
|
-
readonly internalType: "bytes";
|
|
29
|
-
readonly name: "calldataPayload";
|
|
30
|
-
readonly type: "bytes";
|
|
31
|
-
}];
|
|
32
|
-
readonly name: "simulateAndRevert";
|
|
33
|
-
readonly outputs: readonly [];
|
|
34
|
-
readonly stateMutability: "nonpayable";
|
|
35
|
-
readonly type: "function";
|
|
36
|
-
}];
|
|
37
|
-
readonly simulateAccessor: readonly [{
|
|
38
|
-
readonly inputs: readonly [{
|
|
39
|
-
readonly internalType: "address";
|
|
40
|
-
readonly name: "to";
|
|
41
|
-
readonly type: "address";
|
|
42
|
-
}, {
|
|
43
|
-
readonly internalType: "uint256";
|
|
44
|
-
readonly name: "value";
|
|
45
|
-
readonly type: "uint256";
|
|
46
|
-
}, {
|
|
47
|
-
readonly internalType: "bytes";
|
|
48
|
-
readonly name: "data";
|
|
49
|
-
readonly type: "bytes";
|
|
50
|
-
}, {
|
|
51
|
-
readonly internalType: "enum Enum.Operation";
|
|
52
|
-
readonly name: "operation";
|
|
53
|
-
readonly type: "uint8";
|
|
54
|
-
}];
|
|
55
|
-
readonly name: "simulate";
|
|
56
|
-
readonly outputs: readonly [{
|
|
57
|
-
readonly internalType: "uint256";
|
|
58
|
-
readonly name: "estimate";
|
|
59
|
-
readonly type: "uint256";
|
|
60
|
-
}, {
|
|
61
|
-
readonly internalType: "bool";
|
|
62
|
-
readonly name: "success";
|
|
63
|
-
readonly type: "bool";
|
|
64
|
-
}, {
|
|
65
|
-
readonly internalType: "bytes";
|
|
66
|
-
readonly name: "returnData";
|
|
67
|
-
readonly type: "bytes";
|
|
68
|
-
}];
|
|
69
|
-
readonly stateMutability: "nonpayable";
|
|
70
|
-
readonly type: "function";
|
|
71
|
-
}];
|
|
72
|
-
};
|
|
73
|
-
//# sourceMappingURL=abis.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/abis.ts"],"names":[],"mappings":"AAgEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIX,CAAC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
const multisigAbi = [
|
|
2
|
-
{
|
|
3
|
-
inputs: [],
|
|
4
|
-
name: "getOwners",
|
|
5
|
-
outputs: [
|
|
6
|
-
{
|
|
7
|
-
name: "",
|
|
8
|
-
type: "address[]",
|
|
9
|
-
},
|
|
10
|
-
],
|
|
11
|
-
stateMutability: "view",
|
|
12
|
-
type: "function",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
inputs: [
|
|
16
|
-
{ internalType: "address", name: "targetContract", type: "address" },
|
|
17
|
-
{ internalType: "bytes", name: "calldataPayload", type: "bytes" },
|
|
18
|
-
],
|
|
19
|
-
name: "simulateAndRevert",
|
|
20
|
-
outputs: [],
|
|
21
|
-
stateMutability: "nonpayable",
|
|
22
|
-
type: "function",
|
|
23
|
-
},
|
|
24
|
-
];
|
|
25
|
-
const multiSendAbi = [
|
|
26
|
-
{
|
|
27
|
-
inputs: [{ internalType: "bytes", name: "transactions", type: "bytes" }],
|
|
28
|
-
name: "multiSend",
|
|
29
|
-
outputs: [],
|
|
30
|
-
stateMutability: "payable",
|
|
31
|
-
type: "function",
|
|
32
|
-
},
|
|
33
|
-
];
|
|
34
|
-
const simulateAccessorAbi = [
|
|
35
|
-
{
|
|
36
|
-
inputs: [
|
|
37
|
-
{ internalType: "address", name: "to", type: "address" },
|
|
38
|
-
{ internalType: "uint256", name: "value", type: "uint256" },
|
|
39
|
-
{ internalType: "bytes", name: "data", type: "bytes" },
|
|
40
|
-
{
|
|
41
|
-
internalType: "enum Enum.Operation",
|
|
42
|
-
name: "operation",
|
|
43
|
-
type: "uint8",
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
name: "simulate",
|
|
47
|
-
outputs: [
|
|
48
|
-
{ internalType: "uint256", name: "estimate", type: "uint256" },
|
|
49
|
-
{ internalType: "bool", name: "success", type: "bool" },
|
|
50
|
-
{ internalType: "bytes", name: "returnData", type: "bytes" },
|
|
51
|
-
],
|
|
52
|
-
stateMutability: "nonpayable",
|
|
53
|
-
type: "function",
|
|
54
|
-
},
|
|
55
|
-
];
|
|
56
|
-
export const safeAbis = {
|
|
57
|
-
multiSend: multiSendAbi,
|
|
58
|
-
multisig: multisigAbi,
|
|
59
|
-
simulateAccessor: simulateAccessorAbi,
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=abis.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../src/safe/simulation/abis.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,GAAG;IAClB;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,WAAW;aAClB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;SAClE;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACxE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,mBAAmB,GAAG;IAC1B;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YACtD;gBACE,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACvD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7D;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,WAAW;IACrB,gBAAgB,EAAE,mBAAmB;CAC7B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/addresses.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAiCpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAoBxE;AAOD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAoB/E"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
const ZK_ROLLUP_CHAIN_IDS = [
|
|
2
|
-
2741,
|
|
3
|
-
324,
|
|
4
|
-
];
|
|
5
|
-
const CUSTOM_DEPLOYMENT_CHAIN_IDS = [
|
|
6
|
-
1890,
|
|
7
|
-
50,
|
|
8
|
-
];
|
|
9
|
-
const UNSUPPORTED_CHAIN_IDS = [
|
|
10
|
-
88_888,
|
|
11
|
-
1116,
|
|
12
|
-
50_104,
|
|
13
|
-
5330,
|
|
14
|
-
998,
|
|
15
|
-
];
|
|
16
|
-
export function getMultiSendAddress(chainId) {
|
|
17
|
-
if (ZK_ROLLUP_CHAIN_IDS.includes(chainId)) {
|
|
18
|
-
return "0xf220d3b4dfb23c4ade8c88e526c1353abacbc38f";
|
|
19
|
-
}
|
|
20
|
-
if (CUSTOM_DEPLOYMENT_CHAIN_IDS.includes(chainId)) {
|
|
21
|
-
return "0x40a2accbd92bca938b02010e17a5b8929b49130d";
|
|
22
|
-
}
|
|
23
|
-
if (UNSUPPORTED_CHAIN_IDS.includes(chainId)) {
|
|
24
|
-
return undefined;
|
|
25
|
-
}
|
|
26
|
-
return "0x9641d764fc13c8b624c04430c7356c1c7c8102e2";
|
|
27
|
-
}
|
|
28
|
-
export function getSimulateAccessorAddress(chainId) {
|
|
29
|
-
if (ZK_ROLLUP_CHAIN_IDS.includes(chainId)) {
|
|
30
|
-
return "0x4191e2e12e8bc5002424ce0c51f9947b02675a44";
|
|
31
|
-
}
|
|
32
|
-
if (CUSTOM_DEPLOYMENT_CHAIN_IDS.includes(chainId)) {
|
|
33
|
-
return "0x59ad6735bcd8152b84860cb256dd9e96b85f69da";
|
|
34
|
-
}
|
|
35
|
-
if (UNSUPPORTED_CHAIN_IDS.includes(chainId)) {
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
return "0x3d4ba2e0884aa488718476ca2fb8efc291a46199";
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=addresses.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/safe/simulation/addresses.ts"],"names":[],"mappings":"AAcA,MAAM,mBAAmB,GAAG;IAC1B,IAAI;IACJ,GAAG;CACK,CAAC;AAGX,MAAM,2BAA2B,GAAG;IAClC,IAAI;IACJ,EAAE;CACM,CAAC;AAGX,MAAM,qBAAqB,GAAG;IAC5B,MAAM;IACN,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,GAAG;CACK,CAAC;AAOX,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAEjD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,OAA+C,CAAC,EAAE,CAAC;QAClF,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAGD,IACE,2BAA2B,CAAC,QAAQ,CAAC,OAAuD,CAAC,EAC7F,CAAC;QACD,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAGD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,OAAiD,CAAC,EAAE,CAAC;QACtF,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,OAAO,4CAA4C,CAAC;AACtD,CAAC;AAOD,MAAM,UAAU,0BAA0B,CAAC,OAAe;IAExD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,OAA+C,CAAC,EAAE,CAAC;QAClF,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAGD,IACE,2BAA2B,CAAC,QAAQ,CAAC,OAAuD,CAAC,EAC7F,CAAC;QACD,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAGD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,OAAiD,CAAC,EAAE,CAAC;QACtF,OAAO,SAAS,CAAC;IACnB,CAAC;IAGD,OAAO,4CAA4C,CAAC;AACtD,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Address, Hex } from "viem";
|
|
2
|
-
import type { SafeSimulationTransaction } from "./types.js";
|
|
3
|
-
type InternalTransaction = {
|
|
4
|
-
data: Hex;
|
|
5
|
-
operation: 0 | 1;
|
|
6
|
-
to: Address;
|
|
7
|
-
value: bigint;
|
|
8
|
-
};
|
|
9
|
-
export declare function encodeInternalTransaction(tx: InternalTransaction): string;
|
|
10
|
-
export declare function encodeMultiSend(transactions: SafeSimulationTransaction[]): Hex;
|
|
11
|
-
export declare function decodeSimulationData(revertData: string): {
|
|
12
|
-
gas: bigint;
|
|
13
|
-
success: boolean;
|
|
14
|
-
};
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=encoding.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/encoding.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGzC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAG5D,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAoBF,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAMzE;AAQD,wBAAgB,eAAe,CAAC,YAAY,EAAE,yBAAyB,EAAE,GAAG,GAAG,CAe9E;AAeD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB,CAyBA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { decodeAbiParameters, encodeFunctionData, encodePacked } from "viem";
|
|
2
|
-
import { safeAbis } from "./abis.js";
|
|
3
|
-
export function encodeInternalTransaction(tx) {
|
|
4
|
-
const encoded = encodePacked(["uint8", "address", "uint256", "uint256", "bytes"], [tx.operation, tx.to, tx.value, BigInt((tx.data.length - 2) / 2), tx.data]);
|
|
5
|
-
return encoded.slice(2);
|
|
6
|
-
}
|
|
7
|
-
export function encodeMultiSend(transactions) {
|
|
8
|
-
const internals = transactions.map((tx) => ({
|
|
9
|
-
data: tx.data,
|
|
10
|
-
operation: tx.operation ?? 0,
|
|
11
|
-
to: tx.to,
|
|
12
|
-
value: tx.value,
|
|
13
|
-
}));
|
|
14
|
-
const packedData = `0x${internals.map(encodeInternalTransaction).join("")}`;
|
|
15
|
-
return encodeFunctionData({
|
|
16
|
-
abi: safeAbis.multiSend,
|
|
17
|
-
args: [packedData],
|
|
18
|
-
functionName: "multiSend",
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
export function decodeSimulationData(revertData) {
|
|
22
|
-
const minLength = 258;
|
|
23
|
-
if (revertData.length < minLength) {
|
|
24
|
-
throw new Error(`Invalid simulation data: revert data too short. Expected at least ${minLength} characters (${(minLength - 2) / 2} bytes), got ${revertData.length} characters (${Math.max(0, (revertData.length - 2) / 2)} bytes)`);
|
|
25
|
-
}
|
|
26
|
-
const gasAndSuccessData = revertData.slice(2).slice(128, 256);
|
|
27
|
-
const decoded = decodeAbiParameters([
|
|
28
|
-
{ name: "estimate", type: "uint256" },
|
|
29
|
-
{ name: "success", type: "bool" },
|
|
30
|
-
], `0x${gasAndSuccessData}`);
|
|
31
|
-
return {
|
|
32
|
-
gas: decoded[0],
|
|
33
|
-
success: decoded[1],
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=encoding.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/safe/simulation/encoding.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA6BrC,MAAM,UAAU,yBAAyB,CAAC,EAAuB;IAC/D,MAAM,OAAO,GAAG,YAAY,CAC1B,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EACnD,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAC3E,CAAC;IACF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAQD,MAAM,UAAU,eAAe,CAAC,YAAyC;IACvE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC;QAC5B,EAAE,EAAE,EAAE,CAAC,EAAE;QACT,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAS,CAAC;IAEnF,OAAO,kBAAkB,CAAC;QACxB,GAAG,EAAE,QAAQ,CAAC,SAAS;QACvB,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,YAAY,EAAE,WAAW;KAC1B,CAAC,CAAC;AACL,CAAC;AAeD,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IAOrD,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,IAAI,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,qEAAqE,SAAS,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,UAAU,CAAC,MAAM,gBAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CACpN,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,mBAAmB,CACjC;QACE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;KAClC,EACD,KAAK,iBAAiB,EAAS,CAChC,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACf,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Schema } from "effect";
|
|
2
|
-
declare const GasLimitExceededError_base: Schema.TaggedErrorClass<GasLimitExceededError, "GasLimitExceededError", {
|
|
3
|
-
readonly _tag: Schema.tag<"GasLimitExceededError">;
|
|
4
|
-
} & {
|
|
5
|
-
blockGasLimit: typeof Schema.BigInt;
|
|
6
|
-
estimatedGas: typeof Schema.BigInt;
|
|
7
|
-
message: typeof Schema.String;
|
|
8
|
-
threshold: typeof Schema.BigInt;
|
|
9
|
-
}>;
|
|
10
|
-
export declare class GasLimitExceededError extends GasLimitExceededError_base {
|
|
11
|
-
}
|
|
12
|
-
declare const SafeSimulationFailedError_base: Schema.TaggedErrorClass<SafeSimulationFailedError, "SafeSimulationFailedError", {
|
|
13
|
-
readonly _tag: Schema.tag<"SafeSimulationFailedError">;
|
|
14
|
-
} & {
|
|
15
|
-
cause: Schema.optional<typeof Schema.Unknown>;
|
|
16
|
-
message: typeof Schema.String;
|
|
17
|
-
}>;
|
|
18
|
-
export declare class SafeSimulationFailedError extends SafeSimulationFailedError_base {
|
|
19
|
-
}
|
|
20
|
-
declare const SafeContractsNotDeployedError_base: Schema.TaggedErrorClass<SafeContractsNotDeployedError, "SafeContractsNotDeployedError", {
|
|
21
|
-
readonly _tag: Schema.tag<"SafeContractsNotDeployedError">;
|
|
22
|
-
} & {
|
|
23
|
-
chainId: typeof Schema.Number;
|
|
24
|
-
message: typeof Schema.String;
|
|
25
|
-
missingContract: Schema.Literal<["multiSend", "simulateAccessor"]>;
|
|
26
|
-
}>;
|
|
27
|
-
export declare class SafeContractsNotDeployedError extends SafeContractsNotDeployedError_base {
|
|
28
|
-
}
|
|
29
|
-
declare const TransactionSizeTooLargeError_base: Schema.TaggedErrorClass<TransactionSizeTooLargeError, "TransactionSizeTooLargeError", {
|
|
30
|
-
readonly _tag: Schema.tag<"TransactionSizeTooLargeError">;
|
|
31
|
-
} & {
|
|
32
|
-
actualSize: typeof Schema.Number;
|
|
33
|
-
maxSize: typeof Schema.Number;
|
|
34
|
-
message: typeof Schema.String;
|
|
35
|
-
}>;
|
|
36
|
-
export declare class TransactionSizeTooLargeError extends TransactionSizeTooLargeError_base {
|
|
37
|
-
}
|
|
38
|
-
declare const SimulationDecodeError_base: Schema.TaggedErrorClass<SimulationDecodeError, "SimulationDecodeError", {
|
|
39
|
-
readonly _tag: Schema.tag<"SimulationDecodeError">;
|
|
40
|
-
} & {
|
|
41
|
-
cause: typeof Schema.Unknown;
|
|
42
|
-
message: typeof Schema.String;
|
|
43
|
-
revertData: typeof Schema.String;
|
|
44
|
-
}>;
|
|
45
|
-
export declare class SimulationDecodeError extends SimulationDecodeError_base {
|
|
46
|
-
}
|
|
47
|
-
declare const InvalidGasThresholdError_base: Schema.TaggedErrorClass<InvalidGasThresholdError, "InvalidGasThresholdError", {
|
|
48
|
-
readonly _tag: Schema.tag<"InvalidGasThresholdError">;
|
|
49
|
-
} & {
|
|
50
|
-
message: typeof Schema.String;
|
|
51
|
-
value: typeof Schema.Number;
|
|
52
|
-
}>;
|
|
53
|
-
export declare class InvalidGasThresholdError extends InvalidGasThresholdError_base {
|
|
54
|
-
}
|
|
55
|
-
export {};
|
|
56
|
-
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/errors.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;AAGhC,qBAAa,qBAAsB,SAAQ,0BAQ1C;CAAG;;;;;;;AAGJ,qBAAa,yBAA0B,SAAQ,8BAM9C;CAAG;;;;;;;;AAGJ,qBAAa,6BAA8B,SAAQ,kCAOlD;CAAG;;;;;;;;AAGJ,qBAAa,4BAA6B,SAAQ,iCAOjD;CAAG;;;;;;;;AAGJ,qBAAa,qBAAsB,SAAQ,0BAO1C;CAAG;;;;;;;AAGJ,qBAAa,wBAAyB,SAAQ,6BAM7C;CAAG"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Schema } from "effect";
|
|
2
|
-
export class GasLimitExceededError extends Schema.TaggedError()("GasLimitExceededError", {
|
|
3
|
-
blockGasLimit: Schema.BigInt,
|
|
4
|
-
estimatedGas: Schema.BigInt,
|
|
5
|
-
message: Schema.String,
|
|
6
|
-
threshold: Schema.BigInt,
|
|
7
|
-
}) {
|
|
8
|
-
}
|
|
9
|
-
export class SafeSimulationFailedError extends Schema.TaggedError()("SafeSimulationFailedError", {
|
|
10
|
-
cause: Schema.optional(Schema.Unknown),
|
|
11
|
-
message: Schema.String,
|
|
12
|
-
}) {
|
|
13
|
-
}
|
|
14
|
-
export class SafeContractsNotDeployedError extends Schema.TaggedError()("SafeContractsNotDeployedError", {
|
|
15
|
-
chainId: Schema.Number,
|
|
16
|
-
message: Schema.String,
|
|
17
|
-
missingContract: Schema.Literal("multiSend", "simulateAccessor"),
|
|
18
|
-
}) {
|
|
19
|
-
}
|
|
20
|
-
export class TransactionSizeTooLargeError extends Schema.TaggedError()("TransactionSizeTooLargeError", {
|
|
21
|
-
actualSize: Schema.Number,
|
|
22
|
-
maxSize: Schema.Number,
|
|
23
|
-
message: Schema.String,
|
|
24
|
-
}) {
|
|
25
|
-
}
|
|
26
|
-
export class SimulationDecodeError extends Schema.TaggedError()("SimulationDecodeError", {
|
|
27
|
-
cause: Schema.Unknown,
|
|
28
|
-
message: Schema.String,
|
|
29
|
-
revertData: Schema.String,
|
|
30
|
-
}) {
|
|
31
|
-
}
|
|
32
|
-
export class InvalidGasThresholdError extends Schema.TaggedError()("InvalidGasThresholdError", {
|
|
33
|
-
message: Schema.String,
|
|
34
|
-
value: Schema.Number,
|
|
35
|
-
}) {
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/safe/simulation/errors.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,aAAa,EAAE,MAAM,CAAC,MAAM;IAC5B,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CACF;CAAG;AAGJ,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,WAAW,EAA6B,CAC5F,2BAA2B,EAC3B;IACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAGJ,MAAM,OAAO,6BAA8B,SAAQ,MAAM,CAAC,WAAW,EAAiC,CACpG,+BAA+B,EAC/B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC;CACjE,CACF;CAAG;AAGJ,MAAM,OAAO,4BAA6B,SAAQ,MAAM,CAAC,WAAW,EAAgC,CAClG,8BAA8B,EAC9B;IACE,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAGJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,KAAK,EAAE,MAAM,CAAC,OAAO;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM;CAC1B,CACF;CAAG;AAGJ,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,0BAA0B,EAC1B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CACF;CAAG"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { safeAbis } from "./abis.js";
|
|
2
|
-
export { getMultiSendAddress, getSimulateAccessorAddress, } from "./addresses.js";
|
|
3
|
-
export { decodeSimulationData, encodeMultiSend } from "./encoding.js";
|
|
4
|
-
export { GasLimitExceededError, InvalidGasThresholdError, SafeContractsNotDeployedError, SafeSimulationFailedError, SimulationDecodeError, TransactionSizeTooLargeError, } from "./errors.js";
|
|
5
|
-
export { SafeSimulationService, SafeSimulationServiceLive, type SafeSimulationServiceShape, } from "./service.js";
|
|
6
|
-
export type { SafeOperation, SafeSimulateBatchParams, SafeSimulationResult, SafeSimulationTransaction, } from "./types.js";
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,KAAK,0BAA0B,GAChC,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { safeAbis } from "./abis.js";
|
|
2
|
-
export { getMultiSendAddress, getSimulateAccessorAddress, } from "./addresses.js";
|
|
3
|
-
export { decodeSimulationData, encodeMultiSend } from "./encoding.js";
|
|
4
|
-
export { GasLimitExceededError, InvalidGasThresholdError, SafeContractsNotDeployedError, SafeSimulationFailedError, SimulationDecodeError, TransactionSizeTooLargeError, } from "./errors.js";
|
|
5
|
-
export { SafeSimulationService, SafeSimulationServiceLive, } from "./service.js";
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/safe/simulation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAE1B,MAAM,cAAc,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Context, Effect, Layer } from "effect";
|
|
2
|
-
import type { ClientNotFoundError } from "../../core/index.js";
|
|
3
|
-
import { PublicClientService } from "../../core/index.js";
|
|
4
|
-
import { GasLimitExceededError, InvalidGasThresholdError, SafeContractsNotDeployedError, SafeSimulationFailedError, SimulationDecodeError, TransactionSizeTooLargeError } from "./errors.js";
|
|
5
|
-
import type { SafeSimulateBatchParams, SafeSimulationResult } from "./types.js";
|
|
6
|
-
export type SafeSimulationServiceShape = {
|
|
7
|
-
readonly simulateBatch: (params: SafeSimulateBatchParams) => Effect.Effect<SafeSimulationResult, ClientNotFoundError | InvalidGasThresholdError | SafeContractsNotDeployedError | TransactionSizeTooLargeError | SafeSimulationFailedError | SimulationDecodeError | GasLimitExceededError>;
|
|
8
|
-
};
|
|
9
|
-
declare const SafeSimulationService_base: Context.TagClass<SafeSimulationService, "ew3/SafeSimulation", SafeSimulationServiceShape>;
|
|
10
|
-
export declare class SafeSimulationService extends SafeSimulationService_base {
|
|
11
|
-
}
|
|
12
|
-
export declare const SafeSimulationServiceLive: Layer.Layer<SafeSimulationService, never, PublicClientService>;
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/service.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,MAAM,0BAA0B,GAAG;IAUvC,QAAQ,CAAC,aAAa,EAAE,CACtB,MAAM,EAAE,uBAAuB,KAC5B,MAAM,CAAC,MAAM,CAChB,oBAAoB,EAClB,mBAAmB,GACnB,wBAAwB,GACxB,6BAA6B,GAC7B,4BAA4B,GAC5B,yBAAyB,GACzB,qBAAqB,GACrB,qBAAqB,CACxB,CAAC;CACH,CAAC;;AAEF,qBAAa,qBAAsB,SAAQ,0BAGxC;CAAG;AAEN,eAAO,MAAM,yBAAyB,gEAkMrC,CAAC"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { Context, Effect, Layer } from "effect";
|
|
2
|
-
import { BaseError as CoreError, encodeFunctionData, zeroAddress } from "viem";
|
|
3
|
-
import { PublicClientService } from "../../core/index.js";
|
|
4
|
-
import { safeAbis } from "./abis.js";
|
|
5
|
-
import { getMultiSendAddress, getSimulateAccessorAddress } from "./addresses.js";
|
|
6
|
-
import { decodeSimulationData, encodeMultiSend } from "./encoding.js";
|
|
7
|
-
import { GasLimitExceededError, InvalidGasThresholdError, SafeContractsNotDeployedError, SafeSimulationFailedError, SimulationDecodeError, TransactionSizeTooLargeError, } from "./errors.js";
|
|
8
|
-
export class SafeSimulationService extends Context.Tag("ew3/SafeSimulation")() {
|
|
9
|
-
}
|
|
10
|
-
export const SafeSimulationServiceLive = Layer.effect(SafeSimulationService, Effect.gen(function* () {
|
|
11
|
-
const publicClientService = yield* PublicClientService;
|
|
12
|
-
return SafeSimulationService.of({
|
|
13
|
-
simulateBatch: (params) => Effect.gen(function* () {
|
|
14
|
-
const { chainId, safeAddress, transactions, txSizeLimit, gasThresholdPercent } = params;
|
|
15
|
-
if (transactions.length === 0) {
|
|
16
|
-
return yield* Effect.fail(new SafeSimulationFailedError({
|
|
17
|
-
message: "Cannot simulate empty transaction batch",
|
|
18
|
-
}));
|
|
19
|
-
}
|
|
20
|
-
if (safeAddress === zeroAddress) {
|
|
21
|
-
return yield* Effect.fail(new SafeSimulationFailedError({
|
|
22
|
-
message: "Invalid Safe address: cannot be zero address",
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
if (gasThresholdPercent !== undefined &&
|
|
26
|
-
(gasThresholdPercent < 1 || gasThresholdPercent > 100)) {
|
|
27
|
-
return yield* Effect.fail(new InvalidGasThresholdError({
|
|
28
|
-
message: "gasThresholdPercent must be between 1 and 100 (inclusive)",
|
|
29
|
-
value: gasThresholdPercent,
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
const multiSendAddr = getMultiSendAddress(chainId);
|
|
33
|
-
const simulateAccessorAddr = getSimulateAccessorAddress(chainId);
|
|
34
|
-
if (!multiSendAddr) {
|
|
35
|
-
return yield* Effect.fail(new SafeContractsNotDeployedError({
|
|
36
|
-
chainId,
|
|
37
|
-
message: "MultiSend contract not deployed on this chain",
|
|
38
|
-
missingContract: "multiSend",
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
if (!simulateAccessorAddr) {
|
|
42
|
-
return yield* Effect.fail(new SafeContractsNotDeployedError({
|
|
43
|
-
chainId,
|
|
44
|
-
message: "SimulateAccessor contract not deployed on this chain",
|
|
45
|
-
missingContract: "simulateAccessor",
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
const multiSendCalldata = encodeMultiSend(transactions);
|
|
49
|
-
const simulateAccessorCalldata = encodeFunctionData({
|
|
50
|
-
abi: safeAbis.simulateAccessor,
|
|
51
|
-
args: [multiSendAddr, 0n, multiSendCalldata, 1],
|
|
52
|
-
functionName: "simulate",
|
|
53
|
-
});
|
|
54
|
-
const safeCalldata = encodeFunctionData({
|
|
55
|
-
abi: safeAbis.multisig,
|
|
56
|
-
args: [simulateAccessorAddr, simulateAccessorCalldata],
|
|
57
|
-
functionName: "simulateAndRevert",
|
|
58
|
-
});
|
|
59
|
-
if (txSizeLimit) {
|
|
60
|
-
const sizeInBytes = (safeCalldata.length - 2) / 2;
|
|
61
|
-
if (sizeInBytes > txSizeLimit) {
|
|
62
|
-
return yield* Effect.fail(new TransactionSizeTooLargeError({
|
|
63
|
-
actualSize: sizeInBytes,
|
|
64
|
-
maxSize: txSizeLimit,
|
|
65
|
-
message: `Transaction size (${sizeInBytes} bytes) exceeds chain limit (${txSizeLimit} bytes). Try splitting into smaller batches.`,
|
|
66
|
-
}));
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
const client = yield* publicClientService.get(chainId);
|
|
70
|
-
const simulationEffect = Effect.gen(function* () {
|
|
71
|
-
const revertData = yield* Effect.tryPromise({
|
|
72
|
-
catch: (error) => new SafeSimulationFailedError({
|
|
73
|
-
cause: error,
|
|
74
|
-
message: "Network error or unexpected behavior during simulation",
|
|
75
|
-
}),
|
|
76
|
-
try: async () => {
|
|
77
|
-
try {
|
|
78
|
-
await client.call({
|
|
79
|
-
account: safeAddress,
|
|
80
|
-
data: safeCalldata,
|
|
81
|
-
to: safeAddress,
|
|
82
|
-
});
|
|
83
|
-
throw new Error("simulateAndRevert did not revert");
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
if (error instanceof CoreError) {
|
|
87
|
-
const revertError = error.walk((err) => {
|
|
88
|
-
const typedErr = err;
|
|
89
|
-
return typeof typedErr.data === "string";
|
|
90
|
-
});
|
|
91
|
-
if (revertError) {
|
|
92
|
-
const typedErr = revertError;
|
|
93
|
-
const extractedData = typedErr.data;
|
|
94
|
-
if (typeof extractedData === "string") {
|
|
95
|
-
return extractedData;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
throw error;
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
});
|
|
103
|
-
return yield* Effect.try({
|
|
104
|
-
catch: (error) => new SimulationDecodeError({
|
|
105
|
-
cause: error,
|
|
106
|
-
message: "Failed to decode simulation revert data - unexpected format",
|
|
107
|
-
revertData,
|
|
108
|
-
}),
|
|
109
|
-
try: () => decodeSimulationData(revertData),
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
const [result, block] = yield* Effect.all([
|
|
113
|
-
simulationEffect,
|
|
114
|
-
Effect.tryPromise({
|
|
115
|
-
catch: (e) => new SafeSimulationFailedError({
|
|
116
|
-
cause: e,
|
|
117
|
-
message: `Failed to fetch block: ${e}`,
|
|
118
|
-
}),
|
|
119
|
-
try: () => client.getBlock({ blockTag: "latest" }),
|
|
120
|
-
}),
|
|
121
|
-
], { concurrency: "unbounded" });
|
|
122
|
-
const threshold = (block.gasLimit * BigInt(params.gasThresholdPercent ?? 95)) / 100n;
|
|
123
|
-
if (result.success && result.gas > threshold) {
|
|
124
|
-
return yield* Effect.fail(new GasLimitExceededError({
|
|
125
|
-
blockGasLimit: block.gasLimit,
|
|
126
|
-
estimatedGas: result.gas,
|
|
127
|
-
message: "Gas consumption exceeds threshold of block gas limit. Try splitting into smaller batches.",
|
|
128
|
-
threshold,
|
|
129
|
-
}));
|
|
130
|
-
}
|
|
131
|
-
if (!result.success) {
|
|
132
|
-
return yield* Effect.fail(new SafeSimulationFailedError({
|
|
133
|
-
message: "Transaction simulation failed - the transaction would revert",
|
|
134
|
-
}));
|
|
135
|
-
}
|
|
136
|
-
return { estimatedGas: result.gas, success: true };
|
|
137
|
-
}),
|
|
138
|
-
});
|
|
139
|
-
}));
|
|
140
|
-
//# sourceMappingURL=service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/safe/simulation/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Address, Hex } from "viem";
|
|
2
|
-
export type SafeOperation = 0 | 1;
|
|
3
|
-
export type SafeSimulationTransaction = {
|
|
4
|
-
data: Hex;
|
|
5
|
-
operation?: SafeOperation;
|
|
6
|
-
to: Address;
|
|
7
|
-
value: bigint;
|
|
8
|
-
};
|
|
9
|
-
export type SafeSimulateBatchParams = {
|
|
10
|
-
chainId: number;
|
|
11
|
-
safeAddress: Address;
|
|
12
|
-
transactions: SafeSimulationTransaction[];
|
|
13
|
-
txSizeLimit?: number;
|
|
14
|
-
gasThresholdPercent?: number;
|
|
15
|
-
};
|
|
16
|
-
export type SafeSimulationResult = {
|
|
17
|
-
estimatedGas: bigint;
|
|
18
|
-
success: boolean;
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/safe/simulation/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAGzC,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;AAGlC,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,yBAAyB,EAAE,CAAC;IAE1C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAGF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/safe/simulation/types.ts"],"names":[],"mappings":""}
|