Commit Graph

19 Commits

Author SHA1 Message Date
Julian 87f6383f4a
[Blockchain Watcher] (FIX) Improve evm logs (#1130)
* Improve evm log

* Mapped last cursos for sui

* Mapped last cursos for sui

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-02-15 16:18:53 -03:00
Julian 024c29d67d
[Blockchain Watcher] (PORTICO) Add portico in mainnet (#1127)
* Add portico in mainnet

* Improve contract mapper

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-02-15 15:33:31 -03:00
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
Julian 61c5f3e29d
[Blockchain Watcher] (FIX) Rename pods files (#1082)
* Rename pods

* Improve solana log

* Fix pods

* Resolve comment in PR

* Resolve comment in PR

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-02-06 18:10:12 -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
Julian 760b7925d6
[Blockchain Watcher] (SOLANA) Enable solana redeem for token bridge (#1075)
* Enable solana redeem

* Resolve test

* Remove log

* Add CompleteNativeWithPayloadInstruction and CompleteWrappedWithPayloadInstruction methods

* Resolve test

* Improve asyncapi docs

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-02-02 10:33:55 -03:00
Julian 54c5d34a6e
[Blockchain Watcher] (FIX) Add lowecasse in contracts addresses (#1063)
* Add lowecasse

* Improve transaction filter

* Run prettier

* Resolve test

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-01-30 14:22:41 -03:00
Julian 5e6b96417a
[Blockchain Watcher] (CHAINS) Create config json for contracts and protocols (#1056)
* Create contractsMapperConfig json

* Create contracts json mapper

* Change method name in solana redeem

* Improve mapper validations

* Resolve solana test

* Set up config inside solana tx

* Resolve solana test

* Resolve solana test

* Resolve comment in PR

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-01-30 12:19:44 -03:00
Julian 59c2de9d0c
[Blockchain Watcher] (SOLANA) Mapped new attributes in solana redeem (#997)
* Rename and add new attributes

* Remove comment

* Resolve comment in PR

* Run prettier

* Resolve solana test

* Remove name in method mapper

* Run prettier

* Improve mapper method

* Remove toString in method mapper

* Resolve test error

* Resolve comment in PR

* Resolve comment in PR

* Revert name changes

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-01-29 09:16:04 -03:00
Julian 5744e25495
[Blockchain Watcher] (EVM) Change evm redeemed transaction mapper (#1034)
* Change evm redeemed transaction mapper

* Run prettier

* Create batch for getTransactionReceipt

* Run prettier

* Move batches logic inside repository

* Resolve comment in PR

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-01-24 12:29:23 -03:00
Julian c6b77d0bf3
[Blockchain Watcher] (EVM) Add sepolia support for testnet env (#1016)
* Add sepolia support for testnet env

* Add test

* Pull to main branch

* Change interval value for arbitrum

* Improve network name

* Mapped url correctly

* Resolve comment in Pr

* Mapped base-sepolia address

* Set public rpc in default url

* Mapped correctly base address

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-01-24 11:12:26 -03:00
Julian 3a715d7e29
[Blockchain Watcher] (ARBITRUM AND OPTIMISM) Mapped token bridge redeemed (#999)
* Add job and map methodName

* Run prettier

* Add check time, change job execution time and logs

* Rename log

* tolowercase address

* Rename populateTransactions name

* Reformat code, remove VAA information inside origin tx

* Add log in mapper

* Resolve comment in PR

* Improve mappedVaaInformation name

* Add log about transaction

* Resolve comment in PR

* Improve mappedVaaInformation code

* Run prettier

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2024-01-22 11:04:02 -03:00
Julian dee349ee73
[Blockchain Watcher] (EVM-CTTP) Mapped contract address for testnet and mainnet (#953)
* Mapped contract address for testnet and mainnet

* Run test and prettier

* Validate address and topic

* Add redeem in ethereum config

* Mapped vaa information and status

* Mapped mainnet redeems

* Add const in populateTransaction method

* Mapped testnet redeems

* Improve validations in topics and address

* Improve transaction validation in GetEvmTransactions

* Update asyncapi docs

* Resolve fix when create hashNumbers

* Merge to main

* Remove moonbeam change

* Remove asyncapi changes

* Remove asyncapi changes

* Improve filter implementation and move methodNameByAddressMapper inside infrastructure foulder

* Run prettier

* Improve names in variables

* Remove redeemed hardcode

* Add logs for transactions populated

* Add topic in test

* Resolve comment in PR

* Improve id name with job

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
Co-authored-by: julian merlo <julianmerlo@julians-MBP.lan>
2024-01-16 12:47:10 -03:00
Julian d7dae2413e
[Blockchain Watcher] (EVM) Support evm fail redeem (#919)
* feature-823/support-evm-fail-redeem

* feature-823/support-evm-fail-redeem

* Ad handler fo transactions flow

* Integrate test and handler

* Run prettier

* Create unit test for methodNameByAddressMapper and GetEvmTransactions class

* Improve names

* Add logger info

* Improve log name and mapped methods

* Run prettier

* Implement strategy to process message

* Run prettier

* Run prettier

* Resolve method test

* Mapped timestamp value

* Change string to number in chainId property

* Improve names and mappers

* Run prettier

* Create interface for strategy

* Resolve method GetEvmTransactions test

* Resolve comment in PR

* Resolve comment in PR

* Rename redeem-failed

* Improve rage value

* Run prettier

* Reduce mapper in one evmTransferFoundMapper

* Mapped standar relay name

* Improve readme

* Change evmTransactionFoundMapper name

* Change evm mapper name in object return

* Mapped evm mapper test

* Map EvmTransactionFound in asyncapi docs

* Improve name in methods mapper

* Implement batch request for getTransactionReceipt method

* Add error manage in getTransactionReceipt method

* Rename protocol MethodCompleteTransferWithRelay

---------

Co-authored-by: julian merlo <julianmerlo@julians-MacBook-Pro.local>
2023-12-22 17:50:38 -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
Julian c15fa976a6
[Blockchain Watcher] Feature 798/enable evm karura chain (#831)
* 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

* [Blockchain watcher] feature-798/enable-evm-karura-chain

* [Blockchain watcher] feature-798/enable-evm-karura-chain

* Add karura job in mainnet

* Mapped karura addresses

* Improve address tesnet

* Delete from block

* Resolve comment in PR, mapped chainId into EvmLog entity

* Revert address change

* Mapped mainet address

* Create chains constants

* Imporve config mock

* Resolve comment

* Mapped chainId into repository

* Run prettier

* Change commitment status for karura

* Run prettier

---------

Co-authored-by: chase-45 <chasemoran45@gmail.com>
Co-authored-by: matias martinez <matias@xlabs.xyz>
Co-authored-by: Matías Martínez <131624652+mat1asm@users.noreply.github.com>
Co-authored-by: Julian Merlo <julianmerlo@MacBook-Pro-de-Julian.local>
2023-11-30 12:43:37 -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