@0xtorch/evm 0.0.94 → 0.0.95

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.
@@ -48,9 +48,31 @@ const decodeTransaction = ({ transaction, addresses, erc20Tokens, eventAbis, fun
48
48
  transfer,
49
49
  nfts: nftsMap,
50
50
  }));
51
+ const filteredErc20Transfers = [];
52
+ const zkSyncEraChainId = 324;
53
+ if (transaction.chainId === zkSyncEraChainId) {
54
+ const feeAddress = '0x0000000000000000000000000000000000008001';
55
+ let ignoredNativeTransfer = false;
56
+ for (const transfer of erc20Transfers) {
57
+ if (transfer.from === feeAddress || transfer.to === feeAddress) {
58
+ continue;
59
+ }
60
+ if (!ignoredNativeTransfer &&
61
+ transfer.from === transaction.from &&
62
+ transfer.to === transaction.to &&
63
+ transfer.value === transaction.value) {
64
+ ignoredNativeTransfer = true;
65
+ continue;
66
+ }
67
+ filteredErc20Transfers.push(transfer);
68
+ }
69
+ }
70
+ else {
71
+ filteredErc20Transfers.push(...erc20Transfers);
72
+ }
51
73
  return {
52
74
  ...transaction,
53
- erc20Transfers,
75
+ erc20Transfers: filteredErc20Transfers,
54
76
  erc721Transfers,
55
77
  erc1155Transfers,
56
78
  from: fromAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../logic/analyzeTransaction/decodeTransaction/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../logic/analyzeTransaction/decodeTransaction/index.ts"],"names":[],"mappings":"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"}
@@ -49,10 +49,34 @@ export const decodeTransaction = ({ transaction, addresses, erc20Tokens, eventAb
49
49
  transfer,
50
50
  nfts: nftsMap,
51
51
  }));
52
+ // chain 毎固有の条件に応じて ERC20 transfer をフィルタリング
53
+ const filteredErc20Transfers = [];
54
+ const zkSyncEraChainId = 324;
55
+ // zkSync でのトランザクションの場合、fee 関連の transfer を除外・native transfer と同様の transfer を除外
56
+ if (transaction.chainId === zkSyncEraChainId) {
57
+ const feeAddress = '0x0000000000000000000000000000000000008001';
58
+ let ignoredNativeTransfer = false;
59
+ for (const transfer of erc20Transfers) {
60
+ if (transfer.from === feeAddress || transfer.to === feeAddress) {
61
+ continue;
62
+ }
63
+ if (!ignoredNativeTransfer &&
64
+ transfer.from === transaction.from &&
65
+ transfer.to === transaction.to &&
66
+ transfer.value === transaction.value) {
67
+ ignoredNativeTransfer = true;
68
+ continue;
69
+ }
70
+ filteredErc20Transfers.push(transfer);
71
+ }
72
+ }
73
+ else {
74
+ filteredErc20Transfers.push(...erc20Transfers);
75
+ }
52
76
  // データを統合して TransactionDecoded に変形
53
77
  return {
54
78
  ...transaction,
55
- erc20Transfers,
79
+ erc20Transfers: filteredErc20Transfers,
56
80
  erc721Transfers,
57
81
  erc1155Transfers,
58
82
  from: fromAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../logic/analyzeTransaction/decodeTransaction/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../logic/analyzeTransaction/decodeTransaction/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../logic/analyzeTransaction/decodeTransaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAOzE,KAAK,2BAA2B,GAAG;IACjC,WAAW,EAAE,iBAAiB,CAAA;IAC9B,SAAS,EAAE,SAAS,UAAU,EAAE,CAAA;IAChC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;IAClC,SAAS,EAAE,SAAS;QAClB,SAAS,EAAE,QAAQ,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,GAAG,EAAE,MAAM,CAAA;KACZ,EAAE,CAAA;IACH,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;IAC/B,IAAI,EAAE,SAAS,GAAG,EAAE,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,4EAO3B,2BAA2B,KAAG,kBA2EhC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../logic/analyzeTransaction/decodeTransaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAsB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAOzE,KAAK,2BAA2B,GAAG;IACjC,WAAW,EAAE,iBAAiB,CAAA;IAC9B,SAAS,EAAE,SAAS,UAAU,EAAE,CAAA;IAChC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;IAClC,SAAS,EAAE,SAAS;QAClB,SAAS,EAAE,QAAQ,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,GAAG,EAAE,MAAM,CAAA;KACZ,EAAE,CAAA;IACH,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;IAC/B,IAAI,EAAE,SAAS,GAAG,EAAE,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,4EAO3B,2BAA2B,KAAG,kBAqGhC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { Nft } from '@0xtorch/core'
2
- import type { Erc20Token, LowerHex } from '../../../types'
2
+ import type { Erc20Token, Erc20TokenTransfer, LowerHex } from '../../../types'
3
3
  import type { EvmAddress } from '../../../types/address'
4
4
  import type { TransactionDecoded } from '../../../types/transactionDecoded'
5
5
  import type { TransactionDetail } from '../../../types/transactionDetail'
@@ -93,10 +93,36 @@ export const decodeTransaction = ({
93
93
  }),
94
94
  )
95
95
 
96
+ // chain 毎固有の条件に応じて ERC20 transfer をフィルタリング
97
+ const filteredErc20Transfers: Erc20TokenTransfer[] = []
98
+ const zkSyncEraChainId = 324
99
+ // zkSync でのトランザクションの場合、fee 関連の transfer を除外・native transfer と同様の transfer を除外
100
+ if (transaction.chainId === zkSyncEraChainId) {
101
+ const feeAddress = '0x0000000000000000000000000000000000008001'
102
+ let ignoredNativeTransfer = false
103
+ for (const transfer of erc20Transfers) {
104
+ if (transfer.from === feeAddress || transfer.to === feeAddress) {
105
+ continue
106
+ }
107
+ if (
108
+ !ignoredNativeTransfer &&
109
+ transfer.from === transaction.from &&
110
+ transfer.to === transaction.to &&
111
+ transfer.value === transaction.value
112
+ ) {
113
+ ignoredNativeTransfer = true
114
+ continue
115
+ }
116
+ filteredErc20Transfers.push(transfer)
117
+ }
118
+ } else {
119
+ filteredErc20Transfers.push(...erc20Transfers)
120
+ }
121
+
96
122
  // データを統合して TransactionDecoded に変形
97
123
  return {
98
124
  ...transaction,
99
- erc20Transfers,
125
+ erc20Transfers: filteredErc20Transfers,
100
126
  erc721Transfers,
101
127
  erc1155Transfers,
102
128
  from: fromAddress,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xtorch/evm",
3
- "version": "0.0.94",
3
+ "version": "0.0.95",
4
4
  "description": "Cryptorch EVM extension",
5
5
  "keywords": [
6
6
  "cryptorch",