From 4be79c0508e2488a4a83a9031441702b8c7947ac Mon Sep 17 00:00:00 2001 From: logan Date: Mon, 16 Sep 2024 15:41:45 -0500 Subject: [PATCH 1/6] feat: added public addresses with failover --- pkg/options/configs/testnet.toml | 3 ++- pkg/web3/sdk.go | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/pkg/options/configs/testnet.toml b/pkg/options/configs/testnet.toml index 0e658e2f..b0902921 100644 --- a/pkg/options/configs/testnet.toml +++ b/pkg/options/configs/testnet.toml @@ -4,7 +4,8 @@ mediator = ["0x7B49d6ee530B0A538D26E344f3B02E79ACa96De2"] api_host = "https://api-testnet.lilypad.tech/" [web3] -rpc_url = "wss://capable-tame-butterfly.arbitrum-sepolia.quiknode.pro/b866a1312df26e5763237e1aff0a300bd4501647" +rpc_url = "wss://arbitrum-sepolia.drpc.org,wss://arbitrum-sepolia-rpc.publicnode.com" + chain_id = 421614 controller_address = "0x4a83270045FB4BCd1bdFe1bD6B00762A9D8bbF4E" payments_address = "0xdE7CEa09A23e7Aa4980B95F69B8912F39A0e323A" diff --git a/pkg/web3/sdk.go b/pkg/web3/sdk.go index 2cc19bc4..de0cd16b 100644 --- a/pkg/web3/sdk.go +++ b/pkg/web3/sdk.go @@ -196,10 +196,18 @@ func NewContractSDK(options Web3Options) (*Web3SDK, error) { displayOpts.PrivateKey = "*********" log.Debug().Msgf("NewContractSDK: %+v", displayOpts) - client, err := ethclient.Dial(options.RpcURL) - if err != nil { - return nil, err + rpcs := strings.Split(options.RpcURL, ",") + var client *ethclient.Client + var err error + for _, url := range rpcs { + client, err = ethclient.Dial(url) + if err != nil { + log.Error().Msgf("Failed to connect to %s: %v", url, err) + continue + } else { + break } + privateKey, err := ParsePrivateKey(options.PrivateKey) if err != nil { return nil, err @@ -229,7 +237,8 @@ func NewContractSDK(options Web3Options) (*Web3SDK, error) { TransactOpts: transactOpts, Contracts: contracts, } - log.Debug().Msgf("Public Address: %s", web3SDK.GetAddress()) + // fmt.Printf("Public Address: %s\n", web3SDK.GetAddress()) + log.Info().Msgf("Public Address: %s", web3SDK.GetAddress()) return web3SDK, nil } From e814b3b64ea9eded3f5033f3b792e98ab4733205 Mon Sep 17 00:00:00 2001 From: logan Date: Mon, 16 Sep 2024 16:00:55 -0500 Subject: [PATCH 2/6] Update --- pkg/options/configs/testnet.toml | 3 +-- pkg/web3/sdk.go | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/options/configs/testnet.toml b/pkg/options/configs/testnet.toml index b0902921..39a2b139 100644 --- a/pkg/options/configs/testnet.toml +++ b/pkg/options/configs/testnet.toml @@ -4,8 +4,7 @@ mediator = ["0x7B49d6ee530B0A538D26E344f3B02E79ACa96De2"] api_host = "https://api-testnet.lilypad.tech/" [web3] -rpc_url = "wss://arbitrum-sepolia.drpc.org,wss://arbitrum-sepolia-rpc.publicnode.com" - +rpc_url = "wss://arbitrum-sepolia-rpc.publicnode.com,wss://arbitrum-sepolia.drpc.org" chain_id = 421614 controller_address = "0x4a83270045FB4BCd1bdFe1bD6B00762A9D8bbF4E" payments_address = "0xdE7CEa09A23e7Aa4980B95F69B8912F39A0e323A" diff --git a/pkg/web3/sdk.go b/pkg/web3/sdk.go index de0cd16b..c32e8bda 100644 --- a/pkg/web3/sdk.go +++ b/pkg/web3/sdk.go @@ -206,6 +206,7 @@ func NewContractSDK(options Web3Options) (*Web3SDK, error) { continue } else { break + } } privateKey, err := ParsePrivateKey(options.PrivateKey) From 27aef49cb7bcdb422e3a11d28fd52a2f7a13c66f Mon Sep 17 00:00:00 2001 From: logan Date: Mon, 16 Sep 2024 17:12:22 -0500 Subject: [PATCH 3/6] fix: revert to lilypad RPC endpoint --- pkg/options/configs/testnet.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/options/configs/testnet.toml b/pkg/options/configs/testnet.toml index 39a2b139..c2dd6819 100644 --- a/pkg/options/configs/testnet.toml +++ b/pkg/options/configs/testnet.toml @@ -4,7 +4,7 @@ mediator = ["0x7B49d6ee530B0A538D26E344f3B02E79ACa96De2"] api_host = "https://api-testnet.lilypad.tech/" [web3] -rpc_url = "wss://arbitrum-sepolia-rpc.publicnode.com,wss://arbitrum-sepolia.drpc.org" +rpc_url = "wss://arbitrum-sepolia-rpc.publicnode.com,wss://capable-tame-butterfly.arbitrum-sepolia.quiknode.pro/b866a1312df26e5763237e1aff0a300bd4501647" chain_id = 421614 controller_address = "0x4a83270045FB4BCd1bdFe1bD6B00762A9D8bbF4E" payments_address = "0xdE7CEa09A23e7Aa4980B95F69B8912F39A0e323A" From 8ecb0b1aac76e0ac3f29860aacf529f81e0720a5 Mon Sep 17 00:00:00 2001 From: logan Date: Mon, 16 Sep 2024 17:37:45 -0500 Subject: [PATCH 4/6] fix: removed quicknode rpc in favor of alchemy --- pkg/options/configs/testnet.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/options/configs/testnet.toml b/pkg/options/configs/testnet.toml index c2dd6819..3830e5dd 100644 --- a/pkg/options/configs/testnet.toml +++ b/pkg/options/configs/testnet.toml @@ -4,7 +4,7 @@ mediator = ["0x7B49d6ee530B0A538D26E344f3B02E79ACa96De2"] api_host = "https://api-testnet.lilypad.tech/" [web3] -rpc_url = "wss://arbitrum-sepolia-rpc.publicnode.com,wss://capable-tame-butterfly.arbitrum-sepolia.quiknode.pro/b866a1312df26e5763237e1aff0a300bd4501647" +rpc_url = "wss://arbitrum-sepolia-rpc.publicnode.com,wss://arb-sepolia.g.alchemy.com/v2/4PDb7czJf8E6z7ZjhXB0Z5fdU1XaQT0u" chain_id = 421614 controller_address = "0x4a83270045FB4BCd1bdFe1bD6B00762A9D8bbF4E" payments_address = "0xdE7CEa09A23e7Aa4980B95F69B8912F39A0e323A" From 9cd8cb58333a6e2b2d5c1e78143fb91ce93a8765 Mon Sep 17 00:00:00 2001 From: Logan Lentz Date: Mon, 16 Sep 2024 19:00:18 -0500 Subject: [PATCH 5/6] Chore: remove comment Thanks @narbs91 I removed the commented code --- pkg/web3/sdk.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/web3/sdk.go b/pkg/web3/sdk.go index c32e8bda..7eb67e9b 100644 --- a/pkg/web3/sdk.go +++ b/pkg/web3/sdk.go @@ -238,7 +238,6 @@ func NewContractSDK(options Web3Options) (*Web3SDK, error) { TransactOpts: transactOpts, Contracts: contracts, } - // fmt.Printf("Public Address: %s\n", web3SDK.GetAddress()) log.Info().Msgf("Public Address: %s", web3SDK.GetAddress()) return web3SDK, nil From 0d0985725a89b51c93497d1ca9617ccc312c2734 Mon Sep 17 00:00:00 2001 From: Arsen Yeremin Date: Mon, 16 Sep 2024 18:02:39 -0700 Subject: [PATCH 6/6] 5 public wss rpc update --- pkg/options/configs/testnet.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/options/configs/testnet.toml b/pkg/options/configs/testnet.toml index 3830e5dd..34d20253 100644 --- a/pkg/options/configs/testnet.toml +++ b/pkg/options/configs/testnet.toml @@ -4,7 +4,7 @@ mediator = ["0x7B49d6ee530B0A538D26E344f3B02E79ACa96De2"] api_host = "https://api-testnet.lilypad.tech/" [web3] -rpc_url = "wss://arbitrum-sepolia-rpc.publicnode.com,wss://arb-sepolia.g.alchemy.com/v2/4PDb7czJf8E6z7ZjhXB0Z5fdU1XaQT0u" +rpc_url = "wss://arbitrum-sepolia-rpc.publicnode.com,wss://rpc.ankr.com/arbitrum_sepolia,wss://arbitrum-sepolia.drpc.org/,wss://testnet-rpc.etherspot.io/v1/421614,wss://endpoints.omniatech.io/v1/arbitrum/sepolia/public,wss://arb-sepolia.g.alchemy.com/v2/4PDb7czJf8E6z7ZjhXB0Z5fdU1XaQT0u" chain_id = 421614 controller_address = "0x4a83270045FB4BCd1bdFe1bD6B00762A9D8bbF4E" payments_address = "0xdE7CEa09A23e7Aa4980B95F69B8912F39A0e323A"