Commit Graph

6 Commits

Author SHA1 Message Date
Martin Picco 59705a5bad
Implement rpc pool library (#1085)
* Add rpc-pool dependency and make the minimum changes to make the codebase compatible with it

* Implement rpc provider pools for EVMs and Sui

* Implement rpc provider pools for Solana

* Adapt tests to new repo interfaces and constructors

* Fix tests

* Modify gh action to use the xlabs registry

* Mock rpc-pool module for tests

* Set up husky and pre commit hook to run prettier

* Bump rpc-pool

* Expand default mainnet rpc configs

* Add link-staged to run prettier for staged files

* prettier config

* Address PR comments

* Add bsc rpc node

* fix rpc configs
2024-02-07 16:50:05 -03:00
Martin Picco e2025ee6ee
[Blockchain Watcher] (SUI) Initial implementation for Sui through polling (#1054)
* Initial implementation for Sui through block polling

* PollSui: add check for when the cursor reaches the latest (no new checkpoints to process)

* Change types for poll sui config from/to range

* coverage for sui rpc repo

* Add test for PollSui batchSize param

* Apply prettier

* Upgrade typescript and tsx dev deps

* Remove commented code

* Address some review comments

* Add SuiPollTransactions source

* Fix divideIntoBatches types

* Apply prettier

* Fix cursor issue when no configured range. Add test to mapper

* Remove PollSuiCheckpoints

* Query transactions by event instead of by called module in order to catch both transfers with and without payload

* Remove unusued GetSuiTransactions action

* Address some review comments

* Address review comments. Go back to using queryTransactions instead of events (querying by events would mean losing failed redeems)

* Allow undefined filter

* Add sui job to deployments

* Fix job target

* Split sui job into two with different filters: one for complete_transfer and another for complete_transfer_with_payload. This will speed up the processing of both cases

* Fix sui jobs mainnet/testnet mix up

* Fix prometheus issue

* run prettier

* Fix message blockTime for sui transfer-redeemed event

* Add asyncdoc entry for new event transfer-redeemed

* Add missing channel to asyncapi
2024-02-02 12:35:52 -03:00
Matías Martínez e2884690e1
[Blockchain watcher] TransferRedeemed/Delivery events for evm (#844)
* adding more overrides via env var

* simplifying default cfg files

* shared evm repo

* move get evm logs to new action

* move get solana txs to new action

* minor folder cleanup

* smaller docker image

* add evm transfer redeemed parsing

* adding standard relayers delivery event

* adding to runtime

* remove redeem job handlers for now

* [Blockchain watcher] Transfer redeemed events for Solana (#855)

* solana transfer redeemed evt

* pr comments

* missine prop in evt example

* support for complete transfers with payload

* add solana redeem example

* fixing err message
2023-12-12 16:55:09 -03:00
Matías Martínez 0e4efd6673
[Blockchain Watcher] Separating get and poll actions (#843)
* adding more overrides via env var

* simplifying default cfg files

* shared evm repo

* move get evm logs to new action

* move get solana txs to new action

* minor folder cleanup

* smaller docker image

* add chain to evm block repo logs
2023-12-04 09:47:02 -03:00
Matías Martínez 0dda3e3f97
[Blockchain Watcher] Emit LogMessagePublished for Solana (#809)
* adding gen-relayer watcher code to branch

* folder rename

* adding some new  abstract types for processor redesign

* added first cut of new process manager logic

* large refactoring to environment configuration

* Add basic default config

* prettier run

* modifying event handler interface

* abstract handler typing changes

* Blockchain watcher: adding domain and infra layers (#786)

* reorg domain-infra

* watch evm blocks action

* adding evm log parser

* wider prettier

* renaming watch action

* adding doc

* persist latest metadata

* gh action for blockchain-watcher

* adding log-message-published mapper

* deps: remove peers and nodemon

* adding handler for LogMessagePublished

* added parser for log message published

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>

* Blockchain Watcher: ethereum -> sns implementation (#790)

* evm block repo implementation

* adding sns publisher

* adding external config and initial runner

* fix: start from latest if no fromBlock configured

* feat: add dryRun option

* fix: handler filtering and eth_getLogs filter payload

* local e2e

* actual sns arns for testnet

* smaller docker image

* deployment changes

* [Blockchain Watcher] Apply missing formatting for log message published (#791)

* Apply missing formatting for log message published

* keep extracting

* emitterAddress -> emitter

* using configured default winston logger

* wait for new block

* adding basic metrics

* staging mainnet config

* send hexa block number

* simpler log format

* group entities in different files

* [Blockchain watcher] Adding light observability (#793)

* using configured default winston logger

* wait for new block

* adding basic metrics

* staging mainnet config

* send hexa block number

* simpler log format

* better error logs

* wait when no block available

* grouping watchers

* adding 429 handling http client

* abstracting polling iteration

* Load jobs dinamically

* changing deployment strategy to jobs per pod

* group actions per platform

* [Blockchain Watcher] Add StartJob action + rate limit handling (#799)

* using configured default winston logger

* wait for new block

* adding basic metrics

* staging mainnet config

* send hexa block number

* simpler log format

* group entities in different files

* grouping watchers

* adding 429 handling http client

* abstracting polling iteration

* Load jobs dinamically

* changing deployment strategy to jobs per pod

* adding poll solana txs action

* adding solana repo implementation

* solana: mapping to logmsgpublished

* fixing solana mapper test

* updating readme

* adding some metrics

* adding solana worker

* adding finality param to get solana block

* minor changes - using confirmed for solana log extraction

* updating version

* add solana env var

* [Blockchain Watcher] Feature-813/fix-coverage-report (#815)

* Fix coverage report

* Run prettier

* Rollback global coverage value

* Set global coverage value to 55

* Add github PR template

* Run prettier

* Rename github template file

---------

Co-authored-by: Julian Merlo <julianmerlo@MacBook-Pro-de-Julian.local>

* private solana urls as secret

* adding prod cfg files

* Change repository name and cretae error foulder (#819)

* Change repository name and cretae error foulder

* Rename SolanaFailure file

* Rename SolanaFailure file

---------

Co-authored-by: Julian Merlo <julianmerlo@MacBook-Pro-de-Julian.local>

* passing node_options for solana

* adding missing envs templates

* cru

* ratelimited solana client + increase coverage

* [Blockchain Watcher] Feature 817/add hexagonal prefix (#824)

* Put hexadecimal prefix

* Create id variable

* Add error log

* Add error log

* Remove bigint in getBlock params

---------

Co-authored-by: Julian Merlo <julianmerlo@MacBook-Pro-de-Julian.local>

* fix never ending solana jobs

* adding job counter metric

* solana: add retry handling for 429s

* cleanup

* remove duplicated tests

* cru + item count

* minor readme update + do not use private solana rpc

* fix items counter

* fix solana job programID for devnet

* log basic repo info

* solana: passing finality everywhere

* delete unnecesary files

* adjusting solana cfgs

* [Blockchain Watcher]  Fix/re order some files (#828)

* fix/re-order-some-files

* run prettier

* Run prettier

* Resolve comment in PR

* Remove import

* Resolve comment

* Remove prefix in sns log

---------

Co-authored-by: Julian Merlo <julianmerlo@MacBook-Pro-de-Julian.local>

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: Julian <52217955+julianmerlo95@users.noreply.github.com>
Co-authored-by: Julian Merlo <julianmerlo@MacBook-Pro-de-Julian.local>
2023-11-30 12:05:43 -03:00
Matías Martínez 2d9d0533f6
[Blockchain Watcher] Initial version (#806)
- Ethereum support for LogMessagePublished extraction
2023-11-28 16:00:45 -03:00