@@ -99,20 +99,50 @@ func createPriceFeedOnInit(qpf ds.QueryPriceFeedI, client core.ClientI, discover
9999 if qpf .GetAddress () == "0x7C879DBde7569F00c378Ca124046B9E1b31327F5" {
100100 log .Fatal ("discoveredAt" , discoveredAt )
101101 }
102- if qpf .GetAddress () == "0x7465Ed73d5B881389E2d714EDAbAcEa3a3FeC360" && core .GetBaseChainId (client ) == 42793 { // pyth oracle
103- return nil
104- }
105102 mainPFContract , err := priceFeed .NewPriceFeed (common .HexToAddress (qpf .GetAddress ()), client )
106103 log .CheckFatal (err )
107- data , err := mainPFContract .LatestRoundData (& bind.CallOpts {BlockNumber : big .NewInt (discoveredAt )})
104+ type _xx struct {
105+ RoundId * big.Int
106+ Answer * big.Int
107+ StartedAt * big.Int
108+ UpdatedAt * big.Int
109+ AnsweredInRound * big.Int
110+ }
111+ // xx := _xx{}
112+ // calls, isQueryable := qpf.GetCalls(discoveredAt)
113+ // if qpf.GetAddress() == "0x354D10C2FecC251a85593500FA1942b19C03b4CC" {
114+ // calls = calls[1:]
115+ // }
116+ // if isQueryable {
117+ // log.Info(len(calls))
118+ // for _, x := range calls {
119+ // log.Info(x.Target)
120+ // }
121+ // results := core.MakeMultiCall(client, discoveredAt, false, calls)
122+ // log.Info(utils.ToJson(results))
123+ // data := qpf.ProcessResult(discoveredAt, results, "", true)
124+ // if data == nil {
125+ // log.Fatal("Price feed init failed using queryadapter redstone resolve too for ", qpf.GetAddress(), " at block: ", discoveredAt)
126+ // }
127+ // xx.RoundId = big.NewInt(data.RoundId)
128+ // xx.Answer = (*big.Int)(data.PriceBI)
129+ // } else {
130+ // xx.RoundId = data.RoundId
131+ // xx.Answer = data.Answer
132+ // }
133+ xx , err := mainPFContract .LatestRoundData (& bind.CallOpts {BlockNumber : big .NewInt (discoveredAt )})
134+ if err != nil && core .GetBaseChainId (client ) == 42793 {
135+ log .Warn ("Create init price feed init failed for etherlink " , qpf .GetAddress (), " at block: " , discoveredAt , err )
136+ return nil
137+ }
108138 log .CheckFatal (err )
109139 //
110140 return []* schemas.PriceFeed {{
111141 BlockNumber : discoveredAt ,
112142 Feed : qpf .GetAddress (),
113- RoundId : data .RoundId .Int64 (),
114- PriceBI : (* core .BigInt )(data .Answer ),
115- Price : utils .GetFloat64Decimal (data .Answer , version .Decimals ()),
143+ RoundId : xx .RoundId .Int64 (),
144+ PriceBI : (* core .BigInt )(xx .Answer ),
145+ Price : utils .GetFloat64Decimal (xx .Answer , version .Decimals ()),
116146 }}
117147}
118148
0 commit comments