Messages
MsgRelayBandRates
인가된 Band relayer는MsgRelayBandRates message를 사용하여 여러 symbol에 대한 price feed 데이터를 relay할 수 있습니다.
등록된 handler는 MsgRelayBandRates에 있는 모든 symbol을 반복하여 각 symbol에 대한 BandPriceState를 생성/업데이트합니다.
MsgRelayCoinbaseMessages
Coinbase provider의 relayer는MsgRelayCoinbaseMessages message를 사용하여 price 데이터를 전송할 수 있습니다.
각 Coinbase Messages는 Coinbase oracle 주소 0xfCEAdAFab14d46e20144F48824d0C09B1a03F2BC가 제공하는 Signatures로 인증되므로, 누구나 MsgRelayCoinbaseMessages를 제출할 수 있습니다.
MsgRelayPriceFeedPrice
PriceFeed provider의 relayer는MsgRelayPriceFeedPrice message를 사용하여 price feed를 전송할 수 있습니다.
Sender)가 주어진 Base Quote pair에 대해 인가된 pricefeed relayer가 아니거나 가격이 10000000보다 큰 경우 이 message는 실패할 것으로 예상됩니다.
MsgRequestBandIBCRates
MsgRequestBandIBCRates는 Band chain에 즉시 request를 브로드캐스트하기 위한 message입니다.
BandIbcEnabled flag가 true인지 확인하고 request를 전송합니다.
MsgRelayPythPrices
MsgRelayPythPrices는 Pyth contract가 oracle module에 가격을 relay하기 위한 message입니다.
sender)가 oracle module Params에 정의된 Pyth contract 주소와 같지 않은 경우 이 message는 실패할 것으로 예상됩니다.
MsgRelayStorkPrices
MsgRelayStorkPrices는 Stork contract가 oracle module에 가격을 relay하기 위한 message입니다.
- Relayer(
sender)가 인가된 oracle publisher가 아니거나 제공된 asset pair 중assetId가 고유하지 않은 경우 SignedPriceOfAssetPair에 대한 ECDSA 서명 검증이 실패한 경우- timestamp 간의 차이가
MaxStorkTimestampIntervalNano(500밀리초)를 초과하는 경우
MsgRelayProviderPrices
특정 Provider의 relayer는MsgRelayProviderPrices message를 사용하여 price feed를 전송할 수 있습니다.
Sender)가 주어진 Base Quote pair에 대해 인가된 pricefeed relayer가 아니거나 가격이 10000000보다 큰 경우 이 message는 실패할 것으로 예상됩니다.