[Blockchain Watcher] (TOKEN BRIDGE) Mapped token bridge chains (#1261)

* Mapped all evm chains

* Mapped topic for mainnet contracts

* Mapped testnet chains

* Mapped standar relayer topic for bnb

* Remove some contracts in config

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
This commit is contained in:
Julian 2024-04-08 12:47:53 -03:00 committed by GitHub
parent 0e487dcdfa
commit 11ecb6eb6d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 667 additions and 182 deletions

View File

@ -46,7 +46,6 @@
"network": "mumbai",
"chainId": 5,
"rpcs": [
"https://rpc-mumbai.maticvigil.com",
"https://polygon-mumbai.blockpi.network/v1/rpc/public",
"https://polygon-testnet.public.blastapi.io"
],

View File

@ -52,7 +52,6 @@
"fantom": {
"network": "mainnet",
"rpcs": [
"https://fantom.publicnode.com",
"https://rpc.fantom.network",
"https://rpc2.fantom.network",
"https://rpc3.fantom.network",
@ -84,11 +83,7 @@
},
"moonbeam": {
"network": "mainnet",
"rpcs": [
"https://endpoints.omniatech.io/v1/moonbeam/mainnet/public",
"https://rpc.api.moonbeam.network",
"https://1rpc.io/glmr"
]
"rpcs": ["https://rpc.api.moonbeam.network", "https://1rpc.io/glmr"]
},
"arbitrum": {
"network": "mainnet",

View File

@ -50,7 +50,7 @@
{
"addresses": [
"0xF890982f9310df57d00f659cf4fd87e65adEd8d7",
"0x3ee18B2214AFF97000D974cf647E7C347E8fa585"
"0x3ee18b2214aff97000d974cf647e7c347e8fa585"
],
"type": "Token Bridge",
"methods": [
@ -146,7 +146,10 @@
"chain": "ethereum-sepolia",
"protocols": [
{
"addresses": ["0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78"],
"addresses": [
"0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78",
"0xdb5492265f6038831e89f495670ff909ade94bd9"
],
"type": "Token Bridge",
"methods": [
{
@ -208,8 +211,8 @@
"protocols": [
{
"addresses": [
"0x377D55a7928c046E18eEbb61977e714d2a76472a",
"0x5a58505a96D1dbf8dF91cB21B54419FC36e93fdE"
"0x377d55a7928c046e18eebb61977e714d2a76472a",
"0x5a58505a96d1dbf8df91cb21b54419fc36e93fde"
],
"type": "Token Bridge",
"methods": [
@ -327,8 +330,8 @@
"protocols": [
{
"addresses": [
"0x9dcF9D205C9De35334D646BeE44b2D2859712A09",
"0xB6F6D86a8f9879A9c87f643768d9efc38c1Da6E7"
"0x9dcf9d205c9de35334d646bee44b2d2859712a09",
"0xb6f6d86a8f9879a9c87f643768d9efc38c1da6e7"
],
"type": "Token Bridge",
"methods": [
@ -411,8 +414,8 @@
"protocols": [
{
"addresses": [
"0x599CEa2204B4FaECd584Ab1F2b6aCA137a0afbE8",
"0x7C9Fc5741288cDFdD83CeB07f3ea7e22618D79D2"
"0x599cea2204b4faecd584ab1f2b6aca137a0afbe8",
"0x7c9fc5741288cdfdd83ceb07f3ea7e22618d79d2"
],
"type": "Token Bridge",
"methods": [
@ -464,8 +467,8 @@
"protocols": [
{
"addresses": [
"0x61E44E506Ca5659E6c0bba9b678586fA2d729756",
"0x0e082F06FF657D94310cB8cE8B0D9a04541d8052"
"0x61e44e506ca5659e6c0bba9b678586fa2d729756",
"0x0e082f06ff657d94310cb8ce8b0d9a04541d8052"
],
"type": "Token Bridge",
"methods": [
@ -565,8 +568,8 @@
"protocols": [
{
"addresses": [
"0x88d8004A9BdbfD9D28090A02010C19897a29605c",
"0x5848C791e09901b40A9Ef749f2a6735b418d7564"
"0x88d8004a9bdbfd9d28090a02010c19897a29605c",
"0x5848c791e09901b40a9ef749f2a6735b418d7564"
],
"type": "Token Bridge",
"methods": [
@ -591,11 +594,11 @@
]
},
{
"chain": "moonbean",
"chain": "moonbeam",
"protocols": [
{
"addresses": [
"0xbc976D4b9D57E57c3cA52e1Fd136C45FF7955A96",
"0xbc976d4b9d57e57c3ca52e1fd136c45ff7955a96",
"0xb1731c586ca89a23809861c6103f0b96b3f57d92"
],
"type": "Token Bridge",
@ -651,8 +654,8 @@
"protocols": [
{
"addresses": [
"0x05ca6037eC51F8b712eD2E6Fa72219FEaE74E153",
"0x796Dff6D74F3E27060B71255Fe517BFb23C93eed"
"0x05ca6037ec51f8b712ed2e6fa72219feae74e153",
"0x796dff6d74f3e27060b71255fe517bfb23c93eed"
],
"type": "Token Bridge",
"methods": [
@ -1015,7 +1018,7 @@
{
"addresses": [
"0xA31aa3FDb7aF7Db93d18DDA4e19F811342EDF780",
"0x8d2de8d2f73F1F4cAB472AC9A881C9b123C79627"
"0x8d2de8d2f73f1f4cab472ac9a881c9b123c79627"
],
"type": "Token Bridge",
"methods": [
@ -1080,7 +1083,10 @@
"chain": "base-sepolia",
"protocols": [
{
"addresses": ["0x79A1027a6A159502049F10906D333EC57E95F083"],
"addresses": [
"0x79A1027a6A159502049F10906D333EC57E95F083",
"0x86f55a04690fd7815a3d802bd587e83ea888b239"
],
"type": "Token Bridge",
"methods": [
{
@ -1173,6 +1179,33 @@
]
}
]
},
{
"chain": "ethereum-holesky",
"protocols": [
{
"addresses": ["0x76d093bbae4529a342080546cafeec4acba59ec6"],
"type": "Token Bridge",
"methods": [
{
"methodId": "0xc6878519",
"method": "MethodCompleteTransfer"
},
{
"methodId": "0xff200cde",
"method": "MethodCompleteAndUnwrapETH"
},
{
"methodId": "0xe8059810",
"method": "MethodCreateWrapped"
},
{
"methodId": "0xf768441f",
"method": "MethodUpdateWrapped"
}
]
}
]
}
]
}

View File

@ -1,21 +1,20 @@
import { arrayify, hexZeroPad } from "ethers/lib/utils";
import { STANDARD_RELAYERS } from "../../constants";
import { configuration } from "../../config";
import { findProtocol } from "../contractsMapper";
import { parseVaa } from "@certusone/wormhole-sdk";
import winston from "../../log";
import {
EvmTransaction,
EvmTransactionFoundAttributes,
EvmTransactionLog,
TransactionFoundEvent,
EvmTransactionLog,
EvmTransaction,
TxStatus,
} from "../../../domain/entities";
import { configuration } from "../../config";
import { STANDARD_RELAYERS } from "../../constants";
import winston from "../../log";
import { findProtocol } from "../contractsMapper";
const TX_STATUS_CONFIRMED = "0x1";
const TX_STATUS_FAILED = "0x0";
type LogToVaaMapper = (log: EvmTransactionLog) => VaaInformation | undefined;
let logger: winston.Logger;
logger = winston.child({ module: "evmRedeemedTransactionFoundMapper" });
@ -30,63 +29,63 @@ export const evmRedeemedTransactionFoundMapper = (
transaction.hash
);
const vaaInformation = mappedVaaInformation(transaction.logs);
if (!protocol) {
return undefined;
}
const { type: protocolType, method: protocolMethod } = protocol;
const vaaInformation = mappedVaaInformation(transaction.logs, transaction.input);
const status = mappedStatus(transaction.status);
const emitterAddress = vaaInformation?.emitterAddress;
const emitterChain = vaaInformation?.emitterChain;
const sequence = vaaInformation?.sequence;
if (protocol && protocol.type && protocol.method) {
logger.debug(
`[${transaction.chain}] Redeemed transaction info: [hash: ${transaction.hash}][VAA: ${emitterChain}/${emitterAddress}/${sequence}][protocol: ${protocol.type}/${protocol.method}]`
if (!vaaInformation) {
logger.warn(
`[${transaction.chain}] Cannot mapper vaa information: [tx hash: ${transaction.hash}][protocol: ${protocolType}/${protocolMethod}]`
);
return {
name: "transfer-redeemed",
address: transaction.to,
chainId: transaction.chainId,
txHash: transaction.hash,
blockHeight: BigInt(transaction.blockNumber),
blockTime: transaction.timestamp,
attributes: {
from: transaction.from,
to: transaction.to,
status: status,
blockNumber: transaction.blockNumber,
input: transaction.input,
methodsByAddress: protocol.method,
timestamp: transaction.timestamp,
blockHash: transaction.blockHash,
gas: transaction.gas,
gasPrice: transaction.gasPrice,
maxFeePerGas: transaction.maxFeePerGas,
maxPriorityFeePerGas: transaction.maxPriorityFeePerGas,
nonce: transaction.nonce,
r: transaction.r,
s: transaction.s,
transactionIndex: transaction.transactionIndex,
type: transaction.type,
v: transaction.v,
value: transaction.value,
sequence: sequence,
emitterAddress: emitterAddress,
emitterChain: emitterChain,
protocol: protocol.type,
},
};
return undefined;
}
};
const mappedVaaInformation = (logs: EvmTransactionLog[]): VaaInformation | undefined => {
const log = logs.find((log) => {
return !!REDEEM_TOPICS[log.topics[0]];
});
const emitterAddress = vaaInformation.emitterAddress;
const emitterChain = vaaInformation.emitterChain;
const sequence = vaaInformation.sequence;
if (!log) return undefined;
logger.debug(
`[${transaction.chain}] Redeemed transaction info: [hash: ${transaction.hash}][VAA: ${emitterChain}/${emitterAddress}/${sequence}][protocol: ${protocolType}/${protocolMethod}]`
);
const mapper = REDEEM_TOPICS[log.topics[0]];
return mapper(log);
return {
name: "transfer-redeemed",
address: transaction.to,
chainId: transaction.chainId,
txHash: transaction.hash.substring(2), // Remove 0x
blockHeight: BigInt(transaction.blockNumber),
blockTime: transaction.timestamp,
attributes: {
from: transaction.from,
to: transaction.to,
status: status,
blockNumber: transaction.blockNumber,
input: transaction.input,
methodsByAddress: protocolMethod,
timestamp: transaction.timestamp,
blockHash: transaction.blockHash,
gas: transaction.gas,
gasPrice: transaction.gasPrice,
maxFeePerGas: transaction.maxFeePerGas,
maxPriorityFeePerGas: transaction.maxPriorityFeePerGas,
nonce: transaction.nonce,
r: transaction.r,
s: transaction.s,
transactionIndex: transaction.transactionIndex,
type: transaction.type,
v: transaction.v,
value: transaction.value,
sequence: sequence,
emitterAddress: emitterAddress,
emitterChain: emitterChain,
protocol: protocolType,
},
};
};
const mappedStatus = (txStatus: string | undefined): string => {
@ -100,10 +99,32 @@ const mappedStatus = (txStatus: string | undefined): string => {
}
};
type VaaInformation = {
emitterChain?: number;
emitterAddress?: string;
sequence?: number;
/**
* Mapped vaa information from logs.data or input using the topics to map the correct mapper
*/
const mappedVaaInformation = (
logs: EvmTransactionLog[],
input: string
): VaaInformation | undefined => {
const filterLogs = logs.filter((log) => {
return REDEEM_TOPICS[log.topics[0]];
});
if (!filterLogs) return undefined;
for (const log of filterLogs) {
const mapper = REDEEM_TOPICS[log.topics[0]];
const vaaInformation = mapper(log, input);
if (
vaaInformation &&
vaaInformation.emitterChain &&
vaaInformation.emitterAddress &&
vaaInformation.sequence
) {
return vaaInformation;
}
}
};
const mapVaaFromTopics: LogToVaaMapper = (log: EvmTransactionLog) => {
@ -148,10 +169,30 @@ const mapVaaFromStandardRelayerDelivery: LogToVaaMapper = (log: EvmTransactionLo
};
};
const mapVaaFromInput: LogToVaaMapper = (_, input: string) => {
const vaaBuffer = Buffer.from(input.substring(138), "hex");
const vaa = parseVaa(vaaBuffer);
return {
emitterAddress: vaa.emitterAddress.toString("hex"),
emitterChain: vaa.emitterChain,
sequence: Number(vaa.sequence),
};
};
type VaaInformation = {
emitterChain?: number;
emitterAddress?: string;
sequence?: number;
};
type LogToVaaMapper = (log: EvmTransactionLog, input: string) => VaaInformation | undefined;
const REDEEM_TOPICS: Record<string, LogToVaaMapper> = {
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169": mapVaaFromTopics, // Token Bridge
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e": mapVaaFromTopics, // CCTP
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": mapVaaFromInput, // Token Bridge sepolia
"0xf6fc529540981400dc64edf649eb5e2e0eb5812a27f8c81bac2c1d317e71a5f0": mapVaaFromDataBuilder(1), // NTT manual
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e": mapVaaFromTopics, // CCTP
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e":
mapVaaFromStandardRelayerDelivery, // Standard Relayer
};

View File

@ -282,7 +282,7 @@ export class EvmJsonRPCBlockRepository implements EvmBlockRepository {
}
for (let result of results) {
if (result) {
if (result && result.result) {
combinedResults.push(result);
}
}
@ -300,7 +300,7 @@ export class EvmJsonRPCBlockRepository implements EvmBlockRepository {
}
const msg = `[${chain}][getTransactionReceipt] Got error ${
response?.error
response?.error ?? JSON.stringify(response)
} for eth_getTransactionReceipt for ${JSON.stringify(hashNumbers)} on ${
chainCfg.rpc.hostname
}`;

View File

@ -1,9 +1,7 @@
import { describe, it, expect } from "@jest/globals";
import { evmRedeemedTransactionFoundMapper } from "../../../../src/infrastructure/mappers/evm/evmRedeemedTransactionFoundMapper";
import { HandleEvmTransactions } from "../../../../src/domain/actions";
import { describe, it, expect } from "@jest/globals";
const address = "0x3ee18B2214AFF97000D974cf647E7C347E8fa585";
const topic = "0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e";
const txHash = "0x612a35f6739f70a81dfc34448c68e99dbcfe8dafaf241edbaa204cf0e236494d";
let statsRepo = {
@ -70,17 +68,7 @@ describe("evmRedeemedTransactionFoundMapper", () => {
]);
// Then
expect(result?.name).toBe("transfer-redeemed");
expect(result?.chainId).toBe(1);
expect(result?.txHash).toBe(txHash);
expect(result?.blockHeight).toBe(18793148n);
expect(result?.attributes.blockNumber).toBe(18793148n);
expect(result?.attributes.from).toBe("0xfb070adcd21361a3946a0584dc84a7b89faa68e3");
expect(result?.attributes.to).toBe("0x3ee18B2214AFF97000D974cf647E7C347E8fa585");
expect(result?.attributes.methodsByAddress).toBe("MethodCompleteTransfer");
expect(result?.attributes.emitterChain).toBe(undefined);
expect(result?.attributes.emitterAddress).toBe(undefined);
expect(result?.attributes.sequence).toBe(undefined);
expect(result).toBeUndefined;
});
it("should be able to map log to evmRedeemedTransactionFoundMapper with vaaInformation from the log topics", async () => {
@ -128,7 +116,7 @@ describe("evmRedeemedTransactionFoundMapper", () => {
// Then
expect(result?.name).toBe("transfer-redeemed");
expect(result?.chainId).toBe(1);
expect(result?.txHash).toBe(txHash);
expect(result?.txHash).toBe(txHash.substring(2)); // Remove 0x
expect(result?.blockHeight).toBe(18793148n);
expect(result?.attributes.blockNumber).toBe(18793148n);
expect(result?.attributes.from).toBe("0xfb070adcd21361a3946a0584dc84a7b89faa68e3");
@ -203,9 +191,7 @@ describe("evmRedeemedTransactionFoundMapper", () => {
// Then
expect(result?.name).toBe("transfer-redeemed");
expect(result?.chainId).toBe(10003);
expect(result?.txHash).toBe(
"0xcc63ff6948718c386158d8f6a678199575a3707b9d5014de4a984b5897d987f4"
);
expect(result?.txHash).toBe("cc63ff6948718c386158d8f6a678199575a3707b9d5014de4a984b5897d987f4");
expect(result?.attributes.methodsByAddress).toBe("WormholeTransceiverReceiveMessage");
expect(result?.attributes.emitterChain).toBe(10002);
expect(result?.attributes.emitterAddress).toBe(
@ -286,9 +272,7 @@ describe("evmRedeemedTransactionFoundMapper", () => {
// Then
expect(result?.name).toBe("transfer-redeemed");
expect(result?.chainId).toBe(421614);
expect(result?.txHash).toBe(
"0xd8ff00d9dc3d9a0fa3d8a1b66ca4a6ff8a39ca940ec13609e66ae6959660765c"
);
expect(result?.txHash).toBe("d8ff00d9dc3d9a0fa3d8a1b66ca4a6ff8a39ca940ec13609e66ae6959660765c");
expect(result?.attributes.methodsByAddress).toBe("StandardRelayerDelivery");
expect(result?.attributes.emitterChain).toBe(10002);
expect(result?.attributes.emitterAddress).toBe(
@ -342,4 +326,61 @@ describe("evmRedeemedTransactionFoundMapper", () => {
// Then
expect(result).toBeUndefined;
});
it("should be able to map log to evmRedeemedTransactionFoundMapper with vaaInformation from the log topics (e.g. PORTAL TOKEN BRIDGE)", async () => {
// When
const [result] = await handler.handle([
{
blockHash: "0xfe78ab4e96e70b70fa773283ada9e582a5506372757d570e8ac624ea7d23f602",
blockNumber: 0x5584a3n,
from: "0x6d225d88426737dbd56bbb959954cb787b5b63fe",
gas: "0x2a0f1",
gasPrice: "0x3b9acaed",
maxPriorityFeePerGas: "0x3b9ac9ee",
maxFeePerGas: "0x3b9acb26",
hash: "0x350f1c1cd25ad3dffe6457ebec8432b861dd7e7884567ca3008ff28ab442cef7",
input:
"0xc687851900000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100010000000001006578c0722c90b0bc493e6b743faf528a2a6a88ddf2604f913e36d92863953b7f742d639f3f96341a7e98ce08f9cc63a8aaa8cbd2f923153f8888a1645577276600660a5b17000103e200013b26409f8aaded3f5ddca184695aa6a0fa829b0c85caf84856324896d214ca980000000000006dc9200100000000000000000000000000000000000000000000000000000004b2cb597dd1507814aad5e65844574a570d123fe7d6eefadce5907471023f9e69d48a064e00010000000000000000000000006d225d88426737dbd56bbb959954cb787b5b63fe27120000000000000000000000000000000000000000000000000000000000000000",
nonce: "0x12",
to: "0xdb5492265f6038831e89f495670ff909ade94bd9",
transactionIndex: "0x4d",
value: "0x0",
type: "0x2",
chainId: 10002,
v: "0x1",
r: "0x6135b27ac924f0496534e12ecc904b3f26b2149505930bb9375be59c5de31b01",
s: "0x2fa69d91ce7d738639b57e8ee7c2de77fc4dcb1921e66ddce811bcb9d1811fa8",
status: "0x1",
timestamp: 1711954956,
environment: "testnet",
chain: "ethereum-sepolia",
logs: [
{
address: "0x6a90bff9a9fee43c3ed12869e0cfe4f6c8e000e7",
topics: [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x0000000000000000000000000000000000000000000000000000000000000000",
"0x0000000000000000000000006d225d88426737dbd56bbb959954cb787b5b63fe",
],
data: "0x00000000000000000000000000000000000000000000000000000004b2cb597d",
},
],
},
]);
// Then
expect(result?.name).toBe("transfer-redeemed");
expect(result?.chainId).toBe(10002);
expect(result?.txHash).toBe("350f1c1cd25ad3dffe6457ebec8432b861dd7e7884567ca3008ff28ab442cef7"); // Remove 0x
expect(result?.blockHeight).toBe(5604515n);
expect(result?.attributes.blockNumber).toBe(5604515n);
expect(result?.attributes.from).toBe("0x6d225d88426737dbd56bbb959954cb787b5b63fe");
expect(result?.attributes.to).toBe("0xdb5492265f6038831e89f495670ff909ade94bd9");
expect(result?.attributes.methodsByAddress).toBe("MethodCompleteTransfer");
expect(result?.attributes.emitterChain).toBe(1);
expect(result?.attributes.emitterAddress).toBe(
"3b26409f8aaded3f5ddca184695aa6a0fa829b0c85caf84856324896d214ca98"
);
expect(result?.attributes.sequence).toBe(28105);
});
});

View File

@ -381,7 +381,7 @@ data:
"blockBatchSize": 100,
"commitment": "latest",
"interval": 15000,
"addresses": ["0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B", "0x27428dd2d3dd32a4d7f7c497eaaa23130d894911", "0x3ee18b2214aff97000d974cf647e7c347e8fa585"],
"addresses": ["0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B"],
"chain": "ethereum",
"chainId": 2
}

View File

@ -75,38 +75,6 @@ data:
}
]
},
{
"id": "poll-redeemed-transactions-base",
"chain": "base",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 100,
"commitment": "latest",
"interval": 5000,
"addresses": ["0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2", "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"],
"chain": "base",
"chainId": 30,
"topics": ["0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6", "0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e"]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": ["0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2", "0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5"],
"topics": ["0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6", "0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e"]
},
"metricName": "process_vaa_event"
}
}
]
},
{
"id": "poll-redeemed-transactions-base-sepolia",
"chain": "base-sepolia",
@ -121,7 +89,8 @@ data:
"0x2703483B1a5a7c577e8680de9Df8Be03c6f30e3c",
"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",
"0x1e072169541f1171e427aa44b5fd8924bee71b0e",
"0x93bad53ddfb6132b0ac8e37f6029163e63372cee"
"0x93bad53ddfb6132b0ac8e37f6029163e63372cee",
"0x86f55a04690fd7815a3d802bd587e83ea888b239"
],
"chain": "base-sepolia",
"chainId": 10004,
@ -130,7 +99,8 @@ data:
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xf6fc529540981400dc64edf649eb5e2e0eb5812a27f8c81bac2c1d317e71a5f0",
"0x504e6efe18ab9eed10dc6501a417f5b12a2f7f2b1593aed9b89f9bce3cf29a91",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}
},
@ -231,14 +201,16 @@ data:
"addresses": [
"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",
"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",
"0x0591c25ebd0580e0d4f27a82fc2e24e7489cb5e0"
"0x0591c25ebd0580e0d4f27a82fc2e24e7489cb5e0",
"0x377d55a7928c046e18eebb61977e714d2a76472a"
],
"chain": "polygon",
"chainId": 5,
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}
},
@ -253,12 +225,14 @@ data:
"addresses": [
"0x4cb69FaE7e7Af841e44E1A1c30Af640739378bb2",
"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",
"0x0591c25ebd0580e0d4f27a82fc2e24e7489cb5e0"
"0x0591c25ebd0580e0d4f27a82fc2e24e7489cb5e0",
"0x377d55a7928c046e18eebb61977e714d2a76472a"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
},
"metricName": "process_vaa_event"
@ -279,14 +253,16 @@ data:
"addresses": [
"0x774a70bbd03327c21460b60f25b677d9e46ab458",
"0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0",
"0xa3cf45939bd6260bcfe3d66bc73d60f19e49a8bb"
"0xa3cf45939bd6260bcfe3d66bc73d60f19e49a8bb",
"0x61e44e506ca5659e6c0bba9b678586fa2d729756"
],
"chain": "avalanche",
"chainId": 6,
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}
},
@ -301,12 +277,14 @@ data:
"addresses": [
"0x774a70bbd03327c21460b60f25b677d9e46ab458",
"0xeb08f243e5d3fcff26a9e38ae5520a669f4019d0",
"0xa3cf45939bd6260bcfe3d66bc73d60f19e49a8bb"
"0xa3cf45939bd6260bcfe3d66bc73d60f19e49a8bb",
"0x61e44e506ca5659e6c0bba9b678586fa2d729756"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
},
"metricName": "process_vaa_event"
@ -328,7 +306,8 @@ data:
"0x2703483B1a5a7c577e8680de9Df8Be03c6f30e3c",
"0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5",
"0x1fdc902e30b188fd2ba976b421cb179943f57896",
"0x7b1bd7a6b4e61c2a123ac6bc2cbfc614437d0470"
"0x7b1bd7a6b4e61c2a123ac6bc2cbfc614437d0470",
"0xdb5492265f6038831e89f495670ff909ade94bd9"
],
"chain": "ethereum-sepolia",
"chainId": 10002,
@ -339,7 +318,8 @@ data:
[
"0x504e6efe18ab9eed10dc6501a417f5b12a2f7f2b1593aed9b89f9bce3cf29a91",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
]
],
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}
},
@ -426,10 +406,16 @@ data:
"blockBatchSize": 100,
"commitment": "latest",
"interval": 15000,
"addresses": ["0x76d093BbaE4529a342080546cAFEec4AcbA59EC6"],
"addresses": [
"0x76d093bbae4529a342080546cafeec4acba59ec6"
],
"chain": "ethereum-holesky",
"chainId": 10006,
"topics": ["0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6", "0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e"]
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}
},
"handlers": [
@ -440,8 +426,58 @@ data:
"config": {
"abi": "",
"filter": {
"addresses": ["0x76d093BbaE4529a342080546cAFEec4AcbA59EC6"],
"topics": ["0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6", "0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e"]
"addresses": [
"0x76d093bbae4529a342080546cafeec4acba59ec6"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
},
"metricName": "process_vaa_event"
}
}
]
},
{
"id": "poll-redeemed-transactions-bsc",
"chain": "bsc",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 100,
"commitment": "latest",
"interval": 5000,
"addresses": [
"0x9dcf9d205c9de35334d646bee44b2d2859712a09",
"0x80ac94316391752a193c1c47e27d382b507c93f3"
],
"chain": "bsc",
"chainId": 4,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": [
"0x9dcf9d205c9de35334d646bee44b2d2859712a09",
"0x80ac94316391752a193c1c47e27d382b507c93f3"
],
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
]
},
"metricName": "process_vaa_event"
}
@ -521,7 +557,8 @@ data:
"0x4cb69fae7e7af841e44e1a1c30af640739378bb2",
"0x1682Ae6375C4E4A97e4B583BC394c861A46D8962",
"0x610d4dfac3ec32e0be98d18ddb280dacd76a1889",
"0x706f82e9bb5b0813501714ab5974216704980e31"
"0x706f82e9bb5b0813501714ab5974216704980e31",
"0x8d2de8d2f73f1f4cab472ac9a881c9b123c79627"
],
"chain": "base",
"chainId": 30,
@ -529,7 +566,8 @@ data:
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
}
},
@ -545,13 +583,15 @@ data:
"0x4cb69fae7e7af841e44e1a1c30af640739378bb2",
"0x1682Ae6375C4E4A97e4B583BC394c861A46D8962",
"0x610d4dfac3ec32e0be98d18ddb280dacd76a1889",
"0x706f82e9bb5b0813501714ab5974216704980e31"
"0x706f82e9bb5b0813501714ab5974216704980e31",
"0x8d2de8d2f73f1f4cab472ac9a881c9b123c79627"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
},
"metricName": "process_vaa_event"
@ -639,7 +679,8 @@ data:
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xe1c66210fb97c76cdaee38950f5e9c181e9da628",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e"
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x5a58505a96d1dbf8df91cb21b54419fc36e93fde"
],
"chain": "polygon",
"chainId": 5,
@ -647,7 +688,8 @@ data:
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
}
},
@ -667,13 +709,15 @@ data:
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xe1c66210fb97c76cdaee38950f5e9c181e9da628",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e"
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x5a58505a96d1dbf8df91cb21b54419fc36e93fde"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
},
"metricName": "process_vaa_event"
@ -698,7 +742,8 @@ data:
"0xf3f04555f8fda510bfc77820fd6eb8446f59e72d",
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e"
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x0e082f06ff657d94310cb8ce8b0d9a04541d8052"
],
"chain": "avalanche",
"chainId": 6,
@ -706,7 +751,8 @@ data:
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
}
},
@ -725,13 +771,15 @@ data:
"0xf3f04555f8fda510bfc77820fd6eb8446f59e72d",
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e"
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x0e082f06ff657d94310cb8ce8b0d9a04541d8052"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
},
"metricName": "process_vaa_event"
@ -756,7 +804,8 @@ data:
"0xf3f04555f8fda510bfc77820fd6eb8446f59e72d",
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e"
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x3ee18b2214aff97000d974cf647e7c347e8fa585"
],
"chain": "ethereum",
"chainId": 2,
@ -764,7 +813,8 @@ data:
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
}
},
@ -783,13 +833,15 @@ data:
"0xf3f04555f8fda510bfc77820fd6eb8446f59e72d",
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e"
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0x3ee18b2214aff97000d974cf647e7c347e8fa585"
],
"topics": [
"0x1b2a7ff080b8cb6ff436ce0372e399692bbfb6d4ae5766fd8d58a7b8cc6142e6",
"0xf02867db6908ee5f81fd178573ae9385837f0a0a72553f8c08306759a7e0f00e",
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
},
"metricName": "process_vaa_event"
@ -874,14 +926,16 @@ data:
"0xf3f04555f8fda510bfc77820fd6eb8446f59e72d",
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e"
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0xb6f6d86a8f9879a9c87f643768d9efc38c1da6e7"
],
"chain": "bsc",
"chainId": 4,
"topics": [
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
]
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
}
},
"handlers": [
@ -897,12 +951,14 @@ data:
"0xf3f04555f8fda510bfc77820fd6eb8446f59e72d",
"0x27428dd2d3dd32a4d7f7c497eaaa23130d894911",
"0xbf5f3f65102ae745a48bd521d10bab5bf02a9ef4",
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e"
"0x8b782997b28e00ed8379ae8b27d4e4ddfc43967e",
"0xb6f6d86a8f9879a9c87f643768d9efc38c1da6e7"
],
"topics": [
"0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc",
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e"
]
"0xbccc00b713f54173962e7de6098f643d8ebf53d488d71f4b2a5171496d038f9e",
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
},
"metricName": "process_vaa_event"
}

View File

@ -65,6 +65,166 @@ data:
}
}
]
},
{
"id": "poll-redeemed-transactions-fantom",
"chain": "fantom",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 100,
"commitment": "latest",
"interval": 5000,
"addresses": [
"0x599cea2204b4faecd584ab1f2b6aca137a0afbe8"
],
"chain": "fantom",
"chainId": 10,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": [
"0x599cea2204b4faecd584ab1f2b6aca137a0afbe8"
],
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
},
"metricName": "process_vaa_event"
}
}
]
},
{
"id": "poll-redeemed-transactions-oasis",
"chain": "oasis",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 100,
"commitment": "latest",
"interval": 5000,
"addresses": [
"0x88d8004a9bdbfd9d28090a02010c19897a29605c"
],
"chain": "oasis",
"chainId": 7,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": [
"0x88d8004a9bdbfd9d28090a02010c19897a29605c"
],
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
},
"metricName": "process_vaa_event"
}
}
]
},
{
"id": "poll-redeemed-transactions-moonbeam",
"chain": "moonbeam",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 100,
"commitment": "latest",
"interval": 5000,
"addresses": [
"0xbc976d4b9d57e57c3ca52e1fd136c45ff7955a96"
],
"chain": "moonbeam",
"chainId": 16,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": [
"0xbc976d4b9d57e57c3ca52e1fd136c45ff7955a96"
],
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
},
"metricName": "process_vaa_event"
}
}
]
},
{
"id": "poll-redeemed-transactions-celo",
"chain": "celo",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 100,
"commitment": "latest",
"interval": 5000,
"addresses": [
"0x05ca6037ec51f8b712ed2e6fa72219feae74e153"
],
"chain": "celo",
"chainId": 14,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": [
"0x05ca6037ec51f8b712ed2e6fa72219feae74e153"
],
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
]
},
"metricName": "process_vaa_event"
}
}
]
}
]
mainnet-jobs.json: |-
@ -98,6 +258,166 @@ data:
}
}
]
},
{
"id": "poll-redeemed-transactions-fantom",
"chain": "fantom",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 100,
"commitment": "latest",
"interval": 5000,
"addresses": [
"0x7c9fc5741288cdfdd83ceb07f3ea7e22618d79d2"
],
"chain": "fantom",
"chainId": 10,
"topics": [
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": [
"0x7c9fc5741288cdfdd83ceb07f3ea7e22618d79d2"
],
"topics": [
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
},
"metricName": "process_vaa_event"
}
}
]
},
{
"id": "poll-redeemed-transactions-oasis",
"chain": "oasis",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 100,
"commitment": "latest",
"interval": 5000,
"addresses": [
"0x5848c791e09901b40a9ef749f2a6735b418d7564"
],
"chain": "oasis",
"chainId": 7,
"topics": [
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": [
"0x5848c791e09901b40a9ef749f2a6735b418d7564"
],
"topics": [
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
},
"metricName": "process_vaa_event"
}
}
]
},
{
"id": "poll-redeemed-transactions-moonbeam",
"chain": "moonbeam",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 100,
"commitment": "latest",
"interval": 5000,
"addresses": [
"0xb1731c586ca89a23809861c6103f0b96b3f57d92"
],
"chain": "moonbeam",
"chainId": 16,
"topics": [
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": [
"0xb1731c586ca89a23809861c6103f0b96b3f57d92"
],
"topics": [
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
},
"metricName": "process_vaa_event"
}
}
]
},
{
"id": "poll-redeemed-transactions-celo",
"chain": "celo",
"source": {
"action": "PollEvm",
"records": "GetEvmTransactions",
"config": {
"blockBatchSize": 10,
"commitment": "latest",
"interval": 5000,
"addresses": [
"0x796dff6d74f3e27060b71255fe517bfb23c93eed"
],
"chain": "celo",
"chainId": 14,
"topics": [
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
}
},
"handlers": [
{
"action": "HandleEvmTransactions",
"target": "sns",
"mapper": "evmRedeemedTransactionFoundMapper",
"config": {
"abi": "",
"filter": {
"addresses": [
"0x796dff6d74f3e27060b71255fe517bfb23c93eed"
],
"topics": [
"0xcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c169"
]
},
"metricName": "process_vaa_event"
}
}
]
}
]
---