[Blockchain Watcher] (W) Map evm NTT redeem (#1334)

Map evm NTT redeem

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
This commit is contained in:
Julian 2024-04-19 15:28:37 -03:00 committed by GitHub
parent 2686bea37e
commit 550b7b1d54
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 133 additions and 9 deletions

View File

@ -158,7 +158,10 @@
]
},
{
"addresses": ["0x55f7820357fa17a1ecb48e959d5e637bff956d6f"],
"addresses": [
"0x55f7820357fa17a1ecb48e959d5e637bff956d6f",
"0xDb55492d7190D1baE8ACbE03911C4E3E7426870c"
],
"type": "NTT",
"methods": [
{
@ -944,6 +947,16 @@
}
]
},
{
"addresses": ["0xd1a8ab69e00266e8b791a15bc47514153a5045a6"],
"type": "NTT",
"methods": [
{
"methodId": "0xf953cec7",
"method": "WormholeTransceiverReceiveMessage"
}
]
},
{
"addresses": [
"0x3dd14d553cfd986eac8e3bddf629d82073e188c8",
@ -1101,6 +1114,16 @@
}
]
},
{
"addresses": ["0x9bD8b7b527CA4e6738cBDaBdF51C22466756073d"],
"type": "NTT",
"methods": [
{
"methodId": "0xf953cec7",
"method": "WormholeTransceiverReceiveMessage"
}
]
},
{
"addresses": [
"0xfe8cd454b4a1ca468b57d79c0cc77ef5b6f64585",
@ -1245,6 +1268,16 @@
}
]
},
{
"addresses": ["0xD1a8AB69e00266e8B791a15BC47514153A5045a6"],
"type": "NTT",
"methods": [
{
"methodId": "0xf953cec7",
"method": "WormholeTransceiverReceiveMessage"
}
]
},
{
"addresses": [
"0xda3adc6621b2677bef9ad26598e6939cf0d92f88",

View File

@ -383,4 +383,87 @@ describe("evmRedeemedTransactionFoundMapper", () => {
);
expect(result?.attributes.sequence).toBe(28105);
});
it("should be able to map log to evmRedeemedTransactionFoundMapper with vaaInformation from the log topics (e.g NTT for W token)", async () => {
// When
const [result] = await handler.handle([
{
blockHash: "0x2ed1e4699d1db88d7967a06a30e87783bfa2cd4cd3b6d452c4cbe8c125a021a6",
blockNumber: 0xcc12d6n,
from: "0x44a56b20e2f60f89a5711b819db4d866574bf010",
gas: "0x659ef",
gasPrice: "0x3747d0e",
maxFeePerGas: "0xc09acfd8",
maxPriorityFeePerGas: "0x30d40",
hash: "0xf3e0110825f056831129d6b07430fd87c491999ee033617ebf5ee8d3da1fffd4",
input:
"0xf953cec70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000046c01000000040d00289fec07a6f7232c5252cd54f0700939945a2c7990b26772dfdfb9b6658048ec53daeceb79fd6f8391ed69ed9ddecf55be0c52b4e425161627e73f06f35f94400101e1d2bd4e217e8d7adb4ca65f397f91ad8cedc3b4d7b81aaca4dcca97866072f45bb9f982d4fb5c54c5c714b213a75b76de79557f95dcef00b01d7d935e837b3e00049040420290c5ee47a29846661086e890dd8f191c7faf8c3085219f7e572b9edd003975d584b3e23654354e27b3a09bf18043298601afb9b588556daf25a363da0006dd6640d85edcb0330e1cc320c3528c0f5caa07f0f65f995874ccdad357a1c18343f59b8ab5f3efaf68cd30863c0b82b6b1d882c3a25d8c2d1be63635c8de89080007042035c81916e803ebe2d5acc02e3dabacbb34f407b90f31a075a9a34f06b063227d35e3c683164b900bcc9fc590c4d3e515dbb365c946ee251289b022a8ed1a00089b3e2c3bbaf46318d38fe0c501bdb325b4b605c00a2ace9b70f27077b221274d53874211dfa14a2a3987c260a5653b5ada9bb8df2f6320f310422d0c837c5f55000a7f57084cb5d1dde75c152403f88b3b864cc4f1b3efd7de819de90034e59204e62c6cfd2664b4ad0600f5085abb79c317081ddd83b530058ca91a49f611a1ebf4010b5c1dc054fbb5c11ed8df2aa5ba401692a0c10a861450a44d3c7a3bad84251031078f978b0f7ff9fa358564872b8d1259363edd7a93d9d790edab75e193bd5954000dac4b5201aee6055b49cf67e94414f01c75175fd7e3a8c236c5c432eee9e87c810764ec5aee22d6e4ac9e18d9969f0c1d11c9c09f60187b086082af38617725e7010f60850ce65a990fd64e26eecc7523d1e3fb5962b72bc7ce69058ed0b8429416050babfdae411cfe7eab7c76cf100b85d295f824ed40c40624dad7fc0cd1f5bf0300102bbde4c23983ed1dc30c832bc86a71d4a286f2769c3cd2edb40b7e647255c1b52b66c1aee289b9c1d15ace4db2e42037fd3fd67d48a76337bf73c4dca4a182ab011102ef207e5fd895b82e78339e5d810b279d6cb5196f87921c79732f6ac23f33b5528b2449f8d740fb10cc1c0b555cc4950e1f4e070098a2f8518f06122a4020f40012aa6bb3a3722c8ed10aedf00cc6aaa1d006f156c0882fc9ecb071d9d1ef70b66050755b634b8d86f8505ff2eab0dd0466548d189848cdfb15b5928a34d73c58420166228271000000000001cf5f3614e2cd9b374558f35c7618b25f0d306d5e749b7d29cc030a1a15686238000000000000001c209945ff10057f97be1c39478e57974f6cc9dbfbeebb0e5ce340c2efd52b8295e889a9ede40000000000000000000000005333d0aca64a450add6fef76d6d1375f726cb4840091f6584bf5ce12459598bbaf47ec38d42deec0d8234c826ea6940eb0e87038985767947ef13a158cb9bfcabea018b3f8d2e55b2281a76362624273971dbafa1e99004f994e54540600000000000027106927fdc01ea906f96d7137874cdd7adad00ca35764619310e54196c781d84d5b00000000000000000000000049887a216375fded17dc1aaad4920c3777265614001e00000000000000000000000000000000000000000000",
nonce: "0x2",
to: "0xd1a8ab69e00266e8b791a15bc47514153a5045a6",
transactionIndex: "0x26",
value: "0x0",
type: "0x2",
chainId: 30,
v: "0x0",
r: "0x6b4fbf9838f9a9bfe175b30245221558a9935b7c817959e780d1b6a673e2fdc7",
s: "0x4f9c5abeb848486244df757ba16c2d2436225b2bf2c8adff56d4ecedb51b15b3",
status: "0x1",
timestamp: 1713537679,
environment: "mainnet",
chain: "base",
logs: [
{
address: "0xd1a8ab69e00266e8b791a15bc47514153a5045a6",
data: "0xf41341582ab18d4be58d1f914ac65a8e5b6932a41db1aad46a0bf141051065ec0000000000000000000000000000000000000000000000000000000000000001cf5f3614e2cd9b374558f35c7618b25f0d306d5e749b7d29cc030a1a15686238000000000000000000000000000000000000000000000000000000000000001c",
topics: ["0xf6fc529540981400dc64edf649eb5e2e0eb5812a27f8c81bac2c1d317e71a5f0"],
},
{
address: "0x5333d0aca64a450add6fef76d6d1375f726cb484",
data: "0x1f715f6fc356db0fd7dfefec21c8023e06026036b304a7315e10b91dafc49990000000000000000000000000d1a8ab69e00266e8b791a15bc47514153a5045a60000000000000000000000000000000000000000000000000000000000000000",
topics: ["0x35a2101eaac94b493e0dfca061f9a7f087913fde8678e7cde0aca9897edba0e5"],
},
{
address: "0x5333d0aca64a450add6fef76d6d1375f726cb484",
data: "0x",
topics: [
"0x504e6efe18ab9eed10dc6501a417f5b12a2f7f2b1593aed9b89f9bce3cf29a91",
"0x1f715f6fc356db0fd7dfefec21c8023e06026036b304a7315e10b91dafc49990",
],
},
{
address: "0xb0ffa8000886e57f86dd5264b9582b2ad87b2b91",
data: "0x000000000000000000000000000000000000000000000000002386f26fc10000",
topics: [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x0000000000000000000000000000000000000000000000000000000000000000",
"0x00000000000000000000000049887a216375fded17dc1aaad4920c3777265614",
],
},
{
address: "0xb0ffa8000886e57f86dd5264b9582b2ad87b2b91",
data: "0x0000000000000000000000000000000000000000000000000031bced02db0000000000000000000000000000000000000000000000000000005543df729c0000",
topics: [
"0xdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724",
"0x00000000000000000000000049887a216375fded17dc1aaad4920c3777265614",
],
},
],
},
]);
// Then
expect(result?.name).toBe("transfer-redeemed");
expect(result?.chainId).toBe(30);
expect(result?.txHash).toBe("f3e0110825f056831129d6b07430fd87c491999ee033617ebf5ee8d3da1fffd4"); // Remove 0x
expect(result?.blockHeight).toBe(13374166n);
expect(result?.attributes.blockNumber).toBe(13374166n);
expect(result?.attributes.from).toBe("0x44a56b20e2f60f89a5711b819db4d866574bf010");
expect(result?.attributes.to).toBe("0xd1a8ab69e00266e8b791a15bc47514153a5045a6");
expect(result?.attributes.methodsByAddress).toBe("WormholeTransceiverReceiveMessage");
expect(result?.attributes.emitterChain).toBe(1);
expect(result?.attributes.emitterAddress).toBe(
"CF5F3614E2CD9B374558F35C7618B25F0D306D5E749B7D29CC030A1A15686238"
);
expect(result?.attributes.sequence).toBe(28);
});
});

View File

@ -557,7 +557,8 @@ data:
"0x1d68124e65fafc907325e3edbf8c4d84499daa8b",
"0x9ae506cddd27dee1275fd1fe6627e5dc65257061",
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585"
"0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585",
"0x9bD8b7b527CA4e6738cBDaBdF51C22466756073d"
],
"chain": "optimism",
"chainId": 24,
@ -585,7 +586,8 @@ data:
"0x1d68124e65fafc907325e3edbf8c4d84499daa8b",
"0x9ae506cddd27dee1275fd1fe6627e5dc65257061",
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585"
"0xfE8cD454b4A1CA468B57D79c0cc77Ef5B6f64585",
"0x9bD8b7b527CA4e6738cBDaBdF51C22466756073d"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
@ -617,7 +619,8 @@ data:
"0x610d4dfac3ec32e0be98d18ddb280dacd76a1889",
"0x706f82e9bb5b0813501714ab5974216704980e31",
"0x8d2de8d2f73f1f4cab472ac9a881c9b123c79627",
"0xDA3adC6621B2677BEf9aD26598e6939CF0D92f88"
"0xDA3adC6621B2677BEf9aD26598e6939CF0D92f88",
"0xD1a8AB69e00266e8B791a15BC47514153A5045a6"
],
"chain": "base",
"chainId": 30,
@ -645,7 +648,8 @@ data:
"0x610d4dfac3ec32e0be98d18ddb280dacd76a1889",
"0x706f82e9bb5b0813501714ab5974216704980e31",
"0x8d2de8d2f73f1f4cab472ac9a881c9b123c79627",
"0xDA3adC6621B2677BEf9aD26598e6939CF0D92f88"
"0xDA3adC6621B2677BEf9aD26598e6939CF0D92f88",
"0xD1a8AB69e00266e8B791a15BC47514153A5045a6"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
@ -680,7 +684,8 @@ data:
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x3dD14D553cFD986EAC8e3bddF629d82073e188c8"
"0x3dD14D553cFD986EAC8e3bddF629d82073e188c8",
"0xd1a8ab69e00266e8b791a15bc47514153a5045a6"
],
"chain": "arbitrum",
"chainId": 23,
@ -711,7 +716,8 @@ data:
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x3dD14D553cFD986EAC8e3bddF629d82073e188c8"
"0x3dD14D553cFD986EAC8e3bddF629d82073e188c8",
"0xd1a8ab69e00266e8b791a15bc47514153a5045a6"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
@ -881,7 +887,8 @@ data:
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x3ee18b2214aff97000d974cf647e7c347e8fa585",
"0x55f7820357fa17a1ecb48e959d5e637bff956d6f",
"0x6FFd7EdE62328b3Af38FCD61461Bbfc52F5651fE"
"0x6FFd7EdE62328b3Af38FCD61461Bbfc52F5651fE",
"0xDb55492d7190D1baE8ACbE03911C4E3E7426870c"
],
"chain": "ethereum",
"chainId": 2,
@ -914,7 +921,8 @@ data:
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x3ee18b2214aff97000d974cf647e7c347e8fa585",
"0x55f7820357fa17a1ecb48e959d5e637bff956d6f",
"0x6FFd7EdE62328b3Af38FCD61461Bbfc52F5651fE"
"0x6FFd7EdE62328b3Af38FCD61461Bbfc52F5651fE",
"0xDb55492d7190D1baE8ACbE03911C4E3E7426870c"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",