Documentation ¶
Overview ¶
Package report implements the Streams report schema, type and has sub packages that implements the report data schema and types.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Report ¶
type Report[T Data] struct { Data T ReportContext [3][32]byte ReportBlob []byte RawRs [][32]byte RawSs [][32]byte RawVs [32]byte }
Report is the full report content
func Decode ¶
Decode decodes the report serialized bytes and its data
Example ¶
package main import ( "encoding/hex" "os" streams "github.com/smartcontractkit/data-streams-sdk/go" "github.com/smartcontractkit/data-streams-sdk/go/report" v3 "github.com/smartcontractkit/data-streams-sdk/go/report/v3" ) func main() { payload, _ := hex.DecodeString( `0006bd87830d5f336e205cf5c63329a1dab8f5d56812eaeb7c69300e66ab8e22000000000000000000000000000000000000000000000000000000000cf7ed13000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003000101000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000030ab7d02fbba9c6304f98824524407b1f494741174320cfd17a2c22eec1de0000000000000000000000000000000000000000000000000000000066a8f5c60000000000000000000000000000000000000000000000000000000066a8f5c6000000000000000000000000000000000000000000000000000057810653dd9000000000000000000000000000000000000000000000000000541315da76d6100000000000000000000000000000000000000000000000000000000066aa474600000000000000000000000000000000000000000000000009a697ee4230350400000000000000000000000000000000000000000000000009a6506d1426d00000000000000000000000000000000000000000000000000009a77d03ae355fe0000000000000000000000000000000000000000000000000000000000000000672bac991f5233df89f581dc02a89dd8d48419e3558b247d3e65f4069fa45c36658a5a4820dc94fc47a88a21d83474c29ee38382c46b6f9a575b9ce8be4e689c03c76fac19fbec4a29dba704c72cc003a6be1f96af115e322321f0688e24720a5d9bd7136a1d96842ec89133058b888b2e6572b5d4114de2426195e038f1c9a5ce50016b6f5a5de07e08529b845e1c622dcbefa0cfa2ffd128e9932ecee8efd869bc56d09a50ceb360a8d366cfa8eefe3f64279c88bdbc887560efa9944238eb000000000000000000000000000000000000000000000000000000000000000060e2a800f169f26164533c7faff6c9073cd6db240d89444d3487113232f9c31422a0993bb47d56807d0dc26728e4c8424bb9db77511001904353f1022168723010c46627c890be6e701e766679600696866c888ec80e7dbd428f5162a24f2d8262f846bdb06d9e46d295dd8e896fb232be80534b0041660fe4450a7ede9bc3b230722381773a4ae81241568867a759f53c2bdd05d32b209e78845fc58203949e50a608942b270c456001e578227ad00861cf5f47b27b09137a0c4b7f8b4746cef`) report, err := report.Decode[v3.Data](payload) if err != nil { streams.LogPrintf("error decoding report: %s", err) os.Exit(1) } streams.LogPrintf( "FeedID: %s, FeedVersion: %d, Bid: %s, Ask: %s, BenchMark: %s, LinkFee: %s, NativeFee: %s, ValidFromTS: %d, ExpiresAt: %d", report.Data.FeedID.String(), report.Data.FeedID.Version(), report.Data.Bid.String(), report.Data.Ask.String(), report.Data.BenchmarkPrice.String(), report.Data.LinkFee.String(), report.Data.NativeFee.String(), report.Data.ValidFromTimestamp, report.Data.ExpiresAt, ) }
Output:
Click to show internal directories.
Click to hide internal directories.