group actions per platform
This commit is contained in:
parent
9b57b17be7
commit
c374c0b600
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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.
|
|
@ -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";
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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"),
|
||||||
|
|
|
@ -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");
|
|
@ -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)";
|
|
@ -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);
|
||||||
|
|
|
@ -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";
|
||||||
|
|
Loading…
Reference in New Issue