diff --git a/src/commands/detectContextualizers.ts b/src/commands/detectContextualizers.ts index 50c0a398..f7e62e76 100644 --- a/src/commands/detectContextualizers.ts +++ b/src/commands/detectContextualizers.ts @@ -16,9 +16,7 @@ export function registerDetectContextualizersCommand() { const txResult = contextualizer.contextualize(transaction, true); if (!txResult.from) { - console.error( - `No matching protocol contextualizer on ${transaction.hash}`, - ); + console.error(`No matching contextualizer on ${transaction.hash}`); } console.log('Successfully ran contextualizers'); diff --git a/src/contextualizers/heuristics/erc20Swap/erc20Swap.spec.ts b/src/contextualizers/heuristics/erc20Swap/erc20Swap.spec.ts index ca98dbd6..ad4ae4de 100644 --- a/src/contextualizers/heuristics/erc20Swap/erc20Swap.spec.ts +++ b/src/contextualizers/heuristics/erc20Swap/erc20Swap.spec.ts @@ -6,6 +6,7 @@ import erc20SwapNot0xb376ca2f from '../../test/transactions/erc20Swap-not-0xb376 import erc20Swap0xd55dc9b2 from '../../test/transactions/erc20Swap-0xd55dc9b2.json'; import erc20Swap0x6ef80cce from '../../test/transactions/erc20Swap-0x6ef80cce.json'; import erc20swap0x2c631258 from '../../test/transactions/erc20swap-0x2c631258.json'; +import erc20Swap0x96f5e3fb from '../../test/transactions/erc20Swap-0x96f5e3fb.json'; import catchall0xc35c01ac from '../../test/transactions/catchall-0xc35c01ac.json'; describe('ERC20 Swap', () => { @@ -21,6 +22,9 @@ describe('ERC20 Swap', () => { const isERC20Swap3 = detect(erc20swap0x2c631258 as unknown as Transaction); expect(isERC20Swap3).toBe(true); + + const isERC20Swap4 = detect(erc20Swap0x96f5e3fb as unknown as Transaction); + expect(isERC20Swap4).toBe(true); }); it('Should generate context', () => { @@ -47,6 +51,12 @@ describe('ERC20 Swap', () => { expect(desc3).toBe( '0x6e947ba373a53bd41139d68e8dfb4fb0472767b6 SWAPPED 300000000000000000 0x4200000000000000000000000000000000000006 for 79907887473934231137403 0x4ed4e862860bed51a9570b96d89af5e1b0efefed', ); + + const generated4 = generate(erc20Swap0x96f5e3fb as unknown as Transaction); + const desc4 = contextSummary(generated4.context); + expect(desc4).toBe( + '0x605e05bf092ebd18e06d1b0f699df5b9dd85d452 SWAPPED 20398910132192029774490 0xeb1c32ea4e392346795aed3607f37646e2a9c13f for 2748.521373404267795478 ETH', + ); }); it('Should not detect as ERC20 Swap transaction', () => { diff --git a/src/contextualizers/protocol/uniswapV3/uniswapV3Pair.ts b/src/contextualizers/protocol/uniswapV3/uniswapV3Pair.ts index 549bc3f1..31d3f367 100644 --- a/src/contextualizers/protocol/uniswapV3/uniswapV3Pair.ts +++ b/src/contextualizers/protocol/uniswapV3/uniswapV3Pair.ts @@ -57,6 +57,7 @@ export const generate = (transaction: Transaction): Transaction => { const sender: string = decoded.args['sender'].toLowerCase(); const recipient: string = decoded.args['recipient'].toLowerCase(); const isUniversalRouter = + UNIVERSAL_ROUTERS[transaction.chainId] && UNIVERSAL_ROUTERS[transaction.chainId].includes(sender); if ( !transaction.netAssetTransfers[sender] || diff --git a/src/contextualizers/test/transactions/erc20Swap-0x96f5e3fb.json b/src/contextualizers/test/transactions/erc20Swap-0x96f5e3fb.json new file mode 100644 index 00000000..bf839e65 --- /dev/null +++ b/src/contextualizers/test/transactions/erc20Swap-0x96f5e3fb.json @@ -0,0 +1,1303 @@ +{ + "_id": "664dfe7ebba67f58270a190d", + "accessList": [], + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "chainId": 666666666, + "from": "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "gas": 180104, + "gasPrice": "10000000", + "hash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "input": "0x5ae401dc00000000000000000000000000000000000000000000000000000000664dffa4000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000e404e45aaf000000000000000000000000eb1c32ea4e392346795aed3607f37646e2a9c13f000000000000000000000000eb54dacb4c2ccb64f8074eceea33b5ebb38e53870000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000451d3bf0f2bb68d129a000000000000000000000000000000000000000000000094d94a86765df7327f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c000000000000000000000000000000000000000000000094d94a86765df7327f000000000000000000000000605e05bf092ebd18e06d1b0f699df5b9dd85d45200000000000000000000000000000000000000000000000000000000", + "maxFeePerGas": "20000000", + "maxPriorityFeePerGas": "0", + "nonce": 221, + "r": "0x19fc80cbf15aba01beb806531949dc317491059af856940854c9f064b83f06b3", + "s": "0x860ba701c7b05778d2ac22b8380f42ade4543a501eb6a88cb7f092ca3a94659", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "transactionIndex": 4, + "type": 2, + "v": "0x0", + "value": "0", + "yParity": "0x0", + "receipt": { + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "contractAddress": null, + "cumulativeGasUsed": 1565926, + "effectiveGasPrice": 10000000, + "from": "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "gasUsed": 137564, + "gasUsedForL1": "0xbe", + "l1BlockNumber": "0xe1d0c7", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000002000004000000000020000000000000000020000000000000000000000000000000000800000008000000000000000000400000000000000100000000000001000000200000000000000010000020080000040000000010000800000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000010000008000000000000000000000000000000000000002000004000000000000000000000000000000000000000002000000000002000040000000000000000014000000000000000000000010000000000000", + "status": true, + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionIndex": 4, + "type": "0x2", + "logs": [ + { + "_id": "664dfe7ebba67f58270a18ff", + "address": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "data": "0x000000000000000000000000000000000000000000000094ff657ad22227d416", + "logIndex": 0, + "removed": false, + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionIndex": 4, + "id": "log_e56caa5a", + "decoded": { + "signature": "Transfer(address,address,uint256)", + "signature_with_arg_names": "Transfer(address indexed from,address indexed to,uint256 value)", + "name": "Transfer", + "decoded": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address", + "decoded": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address", + "decoded": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256", + "decoded": "2748521373404267795478" + } + ] + }, + "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "topic1": "0x0000000000000000000000002a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "topic2": "0x0000000000000000000000009c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "_id": "664dfe7ebba67f58270a1900", + "address": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "data": "0x000000000000000000000000000000000000000000000451d3bf0f2bb68d129a", + "logIndex": 1, + "removed": false, + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionIndex": 4, + "id": "log_b92ef1aa", + "decoded": { + "signature": "Transfer(address,address,uint256)", + "signature_with_arg_names": "Transfer(address indexed from,address indexed to,uint256 value)", + "name": "Transfer", + "decoded": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address", + "decoded": "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address", + "decoded": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256", + "decoded": "20398910132192029774490" + } + ] + }, + "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "topic1": "0x000000000000000000000000605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "topic2": "0x0000000000000000000000002a4b56cb49c80025c7e637c71240880c8fc0e5b1" + }, + { + "_id": "664dfe7ebba67f58270a1901", + "address": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "data": "0x000000000000000000000000000000000000000000000451d3bf0f2bb68d129affffffffffffffffffffffffffffffffffffffffffffff6b009a852dddd82bea00000000000000000000000000000000000000005e11990acec304fe9cef583200000000000000000000000000000000000000000006f41c6ce028eaee9a6d30ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1c7", + "logIndex": 2, + "removed": false, + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionIndex": 4, + "id": "log_694661ce", + "decoded": { + "signature": "Swap(address,address,int256,int256,uint160,uint128,int24)", + "signature_with_arg_names": "Swap(address indexed sender,address indexed recipient,int256 amount0,int256 amount1,uint160 sqrtPriceX96,uint128 liquidity,int24 tick)", + "name": "Swap", + "decoded": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address", + "decoded": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address", + "decoded": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amount0", + "type": "int256", + "decoded": "20398910132192029774490" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amount1", + "type": "int256", + "decoded": "-2748521373404267795478" + }, + { + "indexed": false, + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160", + "decoded": "29112865383577962432785504306" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidity", + "type": "uint128", + "decoded": "8406336693657572717784368" + }, + { + "indexed": false, + "internalType": "int24", + "name": "tick", + "type": "int24", + "decoded": "-20025" + } + ] + }, + "topic0": "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "topic1": "0x0000000000000000000000009c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "topic2": "0x0000000000000000000000009c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "_id": "664dfe7ebba67f58270a1902", + "address": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "data": "0x000000000000000000000000000000000000000000000094ff657ad22227d416", + "logIndex": 3, + "removed": false, + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionIndex": 4, + "id": "log_34e3d442", + "decoded": { + "signature": "Withdrawal(address,uint256)", + "signature_with_arg_names": "Withdrawal(address indexed user,uint256 amount)", + "name": "Withdrawal", + "decoded": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address", + "decoded": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "decoded": "2748521373404267795478" + } + ] + }, + "topic0": "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "topic1": "0x0000000000000000000000009c0df4b950ca19db6fec13ab79ad180a9c15a41e" + } + ] + }, + "decoded": null, + "pseudoTransactions": [], + "assetTransfers": [ + { + "contract": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "from": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "value": "2748521373404267795478", + "type": "erc20" + }, + { + "contract": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "from": "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "to": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "value": "20398910132192029774490", + "type": "erc20" + }, + { + "from": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "type": "eth", + "value": "2748521373404267795478" + }, + { + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "to": "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "type": "eth", + "value": "2748521373404267795478" + } + ], + "delegateCalls": [ + { + "action": { + "callType": "delegatecall", + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "gas": "0x24fa8", + "input": "0x04e45aaf000000000000000000000000eb1c32ea4e392346795aed3607f37646e2a9c13f000000000000000000000000eb54dacb4c2ccb64f8074eceea33b5ebb38e53870000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000451d3bf0f2bb68d129a000000000000000000000000000000000000000000000094d94a86765df7327f0000000000000000000000000000000000000000000000000000000000000000", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "value": "0x0" + }, + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "result": { + "gasUsed": "0x1c53d", + "output": "0x000000000000000000000000000000000000000000000094ff657ad22227d416" + }, + "subtraces": 1, + "traceAddress": [ + 0 + ], + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionPosition": 4, + "type": "call" + }, + { + "action": { + "callType": "delegatecall", + "from": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "gas": "0x10895", + "input": "0x70a082310000000000000000000000002a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "to": "0x21bdba30afc2b8205e8a173626346868077572fb", + "value": "0x0" + }, + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "result": { + "gasUsed": "0xbda", + "output": "0x0000000000000000000000000000000000000000000c70c798d4fcfa34ec3cfd" + }, + "subtraces": 0, + "traceAddress": [ + 0, + 0, + 1, + 0 + ], + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionPosition": 4, + "type": "call" + }, + { + "action": { + "callType": "delegatecall", + "from": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "gas": "0xe763", + "input": "0x23b872dd000000000000000000000000605e05bf092ebd18e06d1b0f699df5b9dd85d4520000000000000000000000002a4b56cb49c80025c7e637c71240880c8fc0e5b1000000000000000000000000000000000000000000000451d3bf0f2bb68d129a", + "to": "0x21bdba30afc2b8205e8a173626346868077572fb", + "value": "0x0" + }, + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "result": { + "gasUsed": "0x5899", + "output": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "subtraces": 0, + "traceAddress": [ + 0, + 0, + 2, + 0, + 0 + ], + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionPosition": 4, + "type": "call" + }, + { + "action": { + "callType": "delegatecall", + "from": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "gas": "0x9126", + "input": "0x70a082310000000000000000000000002a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "to": "0x21bdba30afc2b8205e8a173626346868077572fb", + "value": "0x0" + }, + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "result": { + "gasUsed": "0x40a", + "output": "0x0000000000000000000000000000000000000000000c75196c940c25eb794f97" + }, + "subtraces": 0, + "traceAddress": [ + 0, + 0, + 3, + 0 + ], + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionPosition": 4, + "type": "call" + }, + { + "action": { + "callType": "delegatecall", + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "gas": "0x8ec7", + "input": "0x49404b7c000000000000000000000000000000000000000000000094d94a86765df7327f000000000000000000000000605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "value": "0x0" + }, + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "result": { + "gasUsed": "0x4716", + "output": "0x0" + }, + "subtraces": 3, + "traceAddress": [ + 1 + ], + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionPosition": 4, + "type": "call" + } + ], + "errors": [], + "parties": [ + "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "0x21bdba30afc2b8205e8a173626346868077572fb" + ], + "sigHash": "0x5ae401dc", + "internalSigHashes": [ + { + "from": "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "sigHash": "0x5ae401dc" + }, + { + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "sigHash": "0x04e45aaf" + }, + { + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "to": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "sigHash": "0x128acb08" + }, + { + "from": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "to": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "sigHash": "0xa9059cbb" + }, + { + "from": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "to": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "sigHash": "0x70a08231" + }, + { + "from": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "to": "0x21bdba30afc2b8205e8a173626346868077572fb", + "sigHash": "0x70a08231" + }, + { + "from": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "sigHash": "0xfa461e33" + }, + { + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "to": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "sigHash": "0x23b872dd" + }, + { + "from": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "to": "0x21bdba30afc2b8205e8a173626346868077572fb", + "sigHash": "0x23b872dd" + }, + { + "from": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "to": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "sigHash": "0x70a08231" + }, + { + "from": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "to": "0x21bdba30afc2b8205e8a173626346868077572fb", + "sigHash": "0x70a08231" + }, + { + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "sigHash": "0x49404b7c" + }, + { + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "to": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "sigHash": "0x70a08231" + }, + { + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "to": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "sigHash": "0x2e1a7d4d" + }, + { + "from": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "to": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "sigHash": "0x" + }, + { + "from": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "to": "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "sigHash": "0x" + } + ], + "timestamp": 1716387452, + "baseFeePerGas": 10000000, + "transactionFee": "1375640000000", + "logs": [ + { + "_id": "664dfe7ebba67f58270a18ff", + "address": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "data": "0x000000000000000000000000000000000000000000000094ff657ad22227d416", + "logIndex": 0, + "removed": false, + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionIndex": 4, + "id": "log_e56caa5a", + "decoded": { + "signature": "Transfer(address,address,uint256)", + "signature_with_arg_names": "Transfer(address indexed from,address indexed to,uint256 value)", + "name": "Transfer", + "decoded": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address", + "decoded": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address", + "decoded": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256", + "decoded": "2748521373404267795478" + } + ] + }, + "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "topic1": "0x0000000000000000000000002a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "topic2": "0x0000000000000000000000009c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "_id": "664dfe7ebba67f58270a1900", + "address": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "data": "0x000000000000000000000000000000000000000000000451d3bf0f2bb68d129a", + "logIndex": 1, + "removed": false, + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionIndex": 4, + "id": "log_b92ef1aa", + "decoded": { + "signature": "Transfer(address,address,uint256)", + "signature_with_arg_names": "Transfer(address indexed from,address indexed to,uint256 value)", + "name": "Transfer", + "decoded": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address", + "decoded": "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address", + "decoded": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256", + "decoded": "20398910132192029774490" + } + ] + }, + "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "topic1": "0x000000000000000000000000605e05bf092ebd18e06d1b0f699df5b9dd85d452", + "topic2": "0x0000000000000000000000002a4b56cb49c80025c7e637c71240880c8fc0e5b1" + }, + { + "_id": "664dfe7ebba67f58270a1901", + "address": "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1", + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "data": "0x000000000000000000000000000000000000000000000451d3bf0f2bb68d129affffffffffffffffffffffffffffffffffffffffffffff6b009a852dddd82bea00000000000000000000000000000000000000005e11990acec304fe9cef583200000000000000000000000000000000000000000006f41c6ce028eaee9a6d30ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1c7", + "logIndex": 2, + "removed": false, + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionIndex": 4, + "id": "log_694661ce", + "decoded": { + "signature": "Swap(address,address,int256,int256,uint160,uint128,int24)", + "signature_with_arg_names": "Swap(address indexed sender,address indexed recipient,int256 amount0,int256 amount1,uint160 sqrtPriceX96,uint128 liquidity,int24 tick)", + "name": "Swap", + "decoded": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address", + "decoded": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address", + "decoded": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amount0", + "type": "int256", + "decoded": "20398910132192029774490" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amount1", + "type": "int256", + "decoded": "-2748521373404267795478" + }, + { + "indexed": false, + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160", + "decoded": "29112865383577962432785504306" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidity", + "type": "uint128", + "decoded": "8406336693657572717784368" + }, + { + "indexed": false, + "internalType": "int24", + "name": "tick", + "type": "int24", + "decoded": "-20025" + } + ] + }, + "topic0": "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67", + "topic1": "0x0000000000000000000000009c0df4b950ca19db6fec13ab79ad180a9c15a41e", + "topic2": "0x0000000000000000000000009c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "_id": "664dfe7ebba67f58270a1902", + "address": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "blockHash": "0x829ff0d98c3032c9c39e5a5d36024b6184edddd7609f03e6297bd44dc6a91d72", + "blockNumber": 17586700, + "data": "0x000000000000000000000000000000000000000000000094ff657ad22227d416", + "logIndex": 3, + "removed": false, + "transactionHash": "0x96f589b8be6e5d69557d3c98f1ef8de688cf94e98992284b51f07953e7bfe3fb", + "transactionIndex": 4, + "id": "log_34e3d442", + "decoded": { + "signature": "Withdrawal(address,uint256)", + "signature_with_arg_names": "Withdrawal(address indexed user,uint256 amount)", + "name": "Withdrawal", + "decoded": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address", + "decoded": "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256", + "decoded": "2748521373404267795478" + } + ] + }, + "topic0": "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65", + "topic1": "0x0000000000000000000000009c0df4b950ca19db6fec13ab79ad180a9c15a41e" + } + ], + "netAssetTransfers": { + "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1": { + "received": [ + { + "contract": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "type": "erc20", + "value": "20398910132192029774490" + } + ], + "sent": [ + { + "contract": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "type": "erc20", + "value": "2748521373404267795478" + } + ] + }, + "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e": { + "received": [ + { + "contract": "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387", + "type": "erc20", + "value": "2748521373404267795478" + } + ], + "sent": [] + }, + "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452": { + "received": [ + { + "type": "eth", + "value": "2748521373404267795478" + } + ], + "sent": [ + { + "contract": "0xeb1c32ea4e392346795aed3607f37646e2a9c13f", + "type": "erc20", + "value": "20398910132192029774490" + } + ] + }, + "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387": { + "received": [], + "sent": [ + { + "type": "eth", + "value": "2748521373404267795478" + } + ] + } + }, + "pseudotransactions": [], + "contractsCreated": [], + "enrichedParties": { + "0x605e05bf092ebd18e06d1b0f699df5b9dd85d452": [ + { + "chainId": 0, + "isContract": false, + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": "derek", + "avatar": "https://i.imgur.com/SIhivso.png", + "fid": 193 + } + } + ], + "0x9c0df4b950ca19db6fec13ab79ad180a9c15a41e": [ + { + "chainId": 0, + "isContract": false, + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + } + ], + "0x2a4b56cb49c80025c7e637c71240880c8fc0e5b1": [ + { + "chainId": 0, + "isContract": false, + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + } + ], + "0xeb54dacb4c2ccb64f8074eceea33b5ebb38e5387": [ + { + "chainId": 666666666, + "label": { + "public": "Wrapped Degen" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 18, + "symbol": "WDEGEN", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + } + ], + "0xeb1c32ea4e392346795aed3607f37646e2a9c13f": [ + { + "chainId": 666666666, + "label": { + "public": "All Time High" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 18, + "symbol": "ATH", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + } + ], + "0x21bdba30afc2b8205e8a173626346868077572fb": [ + { + "chainId": 919, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 0, + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 11155111, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": "18", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 59144, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": "18", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 999, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 0, + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 5, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": "18", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 424, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": "18", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 1, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 0, + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 10, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": "18", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 252, + "label": { + "public": "" + }, + "isContract": true, + "imgUrl": "", + "decimals": "", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 420, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": "18", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 4202, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": "18", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 8453, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 0, + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 34443, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 0, + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 58008, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 0, + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 84531, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": "18", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 84532, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 0, + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 7777777, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 0, + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 11155420, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": "18", + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + }, + { + "chainId": 999999999, + "label": { + "public": "" + }, + "isContract": true, + "tokenStandard": "erc20", + "imgUrl": "", + "decimals": 0, + "symbol": "", + "ensNew": { + "handle": null, + "avatar": null + }, + "bns": { + "handle": null, + "avatar": null + }, + "farcaster": { + "handle": null, + "avatar": null, + "fid": null + } + } + ] + }, + "assetsEnriched": {} +} \ No newline at end of file