-
Notifications
You must be signed in to change notification settings - Fork 38
/
band_ibc.go
33 lines (27 loc) · 951 Bytes
/
band_ibc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package types
import (
bandprice "github.com/InjectiveLabs/sdk-go/bandchain/hooks/price"
bandobi "github.com/bandprotocol/bandchain-packet/obi"
bandPacket "github.com/bandprotocol/bandchain-packet/packet"
)
func NewOracleRequestPacketData(clientID string, calldata []byte, r *BandOracleRequest) bandPacket.OracleRequestPacketData {
return bandPacket.OracleRequestPacketData{
ClientID: clientID,
OracleScriptID: uint64(r.OracleScriptId),
Calldata: calldata,
AskCount: r.AskCount,
MinCount: r.MinCount,
FeeLimit: r.FeeLimit,
PrepareGas: r.PrepareGas,
ExecuteGas: r.ExecuteGas,
}
}
// GetCalldata gets the Band IBC request call data based on the symbols and multiplier.
func (r *BandOracleRequest) GetCalldata() []byte {
requestCallData := bandprice.Input{
Symbols: r.Symbols,
Multiplier: BandPriceMultiplier,
}
callData := bandobi.MustEncode(requestCallData)
return callData
}