@subsquid/ponder 0.15.17-sqd.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 +3386 -0
- package/README.md +186 -0
- package/dist/esm/bin/commands/codegen.js +46 -0
- package/dist/esm/bin/commands/codegen.js.map +1 -0
- package/dist/esm/bin/commands/createViews.js +196 -0
- package/dist/esm/bin/commands/createViews.js.map +1 -0
- package/dist/esm/bin/commands/dev.js +430 -0
- package/dist/esm/bin/commands/dev.js.map +1 -0
- package/dist/esm/bin/commands/list.js +148 -0
- package/dist/esm/bin/commands/list.js.map +1 -0
- package/dist/esm/bin/commands/prune.js +224 -0
- package/dist/esm/bin/commands/prune.js.map +1 -0
- package/dist/esm/bin/commands/serve.js +198 -0
- package/dist/esm/bin/commands/serve.js.map +1 -0
- package/dist/esm/bin/commands/start.js +253 -0
- package/dist/esm/bin/commands/start.js.map +1 -0
- package/dist/esm/bin/isolatedController.js +200 -0
- package/dist/esm/bin/isolatedController.js.map +1 -0
- package/dist/esm/bin/isolatedWorker.js +146 -0
- package/dist/esm/bin/isolatedWorker.js.map +1 -0
- package/dist/esm/bin/ponder.js +137 -0
- package/dist/esm/bin/ponder.js.map +1 -0
- package/dist/esm/bin/utils/codegen.js +25 -0
- package/dist/esm/bin/utils/codegen.js.map +1 -0
- package/dist/esm/bin/utils/exit.js +100 -0
- package/dist/esm/bin/utils/exit.js.map +1 -0
- package/dist/esm/build/config.js +743 -0
- package/dist/esm/build/config.js.map +1 -0
- package/dist/esm/build/factory.js +76 -0
- package/dist/esm/build/factory.js.map +1 -0
- package/dist/esm/build/index.js +538 -0
- package/dist/esm/build/index.js.map +1 -0
- package/dist/esm/build/plugin.js +53 -0
- package/dist/esm/build/plugin.js.map +1 -0
- package/dist/esm/build/pre.js +76 -0
- package/dist/esm/build/pre.js.map +1 -0
- package/dist/esm/build/schema.js +164 -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 +441 -0
- package/dist/esm/client/index.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/utilityTypes.js +2 -0
- package/dist/esm/config/utilityTypes.js.map +1 -0
- package/dist/esm/database/actions.js +445 -0
- package/dist/esm/database/actions.js.map +1 -0
- package/dist/esm/database/index.js +597 -0
- package/dist/esm/database/index.js.map +1 -0
- package/dist/esm/database/queryBuilder.js +310 -0
- package/dist/esm/database/queryBuilder.js.map +1 -0
- package/dist/esm/drizzle/bigint.js +38 -0
- package/dist/esm/drizzle/bigint.js.map +1 -0
- package/dist/esm/drizzle/bytes.js +47 -0
- package/dist/esm/drizzle/bytes.js.map +1 -0
- package/dist/esm/drizzle/hex.js +40 -0
- package/dist/esm/drizzle/hex.js.map +1 -0
- package/dist/esm/drizzle/index.js +40 -0
- package/dist/esm/drizzle/index.js.map +1 -0
- package/dist/esm/drizzle/json.js +119 -0
- package/dist/esm/drizzle/json.js.map +1 -0
- package/dist/esm/drizzle/kit/index.js +928 -0
- package/dist/esm/drizzle/kit/index.js.map +1 -0
- package/dist/esm/drizzle/onchain.js +158 -0
- package/dist/esm/drizzle/onchain.js.map +1 -0
- package/dist/esm/drizzle/text.js +61 -0
- package/dist/esm/drizzle/text.js.map +1 -0
- package/dist/esm/graphql/graphiql.html.js +59 -0
- package/dist/esm/graphql/graphiql.html.js.map +1 -0
- package/dist/esm/graphql/index.js +916 -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 +78 -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/client.js +675 -0
- package/dist/esm/indexing/client.js.map +1 -0
- package/dist/esm/indexing/index.js +652 -0
- package/dist/esm/indexing/index.js.map +1 -0
- package/dist/esm/indexing/profile.js +584 -0
- package/dist/esm/indexing/profile.js.map +1 -0
- package/dist/esm/indexing-store/cache.js +665 -0
- package/dist/esm/indexing-store/cache.js.map +1 -0
- package/dist/esm/indexing-store/historical.js +427 -0
- package/dist/esm/indexing-store/historical.js.map +1 -0
- package/dist/esm/indexing-store/index.js +35 -0
- package/dist/esm/indexing-store/index.js.map +1 -0
- package/dist/esm/indexing-store/profile.js +428 -0
- package/dist/esm/indexing-store/profile.js.map +1 -0
- package/dist/esm/indexing-store/realtime.js +305 -0
- package/dist/esm/indexing-store/realtime.js.map +1 -0
- package/dist/esm/indexing-store/utils.js +111 -0
- package/dist/esm/indexing-store/utils.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 +300 -0
- package/dist/esm/internal/errors.js.map +1 -0
- package/dist/esm/internal/logger.js +178 -0
- package/dist/esm/internal/logger.js.map +1 -0
- package/dist/esm/internal/metrics.js +1046 -0
- package/dist/esm/internal/metrics.js.map +1 -0
- package/dist/esm/internal/options.js +73 -0
- package/dist/esm/internal/options.js.map +1 -0
- package/dist/esm/internal/shutdown.js +24 -0
- package/dist/esm/internal/shutdown.js.map +1 -0
- package/dist/esm/internal/telemetry.js +200 -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/rpc/actions.js +988 -0
- package/dist/esm/rpc/actions.js.map +1 -0
- package/dist/esm/rpc/http.js +130 -0
- package/dist/esm/rpc/http.js.map +1 -0
- package/dist/esm/rpc/index.js +749 -0
- package/dist/esm/rpc/index.js.map +1 -0
- package/dist/esm/runtime/events.js +664 -0
- package/dist/esm/runtime/events.js.map +1 -0
- package/dist/esm/runtime/filter.js +443 -0
- package/dist/esm/runtime/filter.js.map +1 -0
- package/dist/esm/runtime/fragments.js +478 -0
- package/dist/esm/runtime/fragments.js.map +1 -0
- package/dist/esm/runtime/historical.js +985 -0
- package/dist/esm/runtime/historical.js.map +1 -0
- package/dist/esm/runtime/index.js +325 -0
- package/dist/esm/runtime/index.js.map +1 -0
- package/dist/esm/runtime/init.js +12 -0
- package/dist/esm/runtime/init.js.map +1 -0
- package/dist/esm/runtime/isolated.js +463 -0
- package/dist/esm/runtime/isolated.js.map +1 -0
- package/dist/esm/runtime/multichain.js +509 -0
- package/dist/esm/runtime/multichain.js.map +1 -0
- package/dist/esm/runtime/omnichain.js +544 -0
- package/dist/esm/runtime/omnichain.js.map +1 -0
- package/dist/esm/runtime/realtime.js +733 -0
- package/dist/esm/runtime/realtime.js.map +1 -0
- package/dist/esm/server/error.js +56 -0
- package/dist/esm/server/error.js.map +1 -0
- package/dist/esm/server/index.js +121 -0
- package/dist/esm/server/index.js.map +1 -0
- package/dist/esm/sync-historical/index.js +701 -0
- package/dist/esm/sync-historical/index.js.map +1 -0
- package/dist/esm/sync-historical/portal-realtime-wire.js +302 -0
- package/dist/esm/sync-historical/portal-realtime-wire.js.map +1 -0
- package/dist/esm/sync-historical/portal-realtime.js +154 -0
- package/dist/esm/sync-historical/portal-realtime.js.map +1 -0
- package/dist/esm/sync-historical/portal-transform.js +113 -0
- package/dist/esm/sync-historical/portal-transform.js.map +1 -0
- package/dist/esm/sync-historical/portal.js +949 -0
- package/dist/esm/sync-historical/portal.js.map +1 -0
- package/dist/esm/sync-historical/realtime.js +127 -0
- package/dist/esm/sync-historical/realtime.js.map +1 -0
- package/dist/esm/sync-realtime/bloom.js +76 -0
- package/dist/esm/sync-realtime/bloom.js.map +1 -0
- package/dist/esm/sync-realtime/index.js +917 -0
- package/dist/esm/sync-realtime/index.js.map +1 -0
- package/dist/esm/sync-store/encode.js +105 -0
- package/dist/esm/sync-store/encode.js.map +1 -0
- package/dist/esm/sync-store/index.js +885 -0
- package/dist/esm/sync-store/index.js.map +1 -0
- package/dist/esm/sync-store/migrations.js +1595 -0
- package/dist/esm/sync-store/migrations.js.map +1 -0
- package/dist/esm/sync-store/schema.js +181 -0
- package/dist/esm/sync-store/schema.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/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/app.js +157 -0
- package/dist/esm/ui/app.js.map +1 -0
- package/dist/esm/ui/index.js +29 -0
- package/dist/esm/ui/index.js.map +1 -0
- package/dist/esm/ui/patch.js +103 -0
- package/dist/esm/ui/patch.js.map +1 -0
- package/dist/esm/utils/abi.js +55 -0
- package/dist/esm/utils/abi.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 +21 -0
- package/dist/esm/utils/chains.js.map +1 -0
- package/dist/esm/utils/checkpoint.js +139 -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/copy.js +129 -0
- package/dist/esm/utils/copy.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/decodeAbiParameters.js +290 -0
- package/dist/esm/utils/decodeAbiParameters.js.map +1 -0
- package/dist/esm/utils/decodeEventLog.js +75 -0
- package/dist/esm/utils/decodeEventLog.js.map +1 -0
- package/dist/esm/utils/dedupe.js +29 -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/finality.js +38 -0
- package/dist/esm/utils/finality.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 +121 -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 +26 -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 +101 -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 +46 -0
- package/dist/esm/utils/partition.js.map +1 -0
- package/dist/esm/utils/pg.js +149 -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/promiseAllSettledWithThrow.js +19 -0
- package/dist/esm/utils/promiseAllSettledWithThrow.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 +150 -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/result.js +10 -0
- package/dist/esm/utils/result.js.map +1 -0
- package/dist/esm/utils/sql-parse.js +1326 -0
- package/dist/esm/utils/sql-parse.js.map +1 -0
- package/dist/esm/utils/timer.js +9 -0
- package/dist/esm/utils/timer.js.map +1 -0
- package/dist/esm/utils/truncate.js +15 -0
- package/dist/esm/utils/truncate.js.map +1 -0
- package/dist/esm/utils/wait.js +10 -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/createViews.d.ts +8 -0
- package/dist/types/bin/commands/createViews.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/prune.d.ts +5 -0
- package/dist/types/bin/commands/prune.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 +19 -0
- package/dist/types/bin/commands/start.d.ts.map +1 -0
- package/dist/types/bin/isolatedController.d.ts +13 -0
- package/dist/types/bin/isolatedController.d.ts.map +1 -0
- package/dist/types/bin/isolatedWorker.d.ts +9 -0
- package/dist/types/bin/isolatedWorker.d.ts.map +1 -0
- package/dist/types/bin/ponder.d.ts +37 -0
- 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 +10 -0
- package/dist/types/bin/utils/exit.d.ts.map +1 -0
- package/dist/types/build/config.d.ts +97 -0
- package/dist/types/build/config.d.ts.map +1 -0
- package/dist/types/build/factory.d.ts +13 -0
- package/dist/types/build/factory.d.ts.map +1 -0
- package/dist/types/build/index.d.ts +84 -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 +26 -0
- package/dist/types/build/pre.d.ts.map +1 -0
- package/dist/types/build/schema.d.ts +20 -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/config/address.d.ts +24 -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 +149 -0
- package/dist/types/config/index.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/actions.d.ts +99 -0
- package/dist/types/database/actions.d.ts.map +1 -0
- package/dist/types/database/index.d.ts +481 -0
- package/dist/types/database/index.d.ts.map +1 -0
- package/dist/types/database/queryBuilder.d.ts +65 -0
- package/dist/types/database/queryBuilder.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/bytes.d.ts +31 -0
- package/dist/types/drizzle/bytes.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 +10 -0
- package/dist/types/drizzle/index.d.ts.map +1 -0
- package/dist/types/drizzle/json.d.ts +51 -0
- package/dist/types/drizzle/json.d.ts.map +1 -0
- package/dist/types/drizzle/kit/index.d.ts +189 -0
- package/dist/types/drizzle/kit/index.d.ts.map +1 -0
- package/dist/types/drizzle/onchain.d.ts +287 -0
- package/dist/types/drizzle/onchain.d.ts.map +1 -0
- package/dist/types/drizzle/text.d.ts +29 -0
- package/dist/types/drizzle/text.d.ts.map +1 -0
- package/dist/types/graphql/graphiql.html.d.ts +2 -0
- package/dist/types/graphql/graphiql.html.d.ts.map +1 -0
- package/dist/types/graphql/index.d.ts +12 -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 +23 -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/client.d.ts +154 -0
- package/dist/types/indexing/client.d.ts.map +1 -0
- package/dist/types/indexing/index.d.ts +75 -0
- package/dist/types/indexing/index.d.ts.map +1 -0
- package/dist/types/indexing/profile.d.ts +16 -0
- package/dist/types/indexing/profile.d.ts.map +1 -0
- package/dist/types/indexing-store/cache.d.ts +115 -0
- package/dist/types/indexing-store/cache.d.ts.map +1 -0
- package/dist/types/indexing-store/historical.d.ts +12 -0
- package/dist/types/indexing-store/historical.d.ts.map +1 -0
- package/dist/types/indexing-store/index.d.ts +14 -0
- package/dist/types/indexing-store/index.d.ts.map +1 -0
- package/dist/types/indexing-store/profile.d.ts +7 -0
- package/dist/types/indexing-store/profile.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/indexing-store/utils.d.ts +19 -0
- package/dist/types/indexing-store/utils.d.ts.map +1 -0
- package/dist/types/internal/common.d.ts +15 -0
- package/dist/types/internal/common.d.ts.map +1 -0
- package/dist/types/internal/errors.d.ts +101 -0
- package/dist/types/internal/errors.d.ts.map +1 -0
- package/dist/types/internal/logger.d.ts +37 -0
- package/dist/types/internal/logger.d.ts.map +1 -0
- package/dist/types/internal/metrics.d.ts +120 -0
- package/dist/types/internal/metrics.d.ts.map +1 -0
- package/dist/types/internal/options.d.ts +62 -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 +435 -0
- package/dist/types/internal/types.d.ts.map +1 -0
- package/dist/types/rpc/actions.d.ts +360 -0
- package/dist/types/rpc/actions.d.ts.map +1 -0
- package/dist/types/rpc/http.d.ts +17 -0
- package/dist/types/rpc/http.d.ts.map +1 -0
- package/dist/types/rpc/index.d.ts +43 -0
- package/dist/types/rpc/index.d.ts.map +1 -0
- package/dist/types/runtime/events.d.ts +40 -0
- package/dist/types/runtime/events.d.ts.map +1 -0
- package/dist/types/runtime/filter.d.ts +87 -0
- package/dist/types/runtime/filter.d.ts.map +1 -0
- package/dist/types/runtime/fragments.d.ts +30 -0
- package/dist/types/runtime/fragments.d.ts.map +1 -0
- package/dist/types/runtime/historical.d.ts +123 -0
- package/dist/types/runtime/historical.d.ts.map +1 -0
- package/dist/types/runtime/index.d.ts +89 -0
- package/dist/types/runtime/index.d.ts.map +1 -0
- package/dist/types/runtime/init.d.ts +28 -0
- package/dist/types/runtime/init.d.ts.map +1 -0
- package/dist/types/runtime/isolated.d.ts +14 -0
- package/dist/types/runtime/isolated.d.ts.map +1 -0
- package/dist/types/runtime/multichain.d.ts +13 -0
- package/dist/types/runtime/multichain.d.ts.map +1 -0
- package/dist/types/runtime/omnichain.d.ts +23 -0
- package/dist/types/runtime/omnichain.d.ts.map +1 -0
- package/dist/types/runtime/realtime.d.ts +93 -0
- package/dist/types/runtime/realtime.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-historical/index.d.ts +36 -0
- package/dist/types/sync-historical/index.d.ts.map +1 -0
- package/dist/types/sync-historical/portal-realtime-wire.d.ts +102 -0
- package/dist/types/sync-historical/portal-realtime-wire.d.ts.map +1 -0
- package/dist/types/sync-historical/portal-realtime.d.ts +95 -0
- package/dist/types/sync-historical/portal-realtime.d.ts.map +1 -0
- package/dist/types/sync-historical/portal-transform.d.ts +51 -0
- package/dist/types/sync-historical/portal-transform.d.ts.map +1 -0
- package/dist/types/sync-historical/portal.d.ts +34 -0
- package/dist/types/sync-historical/portal.d.ts.map +1 -0
- package/dist/types/sync-historical/realtime.d.ts +71 -0
- package/dist/types/sync-historical/realtime.d.ts.map +1 -0
- package/dist/types/sync-realtime/bloom.d.ts +18 -0
- package/dist/types/sync-realtime/bloom.d.ts.map +1 -0
- package/dist/types/sync-realtime/index.d.ts +47 -0
- package/dist/types/sync-realtime/index.d.ts.map +1 -0
- package/dist/types/sync-store/encode.d.ts +25 -0
- package/dist/types/sync-store/encode.d.ts.map +1 -0
- package/dist/types/sync-store/index.d.ts +135 -0
- package/dist/types/sync-store/index.d.ts.map +1 -0
- package/dist/types/sync-store/migrations.d.ts +8 -0
- package/dist/types/sync-store/migrations.d.ts.map +1 -0
- package/dist/types/sync-store/schema.d.ts +1828 -0
- package/dist/types/sync-store/schema.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/utils.d.ts +38 -0
- package/dist/types/types/utils.d.ts.map +1 -0
- package/dist/types/types/virtual.d.ts +99 -0
- package/dist/types/types/virtual.d.ts.map +1 -0
- package/dist/types/ui/app.d.ts +22 -0
- package/dist/types/ui/app.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/ui/patch.d.ts +7 -0
- package/dist/types/ui/patch.d.ts.map +1 -0
- package/dist/types/utils/abi.d.ts +23 -0
- package/dist/types/utils/abi.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 +42 -0
- package/dist/types/utils/chains.d.ts.map +1 -0
- package/dist/types/utils/checkpoint.d.ts +52 -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/copy.d.ts +16 -0
- package/dist/types/utils/copy.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/decodeAbiParameters.d.ts +28 -0
- package/dist/types/utils/decodeAbiParameters.d.ts.map +1 -0
- package/dist/types/utils/decodeEventLog.d.ts +12 -0
- package/dist/types/utils/decodeEventLog.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/finality.d.ts +12 -0
- package/dist/types/utils/finality.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 +42 -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 +5 -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 +8 -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 +8 -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/promiseAllSettledWithThrow.d.ts +8 -0
- package/dist/types/utils/promiseAllSettledWithThrow.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/result.d.ts +17 -0
- package/dist/types/utils/result.d.ts.map +1 -0
- package/dist/types/utils/sql-parse.d.ts +21 -0
- package/dist/types/utils/sql-parse.d.ts.map +1 -0
- package/dist/types/utils/timer.d.ts +6 -0
- package/dist/types/utils/timer.d.ts.map +1 -0
- package/dist/types/utils/truncate.d.ts +9 -0
- package/dist/types/utils/truncate.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 +116 -0
- package/src/bin/commands/codegen.ts +56 -0
- package/src/bin/commands/createViews.ts +311 -0
- package/src/bin/commands/dev.ts +490 -0
- package/src/bin/commands/list.ts +207 -0
- package/src/bin/commands/prune.ts +316 -0
- package/src/bin/commands/serve.ts +236 -0
- package/src/bin/commands/start.ts +319 -0
- package/src/bin/isolatedController.ts +300 -0
- package/src/bin/isolatedWorker.ts +192 -0
- package/src/bin/ponder.ts +200 -0
- package/src/bin/utils/codegen.ts +32 -0
- package/src/bin/utils/exit.ts +112 -0
- package/src/build/config.ts +1136 -0
- package/src/build/factory.ts +122 -0
- package/src/build/index.ts +747 -0
- package/src/build/plugin.ts +58 -0
- package/src/build/pre.ts +100 -0
- package/src/build/schema.ts +291 -0
- package/src/build/stacktrace.ts +137 -0
- package/src/client/index.ts +551 -0
- package/src/config/address.ts +32 -0
- package/src/config/eventFilter.ts +33 -0
- package/src/config/index.ts +245 -0
- package/src/config/utilityTypes.ts +152 -0
- package/src/database/actions.ts +870 -0
- package/src/database/index.ts +1018 -0
- package/src/database/queryBuilder.ts +534 -0
- package/src/drizzle/bigint.ts +57 -0
- package/src/drizzle/bytes.ts +68 -0
- package/src/drizzle/hex.ts +58 -0
- package/src/drizzle/index.ts +58 -0
- package/src/drizzle/json.ts +154 -0
- package/src/drizzle/kit/index.ts +1352 -0
- package/src/drizzle/onchain.ts +447 -0
- package/src/drizzle/text.ts +77 -0
- package/src/graphql/graphiql.html.ts +59 -0
- package/src/graphql/index.ts +1329 -0
- package/src/graphql/json.ts +62 -0
- package/src/graphql/middleware.ts +111 -0
- package/src/index.ts +139 -0
- package/src/indexing/addStackTrace.ts +69 -0
- package/src/indexing/client.ts +1184 -0
- package/src/indexing/index.ts +961 -0
- package/src/indexing/profile.ts +771 -0
- package/src/indexing-store/cache.ts +1056 -0
- package/src/indexing-store/historical.ts +555 -0
- package/src/indexing-store/index.ts +73 -0
- package/src/indexing-store/profile.ts +557 -0
- package/src/indexing-store/realtime.ts +412 -0
- package/src/indexing-store/utils.ts +162 -0
- package/src/internal/common.ts +15 -0
- package/src/internal/errors.ts +228 -0
- package/src/internal/logger.ts +252 -0
- package/src/internal/metrics.ts +1027 -0
- package/src/internal/options.ts +130 -0
- package/src/internal/shutdown.ts +32 -0
- package/src/internal/telemetry.ts +303 -0
- package/src/internal/types.ts +598 -0
- package/src/rpc/actions.ts +1344 -0
- package/src/rpc/http.ts +164 -0
- package/src/rpc/index.ts +959 -0
- package/src/runtime/events.ts +875 -0
- package/src/runtime/filter.ts +664 -0
- package/src/runtime/fragments.ts +674 -0
- package/src/runtime/historical.ts +1556 -0
- package/src/runtime/index.ts +578 -0
- package/src/runtime/init.ts +49 -0
- package/src/runtime/isolated.ts +769 -0
- package/src/runtime/multichain.ts +853 -0
- package/src/runtime/omnichain.ts +913 -0
- package/src/runtime/realtime.ts +1179 -0
- package/src/server/error.ts +68 -0
- package/src/server/index.ts +173 -0
- package/src/sync-historical/index.ts +1062 -0
- package/src/sync-historical/portal-realtime-wire.ts +389 -0
- package/src/sync-historical/portal-realtime.ts +209 -0
- package/src/sync-historical/portal-transform.ts +123 -0
- package/src/sync-historical/portal.ts +811 -0
- package/src/sync-historical/realtime.ts +132 -0
- package/src/sync-realtime/bloom.ts +102 -0
- package/src/sync-realtime/index.ts +1298 -0
- package/src/sync-store/encode.ts +153 -0
- package/src/sync-store/index.ts +1633 -0
- package/src/sync-store/migrations.ts +1801 -0
- package/src/sync-store/schema.ts +248 -0
- package/src/types/db.ts +292 -0
- package/src/types/eth.ts +216 -0
- package/src/types/utils.ts +47 -0
- package/src/types/virtual.ts +244 -0
- package/src/types.d.ts +38 -0
- package/src/ui/app.ts +207 -0
- package/src/ui/index.ts +37 -0
- package/src/ui/patch.ts +145 -0
- package/src/utils/abi.ts +103 -0
- package/src/utils/bigint.ts +41 -0
- package/src/utils/chains.ts +22 -0
- package/src/utils/checkpoint.ts +203 -0
- package/src/utils/chunk.ts +7 -0
- package/src/utils/copy.ts +151 -0
- package/src/utils/date.ts +26 -0
- package/src/utils/debug.ts +110 -0
- package/src/utils/decodeAbiParameters.ts +428 -0
- package/src/utils/decodeEventLog.ts +100 -0
- package/src/utils/dedupe.ts +32 -0
- package/src/utils/duplicates.ts +19 -0
- package/src/utils/estimate.ts +27 -0
- package/src/utils/finality.ts +40 -0
- package/src/utils/format.ts +22 -0
- package/src/utils/generators.ts +157 -0
- package/src/utils/hash.ts +22 -0
- package/src/utils/interval.ts +212 -0
- package/src/utils/lowercase.ts +6 -0
- package/src/utils/mutex.ts +33 -0
- package/src/utils/never.ts +3 -0
- package/src/utils/offset.ts +133 -0
- package/src/utils/order.ts +16 -0
- package/src/utils/partition.ts +53 -0
- package/src/utils/pg.ts +197 -0
- package/src/utils/pglite.ts +97 -0
- package/src/utils/port.ts +34 -0
- package/src/utils/print.ts +31 -0
- package/src/utils/promiseAllSettledWithThrow.ts +27 -0
- package/src/utils/promiseWithResolvers.ts +20 -0
- package/src/utils/queue.ts +258 -0
- package/src/utils/range.ts +8 -0
- package/src/utils/result.ts +26 -0
- package/src/utils/sql-parse.ts +1477 -0
- package/src/utils/timer.ts +8 -0
- package/src/utils/truncate.ts +15 -0
- package/src/utils/wait.ts +8 -0
- package/src/utils/zipper.ts +80 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Portal-native realtime — serve `[portal-finalized-head → tip]` from the Portal `/stream` (fork-aware
|
|
3
|
+
* hot-blocks) instead of RPC.
|
|
4
|
+
*
|
|
5
|
+
* WHY: in realtime mode the fork currently backfills `[deploy → portal-finalized-head]` from the Portal,
|
|
6
|
+
* then fetches `[portal-finalized-head → chain-finalized-head]` over RPC (the "finality gap") and runs
|
|
7
|
+
* ponder's RPC RealtimeSync for the tip. For dense chains under multichain load that RPC gap-fetch stalls
|
|
8
|
+
* — ponder's single-thread global ordering blocks on the slowest chain's gap. The Portal already holds
|
|
9
|
+
* these hot-blocks; streaming them removes the RPC gap at its source.
|
|
10
|
+
*
|
|
11
|
+
* HOW: `/stream` with `includeAllBlocks:true` yields EVERY block header (a consecutive parentHash chain,
|
|
12
|
+
* for reorg tracking) plus the filtered euler logs, in one request. We reconcile each block into a local
|
|
13
|
+
* unfinalized chain and emit ponder's own `RealtimeSyncEvent`s (`block` / `reorg` / `finalize`) reusing
|
|
14
|
+
* `portal-transform` — so the downstream indexing + checkpointing in runtime/realtime.ts is UNCHANGED.
|
|
15
|
+
*
|
|
16
|
+
* The reorg/finalize reconciliation is pure + unit-tested; the `/stream` read and `/finalized-head` poll
|
|
17
|
+
* are the I/O shell.
|
|
18
|
+
*/
|
|
19
|
+
import type { SyncBlockHeader, SyncLog } from '../internal/types.js';
|
|
20
|
+
import { hexToNumber, type Hex } from "viem";
|
|
21
|
+
import { hx, type RawHeader } from "./portal-transform.js";
|
|
22
|
+
/** The minimum a block needs for chain reconciliation. `number` is a decimal string (Portal-native). */
|
|
23
|
+
export type Light = {
|
|
24
|
+
number: number;
|
|
25
|
+
hash: string;
|
|
26
|
+
parentHash: string;
|
|
27
|
+
timestamp: number;
|
|
28
|
+
};
|
|
29
|
+
export type Reconcile = {
|
|
30
|
+
kind: "append";
|
|
31
|
+
} | {
|
|
32
|
+
kind: "duplicate";
|
|
33
|
+
} | {
|
|
34
|
+
kind: "reorg";
|
|
35
|
+
commonAncestor: Light;
|
|
36
|
+
reorgedBlocks: Light[];
|
|
37
|
+
} | {
|
|
38
|
+
kind: "gap";
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Reconcile a newly-streamed block against the local unfinalized chain (oldest→newest, linked
|
|
42
|
+
* parentHash→hash). Pure. With `includeAllBlocks` the happy path is always `append`; a reorg re-streams
|
|
43
|
+
* from the fork point, so the new block's `parentHash` matches an EARLIER block — everything after that
|
|
44
|
+
* common ancestor is reorged.
|
|
45
|
+
*/
|
|
46
|
+
export declare function reconcile(unfinalized: Light[], next: Light): Reconcile;
|
|
47
|
+
/** Split the unfinalized chain at a newly-finalized block number. Pure. */
|
|
48
|
+
export declare function takeFinalized(unfinalized: Light[], finalizedNumber: number): {
|
|
49
|
+
finalizedTip: Light | undefined;
|
|
50
|
+
remaining: Light[];
|
|
51
|
+
};
|
|
52
|
+
export declare const toLight: (h: RawHeader) => Light;
|
|
53
|
+
export type PortalRealtimeArgs = {
|
|
54
|
+
portalUrl: string;
|
|
55
|
+
headers: Record<string, string>;
|
|
56
|
+
/** first block to stream (exclusive of already-indexed finalized head): syncProgress.finalized.number + 1 */
|
|
57
|
+
fromBlock: number;
|
|
58
|
+
/** euler log filters (address/topics), already merged — passed straight into the Portal query */
|
|
59
|
+
logs: Array<Record<string, unknown>>;
|
|
60
|
+
/** the block header fields ponder needs */
|
|
61
|
+
blockFields?: Record<string, boolean>;
|
|
62
|
+
logFields?: Record<string, boolean>;
|
|
63
|
+
signal?: AbortSignal;
|
|
64
|
+
fetchImpl?: typeof fetch;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Stream fork-aware hot-blocks with `includeAllBlocks` (every header + filtered logs). Yields raw Portal
|
|
68
|
+
* batch objects `{ header, logs }`. Re-opens the stream from the last seen block on disconnect so it runs
|
|
69
|
+
* continuously; a reorg simply re-streams from the fork point (reconcile() detects it).
|
|
70
|
+
*/
|
|
71
|
+
export declare function streamHotBlocks(args: PortalRealtimeArgs): AsyncGenerator<{
|
|
72
|
+
header: RawHeader;
|
|
73
|
+
logs: any[];
|
|
74
|
+
}>;
|
|
75
|
+
export type PortalRealtimeEvent = {
|
|
76
|
+
type: "block";
|
|
77
|
+
block: SyncBlockHeader;
|
|
78
|
+
logs: SyncLog[];
|
|
79
|
+
hasMatchedFilter: boolean;
|
|
80
|
+
} | {
|
|
81
|
+
type: "reorg";
|
|
82
|
+
block: Light;
|
|
83
|
+
reorgedBlocks: Light[];
|
|
84
|
+
} | {
|
|
85
|
+
type: "finalize";
|
|
86
|
+
block: Light;
|
|
87
|
+
};
|
|
88
|
+
export declare function portalRealtimeEvents(args: PortalRealtimeArgs & {
|
|
89
|
+
finalizedHead: () => Promise<number | undefined>;
|
|
90
|
+
finalizePollMs?: number;
|
|
91
|
+
}): AsyncGenerator<PortalRealtimeEvent>;
|
|
92
|
+
export { hx as _hx };
|
|
93
|
+
export type { SyncBlockHeader, SyncLog, Hex };
|
|
94
|
+
export { hexToNumber };
|
|
95
|
+
//# sourceMappingURL=portal-realtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-realtime.d.ts","sourceRoot":"","sources":["../../../src/sync-historical/portal-realtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure transforms: SQD Portal NDJSON → Ponder Sync* / geth callTracer shapes.
|
|
3
|
+
*
|
|
4
|
+
* Portal uses a SPLIT encoding (verified live, block 21,000,000): small bounded
|
|
5
|
+
* values are DECIMAL numbers (status, type, transactionIndex, nonce, chainId,
|
|
6
|
+
* yParity, traceAddress[], subtraces, block number/timestamp) while 256-bit /
|
|
7
|
+
* byte quantities are HEX strings (gas*, value, effectiveGasPrice, v/r/s, all
|
|
8
|
+
* addresses/hashes, and ALL trace action/result quantities). So e.g. `status` is
|
|
9
|
+
* `1` not `"0x1"`, but `gasUsed` is `"0x317fa"`. These functions normalise to
|
|
10
|
+
* viem RPC conventions. Kept pure + exported so they're unit-testable against
|
|
11
|
+
* real captured fixtures.
|
|
12
|
+
*/
|
|
13
|
+
import type { SyncBlockHeader, SyncLog, SyncTransaction, SyncTransactionReceipt } from '../internal/types.js';
|
|
14
|
+
import { type Address, type Hex } from "viem";
|
|
15
|
+
export type RawHeader = Record<string, any> & {
|
|
16
|
+
number: number;
|
|
17
|
+
};
|
|
18
|
+
/** Traces are ~100x denser than logs; buffering a wide chunk's worth over a busy contract OOMs.
|
|
19
|
+
* For trace-index parity we fetch the FULL (unfiltered) trace set, which is denser still, so the
|
|
20
|
+
* default cap is conservative. When a chain has trace sources, cap the chunk to a trace-safe width
|
|
21
|
+
* (PORTAL_TRACE_CHUNK_BLOCKS, default 2k). Pure so it's unit-testable. */
|
|
22
|
+
export declare const traceSafeChunkBlocks: (base: number, needTraces: boolean, cap?: number) => number;
|
|
23
|
+
/** An interval reaching past Portal's finalized head must fall back to RPC for the gap.
|
|
24
|
+
* (undefined head = not yet known → treat as no gap.) Pure so it's unit-testable. */
|
|
25
|
+
export declare const isFinalityGap: (intervalEnd: number, portalHead: number | undefined) => boolean;
|
|
26
|
+
/** number|decimal-string|hex → 0x-hex; passes existing hex through. */
|
|
27
|
+
export declare const hx: (v: unknown) => Hex;
|
|
28
|
+
export declare const opt: (v: unknown) => Hex | undefined;
|
|
29
|
+
export declare const toSyncLog: (l: any, h: RawHeader) => SyncLog;
|
|
30
|
+
export declare const toSyncBlockHeader: (h: RawHeader) => SyncBlockHeader;
|
|
31
|
+
export declare const toSyncTransaction: (tx: any, h: RawHeader) => SyncTransaction;
|
|
32
|
+
/** receipt fields ride on Portal's transaction object; status/type are DECIMAL → hex. */
|
|
33
|
+
export declare const toSyncReceipt: (tx: any, h: RawHeader) => SyncTransactionReceipt;
|
|
34
|
+
export declare const CALL_TYPE: Record<string, string>;
|
|
35
|
+
/** lexicographic, parent-before-child: [] < [0] < [0,0] < [1] — i.e. DFS pre-order. */
|
|
36
|
+
export declare const cmpTraceAddr: (a: number[], b: number[]) => number;
|
|
37
|
+
/** Portal Parity trace → geth callTracer CallFrame (+ index/subcalls). Reads nested
|
|
38
|
+
* action/result; callType lives at action.callType. CREATE2 is indistinguishable. */
|
|
39
|
+
export declare const parityToCallFrame: (t: any, index: number) => any | undefined;
|
|
40
|
+
/** State diffs — Portal has them; Ponder has no state-diff source today, so this is
|
|
41
|
+
* engine-level only (available via the standalone client, not wired into HistoricalSync). */
|
|
42
|
+
export type StateDiff = {
|
|
43
|
+
transactionIndex: number;
|
|
44
|
+
address: Address;
|
|
45
|
+
key: string;
|
|
46
|
+
kind: "=" | "+" | "*" | "-";
|
|
47
|
+
prev: Hex | null;
|
|
48
|
+
next: Hex | null;
|
|
49
|
+
};
|
|
50
|
+
export declare const toStateDiff: (d: any) => StateDiff;
|
|
51
|
+
//# sourceMappingURL=portal-transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-transform.d.ts","sourceRoot":"","sources":["../../../src/sync-historical/portal-transform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,eAAe,EACf,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAsB,MAAM,MAAM,CAAC;AAElE,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE;;;0EAG0E;AAC1E,eAAO,MAAM,oBAAoB,SAAU,MAAM,cAAc,OAAO,mBAAiE,MAChG,CAAC;AAExC;qFACqF;AACrF,eAAO,MAAM,aAAa,gBAAiB,MAAM,cAAc,MAAM,GAAG,SAAS,KAAG,OAC9B,CAAC;AAEvD,uEAAuE;AACvE,eAAO,MAAM,EAAE,MAAO,OAAO,KAAG,GAO/B,CAAC;AACF,eAAO,MAAM,GAAG,MAAO,OAAO,KAAG,GAAG,GAAG,SAAgE,CAAC;AAExG,eAAO,MAAM,SAAS,MAAO,GAAG,KAAK,SAAS,KAAG,OAIzB,CAAC;AAEzB,eAAO,MAAM,iBAAiB,MAAO,SAAS,KAAG,eAOjB,CAAC;AAEjC,eAAO,MAAM,iBAAiB,OAAQ,GAAG,KAAK,SAAS,KAAG,eAU1B,CAAC;AAEjC,yFAAyF;AACzF,eAAO,MAAM,aAAa,OAAQ,GAAG,KAAK,SAAS,KAAG,sBAUf,CAAC;AAExC,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAkG,CAAC;AAEhJ,uFAAuF;AACvF,eAAO,MAAM,YAAY,MAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAG,MAIvD,CAAC;AAEF;qFACqF;AACrF,eAAO,MAAM,iBAAiB,MAAO,GAAG,SAAS,MAAM,KAAG,GAAG,GAAG,SAkB/D,CAAC;AAEF;6FAC6F;AAC7F,MAAM,MAAM,SAAS,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAA;CAAE,CAAC;AACrJ,eAAO,MAAM,WAAW,MAAO,GAAG,KAAG,SAGnC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Common } from '../internal/common.js';
|
|
2
|
+
import type { Chain, FactoryId, Filter } from '../internal/types.js';
|
|
3
|
+
import type { Rpc } from '../rpc/index.js';
|
|
4
|
+
import { type Address } from "viem";
|
|
5
|
+
import { type HistoricalSync } from "./index.js";
|
|
6
|
+
/**
|
|
7
|
+
* Portal-backed historical sync with a PARALLEL read-ahead chunk buffer.
|
|
8
|
+
*
|
|
9
|
+
* Ponder feeds small intervals; Portal is latency-bound per request but has huge
|
|
10
|
+
* parallel bandwidth. So we fetch large aligned CHUNKS and serve every interval
|
|
11
|
+
* from cache — and we fetch chunks IN PARALLEL (read-ahead depth N) so the
|
|
12
|
+
* Portal's per-request latency overlaps instead of serializing.
|
|
13
|
+
*
|
|
14
|
+
* Correctness for factory sources: the discovery timeline is decoupled from the
|
|
15
|
+
* data timeline. Each chunk's children are discovered independently (clamped to
|
|
16
|
+
* the factory's real start block), and a data chunk only fetches once discovery
|
|
17
|
+
* is complete THROUGH its own block range — so no child event is missed even
|
|
18
|
+
* though data chunks are fetched out of order.
|
|
19
|
+
*
|
|
20
|
+
* Tunables: PORTAL_CHUNK_BLOCKS (default 500k), PORTAL_READAHEAD (default 6).
|
|
21
|
+
* Selected at runtime/historical.ts when `chain.portal` is set; realtime → rpc.
|
|
22
|
+
*/
|
|
23
|
+
type CreateHistoricalSyncParameters = {
|
|
24
|
+
common: Common;
|
|
25
|
+
chain: Chain;
|
|
26
|
+
rpc: Rpc;
|
|
27
|
+
childAddresses: Map<FactoryId, Map<Address, number>>;
|
|
28
|
+
eventCallbacks: {
|
|
29
|
+
filter: Filter;
|
|
30
|
+
}[];
|
|
31
|
+
};
|
|
32
|
+
export declare const createPortalHistoricalSync: (args: CreateHistoricalSyncParameters) => HistoricalSync;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=portal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/sync-historical/portal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EACV,KAAK,EACL,SAAS,EACT,MAAM,EAQP,MAAM,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,OAAO,EAAY,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,YAAY,CAAC;AAGvE;;;;;;;;;;;;;;;;GAgBG;AAEH,KAAK,8BAA8B,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAIrD,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtC,CAAC;AAmFF,eAAO,MAAM,0BAA0B,SAC/B,8BAA8B,KACnC,cA2pBF,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Realtime source helpers + endpoint instrumentation.
|
|
3
|
+
*
|
|
4
|
+
* Ponder owns realtime and reorg handling natively (RealtimeSync: parent-hash tracking + rollback to the
|
|
5
|
+
* common ancestor, bounded by the finalized block). The fork only swaps the HISTORICAL sync to the Portal.
|
|
6
|
+
* So the realtime source is purely a `rpc` config choice — ponder polls whatever transport(s) you give it
|
|
7
|
+
* and reorg-handles the result identically. The lib is RPC-agnostic: an authenticated RPC (an x-api-key
|
|
8
|
+
* header, a keyed proxy, …) is just `http(url, { fetchOptions: { headers } })` — nothing special.
|
|
9
|
+
*
|
|
10
|
+
* import { http, fallback } from "viem";
|
|
11
|
+
* // a plain list (Ponder-style), or latency-ranked for fastest-tip:
|
|
12
|
+
* rpc: [process.env.RPC_1!, process.env.RPC_1B!],
|
|
13
|
+
* rpc: fallback([http(process.env.RPC_1!), http(process.env.RPC_1B!)], { rank: true }),
|
|
14
|
+
* // an authenticated RPC + fallback:
|
|
15
|
+
* rpc: fallback([ http(process.env.RPC_URL!, { fetchOptions: { headers: { "x-api-key": process.env.RPC_KEY! } } }), http(process.env.RPC_1!) ]),
|
|
16
|
+
*
|
|
17
|
+
* `fallback` gives smooth failover; `{ rank: true }` probes latency and routes to the fastest tip. Either
|
|
18
|
+
* way ponder's reorg safety comes for free.
|
|
19
|
+
*/
|
|
20
|
+
import { type Transport } from "viem";
|
|
21
|
+
/**
|
|
22
|
+
* Compose realtime RPC(s) into a latency-ranked fallback so the fastest tip lands. Accepts URL strings or
|
|
23
|
+
* viem Transports — pass a Transport for an authenticated RPC: `http(url, { fetchOptions: { headers } })`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function rpcRealtime(rpcs: Array<string | Transport>, opts?: {
|
|
26
|
+
rank?: boolean;
|
|
27
|
+
}): Transport;
|
|
28
|
+
export type Endpoint = {
|
|
29
|
+
name: string;
|
|
30
|
+
url: string;
|
|
31
|
+
headers?: Record<string, string>;
|
|
32
|
+
};
|
|
33
|
+
export type ChainEndpoints = {
|
|
34
|
+
chainId: number;
|
|
35
|
+
endpoints: Endpoint[];
|
|
36
|
+
};
|
|
37
|
+
export type ProbeSample = {
|
|
38
|
+
chainId: number;
|
|
39
|
+
name: string;
|
|
40
|
+
ok: boolean;
|
|
41
|
+
latencyMs: number;
|
|
42
|
+
tip: number | null;
|
|
43
|
+
error?: string;
|
|
44
|
+
lag?: number | null;
|
|
45
|
+
};
|
|
46
|
+
/** Probe every endpoint once. Pure w.r.t. state — takes a `fetchImpl` for testability. */
|
|
47
|
+
export declare function probeOnce(chains: ChainEndpoints[], fetchImpl?: typeof fetch, timeoutMs?: number): Promise<ProbeSample[]>;
|
|
48
|
+
/** Freshness lag (blocks behind the freshest endpoint for the same chain). Pure. */
|
|
49
|
+
export declare function freshnessLag(samples: ProbeSample[]): Map<string, number | null>;
|
|
50
|
+
/** Roll a window of samples into per-endpoint stats. Pure. */
|
|
51
|
+
export declare function summarize(window: ProbeSample[]): Record<string, {
|
|
52
|
+
chainId: number;
|
|
53
|
+
name: string;
|
|
54
|
+
n: number;
|
|
55
|
+
okRate: number;
|
|
56
|
+
latP50: number;
|
|
57
|
+
latP95: number;
|
|
58
|
+
latMean: number;
|
|
59
|
+
avgLag: number | null;
|
|
60
|
+
lastError?: string;
|
|
61
|
+
}>;
|
|
62
|
+
/** Start the periodic endpoint probe. Returns a stop() fn. Writes `<metricsFile>` (JSON) each tick. */
|
|
63
|
+
export declare function startEndpointProbe(chains: ChainEndpoints[], opts?: {
|
|
64
|
+
intervalMs?: number;
|
|
65
|
+
windowTicks?: number;
|
|
66
|
+
metricsFile?: string;
|
|
67
|
+
fetchImpl?: typeof fetch;
|
|
68
|
+
onSummary?: (s: ReturnType<typeof summarize>) => void;
|
|
69
|
+
log?: (m: string) => void;
|
|
70
|
+
}): () => void;
|
|
71
|
+
//# sourceMappingURL=realtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../../src/sync-historical/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,MAAM,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAEjG;AASD,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AACvF,MAAM,MAAM,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AACxE,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAErJ,0FAA0F;AAC1F,wBAAsB,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,SAAS,GAAE,OAAO,KAAa,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAyBpI;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAS/E;AAQD,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBzN;AAED,uGAAuG;AACvG,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EAAE,EACxB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,KAAK,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GACzL,MAAM,IAAI,CAqBZ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { LogFilter, SyncBlock } from '../internal/types.js';
|
|
2
|
+
import { type Hex } from "viem";
|
|
3
|
+
export declare const zeroLogsBloom = "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
|
|
4
|
+
export declare const isInBloom: (_bloom: Hex, input: Hex) => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Return true if `filter` is in `bloom`.
|
|
7
|
+
*
|
|
8
|
+
* A filter with an address of type `LogFactory` is matched
|
|
9
|
+
* if the address filter is matched (new child contract) or the log
|
|
10
|
+
* filter is matched (log on child contract).
|
|
11
|
+
*
|
|
12
|
+
* Note: False positives are possible.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isFilterInBloom({ block, filter, }: {
|
|
15
|
+
block: Pick<SyncBlock, "number" | "logsBloom">;
|
|
16
|
+
filter: LogFilter;
|
|
17
|
+
}): boolean;
|
|
18
|
+
//# sourceMappingURL=bloom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bloom.d.ts","sourceRoot":"","sources":["../../../src/sync-realtime/bloom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMhE,OAAO,EAAE,KAAK,GAAG,EAAsC,MAAM,MAAM,CAAC;AAEpE,eAAO,MAAM,aAAa,ugBAC4e,CAAC;AAIvgB,eAAO,MAAM,SAAS,WAAY,GAAG,SAAS,GAAG,KAAG,OAenD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,MAAM,GACP,EAAE;IACD,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;IAC/C,MAAM,EAAE,SAAS,CAAC;CACnB,GAAG,OAAO,CAwDV"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Common } from '../internal/common.js';
|
|
2
|
+
import type { Chain, EventCallback, Factory, FactoryId, LightBlock, SyncBlock, SyncBlockHeader, SyncLog, SyncTrace, SyncTransaction, SyncTransactionReceipt } from '../internal/types.js';
|
|
3
|
+
import type { Rpc } from '../rpc/index.js';
|
|
4
|
+
import type { SyncProgress } from '../runtime/index.js';
|
|
5
|
+
import { type Address } from "viem";
|
|
6
|
+
export type RealtimeSync = {
|
|
7
|
+
/**
|
|
8
|
+
* Fetch block event data and reconcile it into the local chain.
|
|
9
|
+
*
|
|
10
|
+
* @param block - The block to reconcile.
|
|
11
|
+
*/
|
|
12
|
+
sync(block: SyncBlock | SyncBlockHeader, blockCallback?: (isAccepted: boolean) => void): AsyncGenerator<RealtimeSyncEvent>;
|
|
13
|
+
onError(error: Error): void;
|
|
14
|
+
/** Local chain of blocks that have not been finalized. */
|
|
15
|
+
unfinalizedBlocks: LightBlock[];
|
|
16
|
+
};
|
|
17
|
+
export type BlockWithEventData = {
|
|
18
|
+
block: SyncBlock | SyncBlockHeader;
|
|
19
|
+
transactions: SyncTransaction[];
|
|
20
|
+
transactionReceipts: SyncTransactionReceipt[];
|
|
21
|
+
logs: SyncLog[];
|
|
22
|
+
traces: SyncTrace[];
|
|
23
|
+
childAddresses: Map<Factory, Set<Address>>;
|
|
24
|
+
};
|
|
25
|
+
export type RealtimeSyncEvent = ({
|
|
26
|
+
type: "block";
|
|
27
|
+
hasMatchedFilter: boolean;
|
|
28
|
+
blockCallback?: (isAccepted: boolean) => void;
|
|
29
|
+
} & BlockWithEventData) | {
|
|
30
|
+
type: "finalize";
|
|
31
|
+
block: LightBlock;
|
|
32
|
+
} | {
|
|
33
|
+
type: "reorg";
|
|
34
|
+
block: LightBlock;
|
|
35
|
+
reorgedBlocks: LightBlock[];
|
|
36
|
+
};
|
|
37
|
+
type CreateRealtimeSyncParameters = {
|
|
38
|
+
common: Common;
|
|
39
|
+
chain: Chain;
|
|
40
|
+
rpc: Rpc;
|
|
41
|
+
eventCallbacks: EventCallback[];
|
|
42
|
+
syncProgress: Pick<SyncProgress, "finalized">;
|
|
43
|
+
childAddresses: Map<FactoryId, Map<Address, number>>;
|
|
44
|
+
};
|
|
45
|
+
export declare const createRealtimeSync: (args: CreateRealtimeSyncParameters) => RealtimeSync;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync-realtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,KAAK,EAEV,KAAK,EACL,aAAa,EACb,OAAO,EACP,SAAS,EAET,UAAU,EAEV,SAAS,EACT,eAAe,EACf,OAAO,EACP,SAAS,EACT,eAAe,EACf,sBAAsB,EAIvB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAa1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,OAAO,EACL,KAAK,OAAO,EAKb,MAAM,MAAM,CAAC;AAGd,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,IAAI,CACF,KAAK,EAAE,SAAS,GAAG,eAAe,EAClC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,GAC5C,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,0DAA0D;IAC1D,iBAAiB,EAAE,UAAU,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,SAAS,GAAG,eAAe,CAAC;IACnC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,mBAAmB,EAAE,sBAAsB,EAAE,CAAC;IAC9C,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,GAAG,kBAAkB,CAAC,GACvB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAEtE,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC9C,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD,CAAC;AAKF,eAAO,MAAM,kBAAkB,SACvB,4BAA4B,KACjC,YAuqCF,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SyncBlock, SyncBlockHeader, SyncLog, SyncTrace, SyncTransaction, SyncTransactionReceipt } from '../internal/types.js';
|
|
2
|
+
import type * as ponderSyncSchema from "./schema.js";
|
|
3
|
+
export declare const encodeBlock: ({ block, chainId, }: {
|
|
4
|
+
block: SyncBlock | SyncBlockHeader;
|
|
5
|
+
chainId: number;
|
|
6
|
+
}) => typeof ponderSyncSchema.blocks.$inferInsert;
|
|
7
|
+
export declare const encodeLog: ({ log, chainId, }: {
|
|
8
|
+
log: SyncLog;
|
|
9
|
+
chainId: number;
|
|
10
|
+
}) => typeof ponderSyncSchema.logs.$inferInsert;
|
|
11
|
+
export declare const encodeTransaction: ({ transaction, chainId, }: {
|
|
12
|
+
transaction: SyncTransaction;
|
|
13
|
+
chainId: number;
|
|
14
|
+
}) => typeof ponderSyncSchema.transactions.$inferInsert;
|
|
15
|
+
export declare const encodeTransactionReceipt: ({ transactionReceipt, chainId, }: {
|
|
16
|
+
transactionReceipt: SyncTransactionReceipt;
|
|
17
|
+
chainId: number;
|
|
18
|
+
}) => typeof ponderSyncSchema.transactionReceipts.$inferInsert;
|
|
19
|
+
export declare const encodeTrace: ({ trace, block, transaction, chainId, }: {
|
|
20
|
+
trace: SyncTrace;
|
|
21
|
+
block: Pick<SyncBlock, "number">;
|
|
22
|
+
transaction: Pick<SyncTransaction, "transactionIndex">;
|
|
23
|
+
chainId: number;
|
|
24
|
+
}) => typeof ponderSyncSchema.traces.$inferInsert;
|
|
25
|
+
//# sourceMappingURL=encode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../../src/sync-store/encode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,OAAO,EACP,SAAS,EACT,eAAe,EACf,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,KAAK,gBAAgB,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,WAAW;WAIf,SAAS,GAAG,eAAe;aACzB,MAAM;MACb,OAAO,iBAAiB,MAAM,CAAC,YAuBjC,CAAC;AAEH,eAAO,MAAM,SAAS;SAIf,OAAO;aACH,MAAM;MACb,OAAO,iBAAiB,IAAI,CAAC,YAa/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;iBAIf,eAAe;aACnB,MAAM;MACb,OAAO,iBAAiB,YAAY,CAAC,YA0BvC,CAAC;AAEH,eAAO,MAAM,wBAAwB;wBAIf,sBAAsB;aACjC,MAAM;MACb,OAAO,iBAAiB,mBAAmB,CAAC,YAiB9C,CAAC;AAEH,eAAO,MAAM,WAAW;WAMf,SAAS;WACT,KAAK,SAAS,EAAE,QAAQ,CAAC;iBACnB,KAAK,eAAe,EAAE,kBAAkB,CAAC;aAC7C,MAAM;MACb,OAAO,iBAAiB,MAAM,CAAC,YAkBjC,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import type { QB } from '../database/queryBuilder.js';
|
|
2
|
+
import type { Common } from '../internal/common.js';
|
|
3
|
+
import type { Logger } from '../internal/logger.js';
|
|
4
|
+
import type { BlockFilter, Factory, Filter, Fragment, InternalBlock, InternalLog, InternalTrace, InternalTransaction, InternalTransactionReceipt, LightBlock, LogFilter, SyncBlock, SyncBlockHeader, SyncLog, SyncTrace, SyncTransaction, SyncTransactionReceipt, TraceFilter, TransactionFilter, TransferFilter } from '../internal/types.js';
|
|
5
|
+
import type { RequestParameters } from '../rpc/index.js';
|
|
6
|
+
import type { IntervalWithFactory, IntervalWithFilter } from '../runtime/index.js';
|
|
7
|
+
import type { Interval } from '../utils/interval.js';
|
|
8
|
+
import { type SQL } from "drizzle-orm";
|
|
9
|
+
import { type Address } from "viem";
|
|
10
|
+
import * as PONDER_SYNC from "./schema.js";
|
|
11
|
+
export type SyncStore = {
|
|
12
|
+
insertIntervals(args: {
|
|
13
|
+
intervals: IntervalWithFilter[];
|
|
14
|
+
factoryIntervals: IntervalWithFactory[];
|
|
15
|
+
chainId: number;
|
|
16
|
+
}, context?: {
|
|
17
|
+
logger?: Logger;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
getIntervals(args: {
|
|
20
|
+
filters: Filter[];
|
|
21
|
+
}, context?: {
|
|
22
|
+
logger?: Logger;
|
|
23
|
+
}): Promise<Map<Filter | Factory, {
|
|
24
|
+
fragment: Fragment;
|
|
25
|
+
intervals: Interval[];
|
|
26
|
+
}[]>>;
|
|
27
|
+
insertChildAddresses(args: {
|
|
28
|
+
factory: Factory;
|
|
29
|
+
childAddresses: Map<Address, number>;
|
|
30
|
+
chainId: number;
|
|
31
|
+
}, context?: {
|
|
32
|
+
logger?: Logger;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
getChildAddresses(args: {
|
|
35
|
+
factory: Factory;
|
|
36
|
+
}, context?: {
|
|
37
|
+
logger?: Logger;
|
|
38
|
+
}): Promise<Map<Address, number>>;
|
|
39
|
+
getSafeCrashRecoveryBlock(args: {
|
|
40
|
+
chainId: number;
|
|
41
|
+
timestamp: number;
|
|
42
|
+
}, context?: {
|
|
43
|
+
logger?: Logger;
|
|
44
|
+
}): Promise<{
|
|
45
|
+
number: bigint;
|
|
46
|
+
timestamp: bigint;
|
|
47
|
+
} | undefined>;
|
|
48
|
+
insertLogs(args: {
|
|
49
|
+
logs: SyncLog[];
|
|
50
|
+
chainId: number;
|
|
51
|
+
}, context?: {
|
|
52
|
+
logger?: Logger;
|
|
53
|
+
}): Promise<void>;
|
|
54
|
+
insertBlocks(args: {
|
|
55
|
+
blocks: (SyncBlock | SyncBlockHeader)[];
|
|
56
|
+
chainId: number;
|
|
57
|
+
}, context?: {
|
|
58
|
+
logger?: Logger;
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
insertTransactions(args: {
|
|
61
|
+
transactions: SyncTransaction[];
|
|
62
|
+
chainId: number;
|
|
63
|
+
}, context?: {
|
|
64
|
+
logger?: Logger;
|
|
65
|
+
}): Promise<void>;
|
|
66
|
+
insertTransactionReceipts(args: {
|
|
67
|
+
transactionReceipts: SyncTransactionReceipt[];
|
|
68
|
+
chainId: number;
|
|
69
|
+
}, context?: {
|
|
70
|
+
logger?: Logger;
|
|
71
|
+
}): Promise<void>;
|
|
72
|
+
insertTraces(args: {
|
|
73
|
+
traces: {
|
|
74
|
+
trace: SyncTrace;
|
|
75
|
+
block: SyncBlock;
|
|
76
|
+
transaction: SyncTransaction;
|
|
77
|
+
}[];
|
|
78
|
+
chainId: number;
|
|
79
|
+
}, context?: {
|
|
80
|
+
logger?: Logger;
|
|
81
|
+
}): Promise<void>;
|
|
82
|
+
getEventData(args: {
|
|
83
|
+
filters: Filter[];
|
|
84
|
+
fromBlock: number;
|
|
85
|
+
toBlock: number;
|
|
86
|
+
chainId: number;
|
|
87
|
+
limit: number;
|
|
88
|
+
}, context?: {
|
|
89
|
+
logger?: Logger;
|
|
90
|
+
}): Promise<{
|
|
91
|
+
blocks: InternalBlock[];
|
|
92
|
+
logs: InternalLog[];
|
|
93
|
+
transactions: InternalTransaction[];
|
|
94
|
+
transactionReceipts: InternalTransactionReceipt[];
|
|
95
|
+
traces: InternalTrace[];
|
|
96
|
+
cursor: number;
|
|
97
|
+
}>;
|
|
98
|
+
insertRpcRequestResults(args: {
|
|
99
|
+
requests: {
|
|
100
|
+
request: RequestParameters;
|
|
101
|
+
blockNumber: number | undefined;
|
|
102
|
+
result: string;
|
|
103
|
+
}[];
|
|
104
|
+
chainId: number;
|
|
105
|
+
}, context?: {
|
|
106
|
+
logger?: Logger;
|
|
107
|
+
}): Promise<void>;
|
|
108
|
+
getRpcRequestResults(args: {
|
|
109
|
+
requests: RequestParameters[];
|
|
110
|
+
chainId: number;
|
|
111
|
+
}, context?: {
|
|
112
|
+
logger?: Logger;
|
|
113
|
+
}): Promise<(string | undefined)[]>;
|
|
114
|
+
pruneRpcRequestResults(args: {
|
|
115
|
+
blocks: Pick<LightBlock, "number">[];
|
|
116
|
+
chainId: number;
|
|
117
|
+
}, context?: {
|
|
118
|
+
logger?: Logger;
|
|
119
|
+
}): Promise<void>;
|
|
120
|
+
pruneByChain(args: {
|
|
121
|
+
chainId: number;
|
|
122
|
+
}, context?: {
|
|
123
|
+
logger?: Logger;
|
|
124
|
+
}): Promise<void>;
|
|
125
|
+
};
|
|
126
|
+
export declare const createSyncStore: ({ common, qb, }: {
|
|
127
|
+
common: Common;
|
|
128
|
+
qb: QB<typeof PONDER_SYNC>;
|
|
129
|
+
}) => SyncStore;
|
|
130
|
+
export declare const logFilter: (filter: LogFilter) => SQL;
|
|
131
|
+
export declare const blockFilter: (filter: BlockFilter) => SQL;
|
|
132
|
+
export declare const transactionFilter: (filter: TransactionFilter) => SQL;
|
|
133
|
+
export declare const transferFilter: (filter: TransferFilter) => SQL;
|
|
134
|
+
export declare const traceFilter: (filter: TraceFilter) => SQL;
|
|
135
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sync-store/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Logger } from '../internal/logger.js';
|
|
2
|
+
import type { Migration, MigrationProvider } from "kysely";
|
|
3
|
+
declare class StaticMigrationProvider implements MigrationProvider {
|
|
4
|
+
getMigrations(): Promise<Record<string, Migration>>;
|
|
5
|
+
}
|
|
6
|
+
export declare function buildMigrationProvider(logger_: Logger): StaticMigrationProvider;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/sync-store/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAU,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAMnE,cAAM,uBAAwB,YAAW,iBAAiB;IAClD,aAAa;CAGpB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,2BAIrD"}
|