@sentio/sdk 1.33.0 → 1.33.2
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/lib/builtin/internal/eacaggregatorproxy_processor.d.ts +0 -23
- package/lib/builtin/internal/eacaggregatorproxy_processor.js +0 -69
- package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +1 -1
- package/lib/builtin/internal/erc1155_processor.d.ts +0 -8
- package/lib/builtin/internal/erc1155_processor.js +0 -24
- package/lib/builtin/internal/erc1155_processor.js.map +1 -1
- package/lib/builtin/internal/erc20_processor.d.ts +0 -18
- package/lib/builtin/internal/erc20_processor.js +0 -54
- package/lib/builtin/internal/erc20_processor.js.map +1 -1
- package/lib/builtin/internal/erc20bytes_processor.d.ts +0 -9
- package/lib/builtin/internal/erc20bytes_processor.js +0 -27
- package/lib/builtin/internal/erc20bytes_processor.js.map +1 -1
- package/lib/builtin/internal/erc721_processor.d.ts +0 -14
- package/lib/builtin/internal/erc721_processor.js +0 -42
- package/lib/builtin/internal/erc721_processor.js.map +1 -1
- package/lib/builtin/internal/factories/EACAggregatorProxy__factory.js +1 -0
- package/lib/builtin/internal/factories/EACAggregatorProxy__factory.js.map +1 -1
- package/lib/builtin/internal/factories/ERC1155__factory.js +1 -0
- package/lib/builtin/internal/factories/ERC1155__factory.js.map +1 -1
- package/lib/builtin/internal/factories/ERC20Bytes__factory.js +1 -0
- package/lib/builtin/internal/factories/ERC20Bytes__factory.js.map +1 -1
- package/lib/builtin/internal/factories/ERC20__factory.js +1 -0
- package/lib/builtin/internal/factories/ERC20__factory.js.map +1 -1
- package/lib/builtin/internal/factories/ERC721__factory.js +1 -0
- package/lib/builtin/internal/factories/ERC721__factory.js.map +1 -1
- package/lib/builtin/internal/factories/WETH9__factory.js +1 -0
- package/lib/builtin/internal/factories/WETH9__factory.js.map +1 -1
- package/lib/builtin/internal/weth9_processor.d.ts +0 -11
- package/lib/builtin/internal/weth9_processor.js +0 -33
- package/lib/builtin/internal/weth9_processor.js.map +1 -1
- package/lib/core/meter.d.ts +2 -8
- package/lib/core/meter.js +15 -18
- package/lib/core/meter.js.map +1 -1
- package/lib/core/numberish.js +10 -2
- package/lib/core/numberish.js.map +1 -1
- package/lib/gen/chainquery/protos/chainquery.d.ts +25 -2
- package/lib/gen/chainquery/protos/chainquery.js +49 -9
- package/lib/gen/chainquery/protos/chainquery.js.map +1 -1
- package/lib/gen/processor/protos/processor.d.ts +10 -0
- package/lib/gen/processor/protos/processor.js +57 -2
- package/lib/gen/processor/protos/processor.js.map +1 -1
- package/lib/service.js +1 -1
- package/lib/service.js.map +1 -1
- package/lib/target-ethers-sentio/event-handler.d.ts +3 -0
- package/lib/target-ethers-sentio/event-handler.js +35 -0
- package/lib/target-ethers-sentio/event-handler.js.map +1 -0
- package/lib/target-ethers-sentio/{codegen.d.ts → file.d.ts} +0 -0
- package/lib/target-ethers-sentio/{codegen.js → file.js} +13 -110
- package/lib/target-ethers-sentio/file.js.map +1 -0
- package/lib/target-ethers-sentio/{functions.d.ts → functions-handler.d.ts} +1 -1
- package/lib/target-ethers-sentio/{functions.js → functions-handler.js} +9 -20
- package/lib/target-ethers-sentio/functions-handler.js.map +1 -0
- package/lib/target-ethers-sentio/index.d.ts +1 -0
- package/lib/target-ethers-sentio/index.js +13 -4
- package/lib/target-ethers-sentio/index.js.map +1 -1
- package/lib/target-ethers-sentio/types.d.ts +4 -0
- package/lib/target-ethers-sentio/types.js +46 -0
- package/lib/target-ethers-sentio/types.js.map +1 -0
- package/lib/target-ethers-sentio/view-function.d.ts +5 -0
- package/lib/target-ethers-sentio/view-function.js +74 -0
- package/lib/target-ethers-sentio/view-function.js.map +1 -0
- package/lib/utils/chain.js +1 -0
- package/lib/utils/chain.js.map +1 -1
- package/package.json +1 -1
- package/src/builtin/internal/eacaggregatorproxy_processor.ts +0 -189
- package/src/builtin/internal/erc1155_processor.ts +0 -46
- package/src/builtin/internal/erc20_processor.ts +0 -96
- package/src/builtin/internal/erc20bytes_processor.ts +0 -52
- package/src/builtin/internal/erc721_processor.ts +0 -82
- package/src/builtin/internal/factories/EACAggregatorProxy__factory.ts +1 -0
- package/src/builtin/internal/factories/ERC1155__factory.ts +1 -0
- package/src/builtin/internal/factories/ERC20Bytes__factory.ts +1 -0
- package/src/builtin/internal/factories/ERC20__factory.ts +1 -0
- package/src/builtin/internal/factories/ERC721__factory.ts +1 -0
- package/src/builtin/internal/factories/WETH9__factory.ts +1 -0
- package/src/builtin/internal/weth9_processor.ts +0 -58
- package/src/core/meter.ts +16 -18
- package/src/core/numberish.ts +11 -2
- package/src/gen/chainquery/protos/chainquery.ts +60 -11
- package/src/gen/processor/protos/processor.ts +56 -0
- package/src/service.ts +1 -2
- package/src/target-ethers-sentio/event-handler.ts +31 -0
- package/src/target-ethers-sentio/{codegen.ts → file.ts} +11 -117
- package/src/target-ethers-sentio/{functions.ts → functions-handler.ts} +5 -16
- package/src/target-ethers-sentio/index.ts +11 -1
- package/src/target-ethers-sentio/types.ts +42 -0
- package/src/target-ethers-sentio/view-function.ts +79 -0
- package/src/utils/chain.ts +1 -0
- package/lib/target-ethers-sentio/codegen.js.map +0 -1
- package/lib/target-ethers-sentio/functions.js.map +0 -1
|
@@ -2,15 +2,14 @@ import {
|
|
|
2
2
|
Contract,
|
|
3
3
|
createImportsForUsedIdentifiers,
|
|
4
4
|
EventDeclaration,
|
|
5
|
-
FunctionDeclaration,
|
|
6
5
|
getFullSignatureAsSymbolForEvent,
|
|
7
6
|
} from 'typechain'
|
|
8
7
|
|
|
9
8
|
import { reservedKeywords } from '@typechain/ethers-v5/dist/codegen/reserved-keywords'
|
|
10
|
-
import { generateInputTypes, generateOutputTypes } from '@typechain/ethers-v5/dist/codegen/types'
|
|
11
9
|
import { getFullSignatureForEvent } from 'typechain/dist/utils/signatures'
|
|
12
|
-
import { codegenCallTraceTypes,
|
|
13
|
-
import {
|
|
10
|
+
import { codegenCallTraceTypes, generateCallHandlers } from './functions-handler'
|
|
11
|
+
import { generateEventHandlers } from './event-handler'
|
|
12
|
+
import { generateBoundViewFunctions, generateViewFunctions } from './view-function'
|
|
14
13
|
|
|
15
14
|
export function codeGenIndex(contract: Contract): string {
|
|
16
15
|
return `
|
|
@@ -32,7 +31,7 @@ export function codeGenSentioFile(contract: Contract): string {
|
|
|
32
31
|
|
|
33
32
|
${Object.values(contract.functions)
|
|
34
33
|
.filter((f) => !reservedKeywords.has(f[0].name))
|
|
35
|
-
.
|
|
34
|
+
.map((fs) => generateViewFunctions(fs))
|
|
36
35
|
.join('\n')}
|
|
37
36
|
}
|
|
38
37
|
|
|
@@ -45,7 +44,7 @@ export function codeGenSentioFile(contract: Contract): string {
|
|
|
45
44
|
|
|
46
45
|
${Object.values(contract.functions)
|
|
47
46
|
.filter((f) => !reservedKeywords.has(f[0].name))
|
|
48
|
-
.
|
|
47
|
+
.map((fs) => generateBoundViewFunctions(fs))
|
|
49
48
|
.join('\n')}
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -67,33 +66,23 @@ export function codeGenSentioFile(contract: Contract): string {
|
|
|
67
66
|
}
|
|
68
67
|
|
|
69
68
|
${Object.values(contract.events)
|
|
70
|
-
.map((events) =>
|
|
71
|
-
if (events.length === 1) {
|
|
72
|
-
return generateOnEventFunction(events[0], contract.name, false)
|
|
73
|
-
} else {
|
|
74
|
-
return events.map((e) => generateOnEventFunction(e, contract.name, true)).join('\n')
|
|
75
|
-
}
|
|
76
|
-
})
|
|
69
|
+
.map((events) => generateEventHandlers(events, contract.name))
|
|
77
70
|
.join('\n')}
|
|
78
71
|
|
|
79
72
|
${Object.values(contract.functions)
|
|
80
|
-
.map((
|
|
73
|
+
.map((functions) => {
|
|
74
|
+
generateCallHandlers(functions, contract.name)
|
|
75
|
+
})
|
|
81
76
|
.join('\n')}
|
|
82
77
|
}
|
|
83
78
|
|
|
84
79
|
export class ${contract.name}Processor extends BaseProcessor<${contract.name}, ${contract.name}BoundContractView> {
|
|
85
80
|
${Object.values(contract.events)
|
|
86
|
-
.map((events) =>
|
|
87
|
-
if (events.length === 1) {
|
|
88
|
-
return generateOnEventFunction(events[0], contract.name, false)
|
|
89
|
-
} else {
|
|
90
|
-
return events.map((e) => generateOnEventFunction(e, contract.name, true)).join('\n')
|
|
91
|
-
}
|
|
92
|
-
})
|
|
81
|
+
.map((events) => generateEventHandlers(events, contract.name))
|
|
93
82
|
.join('\n')}
|
|
94
83
|
|
|
95
84
|
${Object.values(contract.functions)
|
|
96
|
-
.map((f) =>
|
|
85
|
+
.map((f) => generateCallHandlers(f, contract.name))
|
|
97
86
|
.join('\n')}
|
|
98
87
|
|
|
99
88
|
public static filters = templateContract.filters
|
|
@@ -225,101 +214,6 @@ export function codeGenTestUtilsFile(contract: Contract): string {
|
|
|
225
214
|
return imports + source
|
|
226
215
|
}
|
|
227
216
|
|
|
228
|
-
function formatType(type: EvmType): string {
|
|
229
|
-
if (type.type === 'array') {
|
|
230
|
-
return formatType(type.itemType) + '[]'
|
|
231
|
-
} else if (type.type === 'tuple') {
|
|
232
|
-
return '(' + type.components.map((s) => formatType(s.type)).join(',') + ')'
|
|
233
|
-
} else {
|
|
234
|
-
return type.originalType
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
// TODO contribute upstream
|
|
239
|
-
function getFullSignatureForEventPatched(event: EventDeclaration): string {
|
|
240
|
-
return `${event.name}(${event.inputs
|
|
241
|
-
.map((e) => {
|
|
242
|
-
return formatType(e.type)
|
|
243
|
-
})
|
|
244
|
-
.join(',')})`
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
function generateOnEventFunction(event: EventDeclaration, contractName: string, includeArgTypes: boolean): string {
|
|
248
|
-
let eventName = event.name
|
|
249
|
-
if (includeArgTypes) {
|
|
250
|
-
eventName = getFullSignatureAsSymbolForEvent(event) + '_'
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
const filterName = getFullSignatureForEventPatched(event)
|
|
254
|
-
return `
|
|
255
|
-
onEvent${eventName}(
|
|
256
|
-
handler: (event: ${eventName}Event, ctx: ${contractName}Context) => void,
|
|
257
|
-
filter?: ${eventName}EventFilter | ${eventName}EventFilter[]
|
|
258
|
-
) {
|
|
259
|
-
if (!filter) {
|
|
260
|
-
// @ts-ignore
|
|
261
|
-
filter = ${contractName}Processor.filters[
|
|
262
|
-
// @ts-ignore
|
|
263
|
-
'${filterName}'](${event.inputs.map(() => 'null').join(',')})
|
|
264
|
-
}
|
|
265
|
-
return super.onEvent(handler, filter!)
|
|
266
|
-
}
|
|
267
|
-
`
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
// https://github.com/dethcrypto/TypeChain/blob/015abb28bd22826611051f27e0ec96a00f9a0b61/packages/target-ethers-v5/src/codegen/functions.ts#L54
|
|
271
|
-
function generateReturnTypes(fn: FunctionDeclaration) {
|
|
272
|
-
// sounds like returnResultObject should be true but we need to set false to make it work
|
|
273
|
-
return `Promise<${generateOutputTypes({ returnResultObject: false, useStructs: true }, fn.outputs)}>`
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
function generateViewFunction(func: FunctionDeclaration): string {
|
|
277
|
-
return `
|
|
278
|
-
async ${func.name}(${generateInputTypes(func.inputs, {
|
|
279
|
-
useStructs: true,
|
|
280
|
-
})}overrides?: CallOverrides): ${generateReturnTypes(func)} {
|
|
281
|
-
try {
|
|
282
|
-
if (overrides) {
|
|
283
|
-
return await this.contract.${func.name}(${
|
|
284
|
-
func.inputs.length > 0 ? func.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''
|
|
285
|
-
} overrides)
|
|
286
|
-
} else {
|
|
287
|
-
return await this.contract.${func.name}(${func.inputs
|
|
288
|
-
.map((input, index) => input.name || `arg${index}`)
|
|
289
|
-
.join(',')})
|
|
290
|
-
}
|
|
291
|
-
} catch (e) {
|
|
292
|
-
throw transformEtherError(e, undefined)
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
`
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
function generateBoundViewFunction(func: FunctionDeclaration): string {
|
|
299
|
-
return `
|
|
300
|
-
async ${func.name}(${generateInputTypes(func.inputs, {
|
|
301
|
-
useStructs: true,
|
|
302
|
-
})}overrides?: CallOverrides): ${generateReturnTypes(func)} {
|
|
303
|
-
try {
|
|
304
|
-
if (!overrides && this.context) {
|
|
305
|
-
overrides = {
|
|
306
|
-
blockTag: this.context.blockNumber.toNumber(),
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
if (overrides) {
|
|
310
|
-
return await this.view.${func.name}(${
|
|
311
|
-
func.inputs.length > 0 ? func.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''
|
|
312
|
-
} overrides)
|
|
313
|
-
} else {
|
|
314
|
-
return await this.view.${func.name}(${func.inputs.map((input, index) => input.name || `arg${index}`).join(',')})
|
|
315
|
-
}
|
|
316
|
-
} catch (e) {
|
|
317
|
-
throw transformEtherError(e, this.context)
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
`
|
|
321
|
-
}
|
|
322
|
-
|
|
323
217
|
function generateMockEventLogFunction(event: EventDeclaration, contractName: string, includeArgTypes: boolean): string {
|
|
324
218
|
let eventName = event.name
|
|
325
219
|
let eventNameWithSignature = event.name
|
|
@@ -4,13 +4,14 @@ import {
|
|
|
4
4
|
} from '@typechain/ethers-v5/dist/codegen/types'
|
|
5
5
|
import { FunctionDeclaration, getSignatureForFn } from 'typechain'
|
|
6
6
|
import { utils } from 'ethers'
|
|
7
|
+
import { getFullSignatureAsSymbolForFunction } from './types'
|
|
7
8
|
|
|
8
|
-
export function
|
|
9
|
+
export function generateCallHandlers(fns: FunctionDeclaration[], contractName: string): string {
|
|
9
10
|
if (fns.length === 1) {
|
|
10
|
-
return
|
|
11
|
+
return generateCallHandler(fns[0], contractName)
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
return fns.map((fn) =>
|
|
14
|
+
return fns.map((fn) => generateCallHandler(fn, contractName, getFullSignatureAsSymbolForFunction(fn))).join('\n')
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
export function codegenCallTraceTypes(fns: FunctionDeclaration[]): string {
|
|
@@ -35,7 +36,7 @@ function codegenCallTraceType(fn: FunctionDeclaration, overloadedName?: string):
|
|
|
35
36
|
`
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
function
|
|
39
|
+
function generateCallHandler(fn: FunctionDeclaration, contractName: string, overloadedName?: string): string {
|
|
39
40
|
const signature = getSignatureForFn(fn)
|
|
40
41
|
const sighash = utils.keccak256(utils.toUtf8Bytes(signature)).substring(0, 10)
|
|
41
42
|
|
|
@@ -48,18 +49,6 @@ function generateFunction(fn: FunctionDeclaration, contractName: string, overloa
|
|
|
48
49
|
`
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
function getFullSignatureAsSymbolForFunction(fn: FunctionDeclaration): string {
|
|
52
|
-
return `${fn.name}_${fn.inputs
|
|
53
|
-
.map((e) => {
|
|
54
|
-
if (e.type.type === 'array') {
|
|
55
|
-
return e.type.itemType.originalType + '_array'
|
|
56
|
-
} else {
|
|
57
|
-
return e.type.originalType
|
|
58
|
-
}
|
|
59
|
-
})
|
|
60
|
-
.join('_')}`
|
|
61
|
-
}
|
|
62
|
-
|
|
63
52
|
function capitalizeFirstChar(input: string): string {
|
|
64
53
|
if (!input) {
|
|
65
54
|
return input
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Ethers from '@typechain/ethers-v5'
|
|
2
2
|
import { Config, extractAbi, extractDocumentation, FileDescription, parse, shortenFullJsonFilePath } from 'typechain'
|
|
3
3
|
import { dirname, join, relative } from 'path'
|
|
4
|
-
import { codeGenIndex, codeGenSentioFile, codeGenTestUtilsFile } from './
|
|
4
|
+
import { codeGenIndex, codeGenSentioFile, codeGenTestUtilsFile } from './file'
|
|
5
5
|
|
|
6
6
|
export default class EthersSentio extends Ethers {
|
|
7
7
|
constructor(config: Config) {
|
|
@@ -47,4 +47,14 @@ export default class EthersSentio extends Ethers {
|
|
|
47
47
|
]
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
+
|
|
51
|
+
override afterRun() {
|
|
52
|
+
const files = super.afterRun()
|
|
53
|
+
for (const [idx, file] of files.entries()) {
|
|
54
|
+
if (file.path.endsWith('__factory.ts')) {
|
|
55
|
+
file.contents = '// @ts-nocheck\n' + file.contents
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return files
|
|
59
|
+
}
|
|
50
60
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { EventDeclaration, FunctionDeclaration } from 'typechain'
|
|
2
|
+
import { EvmType } from 'typechain/dist/parser/parseEvmType'
|
|
3
|
+
|
|
4
|
+
export function getFullSignatureAsSymbolForFunction(fn: FunctionDeclaration): string {
|
|
5
|
+
return `${fn.name}_${fn.inputs
|
|
6
|
+
.map((e) => {
|
|
7
|
+
if (e.type.type === 'array') {
|
|
8
|
+
return e.type.itemType.originalType + '_array'
|
|
9
|
+
} else {
|
|
10
|
+
return e.type.originalType
|
|
11
|
+
}
|
|
12
|
+
})
|
|
13
|
+
.join('_')}`
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function formatType(type: EvmType): string {
|
|
17
|
+
if (type.type === 'array') {
|
|
18
|
+
return formatType(type.itemType) + '[]'
|
|
19
|
+
} else if (type.type === 'tuple') {
|
|
20
|
+
return '(' + type.components.map((s) => formatType(s.type)).join(',') + ')'
|
|
21
|
+
} else {
|
|
22
|
+
return type.originalType
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// TODO contribute upstream
|
|
27
|
+
export function getFullSignatureForEventPatched(event: EventDeclaration): string {
|
|
28
|
+
return `${event.name}(${event.inputs
|
|
29
|
+
.map((e) => {
|
|
30
|
+
return formatType(e.type)
|
|
31
|
+
})
|
|
32
|
+
.join(',')})`
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// TODO check existed func
|
|
36
|
+
export function getFullSignatureForFunction(fn: FunctionDeclaration): string {
|
|
37
|
+
return `${fn.name}(${fn.inputs
|
|
38
|
+
.map((e) => {
|
|
39
|
+
return formatType(e.type)
|
|
40
|
+
})
|
|
41
|
+
.join(',')})`
|
|
42
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// https://github.com/dethcrypto/TypeChain/blob/015abb28bd22826611051f27e0ec96a00f9a0b61/packages/target-ethers-v5/src/codegen/functions.ts#L54
|
|
2
|
+
import { FunctionDeclaration } from 'typechain'
|
|
3
|
+
import { generateInputTypes, generateOutputTypes } from '@typechain/ethers-v5/dist/codegen/types'
|
|
4
|
+
import { getFullSignatureAsSymbolForFunction, getFullSignatureForFunction } from './types'
|
|
5
|
+
|
|
6
|
+
function generateReturnTypes(fn: FunctionDeclaration) {
|
|
7
|
+
// sounds like returnResultObject should be true but we need to set false to make it work
|
|
8
|
+
return `Promise<${generateOutputTypes({ returnResultObject: false, useStructs: true }, fn.outputs)}>`
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function generateViewFunctions(functions: FunctionDeclaration[]): string {
|
|
12
|
+
if (functions.length === 1) {
|
|
13
|
+
return generateViewFunction(functions[0], false)
|
|
14
|
+
}
|
|
15
|
+
return functions.map((fn) => generateViewFunction(fn, true)).join('\n')
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function generateViewFunction(fn: FunctionDeclaration, includeArgTypes: boolean): string {
|
|
19
|
+
if (fn.stateMutability !== 'view' && fn.stateMutability !== 'pure') {
|
|
20
|
+
return ''
|
|
21
|
+
}
|
|
22
|
+
const declName = includeArgTypes ? getFullSignatureAsSymbolForFunction(fn) : fn.name
|
|
23
|
+
const call = includeArgTypes ? 'this.contract["' + getFullSignatureForFunction(fn) + '"]' : 'this.contract.' + fn.name
|
|
24
|
+
|
|
25
|
+
return `
|
|
26
|
+
async ${declName}(${generateInputTypes(fn.inputs, {
|
|
27
|
+
useStructs: true,
|
|
28
|
+
})}overrides?: CallOverrides): ${generateReturnTypes(fn)} {
|
|
29
|
+
try {
|
|
30
|
+
if (overrides) {
|
|
31
|
+
return await ${call}(${
|
|
32
|
+
fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''
|
|
33
|
+
} overrides)
|
|
34
|
+
} else {
|
|
35
|
+
return await ${call}(${fn.inputs.map((input, index) => input.name || `arg${index}`).join(',')})
|
|
36
|
+
}
|
|
37
|
+
} catch (e) {
|
|
38
|
+
throw transformEtherError(e, undefined)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
`
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function generateBoundViewFunctions(functions: FunctionDeclaration[]): string {
|
|
45
|
+
if (functions.length === 1) {
|
|
46
|
+
return generateBoundViewFunction(functions[0], false)
|
|
47
|
+
}
|
|
48
|
+
return functions.map((fn) => generateBoundViewFunction(fn, true)).join('\n')
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function generateBoundViewFunction(fn: FunctionDeclaration, includeArgTypes: boolean): string {
|
|
52
|
+
if (fn.stateMutability !== 'view' && fn.stateMutability !== 'pure') {
|
|
53
|
+
return ''
|
|
54
|
+
}
|
|
55
|
+
const declName = includeArgTypes ? getFullSignatureAsSymbolForFunction(fn) : fn.name
|
|
56
|
+
|
|
57
|
+
return `
|
|
58
|
+
async ${declName ?? fn.name}(${generateInputTypes(fn.inputs, {
|
|
59
|
+
useStructs: true,
|
|
60
|
+
})}overrides?: CallOverrides): ${generateReturnTypes(fn)} {
|
|
61
|
+
try {
|
|
62
|
+
if (!overrides && this.context) {
|
|
63
|
+
overrides = {
|
|
64
|
+
blockTag: this.context.blockNumber.toNumber(),
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (overrides) {
|
|
68
|
+
return await this.view.${declName}(${
|
|
69
|
+
fn.inputs.length > 0 ? fn.inputs.map((input, index) => input.name || `arg${index}`).join(',') + ',' : ''
|
|
70
|
+
} overrides)
|
|
71
|
+
} else {
|
|
72
|
+
return await this.view.${declName}(${fn.inputs.map((input, index) => input.name || `arg${index}`).join(',')})
|
|
73
|
+
}
|
|
74
|
+
} catch (e) {
|
|
75
|
+
throw transformEtherError(e, this.context)
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
`
|
|
79
|
+
}
|
package/src/utils/chain.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/target-ethers-sentio/codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/target-ethers-sentio/functions.ts"],"names":[],"mappings":"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"}
|