// Code generated by protoc-gen-go-cosmos-orm. DO NOT EDIT. package oraclev1 import ( context "context" ormlist "cosmossdk.io/orm/model/ormlist" ormtable "cosmossdk.io/orm/model/ormtable" ormerrors "cosmossdk.io/orm/types/ormerrors" ) type BalanceTable interface { Insert(ctx context.Context, balance *Balance) error Update(ctx context.Context, balance *Balance) error Save(ctx context.Context, balance *Balance) error Delete(ctx context.Context, balance *Balance) error Has(ctx context.Context, account string) (found bool, err error) // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. Get(ctx context.Context, account string) (*Balance, error) List(ctx context.Context, prefixKey BalanceIndexKey, opts ...ormlist.Option) (BalanceIterator, error) ListRange(ctx context.Context, from, to BalanceIndexKey, opts ...ormlist.Option) (BalanceIterator, error) DeleteBy(ctx context.Context, prefixKey BalanceIndexKey) error DeleteRange(ctx context.Context, from, to BalanceIndexKey) error doNotImplement() } type BalanceIterator struct { ormtable.Iterator } func (i BalanceIterator) Value() (*Balance, error) { var balance Balance err := i.UnmarshalMessage(&balance) return &balance, err } type BalanceIndexKey interface { id() uint32 values() []interface{} balanceIndexKey() } // primary key starting index.. type BalancePrimaryKey = BalanceAccountIndexKey type BalanceAccountIndexKey struct { vs []interface{} } func (x BalanceAccountIndexKey) id() uint32 { return 0 } func (x BalanceAccountIndexKey) values() []interface{} { return x.vs } func (x BalanceAccountIndexKey) balanceIndexKey() {} func (this BalanceAccountIndexKey) WithAccount(account string) BalanceAccountIndexKey { this.vs = []interface{}{account} return this } type BalanceAmountIndexKey struct { vs []interface{} } func (x BalanceAmountIndexKey) id() uint32 { return 1 } func (x BalanceAmountIndexKey) values() []interface{} { return x.vs } func (x BalanceAmountIndexKey) balanceIndexKey() {} func (this BalanceAmountIndexKey) WithAmount(amount uint64) BalanceAmountIndexKey { this.vs = []interface{}{amount} return this } type balanceTable struct { table ormtable.Table } func (this balanceTable) Insert(ctx context.Context, balance *Balance) error { return this.table.Insert(ctx, balance) } func (this balanceTable) Update(ctx context.Context, balance *Balance) error { return this.table.Update(ctx, balance) } func (this balanceTable) Save(ctx context.Context, balance *Balance) error { return this.table.Save(ctx, balance) } func (this balanceTable) Delete(ctx context.Context, balance *Balance) error { return this.table.Delete(ctx, balance) } func (this balanceTable) Has(ctx context.Context, account string) (found bool, err error) { return this.table.PrimaryKey().Has(ctx, account) } func (this balanceTable) Get(ctx context.Context, account string) (*Balance, error) { var balance Balance found, err := this.table.PrimaryKey().Get(ctx, &balance, account) if err != nil { return nil, err } if !found { return nil, ormerrors.NotFound } return &balance, nil } func (this balanceTable) List(ctx context.Context, prefixKey BalanceIndexKey, opts ...ormlist.Option) (BalanceIterator, error) { it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...) return BalanceIterator{it}, err } func (this balanceTable) ListRange(ctx context.Context, from, to BalanceIndexKey, opts ...ormlist.Option) (BalanceIterator, error) { it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...) return BalanceIterator{it}, err } func (this balanceTable) DeleteBy(ctx context.Context, prefixKey BalanceIndexKey) error { return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...) } func (this balanceTable) DeleteRange(ctx context.Context, from, to BalanceIndexKey) error { return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values()) } func (this balanceTable) doNotImplement() {} var _ BalanceTable = balanceTable{} func NewBalanceTable(db ormtable.Schema) (BalanceTable, error) { table := db.GetTable(&Balance{}) if table == nil { return nil, ormerrors.TableNotFound.Wrap(string((&Balance{}).ProtoReflect().Descriptor().FullName())) } return balanceTable{table}, nil } type AccountTable interface { Insert(ctx context.Context, account *Account) error Update(ctx context.Context, account *Account) error Save(ctx context.Context, account *Account) error Delete(ctx context.Context, account *Account) error Has(ctx context.Context, id uint64) (found bool, err error) // Get returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. Get(ctx context.Context, id uint64) (*Account, error) HasByAddressChainNetwork(ctx context.Context, address string, chain string, network string) (found bool, err error) // GetByAddressChainNetwork returns nil and an error which responds true to ormerrors.IsNotFound() if the record was not found. GetByAddressChainNetwork(ctx context.Context, address string, chain string, network string) (*Account, error) List(ctx context.Context, prefixKey AccountIndexKey, opts ...ormlist.Option) (AccountIterator, error) ListRange(ctx context.Context, from, to AccountIndexKey, opts ...ormlist.Option) (AccountIterator, error) DeleteBy(ctx context.Context, prefixKey AccountIndexKey) error DeleteRange(ctx context.Context, from, to AccountIndexKey) error doNotImplement() } type AccountIterator struct { ormtable.Iterator } func (i AccountIterator) Value() (*Account, error) { var account Account err := i.UnmarshalMessage(&account) return &account, err } type AccountIndexKey interface { id() uint32 values() []interface{} accountIndexKey() } // primary key starting index.. type AccountPrimaryKey = AccountIdIndexKey type AccountIdIndexKey struct { vs []interface{} } func (x AccountIdIndexKey) id() uint32 { return 0 } func (x AccountIdIndexKey) values() []interface{} { return x.vs } func (x AccountIdIndexKey) accountIndexKey() {} func (this AccountIdIndexKey) WithId(id uint64) AccountIdIndexKey { this.vs = []interface{}{id} return this } type AccountAddressChainNetworkIndexKey struct { vs []interface{} } func (x AccountAddressChainNetworkIndexKey) id() uint32 { return 1 } func (x AccountAddressChainNetworkIndexKey) values() []interface{} { return x.vs } func (x AccountAddressChainNetworkIndexKey) accountIndexKey() {} func (this AccountAddressChainNetworkIndexKey) WithAddress(address string) AccountAddressChainNetworkIndexKey { this.vs = []interface{}{address} return this } func (this AccountAddressChainNetworkIndexKey) WithAddressChain(address string, chain string) AccountAddressChainNetworkIndexKey { this.vs = []interface{}{address, chain} return this } func (this AccountAddressChainNetworkIndexKey) WithAddressChainNetwork(address string, chain string, network string) AccountAddressChainNetworkIndexKey { this.vs = []interface{}{address, chain, network} return this } type accountTable struct { table ormtable.Table } func (this accountTable) Insert(ctx context.Context, account *Account) error { return this.table.Insert(ctx, account) } func (this accountTable) Update(ctx context.Context, account *Account) error { return this.table.Update(ctx, account) } func (this accountTable) Save(ctx context.Context, account *Account) error { return this.table.Save(ctx, account) } func (this accountTable) Delete(ctx context.Context, account *Account) error { return this.table.Delete(ctx, account) } func (this accountTable) Has(ctx context.Context, id uint64) (found bool, err error) { return this.table.PrimaryKey().Has(ctx, id) } func (this accountTable) Get(ctx context.Context, id uint64) (*Account, error) { var account Account found, err := this.table.PrimaryKey().Get(ctx, &account, id) if err != nil { return nil, err } if !found { return nil, ormerrors.NotFound } return &account, nil } func (this accountTable) HasByAddressChainNetwork(ctx context.Context, address string, chain string, network string) (found bool, err error) { return this.table.GetIndexByID(1).(ormtable.UniqueIndex).Has(ctx, address, chain, network, ) } func (this accountTable) GetByAddressChainNetwork(ctx context.Context, address string, chain string, network string) (*Account, error) { var account Account found, err := this.table.GetIndexByID(1).(ormtable.UniqueIndex).Get(ctx, &account, address, chain, network, ) if err != nil { return nil, err } if !found { return nil, ormerrors.NotFound } return &account, nil } func (this accountTable) List(ctx context.Context, prefixKey AccountIndexKey, opts ...ormlist.Option) (AccountIterator, error) { it, err := this.table.GetIndexByID(prefixKey.id()).List(ctx, prefixKey.values(), opts...) return AccountIterator{it}, err } func (this accountTable) ListRange(ctx context.Context, from, to AccountIndexKey, opts ...ormlist.Option) (AccountIterator, error) { it, err := this.table.GetIndexByID(from.id()).ListRange(ctx, from.values(), to.values(), opts...) return AccountIterator{it}, err } func (this accountTable) DeleteBy(ctx context.Context, prefixKey AccountIndexKey) error { return this.table.GetIndexByID(prefixKey.id()).DeleteBy(ctx, prefixKey.values()...) } func (this accountTable) DeleteRange(ctx context.Context, from, to AccountIndexKey) error { return this.table.GetIndexByID(from.id()).DeleteRange(ctx, from.values(), to.values()) } func (this accountTable) doNotImplement() {} var _ AccountTable = accountTable{} func NewAccountTable(db ormtable.Schema) (AccountTable, error) { table := db.GetTable(&Account{}) if table == nil { return nil, ormerrors.TableNotFound.Wrap(string((&Account{}).ProtoReflect().Descriptor().FullName())) } return accountTable{table}, nil } type StateStore interface { BalanceTable() BalanceTable AccountTable() AccountTable doNotImplement() } type stateStore struct { balance BalanceTable account AccountTable } func (x stateStore) BalanceTable() BalanceTable { return x.balance } func (x stateStore) AccountTable() AccountTable { return x.account } func (stateStore) doNotImplement() {} var _ StateStore = stateStore{} func NewStateStore(db ormtable.Schema) (StateStore, error) { balanceTable, err := NewBalanceTable(db) if err != nil { return nil, err } accountTable, err := NewAccountTable(db) if err != nil { return nil, err } return stateStore{ balanceTable, accountTable, }, nil }