@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.
Files changed (29) hide show
  1. package/_cjs/logic/analyzeTransaction/createActions/json/schema.js +4 -0
  2. package/_cjs/logic/analyzeTransaction/createActions/json/schema.js.map +1 -1
  3. package/_cjs/logic/analyzeTransaction/createActions/json/simpleValue.js +3 -0
  4. package/_cjs/logic/analyzeTransaction/createActions/json/simpleValue.js.map +1 -1
  5. package/_cjs/logic/analyzeTransaction/createActions/json/transferGenerator.js +51 -0
  6. package/_cjs/logic/analyzeTransaction/createActions/json/transferGenerator.js.map +1 -1
  7. package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeLog.js +2 -2
  8. package/_cjs/logic/analyzeTransaction/decodeTransaction/decodeLog.js.map +1 -1
  9. package/_cjs/types/primitive.js +1 -1
  10. package/_esm/logic/analyzeTransaction/createActions/json/schema.js +4 -0
  11. package/_esm/logic/analyzeTransaction/createActions/json/schema.js.map +1 -1
  12. package/_esm/logic/analyzeTransaction/createActions/json/simpleValue.js +3 -0
  13. package/_esm/logic/analyzeTransaction/createActions/json/simpleValue.js.map +1 -1
  14. package/_esm/logic/analyzeTransaction/createActions/json/transferGenerator.js +54 -0
  15. package/_esm/logic/analyzeTransaction/createActions/json/transferGenerator.js.map +1 -1
  16. package/_esm/logic/analyzeTransaction/decodeTransaction/decodeLog.js +2 -2
  17. package/_esm/logic/analyzeTransaction/decodeTransaction/decodeLog.js.map +1 -1
  18. package/_esm/types/primitive.js +1 -1
  19. package/_types/logic/analyzeTransaction/createActions/json/schema.d.ts +11672 -0
  20. package/_types/logic/analyzeTransaction/createActions/json/schema.d.ts.map +1 -1
  21. package/_types/logic/analyzeTransaction/createActions/json/simpleValue.d.ts.map +1 -1
  22. package/_types/logic/analyzeTransaction/createActions/json/transferGenerator.d.ts.map +1 -1
  23. package/logic/analyzeTransaction/createActions/json/schema.ts +5 -0
  24. package/logic/analyzeTransaction/createActions/json/simpleValue.ts +3 -0
  25. package/logic/analyzeTransaction/createActions/json/transferGenerator.ts +62 -0
  26. package/logic/analyzeTransaction/createActions/tests/tx-1-0x5c1345e9b83106f657de5a20d75de3e9f56725697b4ef47cafd019c1fa944128.json +1 -1
  27. package/logic/analyzeTransaction/decodeTransaction/decodeLog.ts +6 -3
  28. package/package.json +1 -1
  29. 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,MA2TH,CAAA"}
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;AAO1B,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,EA0HpB,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,
@@ -27,6 +27,9 @@ export const getSimpleValue = ({
27
27
  }
28
28
 
29
29
  switch (schema.type) {
30
+ case 'chain-id': {
31
+ return transaction.chainId.toString()
32
+ }
30
33
  case 'from': {
31
34
  return transaction.from.address
32
35
  }
@@ -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,
@@ -380,4 +380,4 @@
380
380
  "name": "swapTokensForExactTokens",
381
381
  "interface": "swapTokensForExactTokens(uint256, uint256, address[], address, uint256)"
382
382
  }
383
- }
383
+ }
@@ -92,10 +92,13 @@ const decodeInputByEventAbi = (log: Log, abiText: string): Log | undefined => {
92
92
  }
93
93
  }
94
94
 
95
- const createLogArgs = (args: Record<string, unknown>, abiItem: AbiEventType) =>
96
- abiItem.inputs.map(({ indexed, name, type }) => ({
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xtorch/evm",
3
- "version": "0.0.75",
3
+ "version": "0.0.77",
4
4
  "description": "Cryptorch EVM extension",
5
5
  "keywords": [
6
6
  "cryptorch",
@@ -5,7 +5,7 @@ export const bigintTextSchema = z.string().regex(/^\d+$/).transform(BigInt)
5
5
 
6
6
  export const lowerHexSchema = z
7
7
  .string()
8
- .regex(/^0x[0-9a-f]+$/)
8
+ .regex(/^0x[0-9a-f]*$/)
9
9
  .transform((v) => v as LowerHex)
10
10
 
11
11
  export const txHashSchema = z