mirror of
https://github.com/luxfi/oraclevm.git
synced 2026-10-30 15:23:15 +00:00
55 lines
1.4 KiB
Go
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)
|
|
}
|