ponder 0.9.4 → 0.9.5-debug.1
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/CHANGELOG.md +2201 -0
- package/dist/esm/bin/commands/codegen.js +37 -0
- package/dist/esm/bin/commands/codegen.js.map +1 -0
- package/dist/esm/bin/commands/dev.js +242 -0
- package/dist/esm/bin/commands/dev.js.map +1 -0
- package/dist/esm/bin/commands/list.js +103 -0
- package/dist/esm/bin/commands/list.js.map +1 -0
- package/dist/esm/bin/commands/serve.js +123 -0
- package/dist/esm/bin/commands/serve.js.map +1 -0
- package/dist/esm/bin/commands/start.js +136 -0
- package/dist/esm/bin/commands/start.js.map +1 -0
- package/dist/esm/bin/ponder.js +118 -0
- package/dist/esm/bin/ponder.js.map +1 -0
- package/dist/esm/bin/utils/codegen.js +26 -0
- package/dist/esm/bin/utils/codegen.js.map +1 -0
- package/dist/esm/bin/utils/exit.js +69 -0
- package/dist/esm/bin/utils/exit.js.map +1 -0
- package/dist/esm/bin/utils/run.js +247 -0
- package/dist/esm/bin/utils/run.js.map +1 -0
- package/dist/esm/bin/utils/runServer.js +8 -0
- package/dist/esm/bin/utils/runServer.js.map +1 -0
- package/dist/esm/build/configAndIndexingFunctions.js +654 -0
- package/dist/esm/build/configAndIndexingFunctions.js.map +1 -0
- package/dist/esm/build/factory.js +43 -0
- package/dist/esm/build/factory.js.map +1 -0
- package/dist/esm/build/index.js +431 -0
- package/dist/esm/build/index.js.map +1 -0
- package/dist/esm/build/plugin.js +43 -0
- package/dist/esm/build/plugin.js.map +1 -0
- package/dist/esm/build/pre.js +112 -0
- package/dist/esm/build/pre.js.map +1 -0
- package/dist/esm/build/schema.js +89 -0
- package/dist/esm/build/schema.js.map +1 -0
- package/dist/esm/build/stacktrace.js +137 -0
- package/dist/esm/build/stacktrace.js.map +1 -0
- package/dist/esm/client/index.js +124 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/client/validate.js +1151 -0
- package/dist/esm/client/validate.js.map +1 -0
- package/dist/esm/config/address.js +2 -0
- package/dist/esm/config/address.js.map +1 -0
- package/dist/esm/config/eventFilter.js +2 -0
- package/dist/esm/config/eventFilter.js.map +1 -0
- package/dist/esm/config/index.js +2 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/config/networks.js +120 -0
- package/dist/esm/config/networks.js.map +1 -0
- package/dist/esm/config/utilityTypes.js +2 -0
- package/dist/esm/config/utilityTypes.js.map +1 -0
- package/dist/esm/database/index.js +914 -0
- package/dist/esm/database/index.js.map +1 -0
- package/dist/esm/drizzle/bigint.js +36 -0
- package/dist/esm/drizzle/bigint.js.map +1 -0
- package/dist/esm/drizzle/hex.js +38 -0
- package/dist/esm/drizzle/hex.js.map +1 -0
- package/dist/esm/drizzle/index.js +43 -0
- package/dist/esm/drizzle/index.js.map +1 -0
- package/dist/esm/drizzle/kit/index.js +658 -0
- package/dist/esm/drizzle/kit/index.js.map +1 -0
- package/dist/esm/drizzle/onchain.js +102 -0
- package/dist/esm/drizzle/onchain.js.map +1 -0
- package/dist/esm/graphql/index.js +704 -0
- package/dist/esm/graphql/index.js.map +1 -0
- package/dist/esm/graphql/json.js +42 -0
- package/dist/esm/graphql/json.js.map +1 -0
- package/dist/esm/graphql/middleware.js +80 -0
- package/dist/esm/graphql/middleware.js.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/indexing/addStackTrace.js +54 -0
- package/dist/esm/indexing/addStackTrace.js.map +1 -0
- package/dist/esm/indexing/index.js +10 -0
- package/dist/esm/indexing/index.js.map +1 -0
- package/dist/esm/indexing/ponderActions.js +60 -0
- package/dist/esm/indexing/ponderActions.js.map +1 -0
- package/dist/esm/indexing/service.js +312 -0
- package/dist/esm/indexing/service.js.map +1 -0
- package/dist/esm/indexing-store/historical.js +591 -0
- package/dist/esm/indexing-store/historical.js.map +1 -0
- package/dist/esm/indexing-store/index.js +19 -0
- package/dist/esm/indexing-store/index.js.map +1 -0
- package/dist/esm/indexing-store/metadata.js +46 -0
- package/dist/esm/indexing-store/metadata.js.map +1 -0
- package/dist/esm/indexing-store/realtime.js +295 -0
- package/dist/esm/indexing-store/realtime.js.map +1 -0
- package/dist/esm/internal/common.js +2 -0
- package/dist/esm/internal/common.js.map +1 -0
- package/dist/esm/internal/errors.js +175 -0
- package/dist/esm/internal/errors.js.map +1 -0
- package/dist/esm/internal/logger.js +96 -0
- package/dist/esm/internal/logger.js.map +1 -0
- package/dist/esm/internal/metrics.js +569 -0
- package/dist/esm/internal/metrics.js.map +1 -0
- package/dist/esm/internal/options.js +69 -0
- package/dist/esm/internal/options.js.map +1 -0
- package/dist/esm/internal/shutdown.js +18 -0
- package/dist/esm/internal/shutdown.js.map +1 -0
- package/dist/esm/internal/telemetry.js +199 -0
- package/dist/esm/internal/telemetry.js.map +1 -0
- package/dist/esm/internal/types.js +2 -0
- package/dist/esm/internal/types.js.map +1 -0
- package/dist/esm/server/error.js +55 -0
- package/dist/esm/server/error.js.map +1 -0
- package/dist/esm/server/index.js +107 -0
- package/dist/esm/server/index.js.map +1 -0
- package/dist/esm/sync/abi.js +67 -0
- package/dist/esm/sync/abi.js.map +1 -0
- package/dist/esm/sync/events.js +607 -0
- package/dist/esm/sync/events.js.map +1 -0
- package/dist/esm/sync/filter.js +356 -0
- package/dist/esm/sync/filter.js.map +1 -0
- package/dist/esm/sync/fragments.js +300 -0
- package/dist/esm/sync/fragments.js.map +1 -0
- package/dist/esm/sync/index.js +1001 -0
- package/dist/esm/sync/index.js.map +1 -0
- package/dist/esm/sync/transport.js +94 -0
- package/dist/esm/sync/transport.js.map +1 -0
- package/dist/esm/sync-historical/index.js +590 -0
- package/dist/esm/sync-historical/index.js.map +1 -0
- package/dist/esm/sync-realtime/bloom.js +75 -0
- package/dist/esm/sync-realtime/bloom.js.map +1 -0
- package/dist/esm/sync-realtime/index.js +794 -0
- package/dist/esm/sync-realtime/index.js.map +1 -0
- package/dist/esm/sync-store/encoding.js +157 -0
- package/dist/esm/sync-store/encoding.js.map +1 -0
- package/dist/esm/sync-store/index.js +727 -0
- package/dist/esm/sync-store/index.js.map +1 -0
- package/dist/esm/sync-store/migrations.js +1186 -0
- package/dist/esm/sync-store/migrations.js.map +1 -0
- package/dist/esm/types/db.js +2 -0
- package/dist/esm/types/db.js.map +1 -0
- package/dist/esm/types/eth.js +2 -0
- package/dist/esm/types/eth.js.map +1 -0
- package/dist/esm/types/sync.js +2 -0
- package/dist/esm/types/sync.js.map +1 -0
- package/dist/esm/types/utils.js +2 -0
- package/dist/esm/types/utils.js.map +1 -0
- package/dist/esm/types/virtual.js +2 -0
- package/dist/esm/types/virtual.js.map +1 -0
- package/dist/esm/ui/ProgressBar.js +11 -0
- package/dist/esm/ui/ProgressBar.js.map +1 -0
- package/dist/esm/ui/Table.js +50 -0
- package/dist/esm/ui/Table.js.map +1 -0
- package/dist/esm/ui/app.js +113 -0
- package/dist/esm/ui/app.js.map +1 -0
- package/dist/esm/ui/graphiql.html.js +59 -0
- package/dist/esm/ui/graphiql.html.js.map +1 -0
- package/dist/esm/ui/index.js +21 -0
- package/dist/esm/ui/index.js.map +1 -0
- package/dist/esm/utils/bigint.js +37 -0
- package/dist/esm/utils/bigint.js.map +1 -0
- package/dist/esm/utils/chains.js +3 -0
- package/dist/esm/utils/chains.js.map +1 -0
- package/dist/esm/utils/checkpoint.js +114 -0
- package/dist/esm/utils/checkpoint.js.map +1 -0
- package/dist/esm/utils/chunk.js +8 -0
- package/dist/esm/utils/chunk.js.map +1 -0
- package/dist/esm/utils/date.js +27 -0
- package/dist/esm/utils/date.js.map +1 -0
- package/dist/esm/utils/debug.js +2 -0
- package/dist/esm/utils/debug.js.map +1 -0
- package/dist/esm/utils/dedupe.js +33 -0
- package/dist/esm/utils/dedupe.js.map +1 -0
- package/dist/esm/utils/duplicates.js +19 -0
- package/dist/esm/utils/duplicates.js.map +1 -0
- package/dist/esm/utils/estimate.js +6 -0
- package/dist/esm/utils/estimate.js.map +1 -0
- package/dist/esm/utils/extend.js +28 -0
- package/dist/esm/utils/extend.js.map +1 -0
- package/dist/esm/utils/format.js +20 -0
- package/dist/esm/utils/format.js.map +1 -0
- package/dist/esm/utils/generators.js +77 -0
- package/dist/esm/utils/generators.js.map +1 -0
- package/dist/esm/utils/hash.js +11 -0
- package/dist/esm/utils/hash.js.map +1 -0
- package/dist/esm/utils/interval.js +171 -0
- package/dist/esm/utils/interval.js.map +1 -0
- package/dist/esm/utils/lowercase.js +7 -0
- package/dist/esm/utils/lowercase.js.map +1 -0
- package/dist/esm/utils/mutex.js +25 -0
- package/dist/esm/utils/mutex.js.map +1 -0
- package/dist/esm/utils/never.js +4 -0
- package/dist/esm/utils/never.js.map +1 -0
- package/dist/esm/utils/offset.js +73 -0
- package/dist/esm/utils/offset.js.map +1 -0
- package/dist/esm/utils/order.js +18 -0
- package/dist/esm/utils/order.js.map +1 -0
- package/dist/esm/utils/partition.js +37 -0
- package/dist/esm/utils/partition.js.map +1 -0
- package/dist/esm/utils/pg.js +126 -0
- package/dist/esm/utils/pg.js.map +1 -0
- package/dist/esm/utils/pglite.js +80 -0
- package/dist/esm/utils/pglite.js.map +1 -0
- package/dist/esm/utils/port.js +30 -0
- package/dist/esm/utils/port.js.map +1 -0
- package/dist/esm/utils/print.js +23 -0
- package/dist/esm/utils/print.js.map +1 -0
- package/dist/esm/utils/promiseWithResolvers.js +13 -0
- package/dist/esm/utils/promiseWithResolvers.js.map +1 -0
- package/dist/esm/utils/queue.js +145 -0
- package/dist/esm/utils/queue.js.map +1 -0
- package/dist/esm/utils/range.js +8 -0
- package/dist/esm/utils/range.js.map +1 -0
- package/dist/esm/utils/requestQueue.js +127 -0
- package/dist/esm/utils/requestQueue.js.map +1 -0
- package/dist/esm/utils/result.js +10 -0
- package/dist/esm/utils/result.js.map +1 -0
- package/dist/esm/utils/rpc.js +202 -0
- package/dist/esm/utils/rpc.js.map +1 -0
- package/dist/esm/utils/serialize.js +23 -0
- package/dist/esm/utils/serialize.js.map +1 -0
- package/dist/esm/utils/timer.js +17 -0
- package/dist/esm/utils/timer.js.map +1 -0
- package/dist/esm/utils/wait.js +8 -0
- package/dist/esm/utils/wait.js.map +1 -0
- package/dist/esm/utils/zipper.js +67 -0
- package/dist/esm/utils/zipper.js.map +1 -0
- package/dist/types/bin/commands/codegen.d.ts +5 -0
- package/dist/types/bin/commands/codegen.d.ts.map +1 -0
- package/dist/types/bin/commands/dev.d.ts +5 -0
- package/dist/types/bin/commands/dev.d.ts.map +1 -0
- package/dist/types/bin/commands/list.d.ts +5 -0
- package/dist/types/bin/commands/list.d.ts.map +1 -0
- package/dist/types/bin/commands/serve.d.ts +5 -0
- package/dist/types/bin/commands/serve.d.ts.map +1 -0
- package/dist/types/bin/commands/start.d.ts +5 -0
- package/dist/types/bin/commands/start.d.ts.map +1 -0
- package/dist/{bin → types/bin}/ponder.d.ts +5 -6
- package/dist/types/bin/ponder.d.ts.map +1 -0
- package/dist/types/bin/utils/codegen.d.ts +6 -0
- package/dist/types/bin/utils/codegen.d.ts.map +1 -0
- package/dist/types/bin/utils/exit.d.ts +9 -0
- package/dist/types/bin/utils/exit.d.ts.map +1 -0
- package/dist/types/bin/utils/run.d.ts +14 -0
- package/dist/types/bin/utils/run.d.ts.map +1 -0
- package/dist/types/bin/utils/runServer.d.ts +12 -0
- package/dist/types/bin/utils/runServer.d.ts.map +1 -0
- package/dist/types/build/configAndIndexingFunctions.d.ts +37 -0
- package/dist/types/build/configAndIndexingFunctions.d.ts.map +1 -0
- package/dist/types/build/factory.d.ts +10 -0
- package/dist/types/build/factory.d.ts.map +1 -0
- package/dist/types/build/index.d.ts +70 -0
- package/dist/types/build/index.d.ts.map +1 -0
- package/dist/types/build/plugin.d.ts +4 -0
- package/dist/types/build/plugin.d.ts.map +1 -0
- package/dist/types/build/pre.d.ts +35 -0
- package/dist/types/build/pre.d.ts.map +1 -0
- package/dist/types/build/schema.d.ts +18 -0
- package/dist/types/build/schema.d.ts.map +1 -0
- package/dist/types/build/stacktrace.d.ts +13 -0
- package/dist/types/build/stacktrace.d.ts.map +1 -0
- package/dist/types/client/index.d.ts +27 -0
- package/dist/types/client/index.d.ts.map +1 -0
- package/dist/types/client/validate.d.ts +2 -0
- package/dist/types/client/validate.d.ts.map +1 -0
- package/dist/types/config/address.d.ts +14 -0
- package/dist/types/config/address.d.ts.map +1 -0
- package/dist/types/config/eventFilter.d.ts +18 -0
- package/dist/types/config/eventFilter.d.ts.map +1 -0
- package/dist/types/config/index.d.ts +143 -0
- package/dist/types/config/index.d.ts.map +1 -0
- package/dist/types/config/networks.d.ts +30 -0
- package/dist/types/config/networks.d.ts.map +1 -0
- package/dist/types/config/utilityTypes.d.ts +43 -0
- package/dist/types/config/utilityTypes.d.ts.map +1 -0
- package/dist/types/database/index.d.ts +91 -0
- package/dist/types/database/index.d.ts.map +1 -0
- package/dist/types/drizzle/bigint.d.ts +25 -0
- package/dist/types/drizzle/bigint.d.ts.map +1 -0
- package/dist/types/drizzle/hex.d.ts +25 -0
- package/dist/types/drizzle/hex.d.ts.map +1 -0
- package/dist/types/drizzle/index.d.ts +14 -0
- package/dist/types/drizzle/index.d.ts.map +1 -0
- package/dist/types/drizzle/kit/index.d.ts +49 -0
- package/dist/types/drizzle/kit/index.d.ts.map +1 -0
- package/dist/{drizzle → types/drizzle}/onchain.d.ts +49 -96
- package/dist/types/drizzle/onchain.d.ts.map +1 -0
- package/dist/types/graphql/index.d.ts +14 -0
- package/dist/types/graphql/index.d.ts.map +1 -0
- package/dist/types/graphql/json.d.ts +3 -0
- package/dist/types/graphql/json.d.ts.map +1 -0
- package/dist/types/graphql/middleware.d.ts +29 -0
- package/dist/types/graphql/middleware.d.ts.map +1 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/indexing/addStackTrace.d.ts +3 -0
- package/dist/types/indexing/addStackTrace.d.ts.map +1 -0
- package/dist/types/indexing/index.d.ts +575 -0
- package/dist/types/indexing/index.d.ts.map +1 -0
- package/dist/types/indexing/ponderActions.d.ts +47 -0
- package/dist/types/indexing/ponderActions.d.ts.map +1 -0
- package/dist/types/indexing/service.d.ts +73 -0
- package/dist/types/indexing/service.d.ts.map +1 -0
- package/dist/types/indexing-store/historical.d.ts +19 -0
- package/dist/types/indexing-store/historical.d.ts.map +1 -0
- package/dist/types/indexing-store/index.d.ts +10 -0
- package/dist/types/indexing-store/index.d.ts.map +1 -0
- package/dist/types/indexing-store/metadata.d.ts +10 -0
- package/dist/types/indexing-store/metadata.d.ts.map +1 -0
- package/dist/types/indexing-store/realtime.d.ts +10 -0
- package/dist/types/indexing-store/realtime.d.ts.map +1 -0
- package/dist/types/internal/common.d.ts +13 -0
- package/dist/types/internal/common.d.ts.map +1 -0
- package/dist/types/internal/errors.d.ts +55 -0
- package/dist/types/internal/errors.d.ts.map +1 -0
- package/dist/types/internal/logger.d.ts +26 -0
- package/dist/types/internal/logger.d.ts.map +1 -0
- package/dist/types/internal/metrics.d.ts +77 -0
- package/dist/types/internal/metrics.d.ts.map +1 -0
- package/dist/types/internal/options.d.ts +59 -0
- package/dist/types/internal/options.d.ts.map +1 -0
- package/dist/types/internal/shutdown.d.ts +8 -0
- package/dist/types/internal/shutdown.d.ts.map +1 -0
- package/dist/types/internal/telemetry.d.ts +43 -0
- package/dist/types/internal/telemetry.d.ts.map +1 -0
- package/dist/types/internal/types.d.ts +328 -0
- package/dist/types/internal/types.d.ts.map +1 -0
- package/dist/types/server/error.d.ts +5 -0
- package/dist/types/server/error.d.ts.map +1 -0
- package/dist/types/server/index.d.ts +13 -0
- package/dist/types/server/index.d.ts.map +1 -0
- package/dist/types/sync/abi.d.ts +54 -0
- package/dist/types/sync/abi.d.ts.map +1 -0
- package/dist/types/sync/events.d.ts +24 -0
- package/dist/types/sync/events.d.ts.map +1 -0
- package/dist/types/sync/filter.d.ts +71 -0
- package/dist/types/sync/filter.d.ts.map +1 -0
- package/dist/types/sync/fragments.d.ts +21 -0
- package/dist/types/sync/fragments.d.ts.map +1 -0
- package/dist/types/sync/index.d.ts +112 -0
- package/dist/types/sync/index.d.ts.map +1 -0
- package/dist/types/sync/transport.d.ts +8 -0
- package/dist/types/sync/transport.d.ts.map +1 -0
- package/dist/types/sync-historical/index.d.ts +28 -0
- package/dist/types/sync-historical/index.d.ts.map +1 -0
- package/dist/types/sync-realtime/bloom.d.ts +19 -0
- package/dist/types/sync-realtime/bloom.d.ts.map +1 -0
- package/dist/types/sync-realtime/index.d.ts +48 -0
- package/dist/types/sync-realtime/index.d.ts.map +1 -0
- package/dist/types/sync-store/encoding.d.ts +151 -0
- package/dist/types/sync-store/encoding.d.ts.map +1 -0
- package/dist/types/sync-store/index.d.ts +104 -0
- package/dist/types/sync-store/index.d.ts.map +1 -0
- package/dist/types/sync-store/migrations.d.ts +13 -0
- package/dist/types/sync-store/migrations.d.ts.map +1 -0
- package/dist/types/types/db.d.ts +213 -0
- package/dist/types/types/db.d.ts.map +1 -0
- package/dist/types/types/eth.d.ts +196 -0
- package/dist/types/types/eth.d.ts.map +1 -0
- package/dist/types/types/sync.d.ts +15 -0
- package/dist/types/types/sync.d.ts.map +1 -0
- package/dist/types/types/utils.d.ts +22 -0
- package/dist/types/types/utils.d.ts.map +1 -0
- package/dist/types/types/virtual.d.ts +95 -0
- package/dist/types/types/virtual.d.ts.map +1 -0
- package/dist/types/ui/ProgressBar.d.ts +7 -0
- package/dist/types/ui/ProgressBar.d.ts.map +1 -0
- package/dist/types/ui/Table.d.ts +24 -0
- package/dist/types/ui/Table.d.ts.map +1 -0
- package/dist/types/ui/app.d.ts +14 -0
- package/dist/types/ui/app.d.ts.map +1 -0
- package/dist/types/ui/graphiql.html.d.ts +2 -0
- package/dist/types/ui/graphiql.html.d.ts.map +1 -0
- package/dist/types/ui/index.d.ts +5 -0
- package/dist/types/ui/index.d.ts.map +1 -0
- package/dist/types/utils/bigint.d.ts +15 -0
- package/dist/types/utils/bigint.d.ts.map +1 -0
- package/dist/types/utils/chains.d.ts +3 -0
- package/dist/types/utils/chains.d.ts.map +1 -0
- package/dist/types/utils/checkpoint.d.ts +40 -0
- package/dist/types/utils/checkpoint.d.ts.map +1 -0
- package/dist/types/utils/chunk.d.ts +2 -0
- package/dist/types/utils/chunk.d.ts.map +1 -0
- package/dist/types/utils/date.d.ts +7 -0
- package/dist/types/utils/date.d.ts.map +1 -0
- package/dist/types/utils/debug.d.ts +105 -0
- package/dist/types/utils/debug.d.ts.map +1 -0
- package/dist/types/utils/dedupe.d.ts +20 -0
- package/dist/types/utils/dedupe.d.ts.map +1 -0
- package/dist/types/utils/duplicates.d.ts +7 -0
- package/dist/types/utils/duplicates.d.ts.map +1 -0
- package/dist/types/utils/estimate.d.ts +11 -0
- package/dist/types/utils/estimate.d.ts.map +1 -0
- package/dist/types/utils/extend.d.ts +13 -0
- package/dist/types/utils/extend.d.ts.map +1 -0
- package/dist/types/utils/format.d.ts +3 -0
- package/dist/types/utils/format.d.ts.map +1 -0
- package/dist/types/utils/generators.d.ts +23 -0
- package/dist/types/utils/generators.d.ts.map +1 -0
- package/dist/types/utils/hash.d.ts +11 -0
- package/dist/types/utils/hash.d.ts.map +1 -0
- package/dist/types/utils/interval.d.ts +53 -0
- package/dist/types/utils/interval.d.ts.map +1 -0
- package/dist/types/utils/lowercase.d.ts +5 -0
- package/dist/types/utils/lowercase.d.ts.map +1 -0
- package/dist/types/utils/mutex.d.ts +8 -0
- package/dist/types/utils/mutex.d.ts.map +1 -0
- package/dist/types/utils/never.d.ts +2 -0
- package/dist/types/utils/never.d.ts.map +1 -0
- package/dist/types/utils/offset.d.ts +3 -0
- package/dist/types/utils/offset.d.ts.map +1 -0
- package/dist/types/utils/order.d.ts +2 -0
- package/dist/types/utils/order.d.ts.map +1 -0
- package/dist/types/utils/partition.d.ts +22 -0
- package/dist/types/utils/partition.d.ts.map +1 -0
- package/dist/types/utils/pg.d.ts +5 -0
- package/dist/types/utils/pg.d.ts.map +1 -0
- package/dist/types/utils/pglite.d.ts +25 -0
- package/dist/types/utils/pglite.d.ts.map +1 -0
- package/dist/types/utils/port.d.ts +5 -0
- package/dist/types/utils/port.d.ts.map +1 -0
- package/dist/types/utils/print.d.ts +2 -0
- package/dist/types/utils/print.d.ts.map +1 -0
- package/dist/types/utils/promiseWithResolvers.d.ts +10 -0
- package/dist/types/utils/promiseWithResolvers.d.ts.map +1 -0
- package/dist/types/utils/queue.d.ts +33 -0
- package/dist/types/utils/queue.d.ts.map +1 -0
- package/dist/types/utils/range.d.ts +8 -0
- package/dist/types/utils/range.d.ts.map +1 -0
- package/dist/types/utils/requestQueue.d.ts +21 -0
- package/dist/types/utils/requestQueue.d.ts.map +1 -0
- package/dist/types/utils/result.d.ts +17 -0
- package/dist/types/utils/result.d.ts.map +1 -0
- package/dist/types/utils/rpc.d.ts +57 -0
- package/dist/types/utils/rpc.d.ts.map +1 -0
- package/dist/types/utils/serialize.d.ts +19 -0
- package/dist/types/utils/serialize.d.ts.map +1 -0
- package/dist/types/utils/timer.d.ts +11 -0
- package/dist/types/utils/timer.d.ts.map +1 -0
- package/dist/types/utils/wait.d.ts +6 -0
- package/dist/types/utils/wait.d.ts.map +1 -0
- package/dist/types/utils/zipper.d.ts +36 -0
- package/dist/types/utils/zipper.d.ts.map +1 -0
- package/package.json +17 -17
- package/src/bin/commands/dev.ts +1 -1
- package/src/bin/ponder.ts +1 -1
- package/src/bin/utils/run.ts +7 -18
- package/src/build/configAndIndexingFunctions.ts +1 -1
- package/src/build/factory.ts +1 -1
- package/src/client/index.ts +1 -1
- package/src/graphql/index.ts +1 -1
- package/src/indexing-store/historical.ts +1 -1
- package/src/indexing-store/realtime.ts +1 -1
- package/src/internal/telemetry.ts +1 -1
- package/src/sync/fragments.ts +1 -1
- package/src/sync/index.ts +60 -20
- package/src/sync-historical/index.ts +26 -26
- package/src/sync-realtime/index.ts +1 -1
- package/src/utils/dedupe.ts +40 -0
- package/src/utils/generators.ts +1 -1
- package/src/utils/mutex.ts +1 -1
- package/src/utils/promiseWithResolvers.ts +20 -0
- package/src/utils/queue.ts +250 -0
- package/src/utils/requestQueue.ts +1 -1
- package/dist/bin/ponder.js +0 -12904
- package/dist/bin/ponder.js.map +0 -1
- package/dist/chunk-K2TLRLX3.js +0 -163
- package/dist/chunk-K2TLRLX3.js.map +0 -1
- package/dist/chunk-LHCA5XFV.js +0 -257
- package/dist/chunk-LHCA5XFV.js.map +0 -1
- package/dist/drizzle/onchain.js +0 -19
- package/dist/drizzle/onchain.js.map +0 -1
- package/dist/index.d.ts +0 -819
- package/dist/index.js +0 -2217
- package/dist/index.js.map +0 -1
- package/dist/utils-ceNucOJb.d.ts +0 -14
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Common } from '../internal/common.js';
|
|
2
|
+
import type { Network } from '../internal/types.js';
|
|
3
|
+
import { type Queue } from './queue.js';
|
|
4
|
+
import { type EIP1193Parameters, type PublicRpcSchema } from "viem";
|
|
5
|
+
import type { DebugRpcSchema } from "./debug.js";
|
|
6
|
+
type Schema = [...PublicRpcSchema, ...DebugRpcSchema];
|
|
7
|
+
type RequestReturnType<method extends EIP1193Parameters<Schema>["method"]> = Extract<Schema[number], {
|
|
8
|
+
Method: method;
|
|
9
|
+
}>["ReturnType"];
|
|
10
|
+
export type RequestQueue = Omit<Queue<RequestReturnType<EIP1193Parameters<Schema>["method"]>, EIP1193Parameters<Schema>>, "add"> & {
|
|
11
|
+
request: <TParameters extends EIP1193Parameters<Schema>>(parameters: TParameters) => Promise<RequestReturnType<TParameters["method"]>>;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Creates a queue built to manage rpc requests.
|
|
15
|
+
*/
|
|
16
|
+
export declare const createRequestQueue: ({ common, network, }: {
|
|
17
|
+
common: Common;
|
|
18
|
+
network: Network;
|
|
19
|
+
}) => RequestQueue;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=requestQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestQueue.d.ts","sourceRoot":"","sources":["../../../src/utils/requestQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,kBAAkB,CAAC;AAK3D,OAAO,EACL,KAAK,iBAAiB,EAMtB,KAAK,eAAe,EAGrB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,KAAK,MAAM,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC,CAAC;AAEtD,KAAK,iBAAiB,CAAC,MAAM,SAAS,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IACvE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,YAAY,CAAC,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,KAAK,CACH,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EACtD,iBAAiB,CAAC,MAAM,CAAC,CAC1B,EACD,KAAK,CACN,GAAG;IACF,OAAO,EAAE,CAAC,WAAW,SAAS,iBAAiB,CAAC,MAAM,CAAC,EACrD,UAAU,EAAE,WAAW,KACpB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CACxD,CAAC;AAKF;;GAEG;AACH,eAAO,MAAM,kBAAkB;YAGlB,MAAM;aAAW,OAAO;MAAK,YA8GzC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type Result<T> = ([T] extends [never] ? {
|
|
2
|
+
status: "success";
|
|
3
|
+
} : {
|
|
4
|
+
status: "success";
|
|
5
|
+
result: T;
|
|
6
|
+
}) | {
|
|
7
|
+
status: "error";
|
|
8
|
+
error: Error;
|
|
9
|
+
};
|
|
10
|
+
export type MergeResults<T extends readonly Result<any>[]> = T extends readonly [
|
|
11
|
+
infer Head extends Result<unknown>,
|
|
12
|
+
...infer Tail extends Result<unknown>[]
|
|
13
|
+
] ? [Extract<Head, {
|
|
14
|
+
status: "success";
|
|
15
|
+
}>["result"], ...MergeResults<Tail>] : [];
|
|
16
|
+
export declare const mergeResults: <const T extends readonly Result<unknown>[]>(results: T) => Result<MergeResults<T>>;
|
|
17
|
+
//# sourceMappingURL=result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/utils/result.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAChB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,GACrC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,IACvD,CAAC,SAAS,SAAS;IACjB,MAAM,IAAI,SAAS,MAAM,CAAC,OAAO,CAAC;IAClC,GAAG,MAAM,IAAI,SAAS,MAAM,CAAC,OAAO,CAAC,EAAE;CACxC,GACG,CAAC,OAAO,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,GACvE,EAAE,CAAC;AAET,eAAO,MAAM,YAAY,qFAWxB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { SyncBlock, SyncLog, SyncTrace, SyncTransactionReceipt } from '../types/sync.js';
|
|
2
|
+
import type { RequestQueue } from './requestQueue.js';
|
|
3
|
+
import { type Address, type Hash, type Hex, type LogTopic } from "viem";
|
|
4
|
+
/**
|
|
5
|
+
* Helper function for "eth_getBlockByNumber" request.
|
|
6
|
+
*/
|
|
7
|
+
export declare const _eth_getBlockByNumber: (requestQueue: RequestQueue, { blockNumber, blockTag, }: {
|
|
8
|
+
blockNumber: Hex | number;
|
|
9
|
+
blockTag?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
blockNumber?: undefined;
|
|
12
|
+
blockTag: "latest";
|
|
13
|
+
}) => Promise<SyncBlock>;
|
|
14
|
+
/**
|
|
15
|
+
* Helper function for "eth_getBlockByNumber" request.
|
|
16
|
+
*/
|
|
17
|
+
export declare const _eth_getBlockByHash: (requestQueue: RequestQueue, { hash }: {
|
|
18
|
+
hash: Hex;
|
|
19
|
+
}) => Promise<SyncBlock>;
|
|
20
|
+
/**
|
|
21
|
+
* Helper function for "eth_getLogs" rpc request.
|
|
22
|
+
* Handles different error types and retries the request if applicable.
|
|
23
|
+
*/
|
|
24
|
+
export declare const _eth_getLogs: (requestQueue: RequestQueue, params: {
|
|
25
|
+
address?: Address | Address[];
|
|
26
|
+
topics?: LogTopic[];
|
|
27
|
+
} & ({
|
|
28
|
+
fromBlock: Hex | number;
|
|
29
|
+
toBlock: Hex | number;
|
|
30
|
+
} | {
|
|
31
|
+
blockHash: Hash;
|
|
32
|
+
})) => Promise<SyncLog[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Helper function for "eth_getTransactionReceipt" request.
|
|
35
|
+
*/
|
|
36
|
+
export declare const _eth_getTransactionReceipt: (requestQueue: RequestQueue, { hash }: {
|
|
37
|
+
hash: Hex;
|
|
38
|
+
}) => Promise<SyncTransactionReceipt>;
|
|
39
|
+
/**
|
|
40
|
+
* Helper function for "eth_getBlockReceipts" request.
|
|
41
|
+
*/
|
|
42
|
+
export declare const _eth_getBlockReceipts: (requestQueue: RequestQueue, { blockHash }: {
|
|
43
|
+
blockHash: Hash;
|
|
44
|
+
}) => Promise<SyncTransactionReceipt[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Helper function for "debug_traceBlockByNumber" request.
|
|
47
|
+
*/
|
|
48
|
+
export declare const _debug_traceBlockByNumber: (requestQueue: RequestQueue, { blockNumber, }: {
|
|
49
|
+
blockNumber: Hex | number;
|
|
50
|
+
}) => Promise<SyncTrace[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Helper function for "debug_traceBlockByHash" request.
|
|
53
|
+
*/
|
|
54
|
+
export declare const _debug_traceBlockByHash: (requestQueue: RequestQueue, { hash, }: {
|
|
55
|
+
hash: Hash;
|
|
56
|
+
}) => Promise<SyncTrace[]>;
|
|
57
|
+
//# sourceMappingURL=rpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/utils/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,OAAO,EACP,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,IAAI,EACT,KAAK,GAAG,EACR,KAAK,QAAQ,EAGd,MAAM,MAAM,CAAC;AAEd;;GAEG;AACH,eAAO,MAAM,qBAAqB,iBAClB,YAAY;iBAKP,GAAG,GAAG,MAAM;;;;cACM,QAAQ;MAC5C,QAAQ,SAAS,CAiBd,CAAC;AAEP;;GAEG;AACH,eAAO,MAAM,mBAAmB,iBAChB,YAAY;UACR,GAAG;MACpB,QAAQ,SAAS,CAYd,CAAC;AAEP;;;GAGG;AACH,eAAO,MAAM,YAAY,iBACT,YAAY,UAClB;IACN,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;CACrB,GAAG,CACA;IAAE,SAAS,EAAE,GAAG,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAAA;CAAE,GAClD;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,CACtB,KACA,QAAQ,OAAO,EAAE,CA6CnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,iBACvB,YAAY;UACR,GAAG;MACpB,QAAQ,sBAAsB,CAY3B,CAAC;AAEP;;GAEG;AACH,eAAO,MAAM,qBAAqB,iBAClB,YAAY;eACE,IAAI;MAC/B,QAAQ,sBAAsB,EAAE,CAMqC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,yBAAyB,iBACtB,YAAY;iBAIX,GAAG,GAAG,MAAM;MAE1B,QAAQ,SAAS,EAAE,CA8DhB,CAAC;AAEP;;GAEG;AACH,eAAO,MAAM,uBAAuB,iBACpB,YAAY;UAIlB,IAAI;MAEX,QAAQ,SAAS,EAAE,CAyDhB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serialize function that handles BigInt.
|
|
3
|
+
*
|
|
4
|
+
* Forked from https://github.com/wevm/wagmi
|
|
5
|
+
*
|
|
6
|
+
* @param value to stringify
|
|
7
|
+
* @returns the stringified output
|
|
8
|
+
*/
|
|
9
|
+
export declare function serialize(value: any): string;
|
|
10
|
+
/**
|
|
11
|
+
* Deserialize function that handles BigInt.
|
|
12
|
+
*
|
|
13
|
+
* Forked from https://github.com/wevm/wagmi
|
|
14
|
+
*
|
|
15
|
+
* @param value to parse
|
|
16
|
+
* @returns the output object
|
|
17
|
+
*/
|
|
18
|
+
export declare function deserialize<type>(value: string): type;
|
|
19
|
+
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/utils/serialize.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,UAInC;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIrD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Measures the elapsed wall clock time in milliseconds (ms) between two points.
|
|
3
|
+
* @returns A function returning the elapsed time in milliseconds (ms).
|
|
4
|
+
*/
|
|
5
|
+
export declare function startClock(): () => number;
|
|
6
|
+
/**
|
|
7
|
+
* Converts a process.hrtime() measurement to milliseconds (ms).
|
|
8
|
+
* @returns The timestamp in milliseconds (ms).
|
|
9
|
+
*/
|
|
10
|
+
export declare function hrTimeToMs(diff: [number, number]): number;
|
|
11
|
+
//# sourceMappingURL=timer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../../src/utils/timer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,UAAU,iBAGzB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,UAGhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/utils/wait.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAsB,IAAI,CAAC,YAAY,EAAE,MAAM,iBAE9C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merges two sorted arrays into a single sorted array.
|
|
3
|
+
*
|
|
4
|
+
* @param array1 - The first array to merge.
|
|
5
|
+
* @param array2 - The second array to merge.
|
|
6
|
+
* @param compare - The comparison function to use.
|
|
7
|
+
*
|
|
8
|
+
* @returns The merged array.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const result = zipper([1, 3, 5], [2, 4, 6]);
|
|
13
|
+
* // result = [1, 2, 3, 4, 5, 6]
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare const zipper: <T>(array1: T[], array2: T[], compare?: ((a: T, b: T) => number) | undefined) => T[];
|
|
17
|
+
/**
|
|
18
|
+
* Merges many sorted arrays into a single sorted array.
|
|
19
|
+
*
|
|
20
|
+
* @param arrays - The arrays to merge.
|
|
21
|
+
* @param compare - The comparison function to use.
|
|
22
|
+
*
|
|
23
|
+
* @returns The merged array.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const result = zipperMany([
|
|
28
|
+
* [1, 3, 5],
|
|
29
|
+
* [2, 4, 6],
|
|
30
|
+
* [7, 8, 9],
|
|
31
|
+
* ]);
|
|
32
|
+
* // result = [1, 2, 3, 4, 5, 6, 7, 8, 9]
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const zipperMany: <T>(arrays: T[][], compare?: ((a: T, b: T) => number) | undefined) => T[];
|
|
36
|
+
//# sourceMappingURL=zipper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zipper.d.ts","sourceRoot":"","sources":["../../../src/utils/zipper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,2DAGS,MAAM,qBA2BjC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,gDAEK,MAAM,qBAYjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ponder",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.5-debug.1",
|
|
4
4
|
"description": "An open-source framework for crypto application backends",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -12,20 +12,22 @@
|
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
14
14
|
"src/**/*.ts",
|
|
15
|
-
"!src
|
|
16
|
-
"
|
|
17
|
-
"
|
|
15
|
+
"!src/_test/**/*",
|
|
16
|
+
"!**/*.test.ts",
|
|
17
|
+
"!**/*.test-d.ts",
|
|
18
|
+
"!**/*.tsbuildinfo",
|
|
19
|
+
"CHANGELOG.md"
|
|
18
20
|
],
|
|
19
21
|
"bin": {
|
|
20
|
-
"ponder": "./dist/bin/ponder.js"
|
|
22
|
+
"ponder": "./dist/esm/bin/ponder.js"
|
|
21
23
|
},
|
|
22
|
-
"module": "./dist/index.js",
|
|
23
|
-
"types": "./dist/index.d.ts",
|
|
24
|
-
"typings": "./dist/index.d.ts",
|
|
24
|
+
"module": "./dist/esm/index.js",
|
|
25
|
+
"types": "./dist/types/index.d.ts",
|
|
26
|
+
"typings": "./dist/types/index.d.ts",
|
|
25
27
|
"exports": {
|
|
26
28
|
".": {
|
|
27
|
-
"types": "./dist/index.d.ts",
|
|
28
|
-
"import": "./dist/index.js"
|
|
29
|
+
"types": "./dist/types/index.d.ts",
|
|
30
|
+
"import": "./dist/esm/index.js"
|
|
29
31
|
},
|
|
30
32
|
"./virtual": {
|
|
31
33
|
"types": "./src/types.d.ts"
|
|
@@ -85,20 +87,18 @@
|
|
|
85
87
|
"@types/react": "^18.2.38",
|
|
86
88
|
"@viem/anvil": "^0.0.6",
|
|
87
89
|
"@wagmi/cli": "^1.5.2",
|
|
90
|
+
"chokidar": "^4.0.3",
|
|
88
91
|
"execa": "^8.0.1",
|
|
89
92
|
"rimraf": "^5.0.5",
|
|
90
|
-
"
|
|
91
|
-
"vitest": "^1.0.2"
|
|
92
|
-
|
|
93
|
-
"imports": {
|
|
94
|
-
"@ponder/common": "../common/index.ts",
|
|
95
|
-
"@ponder/client": "../client/index.ts"
|
|
93
|
+
"tsx": "^4.19.2",
|
|
94
|
+
"vitest": "^1.0.2",
|
|
95
|
+
"@ponder/client": "0.9.5"
|
|
96
96
|
},
|
|
97
97
|
"engines": {
|
|
98
98
|
"node": ">=18.14"
|
|
99
99
|
},
|
|
100
100
|
"scripts": {
|
|
101
|
-
"build": "
|
|
101
|
+
"build": "tsx build.ts",
|
|
102
102
|
"test": "vitest",
|
|
103
103
|
"test:typecheck": "vitest --typecheck.only",
|
|
104
104
|
"typecheck": "tsc --noEmit"
|
package/src/bin/commands/dev.ts
CHANGED
|
@@ -9,8 +9,8 @@ import { createShutdown } from "@/internal/shutdown.js";
|
|
|
9
9
|
import { buildPayload, createTelemetry } from "@/internal/telemetry.js";
|
|
10
10
|
import type { IndexingBuild } from "@/internal/types.js";
|
|
11
11
|
import { createUi } from "@/ui/index.js";
|
|
12
|
+
import { createQueue } from "@/utils/queue.js";
|
|
12
13
|
import { type Result, mergeResults } from "@/utils/result.js";
|
|
13
|
-
import { createQueue } from "@ponder/common";
|
|
14
14
|
import type { CliOptions } from "../ponder.js";
|
|
15
15
|
import { createExit } from "../utils/exit.js";
|
|
16
16
|
import { run } from "../utils/run.js";
|
package/src/bin/ponder.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { start } from "./commands/start.js";
|
|
|
14
14
|
dotenv.config({ path: ".env.local" });
|
|
15
15
|
|
|
16
16
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
17
|
-
const packageJsonPath = resolve(__dirname, "
|
|
17
|
+
const packageJsonPath = resolve(__dirname, "../../../package.json");
|
|
18
18
|
const packageJson = JSON.parse(
|
|
19
19
|
readFileSync(packageJsonPath, { encoding: "utf8" }),
|
|
20
20
|
);
|
package/src/bin/utils/run.ts
CHANGED
|
@@ -8,7 +8,6 @@ import type { Common } from "@/internal/common.js";
|
|
|
8
8
|
import { getAppProgress } from "@/internal/metrics.js";
|
|
9
9
|
import type { IndexingBuild, PreBuild, SchemaBuild } from "@/internal/types.js";
|
|
10
10
|
import { createSyncStore } from "@/sync-store/index.js";
|
|
11
|
-
import { decodeEvents } from "@/sync/events.js";
|
|
12
11
|
import { type RealtimeEvent, createSync, splitEvents } from "@/sync/index.js";
|
|
13
12
|
import {
|
|
14
13
|
ZERO_CHECKPOINT_STRING,
|
|
@@ -135,12 +134,8 @@ export async function run({
|
|
|
135
134
|
// Run historical indexing until complete.
|
|
136
135
|
for await (const events of sync.getEvents()) {
|
|
137
136
|
if (events.length > 0) {
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
common.logger.debug({
|
|
141
|
-
service: "app",
|
|
142
|
-
msg: `Decoded ${decodedEvents.length} events`,
|
|
143
|
-
});
|
|
137
|
+
const eventChunks = chunk(events, 93);
|
|
138
|
+
|
|
144
139
|
for (const eventChunk of eventChunks) {
|
|
145
140
|
const result = await indexingService.processEvents({
|
|
146
141
|
events: eventChunk,
|
|
@@ -196,12 +191,12 @@ export async function run({
|
|
|
196
191
|
if (eta === undefined || progress === undefined) {
|
|
197
192
|
common.logger.info({
|
|
198
193
|
service: "app",
|
|
199
|
-
msg: `Indexed ${
|
|
194
|
+
msg: `Indexed ${events.length} events`,
|
|
200
195
|
});
|
|
201
196
|
} else {
|
|
202
197
|
common.logger.info({
|
|
203
198
|
service: "app",
|
|
204
|
-
msg: `Indexed ${
|
|
199
|
+
msg: `Indexed ${events.length} events with ${formatPercentage(progress)} complete and ${formatEta(eta * 1_000)} remaining`,
|
|
205
200
|
});
|
|
206
201
|
}
|
|
207
202
|
|
|
@@ -306,24 +301,18 @@ export async function run({
|
|
|
306
301
|
Number(decodeCheckpoint(checkpoint).chainId),
|
|
307
302
|
)!;
|
|
308
303
|
|
|
309
|
-
const decodedEvents = decodeEvents(
|
|
310
|
-
common,
|
|
311
|
-
indexingBuild.sources,
|
|
312
|
-
events,
|
|
313
|
-
);
|
|
314
|
-
|
|
315
304
|
common.logger.debug({
|
|
316
305
|
service: "app",
|
|
317
|
-
msg: `Decoded ${
|
|
306
|
+
msg: `Decoded ${events.length} '${network.name}' events for block ${Number(decodeCheckpoint(checkpoint).blockNumber)}`,
|
|
318
307
|
});
|
|
319
308
|
|
|
320
309
|
const result = await indexingService.processEvents({
|
|
321
|
-
events
|
|
310
|
+
events,
|
|
322
311
|
});
|
|
323
312
|
|
|
324
313
|
common.logger.info({
|
|
325
314
|
service: "app",
|
|
326
|
-
msg: `Indexed ${
|
|
315
|
+
msg: `Indexed ${events.length} '${network.name}' events for block ${Number(decodeCheckpoint(checkpoint).blockNumber)}`,
|
|
327
316
|
});
|
|
328
317
|
|
|
329
318
|
if (result.status === "error") onReloadableError(result.error);
|
|
@@ -25,8 +25,8 @@ import {
|
|
|
25
25
|
} from "@/sync/filter.js";
|
|
26
26
|
import type { SyncBlock } from "@/types/sync.js";
|
|
27
27
|
import { chains } from "@/utils/chains.js";
|
|
28
|
+
import { dedupe } from "@/utils/dedupe.js";
|
|
28
29
|
import { toLowerCase } from "@/utils/lowercase.js";
|
|
29
|
-
import { dedupe } from "@ponder/common";
|
|
30
30
|
import { BlockNotFoundError, type Hex, type LogTopic, hexToNumber } from "viem";
|
|
31
31
|
import { buildLogFactory } from "./factory.js";
|
|
32
32
|
|
package/src/build/factory.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { LogFactory } from "@/internal/types.js";
|
|
2
|
+
import { dedupe } from "@/utils/dedupe.js";
|
|
2
3
|
import { toLowerCase } from "@/utils/lowercase.js";
|
|
3
4
|
import { getBytesConsumedByParam } from "@/utils/offset.js";
|
|
4
|
-
import { dedupe } from "@ponder/common";
|
|
5
5
|
import type { AbiEvent } from "abitype";
|
|
6
6
|
import { type Address, toEventSelector } from "viem";
|
|
7
7
|
|
package/src/client/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Schema } from "@/internal/types.js";
|
|
2
2
|
import type { ReadonlyDrizzle } from "@/types/db.js";
|
|
3
|
-
import { promiseWithResolvers } from "
|
|
3
|
+
import { promiseWithResolvers } from "@/utils/promiseWithResolvers.js";
|
|
4
4
|
import type { QueryWithTypings } from "drizzle-orm";
|
|
5
5
|
import { type PgSession, pgTable } from "drizzle-orm/pg-core";
|
|
6
6
|
import { createMiddleware } from "hono/factory";
|
package/src/graphql/index.ts
CHANGED
|
@@ -457,7 +457,7 @@ const columnToGraphQLCore = (
|
|
|
457
457
|
const enumType = enumTypes[column.enum.enumName];
|
|
458
458
|
if (enumType === undefined) {
|
|
459
459
|
throw new Error(
|
|
460
|
-
`Internal error: Expected to find a GraphQL enum named "${column.enum.enumName}"`,
|
|
460
|
+
`Internal error: Expected to find a GraphQL enum named "${column.enum.enumName}". This may happen if "${column.enum.enumName}" has not been exported from your Ponder schema`,
|
|
461
461
|
);
|
|
462
462
|
}
|
|
463
463
|
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "@/internal/errors.js";
|
|
15
15
|
import type { SchemaBuild } from "@/internal/types.js";
|
|
16
16
|
import { prettyPrint } from "@/utils/print.js";
|
|
17
|
-
import { createQueue } from "
|
|
17
|
+
import { createQueue } from "@/utils/queue.js";
|
|
18
18
|
import {
|
|
19
19
|
type Column,
|
|
20
20
|
type QueryWithTypings,
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from "@/internal/errors.js";
|
|
10
10
|
import type { SchemaBuild } from "@/internal/types.js";
|
|
11
11
|
import { prettyPrint } from "@/utils/print.js";
|
|
12
|
+
import { createQueue } from "@/utils/queue.js";
|
|
12
13
|
import {
|
|
13
14
|
type QueryWithTypings,
|
|
14
15
|
type SQL,
|
|
@@ -20,7 +21,6 @@ import {
|
|
|
20
21
|
} from "drizzle-orm";
|
|
21
22
|
import { type PgTable, getTableConfig } from "drizzle-orm/pg-core";
|
|
22
23
|
import { drizzle } from "drizzle-orm/pg-proxy";
|
|
23
|
-
import { createQueue } from "../../../common/src/queue.js";
|
|
24
24
|
import { normalizeColumn } from "./historical.js";
|
|
25
25
|
import { type IndexingStore, parseSqlError } from "./index.js";
|
|
26
26
|
|
|
@@ -5,8 +5,8 @@ import os from "node:os";
|
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { promisify } from "node:util";
|
|
7
7
|
import type { Options } from "@/internal/options.js";
|
|
8
|
+
import { createQueue } from "@/utils/queue.js";
|
|
8
9
|
import { startClock } from "@/utils/timer.js";
|
|
9
|
-
import { createQueue } from "@ponder/common";
|
|
10
10
|
import Conf from "conf";
|
|
11
11
|
import { type PM, detect, getNpmVersion } from "detect-package-manager";
|
|
12
12
|
import { ShutdownError } from "./errors.js";
|
package/src/sync/fragments.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type {
|
|
|
12
12
|
TransactionFilter,
|
|
13
13
|
TransferFilter,
|
|
14
14
|
} from "@/internal/types.js";
|
|
15
|
-
import { dedupe } from "
|
|
15
|
+
import { dedupe } from "@/utils/dedupe.js";
|
|
16
16
|
import type { Address, Hex } from "viem";
|
|
17
17
|
import { isAddressFactory, shouldGetTransactionReceipt } from "./filter.js";
|
|
18
18
|
|
package/src/sync/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Common } from "@/internal/common.js";
|
|
2
2
|
import type {
|
|
3
|
+
Event,
|
|
3
4
|
Factory,
|
|
4
5
|
Filter,
|
|
5
6
|
IndexingBuild,
|
|
@@ -52,11 +53,11 @@ import { _eth_getBlockByNumber } from "@/utils/rpc.js";
|
|
|
52
53
|
import { startClock } from "@/utils/timer.js";
|
|
53
54
|
import { zipperMany } from "@/utils/zipper.js";
|
|
54
55
|
import { type Address, type Hash, hexToBigInt, hexToNumber, toHex } from "viem";
|
|
55
|
-
import { buildEvents } from "./events.js";
|
|
56
|
+
import { buildEvents, decodeEvents } from "./events.js";
|
|
56
57
|
import { isAddressFactory } from "./filter.js";
|
|
57
58
|
|
|
58
59
|
export type Sync = {
|
|
59
|
-
getEvents(): AsyncGenerator<
|
|
60
|
+
getEvents(): AsyncGenerator<Event[]>;
|
|
60
61
|
startRealtime(): Promise<void>;
|
|
61
62
|
getStatus(): Status;
|
|
62
63
|
seconds: Seconds;
|
|
@@ -68,7 +69,7 @@ export type RealtimeEvent =
|
|
|
68
69
|
type: "block";
|
|
69
70
|
checkpoint: string;
|
|
70
71
|
status: Status;
|
|
71
|
-
events:
|
|
72
|
+
events: Event[];
|
|
72
73
|
network: Network;
|
|
73
74
|
}
|
|
74
75
|
| {
|
|
@@ -155,23 +156,23 @@ const getHistoricalLast = (
|
|
|
155
156
|
};
|
|
156
157
|
|
|
157
158
|
export const splitEvents = (
|
|
158
|
-
events:
|
|
159
|
-
): { checkpoint: string; events:
|
|
159
|
+
events: Event[],
|
|
160
|
+
): { checkpoint: string; events: Event[] }[] => {
|
|
160
161
|
let hash: Hash | undefined;
|
|
161
|
-
const result: { checkpoint: string; events:
|
|
162
|
+
const result: { checkpoint: string; events: Event[] }[] = [];
|
|
162
163
|
|
|
163
164
|
for (const event of events) {
|
|
164
|
-
if (hash === undefined || hash !== event.block.hash) {
|
|
165
|
+
if (hash === undefined || hash !== event.event.block.hash) {
|
|
165
166
|
result.push({
|
|
166
167
|
checkpoint: encodeCheckpoint({
|
|
167
168
|
...MAX_CHECKPOINT,
|
|
168
|
-
blockTimestamp: Number(event.block.timestamp),
|
|
169
|
+
blockTimestamp: Number(event.event.block.timestamp),
|
|
169
170
|
chainId: BigInt(event.chainId),
|
|
170
|
-
blockNumber: event.block.number,
|
|
171
|
+
blockNumber: event.event.block.number,
|
|
171
172
|
}),
|
|
172
173
|
events: [],
|
|
173
174
|
});
|
|
174
|
-
hash = event.block.hash;
|
|
175
|
+
hash = event.event.block.hash;
|
|
175
176
|
}
|
|
176
177
|
|
|
177
178
|
result[result.length - 1]!.events.push(event);
|
|
@@ -264,7 +265,7 @@ export const createSync = async (params: {
|
|
|
264
265
|
events,
|
|
265
266
|
checkpoint,
|
|
266
267
|
network,
|
|
267
|
-
}: { events:
|
|
268
|
+
}: { events: Event[]; checkpoint: string; network: Network }) => {
|
|
268
269
|
if (Number(decodeCheckpoint(checkpoint).chainId) === network.chainId) {
|
|
269
270
|
status[network.name]!.block = {
|
|
270
271
|
timestamp: decodeCheckpoint(checkpoint).blockTimestamp,
|
|
@@ -349,7 +350,18 @@ export const createSync = async (params: {
|
|
|
349
350
|
),
|
|
350
351
|
});
|
|
351
352
|
|
|
352
|
-
|
|
353
|
+
async function* decodeEventGenerator() {
|
|
354
|
+
for await (const { events, checkpoint } of localEventGenerator) {
|
|
355
|
+
const decodedEvents = decodeEvents(params.common, sources, events);
|
|
356
|
+
params.common.logger.debug({
|
|
357
|
+
service: "app",
|
|
358
|
+
msg: `Decoded ${decodedEvents.length} '${network.name}' events`,
|
|
359
|
+
});
|
|
360
|
+
yield { events: decodedEvents, checkpoint };
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
return bufferAsyncGenerator(decodeEventGenerator(), 1);
|
|
353
365
|
},
|
|
354
366
|
);
|
|
355
367
|
|
|
@@ -403,10 +415,12 @@ export const createSync = async (params: {
|
|
|
403
415
|
event: RealtimeSyncEvent,
|
|
404
416
|
{
|
|
405
417
|
network,
|
|
418
|
+
sources,
|
|
406
419
|
syncProgress,
|
|
407
420
|
realtimeSync,
|
|
408
421
|
}: {
|
|
409
422
|
network: Network;
|
|
423
|
+
sources: Source[];
|
|
410
424
|
syncProgress: SyncProgress;
|
|
411
425
|
realtimeSync: RealtimeSync;
|
|
412
426
|
},
|
|
@@ -442,9 +456,20 @@ export const createSync = async (params: {
|
|
|
442
456
|
pendingEvents = [];
|
|
443
457
|
executedEvents = executedEvents.concat(readyEvents);
|
|
444
458
|
|
|
459
|
+
const decodedEvents = decodeEvents(
|
|
460
|
+
params.common,
|
|
461
|
+
sources,
|
|
462
|
+
readyEvents,
|
|
463
|
+
);
|
|
464
|
+
|
|
465
|
+
params.common.logger.debug({
|
|
466
|
+
service: "sync",
|
|
467
|
+
msg: `Decoded ${decodedEvents.length} '${network.name}' events for block ${hexToNumber(event.block.number)}`,
|
|
468
|
+
});
|
|
469
|
+
|
|
445
470
|
params.common.logger.debug({
|
|
446
471
|
service: "sync",
|
|
447
|
-
msg: `Sequenced ${
|
|
472
|
+
msg: `Sequenced ${decodedEvents.length} '${network.name}' events for block ${hexToNumber(event.block.number)}`,
|
|
448
473
|
});
|
|
449
474
|
|
|
450
475
|
params
|
|
@@ -452,7 +477,7 @@ export const createSync = async (params: {
|
|
|
452
477
|
type: "block",
|
|
453
478
|
checkpoint,
|
|
454
479
|
status: structuredClone(status),
|
|
455
|
-
events:
|
|
480
|
+
events: decodedEvents.sort((a, b) =>
|
|
456
481
|
a.checkpoint < b.checkpoint ? -1 : 1,
|
|
457
482
|
),
|
|
458
483
|
network,
|
|
@@ -495,9 +520,20 @@ export const createSync = async (params: {
|
|
|
495
520
|
.filter(({ checkpoint }) => checkpoint > to);
|
|
496
521
|
executedEvents = executedEvents.concat(readyEvents);
|
|
497
522
|
|
|
523
|
+
const decodedEvents = decodeEvents(
|
|
524
|
+
params.common,
|
|
525
|
+
sources,
|
|
526
|
+
readyEvents,
|
|
527
|
+
);
|
|
528
|
+
|
|
529
|
+
params.common.logger.debug({
|
|
530
|
+
service: "sync",
|
|
531
|
+
msg: `Decoded ${decodedEvents.length} '${network.name}' events for block ${hexToNumber(event.block.number)}`,
|
|
532
|
+
});
|
|
533
|
+
|
|
498
534
|
params.common.logger.debug({
|
|
499
535
|
service: "sync",
|
|
500
|
-
msg: `Sequenced ${
|
|
536
|
+
msg: `Sequenced ${decodedEvents.length} '${network.name}' events for timestamp range [${decodeCheckpoint(from).blockTimestamp}, ${decodeCheckpoint(to).blockTimestamp}]`,
|
|
501
537
|
});
|
|
502
538
|
|
|
503
539
|
params
|
|
@@ -505,7 +541,7 @@ export const createSync = async (params: {
|
|
|
505
541
|
type: "block",
|
|
506
542
|
checkpoint: to,
|
|
507
543
|
status: structuredClone(status),
|
|
508
|
-
events:
|
|
544
|
+
events: decodedEvents.sort((a, b) =>
|
|
509
545
|
a.checkpoint < b.checkpoint ? -1 : 1,
|
|
510
546
|
),
|
|
511
547
|
network,
|
|
@@ -698,6 +734,7 @@ export const createSync = async (params: {
|
|
|
698
734
|
.then((event) => {
|
|
699
735
|
onRealtimeSyncEvent(event, {
|
|
700
736
|
network,
|
|
737
|
+
sources,
|
|
701
738
|
syncProgress,
|
|
702
739
|
realtimeSync,
|
|
703
740
|
});
|
|
@@ -805,7 +842,6 @@ export const createSync = async (params: {
|
|
|
805
842
|
const filters = params.indexingBuild.sources
|
|
806
843
|
.filter(({ filter }) => filter.chainId === network.chainId)
|
|
807
844
|
.map(({ filter }) => filter);
|
|
808
|
-
|
|
809
845
|
status[network.name]!.block = {
|
|
810
846
|
number: hexToNumber(syncProgress.current!.number),
|
|
811
847
|
timestamp: hexToNumber(syncProgress.current!.timestamp),
|
|
@@ -1167,6 +1203,10 @@ export async function* getLocalEventGenerator(params: {
|
|
|
1167
1203
|
cursor = queryCursor;
|
|
1168
1204
|
yield { events, checkpoint: cursor };
|
|
1169
1205
|
} catch (error) {
|
|
1206
|
+
if (params.common.shutdown.isKilled) {
|
|
1207
|
+
throw error;
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1170
1210
|
params.common.logger.warn({
|
|
1171
1211
|
service: "sync",
|
|
1172
1212
|
msg: `Failed '${params.network.name}' extract query for timestamp range [${decodeCheckpoint(cursor).blockTimestamp}, ${decodeCheckpoint(to).blockTimestamp}]`,
|
|
@@ -1525,8 +1565,8 @@ export const getCachedBlock = ({
|
|
|
1525
1565
|
* @returns A single generator that yields events from all generators.
|
|
1526
1566
|
*/
|
|
1527
1567
|
export async function* mergeAsyncGeneratorsWithEventOrder(
|
|
1528
|
-
generators: AsyncGenerator<{ events:
|
|
1529
|
-
): AsyncGenerator<{ events:
|
|
1568
|
+
generators: AsyncGenerator<{ events: Event[]; checkpoint: string }>[],
|
|
1569
|
+
): AsyncGenerator<{ events: Event[]; checkpoint: string }> {
|
|
1530
1570
|
const results = await Promise.all(generators.map((gen) => gen.next()));
|
|
1531
1571
|
|
|
1532
1572
|
while (results.some((res) => res.done !== true)) {
|
|
@@ -1534,7 +1574,7 @@ export async function* mergeAsyncGeneratorsWithEventOrder(
|
|
|
1534
1574
|
...results.map((res) => (res.done ? undefined : res.value.checkpoint)),
|
|
1535
1575
|
);
|
|
1536
1576
|
|
|
1537
|
-
const eventArrays:
|
|
1577
|
+
const eventArrays: Event[][] = [];
|
|
1538
1578
|
|
|
1539
1579
|
for (const result of results) {
|
|
1540
1580
|
if (result.done === false) {
|