Files

55 lines
1.4 KiB
Go

// Copyright (C) 2023, Ava Labs, Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package controller
import (
"context"
"github.com/ava-labs/avalanchego/ids"
"github.com/ava-labs/avalanchego/trace"
"github.com/ava-labs/avalanchego/utils/logging"
"github.com/ava-labs/hypersdk/crypto"
"github.com/bianyuanop/oraclevm/genesis"
"github.com/bianyuanop/oraclevm/oracle"
"github.com/bianyuanop/oraclevm/storage"
)
func (c *Controller) Genesis() *genesis.Genesis {
return c.genesis
}
func (c *Controller) Logger() logging.Logger {
return c.inner.Logger()
}
func (c *Controller) Tracer() trace.Tracer {
return c.inner.Tracer()
}
func (c *Controller) GetTransaction(
ctx context.Context,
txID ids.ID,
) (bool, int64, bool, uint64, error) {
return storage.GetTransaction(ctx, c.metaDB, txID)
}
func (c *Controller) GetBalanceFromState(
ctx context.Context,
pk crypto.PublicKey,
) (uint64, error) {
return storage.GetBalanceFromState(ctx, c.inner.ReadState, pk)
}
func (c *Controller) GetHistoryFromState(entityIndex uint64, limit uint64) ([]oracle.Entity, error) {
return c.oracle.GetHistory(entityIndex, limit)
}
func (c *Controller) GetAvailableEntities() ([]*oracle.EntityCollectionMeta, error) {
return c.oracle.GetAvailableEntities(), nil
}
func (c *Controller) GetEntitiesCollectionCount(entityIndex uint64) (uint64, error) {
return c.oracle.GetEntityCollectionCount(entityIndex)
}