group actions per platform

This commit is contained in:
matias martinez 2023-11-15 13:54:31 -03:00
parent 9b57b17be7
commit c374c0b600
10 changed files with 38 additions and 14 deletions

View File

@ -9,5 +9,19 @@
"sns": { "sns": {
"topicArn": "SNS_TOPIC_ARN", "topicArn": "SNS_TOPIC_ARN",
"region": "SNS_REGION" "region": "SNS_REGION"
},
"platforms": {
"ethereum": {
"rpcs": {
"__name": "ETHEREUM_RPCS",
"__format": "json"
}
},
"solana": {
"rpcs": {
"__name": "SOLANA_RPCS",
"__format": "json"
}
}
} }
} }

View File

@ -17,6 +17,13 @@
"dir": "metadata-repo/jobs" "dir": "metadata-repo/jobs"
}, },
"platforms": { "platforms": {
"solana": {
"name": "solana",
"network": "devnet",
"chainId": 1,
"rpcs": ["https://api.devnet.solana.com"],
"timeout": 10000
},
"ethereum": { "ethereum": {
"name": "ethereum", "name": "ethereum",
"network": "goerli", "network": "goerli",

View File

@ -1,5 +1,5 @@
import { ethers } from "ethers"; import { ethers } from "ethers";
import { EvmLog, EvmTopicFilter } from "../entities"; import { EvmLog, EvmTopicFilter } from "../../entities";
/** /**
* Handling means mapping and forward to a given target. * Handling means mapping and forward to a given target.

View File

@ -1,7 +1,7 @@
import { EvmLog } from "../entities"; import { EvmLog } from "../../entities";
import { EvmBlockRepository, MetadataRepository, StatRepository } from "../repositories"; import { EvmBlockRepository, MetadataRepository, StatRepository } from "../../repositories";
import winston from "winston"; import winston from "winston";
import { RunPollingJob } from "./RunPollingJob"; import { RunPollingJob } from "../RunPollingJob";
const ID = "watch-evm-logs"; const ID = "watch-evm-logs";

View File

@ -1,4 +1,4 @@
export * from "./HandleEvmLogs"; export * from "./evm/HandleEvmLogs";
export * from "./PollEvmLogs"; export * from "./evm/PollEvmLogs";
export * from "./RunPollingJob"; export * from "./RunPollingJob";
export * from "./StartJobs"; export * from "./StartJobs";

View File

@ -29,6 +29,9 @@ export type PlatformConfig = {
By setting NODE_CONFIG_ENV we can point to a different config directory. By setting NODE_CONFIG_ENV we can point to a different config directory.
Default settings can be customized by definining NODE_ENV=staging|production. Default settings can be customized by definining NODE_ENV=staging|production.
Some options may be overridable by env variables, see: config/custom-environment-variables.json Some options may be overridable by env variables, see: config/custom-environment-variables.json
For array values, you should use something like this:
ETHEREUM_RPCS='["http://1.com","http://2.com"]'
*/ */
export const configuration = { export const configuration = {
environment: config.get<string>("environment"), environment: config.get<string>("environment"),

View File

@ -3,8 +3,8 @@ import {
createWatchers, createWatchers,
getEnvironment, getEnvironment,
initializeEnvironment, initializeEnvironment,
} from "./infrastructure/watchers/environment"; } from "./environment";
import AbstractWatcher from "./infrastructure/watchers/AbstractWatcher"; import AbstractWatcher from "./AbstractWatcher";
async function run() { async function run() {
initializeEnvironment(process.env.WATCHER_CONFIG_PATH || "../config/local.json"); initializeEnvironment(process.env.WATCHER_CONFIG_PATH || "../config/local.json");

View File

@ -1,6 +1,6 @@
import { afterEach, describe, it, expect, jest } from "@jest/globals"; import { afterEach, describe, it, expect, jest } from "@jest/globals";
import { HandleEvmLogs, HandleEvmLogsConfig } from "../../src/domain/actions/HandleEvmLogs"; import { HandleEvmLogs, HandleEvmLogsConfig } from "../../../../src/domain/actions";
import { EvmLog, LogFoundEvent } from "../../src/domain/entities"; import { EvmLog, LogFoundEvent } from "../../../../src/domain/entities";
const ABI = const ABI =
"event SendEvent(uint64 indexed sequence, uint256 deliveryQuote, uint256 paymentForExtraReceiverValue)"; "event SendEvent(uint64 indexed sequence, uint256 deliveryQuote, uint256 paymentForExtraReceiverValue)";

View File

@ -4,13 +4,13 @@ import {
PollEvmLogsMetadata, PollEvmLogsMetadata,
PollEvmLogs, PollEvmLogs,
PollEvmLogsConfig, PollEvmLogsConfig,
} from "../../src/domain/actions/PollEvmLogs"; } from "../../../../src/domain/actions";
import { import {
EvmBlockRepository, EvmBlockRepository,
MetadataRepository, MetadataRepository,
StatRepository, StatRepository,
} from "../../src/domain/repositories"; } from "../../../../src/domain/repositories";
import { EvmBlock, EvmLog } from "../../src/domain/entities"; import { EvmBlock, EvmLog } from "../../../../src/domain/entities";
let cfg = PollEvmLogsConfig.fromBlock(0n); let cfg = PollEvmLogsConfig.fromBlock(0n);

View File

@ -1,6 +1,6 @@
import { describe, it, expect } from "@jest/globals"; import { describe, it, expect } from "@jest/globals";
import { evmLogMessagePublishedMapper } from "../../../src/infrastructure/mappers/evmLogMessagePublishedMapper"; import { evmLogMessagePublishedMapper } from "../../../src/infrastructure/mappers/evmLogMessagePublishedMapper";
import { HandleEvmLogs } from "../../../src/domain/actions/HandleEvmLogs"; import { HandleEvmLogs } from "../../../src/domain/actions";
const address = "0x98f3c9e6e3face36baad05fe09d375ef1464288b"; const address = "0x98f3c9e6e3face36baad05fe09d375ef1464288b";
const topic = "0x6eb224fb001ed210e379b335e35efe88672a8ce935d981a6896b27ffdf52a3b2"; const topic = "0x6eb224fb001ed210e379b335e35efe88672a8ce935d981a6896b27ffdf52a3b2";