package chain // import ( // "context" // "testing" // "time" // "github.com/stretchr/testify/require" // ) // const ( // testRPCEndpoint = "https://celo.archive.grassecon.net" // testChainID = 42220 // ) // func setupCeloRPC() (Chain, error) { // opts := CeloRPCOpts{ // RPCEndpoint: testRPCEndpoint, // ChainID: testChainID, // } // return NewRPCFetcher(opts) // } // func TestRPC_GetBlocks(t *testing.T) { // rpcFetcher, err := setupCeloRPC() // require.NoError(t, err) // blockNumbers := []uint64{ // 19_600_000, // 23_000_000, // 27_000_000, // } // ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) // defer cancel() // blocks, err := rpcFetcher.GetBlocks(ctx, blockNumbers) // require.NoError(t, err) // t.Logf("blocks %+v\n", blocks) // } // func TestRPC_GetBlock(t *testing.T) { // rpcFetcher, err := setupCeloRPC() // require.NoError(t, err) // var blockNumber uint64 = 19_900_000 // ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) // defer cancel() // block, err := rpcFetcher.GetBlock(ctx, blockNumber) // require.NoError(t, err) // t.Logf("block %+v\n", block) // } // func TestRPC_GetLatestBlock(t *testing.T) { // rpcFetcher, err := setupCeloRPC() // require.NoError(t, err) // ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) // defer cancel() // block, err := rpcFetcher.GetLatestBlock(ctx) // require.NoError(t, err) // t.Logf("block %+v\n", block) // } // func TestRPC_GetTransaction(t *testing.T) { // rpcFetcher, err := setupCeloRPC() // require.NoError(t, err) // var blockNumber uint64 = 19_900_000 // ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) // defer cancel() // block, err := rpcFetcher.GetBlock(ctx, blockNumber) // require.NoError(t, err) // require.NotNil(t, block) // transaction, err := rpcFetcher.GetTransaction(ctx, block.Transactions()[0].Hash()) // require.NoError(t, err) // t.Logf("transaction %+v\n", transaction) // } // func TestRPC_GetReceipts(t *testing.T) { // rpcFetcher, err := setupCeloRPC() // require.NoError(t, err) // var blockNumber uint64 = 19_900_000 // ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) // defer cancel() // block, err := rpcFetcher.GetBlock(ctx, blockNumber) // require.NoError(t, err) // require.NotNil(t, block) // receipts, err := rpcFetcher.GetReceipts(ctx, block.Number()) // require.NoError(t, err) // t.Logf("receipts %+v\n", receipts) // }