@0xtorch/evm 0.0.75 → 0.0.77
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/_cjs/logic/analyzeTransaction/createActions/json/schema.js +4 -0
- package/_cjs/logic/analyzeTransaction/createActions/json/schema.js.map +1 -1
- package/_cjs/logic/analyzeTransaction/createActions/json/simpleValue.js +3 -0
- package/_cjs/logic/analyzeTransaction/createActions/json/simpleValue.js.map +1 -1
- package/_cjs/logic/analyzeTransaction/createActions/json/transferGenerator.js +51 -0
- package/_cjs/logic/analyzeTransaction/createActions/json/transferGenerator.js.map +1 -1
- package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeLog.js +2 -2
- package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeLog.js.map +1 -1
- package/_cjs/types/primitive.js +1 -1
- package/_esm/logic/analyzeTransaction/createActions/json/schema.js +4 -0
- package/_esm/logic/analyzeTransaction/createActions/json/schema.js.map +1 -1
- package/_esm/logic/analyzeTransaction/createActions/json/simpleValue.js +3 -0
- package/_esm/logic/analyzeTransaction/createActions/json/simpleValue.js.map +1 -1
- package/_esm/logic/analyzeTransaction/createActions/json/transferGenerator.js +54 -0
- package/_esm/logic/analyzeTransaction/createActions/json/transferGenerator.js.map +1 -1
- package/_esm/logic/analyzeTransaction/decodeTransaction/decodeLog.js +2 -2
- package/_esm/logic/analyzeTransaction/decodeTransaction/decodeLog.js.map +1 -1
- package/_esm/types/primitive.js +1 -1
- package/_types/logic/analyzeTransaction/createActions/json/schema.d.ts +11672 -0
- package/_types/logic/analyzeTransaction/createActions/json/schema.d.ts.map +1 -1
- package/_types/logic/analyzeTransaction/createActions/json/simpleValue.d.ts.map +1 -1
- package/_types/logic/analyzeTransaction/createActions/json/transferGenerator.d.ts.map +1 -1
- package/logic/analyzeTransaction/createActions/json/schema.ts +5 -0
- package/logic/analyzeTransaction/createActions/json/simpleValue.ts +3 -0
- package/logic/analyzeTransaction/createActions/json/transferGenerator.ts +62 -0
- package/logic/analyzeTransaction/createActions/tests/tx-1-0x5c1345e9b83106f657de5a20d75de3e9f56725697b4ef47cafd019c1fa944128.json +1 -1
- package/logic/analyzeTransaction/decodeTransaction/decodeLog.ts +6 -3
- package/package.json +1 -1
- package/types/primitive.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleValue.d.ts","sourceRoot":"","sources":["../../../../../logic/analyzeTransaction/createActions/json/simpleValue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAKV,QAAQ,EACR,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,eAAO,MAAM,cAAc,+CAIxB;IACD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;IAClD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;CACzC,KAAG,
|
|
1
|
+
{"version":3,"file":"simpleValue.d.ts","sourceRoot":"","sources":["../../../../../logic/analyzeTransaction/createActions/json/simpleValue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAKV,QAAQ,EACR,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,eAAO,MAAM,cAAc,+CAIxB;IACD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;IAClD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;CACzC,KAAG,MA8TH,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferGenerator.d.ts","sourceRoot":"","sources":["../../../../../logic/analyzeTransaction/createActions/json/transferGenerator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,QAAQ,EACR,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"transferGenerator.d.ts","sourceRoot":"","sources":["../../../../../logic/analyzeTransaction/createActions/json/transferGenerator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,QAAQ,EACR,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAU1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEvD,eAAO,MAAM,iBAAiB,gGAQ3B;IACD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;IACxD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAA;CAC9C,KAAG,SAAS,QAAQ,EAqLpB,CAAA"}
|
|
@@ -36,6 +36,10 @@ export const addressInSchema = z.object({
|
|
|
36
36
|
.min(1),
|
|
37
37
|
})
|
|
38
38
|
|
|
39
|
+
const chainIdValueSchema = z.object({
|
|
40
|
+
type: z.literal('chain-id'),
|
|
41
|
+
})
|
|
42
|
+
|
|
39
43
|
const fromValueSchema = z.object({
|
|
40
44
|
type: z.literal('from'),
|
|
41
45
|
})
|
|
@@ -128,6 +132,7 @@ const erc1155ValueSchema = z.object({
|
|
|
128
132
|
|
|
129
133
|
export const simpleValueSchema = z.union([
|
|
130
134
|
z.string(),
|
|
135
|
+
chainIdValueSchema,
|
|
131
136
|
fromValueSchema,
|
|
132
137
|
toValueSchema,
|
|
133
138
|
valueValueSchema,
|
|
@@ -10,6 +10,9 @@ import type {
|
|
|
10
10
|
TransactionDecoded,
|
|
11
11
|
} from '../../../../types'
|
|
12
12
|
import { createEvmAddressId } from '../../../../utils'
|
|
13
|
+
import { getAllValue } from './allValue'
|
|
14
|
+
import { checkValueIsArrayIn } from './arrayIn'
|
|
15
|
+
import { checkValueIsBetweenBigInt } from './betweenBigInt'
|
|
13
16
|
import { generateCustomTransfer } from './customTransferGenerator'
|
|
14
17
|
import { generateTransfersByErc20Transfer } from './erc20TransferGenerator'
|
|
15
18
|
import { generateTransfersByErc721Transfer } from './erc721TransferGenerator'
|
|
@@ -36,6 +39,65 @@ export const generateTransfers = ({
|
|
|
36
39
|
}): readonly Transfer[] => {
|
|
37
40
|
switch (schema.type) {
|
|
38
41
|
case 'value': {
|
|
42
|
+
// from
|
|
43
|
+
if (
|
|
44
|
+
schema.from !== undefined &&
|
|
45
|
+
!checkValueIsArrayIn({
|
|
46
|
+
value: transaction.from.address,
|
|
47
|
+
schema: schema.from,
|
|
48
|
+
transaction,
|
|
49
|
+
relatedAddresses,
|
|
50
|
+
})
|
|
51
|
+
) {
|
|
52
|
+
return []
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// to
|
|
56
|
+
if (
|
|
57
|
+
schema.to !== undefined &&
|
|
58
|
+
!checkValueIsArrayIn({
|
|
59
|
+
value: transaction.to?.address ?? '',
|
|
60
|
+
schema: schema.to,
|
|
61
|
+
transaction,
|
|
62
|
+
relatedAddresses,
|
|
63
|
+
})
|
|
64
|
+
) {
|
|
65
|
+
return []
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// value
|
|
69
|
+
if (schema.value !== undefined) {
|
|
70
|
+
if (typeof schema.value === 'string') {
|
|
71
|
+
if (transaction.value.toString() !== schema.value) {
|
|
72
|
+
return []
|
|
73
|
+
}
|
|
74
|
+
} else {
|
|
75
|
+
switch (schema.value.type) {
|
|
76
|
+
case 'between': {
|
|
77
|
+
if (
|
|
78
|
+
!checkValueIsBetweenBigInt({
|
|
79
|
+
value: transaction.value,
|
|
80
|
+
schema: schema.value,
|
|
81
|
+
})
|
|
82
|
+
) {
|
|
83
|
+
return []
|
|
84
|
+
}
|
|
85
|
+
break
|
|
86
|
+
}
|
|
87
|
+
default: {
|
|
88
|
+
const value = getAllValue({
|
|
89
|
+
schema: schema.value,
|
|
90
|
+
transaction,
|
|
91
|
+
relatedAddresses,
|
|
92
|
+
})
|
|
93
|
+
if (transaction.value.toString() !== value) {
|
|
94
|
+
return []
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
39
101
|
return [
|
|
40
102
|
{
|
|
41
103
|
direction: schema.direction,
|
|
@@ -92,10 +92,13 @@ const decodeInputByEventAbi = (log: Log, abiText: string): Log | undefined => {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
const createLogArgs = (
|
|
96
|
-
|
|
95
|
+
const createLogArgs = (
|
|
96
|
+
args: Record<string, unknown> | unknown[],
|
|
97
|
+
abiItem: AbiEventType,
|
|
98
|
+
) =>
|
|
99
|
+
abiItem.inputs.map(({ indexed, name, type }, index) => ({
|
|
97
100
|
indexed: indexed ?? false,
|
|
98
101
|
name: name ?? '',
|
|
99
102
|
type: type,
|
|
100
|
-
value: args[name ?? ''],
|
|
103
|
+
value: Array.isArray(args) ? args[index] : args[name ?? ''],
|
|
101
104
|
}))
|
package/package.json
CHANGED
package/types/primitive.ts
CHANGED