diff --git a/deploy/tx-tracker-backfiller/tx-tracker-backfiller-job.yaml b/deploy/tx-tracker-backfiller/tx-tracker-backfiller-job.yaml index 1d0cf3b8..fef685fa 100644 --- a/deploy/tx-tracker-backfiller/tx-tracker-backfiller-job.yaml +++ b/deploy/tx-tracker-backfiller/tx-tracker-backfiller-job.yaml @@ -59,6 +59,14 @@ spec: value: {{ .FANTOM_BASE_URL }} - name: FANTOM_REQUESTS_PER_MINUTE value: "{{ .FANTOM_REQUESTS_PER_MINUTE }}" + - name: KLAYTN_BASE_URL + value: {{ .KLAYTN_BASE_URL }} + - name: KLAYTN_REQUESTS_PER_MINUTE + value: "{{ .KLAYTN_REQUESTS_PER_MINUTE }}" + - name: MOONBEAM_BASE_URL + value: {{ .MOONBEAM_BASE_URL }} + - name: MOONBEAM_REQUESTS_PER_MINUTE + value: "{{ .MOONBEAM_REQUESTS_PER_MINUTE }}" - name: OPTIMISM_BASE_URL value: {{ .OPTIMISM_BASE_URL }} - name: OPTIMISM_REQUESTS_PER_MINUTE diff --git a/deploy/tx-tracker/tx-tracker-service.yaml b/deploy/tx-tracker/tx-tracker-service.yaml index 4049d25b..1a45e6cb 100644 --- a/deploy/tx-tracker/tx-tracker-service.yaml +++ b/deploy/tx-tracker/tx-tracker-service.yaml @@ -85,6 +85,14 @@ spec: value: {{ .FANTOM_BASE_URL }} - name: FANTOM_REQUESTS_PER_MINUTE value: "{{ .FANTOM_REQUESTS_PER_MINUTE }}" + - name: KLAYTN_BASE_URL + value: {{ .KLAYTN_BASE_URL }} + - name: KLAYTN_REQUESTS_PER_MINUTE + value: "{{ .KLAYTN_REQUESTS_PER_MINUTE }}" + - name: MOONBEAM_BASE_URL + value: {{ .MOONBEAM_BASE_URL }} + - name: MOONBEAM_REQUESTS_PER_MINUTE + value: "{{ .MOONBEAM_REQUESTS_PER_MINUTE }}" - name: OPTIMISM_BASE_URL value: {{ .OPTIMISM_BASE_URL }} - name: OPTIMISM_REQUESTS_PER_MINUTE diff --git a/tx-tracker/chains/tx.go b/tx-tracker/chains/tx.go index 1d648f76..07cfe352 100644 --- a/tx-tracker/chains/tx.go +++ b/tx-tracker/chains/tx.go @@ -32,16 +32,18 @@ type TxDetail struct { } var tickers = struct { + aptos *time.Ticker arbitrum *time.Ticker avalanche *time.Ticker bsc *time.Ticker celo *time.Ticker ethereum *time.Ticker fantom *time.Ticker + klaytn *time.Ticker + moonbeam *time.Ticker optimism *time.Ticker polygon *time.Ticker solana *time.Ticker - aptos *time.Ticker sui *time.Ticker }{} @@ -67,6 +69,8 @@ func Initialize(cfg *config.RpcProviderSettings) { tickers.celo = time.NewTicker(f(cfg.CeloRequestsPerMinute / 2)) tickers.ethereum = time.NewTicker(f(cfg.EthereumRequestsPerMinute / 2)) tickers.fantom = time.NewTicker(f(cfg.FantomRequestsPerMinute / 2)) + tickers.klaytn = time.NewTicker(f(cfg.KlaytnRequestsPerMinute / 2)) + tickers.moonbeam = time.NewTicker(f(cfg.MoonbeamRequestsPerMinute / 2)) tickers.optimism = time.NewTicker(f(cfg.OptimismRequestsPerMinute / 2)) tickers.polygon = time.NewTicker(f(cfg.PolygonRequestsPerMinute / 2)) tickers.solana = time.NewTicker(f(cfg.SolanaRequestsPerMinute / 2)) @@ -112,6 +116,11 @@ func FetchTx( return fetchEthTx(ctx, txHash, cfg.FantomBaseUrl) } rateLimiter = *tickers.fantom + case vaa.ChainIDKlaytn: + fetchFunc = func(ctx context.Context, cfg *config.RpcProviderSettings, txHash string) (*TxDetail, error) { + return fetchEthTx(ctx, txHash, cfg.KlaytnBaseUrl) + } + rateLimiter = *tickers.fantom case vaa.ChainIDArbitrum: fetchFunc = func(ctx context.Context, cfg *config.RpcProviderSettings, txHash string) (*TxDetail, error) { return fetchEthTx(ctx, txHash, cfg.ArbitrumBaseUrl) @@ -127,6 +136,11 @@ func FetchTx( return fetchEthTx(ctx, txHash, cfg.AvalancheBaseUrl) } rateLimiter = *tickers.avalanche + case vaa.ChainIDMoonbeam: + fetchFunc = func(ctx context.Context, cfg *config.RpcProviderSettings, txHash string) (*TxDetail, error) { + return fetchEthTx(ctx, txHash, cfg.MoonbeamBaseUrl) + } + rateLimiter = *tickers.avalanche case vaa.ChainIDAptos: fetchFunc = fetchAptosTx rateLimiter = *tickers.aptos diff --git a/tx-tracker/config/structs.go b/tx-tracker/config/structs.go index ea65e6dd..3cdbda2a 100644 --- a/tx-tracker/config/structs.go +++ b/tx-tracker/config/structs.go @@ -73,6 +73,10 @@ type RpcProviderSettings struct { EthereumRequestsPerMinute uint16 `split_words:"true" required:"true"` FantomBaseUrl string `split_words:"true" required:"true"` FantomRequestsPerMinute uint16 `split_words:"true" required:"true"` + KlaytnBaseUrl string `split_words:"true" required:"true"` + KlaytnRequestsPerMinute uint16 `split_words:"true" required:"true"` + MoonbeamBaseUrl string `split_words:"true" required:"true"` + MoonbeamRequestsPerMinute uint16 `split_words:"true" required:"true"` OptimismBaseUrl string `split_words:"true" required:"true"` OptimismRequestsPerMinute uint16 `split_words:"true" required:"true"` PolygonBaseUrl string `split_words:"true" required:"true"`