Skip to content

Commit 4e7de6b

Browse files
committed
allow to choose which api to use for traces and statediffs
1 parent a211685 commit 4e7de6b

File tree

3 files changed

+20
-12
lines changed

3 files changed

+20
-12
lines changed

evm/evm-data-service/src/data-source/setup.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,19 @@ const log = createLogger('sqd:evm-data-service/data-source')
1010

1111
export interface DataSourceOptions {
1212
httpRpc: string,
13-
ratelimit: number | undefined,
14-
traces: boolean | undefined,
15-
diffs: boolean | undefined,
16-
receipts: boolean | undefined,
13+
ratelimit?: number,
14+
traces?: boolean,
15+
diffs?: boolean,
16+
receipts?: boolean,
17+
useTraceApi?: boolean,
18+
useDebugApiForStateDiffs?: boolean
1719
}
1820

1921

2022
export function createDataSource(options: DataSourceOptions): DataSource<Block> {
2123
let httpRpcClient = new RpcClient({
2224
url: options.httpRpc,
2325
capacity: 50,
24-
fixUnsafeIntegers: true,
2526
requestTimeout: 16000,
2627
// retryAttempts: 5,
2728
// retrySchedule: [500, 1000, 2000, 5000, 10000, 20000],
@@ -36,6 +37,8 @@ export function createDataSource(options: DataSourceOptions): DataSource<Block>
3637
receipts: options.receipts,
3738
traces: options.traces,
3839
stateDiffs: options.diffs,
40+
useTraceApi: options.useTraceApi,
41+
useDebugApiForStateDiffs: options.useDebugApiForStateDiffs,
3942
}
4043
})
4144
return new Mapping(rpcSource)

evm/evm-data-service/src/main.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,30 +20,33 @@ runProgram(async () => {
2020
program.option('-p, --port <number>', 'Port to listen on', positiveInt, 3000)
2121
program.option('-r, --ratelimit <number>', 'Ratelimit', positiveInt)
2222
program.option('--traces', 'Force enable traces')
23-
program.option('--no-traces', "Force disable traces")
2423
program.option('--diffs', 'Force enable diffs')
25-
program.option('--no-diffs', "Force disable diffs")
2624
program.option('--receipts', 'Force enable receipts')
27-
program.option('--no-receipts', "Force disable receipts")
25+
program.option('--use-trace-api', 'Use trace_* API for statediffs and call traces')
26+
program.option('--use-debug-api-for-statediffs', 'Use debug prestateTracer to fetch statediffs (by default will use trace_* api)')
2827
program.parse()
2928

3029
let args = program.opts() as {
3130
httpRpc: string
3231
wsRpc?: string
3332
blockCacheSize: number
34-
port: number,
35-
traces?: boolean,
36-
diffs?: boolean,
33+
port: number
34+
traces?: boolean
35+
diffs?: boolean
3736
receipts?: boolean
3837
ratelimit?: number
38+
useTraceApi?: boolean
39+
useDebugApiForStatediffs?: boolean
3940
}
4041

4142
let dataSourceOptions: DataSourceOptions = {
4243
httpRpc: args.httpRpc,
44+
ratelimit: args.ratelimit,
4345
traces: args.traces,
4446
diffs: args.diffs,
4547
receipts: args.receipts,
46-
ratelimit: args.ratelimit
48+
useTraceApi: args.useTraceApi,
49+
useDebugApiForStateDiffs: args.useDebugApiForStatediffs
4750
}
4851

4952
let mainWorker = new WorkerClient(dataSourceOptions)

evm/evm-dump/src/dumper.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ export class EvmDumper extends Dumper<Block, Options> {
4848
receipts: this.options().withReceipts,
4949
traces: this.options().withTraces,
5050
stateDiffs: this.options().withStatediffs,
51+
useDebugApiForStateDiffs: this.options().useDebugApiForStatediffs,
52+
useTraceApi: this.options().useTraceApi,
5153
},
5254
})
5355
}

0 commit comments

Comments
 (0)