Documentation
¶
Index ¶
- Constants
- Variables
- type BlockchainData
- type BlockchainProvider
- func (dp *BlockchainProvider) GetBlockchainAccountDataAfterBlock(ctx context.Context, account string, slot uint64) ([]byte, uint64, error)
- func (dp *BlockchainProvider) GetBlockchainAccountInfo(ctx context.Context, account string, commitment solana.Commitment) (*solana.AccountInfo, error)
- func (dp *BlockchainProvider) GetBlockchainBalance(ctx context.Context, account string) (uint64, uint64, error)
- func (dp *BlockchainProvider) GetBlockchainBlock(ctx context.Context, slot uint64) (*solana.Block, error)
- func (dp *BlockchainProvider) GetBlockchainBlockSignatures(ctx context.Context, slot uint64) ([]string, error)
- func (dp *BlockchainProvider) GetBlockchainBlocksWithLimit(ctx context.Context, start uint64, limit uint64) ([]uint64, error)
- func (dp *BlockchainProvider) GetBlockchainFilteredProgramAccounts(ctx context.Context, program string, offset uint, filterValue []byte) ([]string, uint64, error)
- func (dp *BlockchainProvider) GetBlockchainHistory(ctx context.Context, account string, commitment solana.Commitment, ...) ([]*solana.TransactionSignature, error)
- func (dp *BlockchainProvider) GetBlockchainLatestBlockhash(ctx context.Context) (solana.Blockhash, error)
- func (dp *BlockchainProvider) GetBlockchainMinimumBalanceForRentExemption(ctx context.Context, size uint64) (uint64, error)
- func (dp *BlockchainProvider) GetBlockchainSignatureStatuses(ctx context.Context, signatures []solana.Signature) ([]*solana.SignatureStatus, error)
- func (dp *BlockchainProvider) GetBlockchainSlot(ctx context.Context, commitment solana.Commitment) (uint64, error)
- func (dp *BlockchainProvider) GetBlockchainTokenAccountInfo(ctx context.Context, account, mint string, commitment solana.Commitment) (*token.Account, error)
- func (dp *BlockchainProvider) GetBlockchainTokenAccountsByOwner(ctx context.Context, account string) ([]ed25519.PublicKey, error)
- func (dp *BlockchainProvider) GetBlockchainTransaction(ctx context.Context, sig string, commitment solana.Commitment) (*solana.ConfirmedTransaction, error)
- func (dp *BlockchainProvider) GetBlockchainTransactionTokenBalances(ctx context.Context, sig string) (*solana.TransactionTokenBalances, error)
- func (dp *BlockchainProvider) SubmitBlockchainTransaction(ctx context.Context, tx *solana.Transaction) (solana.Signature, error)
- type ConfigProvider
- type DataProvider
- type DatabaseData
- type DatabaseProvider
- func (dp *DatabaseProvider) AdvanceCachedBalanceVersion(ctx context.Context, account string, currentVersion uint64) error
- func (dp *DatabaseProvider) BatchClaimAvailableNoncesByPurpose(ctx context.Context, env nonce.Environment, instance string, ...) ([]*nonce.Record, error)
- func (dp *DatabaseProvider) CheckNotClosedForBalanceUpdate(ctx context.Context, account string) error
- func (dp *DatabaseProvider) CountFeeActions(ctx context.Context, intent string, ...) (uint64, error)
- func (dp *DatabaseProvider) CreateAccountInfo(ctx context.Context, record *account.Record) error
- func (dp *DatabaseProvider) CreateMessage(ctx context.Context, record *messaging.Record) error
- func (dp *DatabaseProvider) DeleteMessage(ctx context.Context, account string, messageID uuid.UUID) error
- func (dp *DatabaseProvider) DeleteRendezvous(ctx context.Context, key, address string) error
- func (dp *DatabaseProvider) ExecuteInTx(ctx context.Context, isolation sql.IsolationLevel, ...) error
- func (dp *DatabaseProvider) ExtendRendezvousExpiry(ctx context.Context, key, address string, expiry time.Time) error
- func (dp *DatabaseProvider) FindAnyVmStorageWithAvailableCapacity(ctx context.Context, vm string, purpose cvm_storage.Purpose, ...) (*cvm_storage.Record, error)
- func (dp *DatabaseProvider) FreeVmMemoryByAddress(ctx context.Context, address string) error
- func (dp *DatabaseProvider) FreeVmMemoryByIndex(ctx context.Context, memoryAccount string, index uint16) error
- func (dp *DatabaseProvider) GetAccountInfoByAuthorityAddress(ctx context.Context, address string) (map[string]*account.Record, error)
- func (dp *DatabaseProvider) GetAccountInfoByTokenAddress(ctx context.Context, address string) (*account.Record, error)
- func (dp *DatabaseProvider) GetAccountInfoByTokenAddressBatch(ctx context.Context, addresses ...string) (map[string]*account.Record, error)
- func (dp *DatabaseProvider) GetAccountInfoCountRequiringAutoReturnCheck(ctx context.Context) (uint64, error)
- func (dp *DatabaseProvider) GetAccountInfoCountRequiringDepositSync(ctx context.Context) (uint64, error)
- func (dp *DatabaseProvider) GetActionById(ctx context.Context, intent string, actionId uint32) (*action.Record, error)
- func (dp *DatabaseProvider) GetAllActionsByAddress(ctx context.Context, address string) ([]*action.Record, error)
- func (dp *DatabaseProvider) GetAllActionsByIntent(ctx context.Context, intent string) ([]*action.Record, error)
- func (dp *DatabaseProvider) GetAllExchangeRates(ctx context.Context, t time.Time) (*currency.MultiRateRecord, error)
- func (dp *DatabaseProvider) GetAllFulfillmentsByAction(ctx context.Context, intentId string, actionId uint32) ([]*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetAllFulfillmentsByIntent(ctx context.Context, intent string, opts ...query.Option) ([]*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetAllFulfillmentsByState(ctx context.Context, state fulfillment.State, ...) ([]*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetAllFulfillmentsByTypeAndAction(ctx context.Context, fulfillmentType fulfillment.Type, intentId string, ...) ([]*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetAllIntentsByOwner(ctx context.Context, owner string, opts ...query.Option) ([]*intent.Record, error)
- func (dp *DatabaseProvider) GetAllKeysByState(ctx context.Context, state vault.State, opts ...query.Option) ([]*vault.Record, error)
- func (dp *DatabaseProvider) GetAllNonceByState(ctx context.Context, env nonce.Environment, instance string, state nonce.State, ...) ([]*nonce.Record, error)
- func (dp *DatabaseProvider) GetAllTimelocksByState(ctx context.Context, state timelock_token.TimelockState, opts ...query.Option) ([]*timelock.Record, error)
- func (dp *DatabaseProvider) GetCachedBalanceVersion(ctx context.Context, account string) (uint64, error)
- func (dp *DatabaseProvider) GetCurrencyMetadata(ctx context.Context, mint string) (*currency.MetadataRecord, error)
- func (dp *DatabaseProvider) GetCurrencyReserveAtTime(ctx context.Context, mint string, t time.Time) (*currency.ReserveRecord, error)
- func (dp *DatabaseProvider) GetExchangeRate(ctx context.Context, code currency_lib.Code, t time.Time) (*currency.ExchangeRateRecord, error)
- func (dp *DatabaseProvider) GetExchangeRateHistory(ctx context.Context, code currency_lib.Code, opts ...query.Option) ([]*currency.ExchangeRateRecord, error)
- func (dp *DatabaseProvider) GetExternalBalanceCheckpoint(ctx context.Context, account string) (*balance.ExternalCheckpointRecord, error)
- func (dp *DatabaseProvider) GetExternalDeposit(ctx context.Context, signature, account string) (*deposit.Record, error)
- func (dp *DatabaseProvider) GetFirstSchedulableFulfillmentByAddressAsDestination(ctx context.Context, address string) (*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetFirstSchedulableFulfillmentByAddressAsSource(ctx context.Context, address string) (*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetFirstSchedulableFulfillmentByType(ctx context.Context, fulfillmentType fulfillment.Type) (*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetFulfillmentById(ctx context.Context, id uint64) (*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetFulfillmentBySignature(ctx context.Context, signature string) (*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetFulfillmentByVirtualSignature(ctx context.Context, signature string) (*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetFulfillmentCount(ctx context.Context) (uint64, error)
- func (dp *DatabaseProvider) GetFulfillmentCountByIntent(ctx context.Context, intent string) (uint64, error)
- func (dp *DatabaseProvider) GetFulfillmentCountByIntentAndState(ctx context.Context, intent string, state fulfillment.State) (uint64, error)
- func (dp *DatabaseProvider) GetFulfillmentCountByState(ctx context.Context, state fulfillment.State) (uint64, error)
- func (dp *DatabaseProvider) GetFulfillmentCountByStateAndAddress(ctx context.Context, state fulfillment.State, address string) (uint64, error)
- func (dp *DatabaseProvider) GetFulfillmentCountByStateGroupedByType(ctx context.Context, state fulfillment.State) (map[fulfillment.Type]uint64, error)
- func (dp *DatabaseProvider) GetFulfillmentCountByTypeActionAndState(ctx context.Context, intentId string, actionId uint32, ...) (uint64, error)
- func (dp *DatabaseProvider) GetFulfillmentCountByTypeStateAndAddress(ctx context.Context, fulfillmentType fulfillment.Type, state fulfillment.State, ...) (uint64, error)
- func (dp *DatabaseProvider) GetFulfillmentCountByTypeStateAndAddressAsSource(ctx context.Context, fulfillmentType fulfillment.Type, state fulfillment.State, ...) (uint64, error)
- func (dp *DatabaseProvider) GetFulfillmentCountForMetrics(ctx context.Context, state fulfillment.State) (map[fulfillment.Type]uint64, error)
- func (dp *DatabaseProvider) GetGiftCardAutoReturnAction(ctx context.Context, giftCardVault string) (*action.Record, error)
- func (dp *DatabaseProvider) GetGiftCardClaimedAction(ctx context.Context, giftCardVault string) (*action.Record, error)
- func (dp *DatabaseProvider) GetGiftCardClaimedIntent(ctx context.Context, giftCardVault string) (*intent.Record, error)
- func (dp *DatabaseProvider) GetIntent(ctx context.Context, intentID string) (*intent.Record, error)
- func (dp *DatabaseProvider) GetIntentBySignature(ctx context.Context, signature string) (*intent.Record, error)
- func (dp *DatabaseProvider) GetKey(ctx context.Context, public_key string) (*vault.Record, error)
- func (dp *DatabaseProvider) GetKeyCount(ctx context.Context) (uint64, error)
- func (dp *DatabaseProvider) GetKeyCountByState(ctx context.Context, state vault.State) (uint64, error)
- func (dp *DatabaseProvider) GetLatestAccountInfoByOwnerAddressAndType(ctx context.Context, address string, accountType commonpb.AccountType) (map[string]*account.Record, error)
- func (dp *DatabaseProvider) GetLatestAccountInfosByOwnerAddress(ctx context.Context, address string) (map[string]map[commonpb.AccountType][]*account.Record, error)
- func (dp *DatabaseProvider) GetMessages(ctx context.Context, account string) ([]*messaging.Record, error)
- func (dp *DatabaseProvider) GetNetBalanceFromActions(ctx context.Context, address string) (int64, error)
- func (dp *DatabaseProvider) GetNetBalanceFromActionsBatch(ctx context.Context, accounts ...string) (map[string]int64, error)
- func (dp *DatabaseProvider) GetNextSchedulableFulfillmentByAddress(ctx context.Context, address string, intentOrderingIndex uint64, ...) (*fulfillment.Record, error)
- func (dp *DatabaseProvider) GetNonce(ctx context.Context, address string) (*nonce.Record, error)
- func (dp *DatabaseProvider) GetNonceCount(ctx context.Context, env nonce.Environment, instance string) (uint64, error)
- func (dp *DatabaseProvider) GetNonceCountByState(ctx context.Context, env nonce.Environment, instance string, state nonce.State) (uint64, error)
- func (dp *DatabaseProvider) GetNonceCountByStateAndPurpose(ctx context.Context, env nonce.Environment, instance string, state nonce.State, ...) (uint64, error)
- func (dp *DatabaseProvider) GetOriginalGiftCardIssuedIntent(ctx context.Context, giftCardVault string) (*intent.Record, error)
- func (dp *DatabaseProvider) GetPendingFulfillmentCountByType(ctx context.Context) (map[fulfillment.Type]uint64, error)
- func (dp *DatabaseProvider) GetPrioritizedAccountInfosRequiringAutoReturnCheck(ctx context.Context, maxAge time.Duration, limit uint64) ([]*account.Record, error)
- func (dp *DatabaseProvider) GetPrioritizedAccountInfosRequiringDepositSync(ctx context.Context, limit uint64) ([]*account.Record, error)
- func (dp *DatabaseProvider) GetRendezvous(ctx context.Context, key string) (*rendezvous.Record, error)
- func (dp *DatabaseProvider) GetTimelockByAddress(ctx context.Context, address string) (*timelock.Record, error)
- func (dp *DatabaseProvider) GetTimelockByDepositPda(ctx context.Context, depositPda string) (*timelock.Record, error)
- func (dp *DatabaseProvider) GetTimelockBySwapPda(ctx context.Context, swapPda string) (*timelock.Record, error)
- func (dp *DatabaseProvider) GetTimelockByVault(ctx context.Context, vault string) (*timelock.Record, error)
- func (dp *DatabaseProvider) GetTimelockByVaultBatch(ctx context.Context, vaults ...string) (map[string]*timelock.Record, error)
- func (dp *DatabaseProvider) GetTimelockCountByState(ctx context.Context, state timelock_token.TimelockState) (uint64, error)
- func (dp *DatabaseProvider) GetTotalExternalDepositedAmountInQuarks(ctx context.Context, account string) (uint64, error)
- func (dp *DatabaseProvider) GetTotalExternalDepositedAmountInQuarksBatch(ctx context.Context, accounts ...string) (map[string]uint64, error)
- func (dp *DatabaseProvider) GetTotalExternalDepositedAmountInUsd(ctx context.Context, account string) (float64, error)
- func (dp *DatabaseProvider) GetTransactedAmountForAntiMoneyLaundering(ctx context.Context, owner string, since time.Time) (uint64, float64, error)
- func (dp *DatabaseProvider) GetTransaction(ctx context.Context, sig string) (*transaction.Record, error)
- func (dp *DatabaseProvider) HasFeeAction(ctx context.Context, intent string, ...) (bool, error)
- func (dp *DatabaseProvider) ImportExchangeRates(ctx context.Context, data *currency.MultiRateRecord) error
- func (dp *DatabaseProvider) InitializeNewMerkleTree(ctx context.Context, name string, levels uint8, seeds []merkletree.Seed, ...) (*merkletree.MerkleTree, error)
- func (dp *DatabaseProvider) InitializeVmMemory(ctx context.Context, record *cvm_ram.Record) error
- func (dp *DatabaseProvider) InitializeVmStorage(ctx context.Context, record *cvm_storage.Record) error
- func (dp *DatabaseProvider) LoadExistingMerkleTree(ctx context.Context, name string, readOnly bool) (*merkletree.MerkleTree, error)
- func (dp *DatabaseProvider) MarkAsClosedForBalanceUpdate(ctx context.Context, account string) error
- func (dp *DatabaseProvider) PutAllActions(ctx context.Context, records ...*action.Record) error
- func (dp *DatabaseProvider) PutAllFulfillments(ctx context.Context, records ...*fulfillment.Record) error
- func (dp *DatabaseProvider) PutCurrencyMetadata(ctx context.Context, record *currency.MetadataRecord) error
- func (dp *DatabaseProvider) PutCurrencyReserve(ctx context.Context, record *currency.ReserveRecord) error
- func (dp *DatabaseProvider) PutRendezvous(ctx context.Context, record *rendezvous.Record) error
- func (dp *DatabaseProvider) ReserveVmMemory(ctx context.Context, vm string, accountType cvm.VirtualAccountType, ...) (string, uint16, error)
- func (dp *DatabaseProvider) ReserveVmStorage(ctx context.Context, vm string, purpose cvm_storage.Purpose, address string) (string, error)
- func (dp *DatabaseProvider) SaveExternalBalanceCheckpoint(ctx context.Context, record *balance.ExternalCheckpointRecord) error
- func (dp *DatabaseProvider) SaveExternalDeposit(ctx context.Context, record *deposit.Record) error
- func (dp *DatabaseProvider) SaveIntent(ctx context.Context, record *intent.Record) error
- func (dp *DatabaseProvider) SaveKey(ctx context.Context, record *vault.Record) error
- func (dp *DatabaseProvider) SaveNonce(ctx context.Context, record *nonce.Record) error
- func (dp *DatabaseProvider) SaveTimelock(ctx context.Context, record *timelock.Record) error
- func (dp *DatabaseProvider) SaveTransaction(ctx context.Context, record *transaction.Record) error
- func (dp *DatabaseProvider) UpdateAccountInfo(ctx context.Context, record *account.Record) error
- func (dp *DatabaseProvider) UpdateAction(ctx context.Context, record *action.Record) error
- func (dp *DatabaseProvider) UpdateFulfillment(ctx context.Context, record *fulfillment.Record) error
- type EstimatedData
- type EstimatedProvider
- type Provider
- type WebData
- type WebProvider
Constants ¶
const (
FixerApiKeyConfigEnvName = "FIXER_API_KEY"
)
Variables ¶
var (
ErrInvalidAccount = errors.New("invalid account")
)
Functions ¶
This section is empty.
Types ¶
type BlockchainData ¶
type BlockchainData interface {
SubmitBlockchainTransaction(ctx context.Context, tx *solana.Transaction) (solana.Signature, error)
GetBlockchainAccountInfo(ctx context.Context, account string, commitment solana.Commitment) (*solana.AccountInfo, error)
GetBlockchainAccountDataAfterBlock(ctx context.Context, account string, slot uint64) ([]byte, uint64, error)
GetBlockchainBalance(ctx context.Context, account string) (uint64, uint64, error)
GetBlockchainBlock(ctx context.Context, slot uint64) (*solana.Block, error)
GetBlockchainBlockSignatures(ctx context.Context, slot uint64) ([]string, error)
GetBlockchainBlocksWithLimit(ctx context.Context, start uint64, limit uint64) ([]uint64, error)
GetBlockchainHistory(ctx context.Context, account string, commitment solana.Commitment, opts ...query.Option) ([]*solana.TransactionSignature, error)
GetBlockchainMinimumBalanceForRentExemption(ctx context.Context, size uint64) (uint64, error)
GetBlockchainLatestBlockhash(ctx context.Context) (solana.Blockhash, error)
GetBlockchainSignatureStatuses(ctx context.Context, signatures []solana.Signature) ([]*solana.SignatureStatus, error)
GetBlockchainSlot(ctx context.Context, commitment solana.Commitment) (uint64, error)
GetBlockchainTokenAccountInfo(ctx context.Context, account, mint string, commitment solana.Commitment) (*token.Account, error)
GetBlockchainTokenAccountsByOwner(ctx context.Context, account string) ([]ed25519.PublicKey, error)
GetBlockchainTransaction(ctx context.Context, sig string, commitment solana.Commitment) (*solana.ConfirmedTransaction, error)
GetBlockchainTransactionTokenBalances(ctx context.Context, sig string) (*solana.TransactionTokenBalances, error)
GetBlockchainFilteredProgramAccounts(ctx context.Context, program string, offset uint, filterValue []byte) ([]string, uint64, error)
}
func NewBlockchainProvider ¶
func NewBlockchainProvider(solanaEndpoint string) (BlockchainData, error)
type BlockchainProvider ¶
type BlockchainProvider struct {
// contains filtered or unexported fields
}
func (*BlockchainProvider) GetBlockchainAccountDataAfterBlock ¶
func (*BlockchainProvider) GetBlockchainAccountInfo ¶
func (dp *BlockchainProvider) GetBlockchainAccountInfo(ctx context.Context, account string, commitment solana.Commitment) (*solana.AccountInfo, error)
func (*BlockchainProvider) GetBlockchainBalance ¶
func (*BlockchainProvider) GetBlockchainBlock ¶
func (*BlockchainProvider) GetBlockchainBlockSignatures ¶
func (*BlockchainProvider) GetBlockchainBlocksWithLimit ¶
func (*BlockchainProvider) GetBlockchainFilteredProgramAccounts ¶
func (*BlockchainProvider) GetBlockchainHistory ¶
func (dp *BlockchainProvider) GetBlockchainHistory(ctx context.Context, account string, commitment solana.Commitment, opts ...query.Option) ([]*solana.TransactionSignature, error)
func (*BlockchainProvider) GetBlockchainLatestBlockhash ¶
func (*BlockchainProvider) GetBlockchainMinimumBalanceForRentExemption ¶
func (*BlockchainProvider) GetBlockchainSignatureStatuses ¶
func (dp *BlockchainProvider) GetBlockchainSignatureStatuses(ctx context.Context, signatures []solana.Signature) ([]*solana.SignatureStatus, error)
func (*BlockchainProvider) GetBlockchainSlot ¶
func (dp *BlockchainProvider) GetBlockchainSlot(ctx context.Context, commitment solana.Commitment) (uint64, error)
func (*BlockchainProvider) GetBlockchainTokenAccountInfo ¶
func (dp *BlockchainProvider) GetBlockchainTokenAccountInfo(ctx context.Context, account, mint string, commitment solana.Commitment) (*token.Account, error)
func (*BlockchainProvider) GetBlockchainTokenAccountsByOwner ¶
func (*BlockchainProvider) GetBlockchainTransaction ¶
func (dp *BlockchainProvider) GetBlockchainTransaction(ctx context.Context, sig string, commitment solana.Commitment) (*solana.ConfirmedTransaction, error)
func (*BlockchainProvider) GetBlockchainTransactionTokenBalances ¶
func (dp *BlockchainProvider) GetBlockchainTransactionTokenBalances(ctx context.Context, sig string) (*solana.TransactionTokenBalances, error)
func (*BlockchainProvider) SubmitBlockchainTransaction ¶
func (dp *BlockchainProvider) SubmitBlockchainTransaction(ctx context.Context, tx *solana.Transaction) (solana.Signature, error)
type ConfigProvider ¶
type ConfigProvider func() *conf
ConfigProvider defines how config values are pulled
todo: Possibly introduce an override config provider, for things like scripts.
func WithEnvConfigs ¶
func WithEnvConfigs() ConfigProvider
WithEnvConfigs returns configuration pulled from environment variables
type DataProvider ¶
type DataProvider struct {
*BlockchainProvider
*DatabaseProvider
*WebProvider
*EstimatedProvider
}
func (*DataProvider) GetBlockchainDataProvider ¶
func (p *DataProvider) GetBlockchainDataProvider() BlockchainData
func (*DataProvider) GetDatabaseDataProvider ¶
func (p *DataProvider) GetDatabaseDataProvider() DatabaseData
func (*DataProvider) GetEstimatedDataProvider ¶
func (p *DataProvider) GetEstimatedDataProvider() EstimatedData
func (*DataProvider) GetWebDataProvider ¶
func (p *DataProvider) GetWebDataProvider() WebData
type DatabaseData ¶
type DatabaseData interface {
// Account Info
// --------------------------------------------------------------------------------
CreateAccountInfo(ctx context.Context, record *account.Record) error
UpdateAccountInfo(ctx context.Context, record *account.Record) error
GetAccountInfoByTokenAddress(ctx context.Context, address string) (*account.Record, error)
GetAccountInfoByTokenAddressBatch(ctx context.Context, addresses ...string) (map[string]*account.Record, error)
GetAccountInfoByAuthorityAddress(ctx context.Context, address string) (map[string]*account.Record, error)
GetLatestAccountInfosByOwnerAddress(ctx context.Context, address string) (map[string]map[commonpb.AccountType][]*account.Record, error)
GetLatestAccountInfoByOwnerAddressAndType(ctx context.Context, address string, accountType commonpb.AccountType) (map[string]*account.Record, error)
GetPrioritizedAccountInfosRequiringDepositSync(ctx context.Context, limit uint64) ([]*account.Record, error)
GetPrioritizedAccountInfosRequiringAutoReturnCheck(ctx context.Context, maxAge time.Duration, limit uint64) ([]*account.Record, error)
GetAccountInfoCountRequiringDepositSync(ctx context.Context) (uint64, error)
GetAccountInfoCountRequiringAutoReturnCheck(ctx context.Context) (uint64, error)
// Actions
// --------------------------------------------------------------------------------
PutAllActions(ctx context.Context, records ...*action.Record) error
UpdateAction(ctx context.Context, record *action.Record) error
GetActionById(ctx context.Context, intent string, actionId uint32) (*action.Record, error)
GetAllActionsByIntent(ctx context.Context, intent string) ([]*action.Record, error)
GetAllActionsByAddress(ctx context.Context, address string) ([]*action.Record, error)
GetNetBalanceFromActions(ctx context.Context, address string) (int64, error)
GetNetBalanceFromActionsBatch(ctx context.Context, accounts ...string) (map[string]int64, error)
GetGiftCardClaimedAction(ctx context.Context, giftCardVault string) (*action.Record, error)
GetGiftCardAutoReturnAction(ctx context.Context, giftCardVault string) (*action.Record, error)
CountFeeActions(ctx context.Context, intent string, feeType transactionpb.FeePaymentAction_FeeType) (uint64, error)
HasFeeAction(ctx context.Context, intent string, feeType transactionpb.FeePaymentAction_FeeType) (bool, error)
// Balance
// --------------------------------------------------------------------------------
GetCachedBalanceVersion(ctx context.Context, account string) (uint64, error)
AdvanceCachedBalanceVersion(ctx context.Context, account string, currentVersion uint64) error
CheckNotClosedForBalanceUpdate(ctx context.Context, account string) error
MarkAsClosedForBalanceUpdate(ctx context.Context, account string) error
SaveExternalBalanceCheckpoint(ctx context.Context, record *balance.ExternalCheckpointRecord) error
GetExternalBalanceCheckpoint(ctx context.Context, account string) (*balance.ExternalCheckpointRecord, error)
// Currency
// --------------------------------------------------------------------------------
GetExchangeRate(ctx context.Context, code currency_lib.Code, t time.Time) (*currency.ExchangeRateRecord, error)
GetAllExchangeRates(ctx context.Context, t time.Time) (*currency.MultiRateRecord, error)
GetExchangeRateHistory(ctx context.Context, code currency_lib.Code, opts ...query.Option) ([]*currency.ExchangeRateRecord, error)
ImportExchangeRates(ctx context.Context, record *currency.MultiRateRecord) error
PutCurrencyMetadata(ctx context.Context, record *currency.MetadataRecord) error
GetCurrencyMetadata(ctx context.Context, mint string) (*currency.MetadataRecord, error)
PutCurrencyReserve(ctx context.Context, record *currency.ReserveRecord) error
GetCurrencyReserveAtTime(ctx context.Context, mint string, t time.Time) (*currency.ReserveRecord, error)
// CVM RAM
// --------------------------------------------------------------------------------
InitializeVmMemory(ctx context.Context, record *cvm_ram.Record) error
FreeVmMemoryByIndex(ctx context.Context, memoryAccount string, index uint16) error
FreeVmMemoryByAddress(ctx context.Context, address string) error
ReserveVmMemory(ctx context.Context, vm string, accountType cvm.VirtualAccountType, address string) (string, uint16, error)
// CVM Storage
// --------------------------------------------------------------------------------
InitializeVmStorage(ctx context.Context, record *cvm_storage.Record) error
FindAnyVmStorageWithAvailableCapacity(ctx context.Context, vm string, purpose cvm_storage.Purpose, minCapacity uint64) (*cvm_storage.Record, error)
ReserveVmStorage(ctx context.Context, vm string, purpose cvm_storage.Purpose, address string) (string, error)
// Deposits
// --------------------------------------------------------------------------------
SaveExternalDeposit(ctx context.Context, record *deposit.Record) error
GetExternalDeposit(ctx context.Context, signature, destination string) (*deposit.Record, error)
GetTotalExternalDepositedAmountInQuarks(ctx context.Context, account string) (uint64, error)
GetTotalExternalDepositedAmountInQuarksBatch(ctx context.Context, accounts ...string) (map[string]uint64, error)
GetTotalExternalDepositedAmountInUsd(ctx context.Context, account string) (float64, error)
// Fulfillments
// --------------------------------------------------------------------------------
GetFulfillmentById(ctx context.Context, id uint64) (*fulfillment.Record, error)
GetFulfillmentBySignature(ctx context.Context, signature string) (*fulfillment.Record, error)
GetFulfillmentByVirtualSignature(ctx context.Context, signature string) (*fulfillment.Record, error)
GetFulfillmentCount(ctx context.Context) (uint64, error)
GetFulfillmentCountByState(ctx context.Context, state fulfillment.State) (uint64, error)
GetFulfillmentCountByStateGroupedByType(ctx context.Context, state fulfillment.State) (map[fulfillment.Type]uint64, error)
GetFulfillmentCountForMetrics(ctx context.Context, state fulfillment.State) (map[fulfillment.Type]uint64, error)
GetFulfillmentCountByStateAndAddress(ctx context.Context, state fulfillment.State, address string) (uint64, error)
GetFulfillmentCountByTypeStateAndAddress(ctx context.Context, fulfillmentType fulfillment.Type, state fulfillment.State, address string) (uint64, error)
GetFulfillmentCountByTypeStateAndAddressAsSource(ctx context.Context, fulfillmentType fulfillment.Type, state fulfillment.State, address string) (uint64, error)
GetFulfillmentCountByIntentAndState(ctx context.Context, intent string, state fulfillment.State) (uint64, error)
GetFulfillmentCountByIntent(ctx context.Context, intent string) (uint64, error)
GetFulfillmentCountByTypeActionAndState(ctx context.Context, intentId string, actionId uint32, fulfillmentType fulfillment.Type, state fulfillment.State) (uint64, error)
GetPendingFulfillmentCountByType(ctx context.Context) (map[fulfillment.Type]uint64, error)
GetAllFulfillmentsByState(ctx context.Context, state fulfillment.State, includeDisabledActiveScheduling bool, opts ...query.Option) ([]*fulfillment.Record, error)
GetAllFulfillmentsByIntent(ctx context.Context, intent string, opts ...query.Option) ([]*fulfillment.Record, error)
GetAllFulfillmentsByAction(ctx context.Context, intentId string, actionId uint32) ([]*fulfillment.Record, error)
GetAllFulfillmentsByTypeAndAction(ctx context.Context, fulfillmentType fulfillment.Type, intentId string, actionId uint32) ([]*fulfillment.Record, error)
GetFirstSchedulableFulfillmentByAddressAsSource(ctx context.Context, address string) (*fulfillment.Record, error)
GetFirstSchedulableFulfillmentByAddressAsDestination(ctx context.Context, address string) (*fulfillment.Record, error)
GetFirstSchedulableFulfillmentByType(ctx context.Context, fulfillmentType fulfillment.Type) (*fulfillment.Record, error)
GetNextSchedulableFulfillmentByAddress(ctx context.Context, address string, intentOrderingIndex uint64, actionOrderingIndex, fulfillmentOrderingIndex uint32) (*fulfillment.Record, error)
PutAllFulfillments(ctx context.Context, records ...*fulfillment.Record) error
UpdateFulfillment(ctx context.Context, record *fulfillment.Record) error
// Intents
// --------------------------------------------------------------------------------
SaveIntent(ctx context.Context, record *intent.Record) error
GetIntent(ctx context.Context, intentID string) (*intent.Record, error)
GetIntentBySignature(ctx context.Context, signature string) (*intent.Record, error)
GetAllIntentsByOwner(ctx context.Context, owner string, opts ...query.Option) ([]*intent.Record, error)
GetOriginalGiftCardIssuedIntent(ctx context.Context, giftCardVault string) (*intent.Record, error)
GetGiftCardClaimedIntent(ctx context.Context, giftCardVault string) (*intent.Record, error)
GetTransactedAmountForAntiMoneyLaundering(ctx context.Context, owner string, since time.Time) (uint64, float64, error)
// Merkle Trees
// --------------------------------------------------------------------------------
InitializeNewMerkleTree(ctx context.Context, name string, levels uint8, seeds []merkletree.Seed, readOnly bool) (*merkletree.MerkleTree, error)
LoadExistingMerkleTree(ctx context.Context, name string, readOnly bool) (*merkletree.MerkleTree, error)
// Messaging
// --------------------------------------------------------------------------------
CreateMessage(ctx context.Context, record *messaging.Record) error
GetMessages(ctx context.Context, account string) ([]*messaging.Record, error)
DeleteMessage(ctx context.Context, account string, messageID uuid.UUID) error
// Nonces
// --------------------------------------------------------------------------------
GetNonce(ctx context.Context, address string) (*nonce.Record, error)
GetNonceCount(ctx context.Context, env nonce.Environment, instance string) (uint64, error)
GetNonceCountByState(ctx context.Context, env nonce.Environment, instance string, state nonce.State) (uint64, error)
GetNonceCountByStateAndPurpose(ctx context.Context, env nonce.Environment, instance string, state nonce.State, purpose nonce.Purpose) (uint64, error)
GetAllNonceByState(ctx context.Context, env nonce.Environment, instance string, state nonce.State, opts ...query.Option) ([]*nonce.Record, error)
BatchClaimAvailableNoncesByPurpose(ctx context.Context, env nonce.Environment, instance string, purpose nonce.Purpose, limit int, nodeID string, minExpireAt, maxExpireAt time.Time) ([]*nonce.Record, error)
SaveNonce(ctx context.Context, record *nonce.Record) error
// Rendezvous
// --------------------------------------------------------------------------------
PutRendezvous(ctx context.Context, record *rendezvous.Record) error
ExtendRendezvousExpiry(ctx context.Context, key, address string, expiry time.Time) error
DeleteRendezvous(ctx context.Context, key, address string) error
GetRendezvous(ctx context.Context, key string) (*rendezvous.Record, error)
// Timelocks
// --------------------------------------------------------------------------------
SaveTimelock(ctx context.Context, record *timelock.Record) error
GetTimelockByAddress(ctx context.Context, address string) (*timelock.Record, error)
GetTimelockByVault(ctx context.Context, vault string) (*timelock.Record, error)
GetTimelockByDepositPda(ctx context.Context, depositPda string) (*timelock.Record, error)
GetTimelockBySwapPda(ctx context.Context, swapPda string) (*timelock.Record, error)
GetTimelockByVaultBatch(ctx context.Context, vaults ...string) (map[string]*timelock.Record, error)
GetAllTimelocksByState(ctx context.Context, state timelock_token.TimelockState, opts ...query.Option) ([]*timelock.Record, error)
GetTimelockCountByState(ctx context.Context, state timelock_token.TimelockState) (uint64, error)
// Transactions
// --------------------------------------------------------------------------------
GetTransaction(ctx context.Context, sig string) (*transaction.Record, error)
SaveTransaction(ctx context.Context, record *transaction.Record) error
// Vault
// --------------------------------------------------------------------------------
GetKey(ctx context.Context, public_key string) (*vault.Record, error)
GetKeyCount(ctx context.Context) (uint64, error)
GetKeyCountByState(ctx context.Context, state vault.State) (uint64, error)
GetAllKeysByState(ctx context.Context, state vault.State, opts ...query.Option) ([]*vault.Record, error)
SaveKey(ctx context.Context, record *vault.Record) error
// ExecuteInTx executes fn with a single DB transaction that is scoped to the call.
// This enables more complex transactions that can span many calls across the provider.
//
// Note: This highly relies on the store implementations adding explicit support for
// this, which was added way later than when most were written. When using this
// function, ensure there is proper support for whatever is being called inside fn.
ExecuteInTx(ctx context.Context, isolation sql.IsolationLevel, fn func(ctx context.Context) error) error
}
func NewDatabaseProvider ¶
func NewDatabaseProvider(dbConfig *pg.Config) (DatabaseData, error)
func NewTestDatabaseProvider ¶
func NewTestDatabaseProvider() DatabaseData
type DatabaseProvider ¶
type DatabaseProvider struct {
// contains filtered or unexported fields
}
func (*DatabaseProvider) AdvanceCachedBalanceVersion ¶
func (*DatabaseProvider) BatchClaimAvailableNoncesByPurpose ¶
func (*DatabaseProvider) CheckNotClosedForBalanceUpdate ¶
func (dp *DatabaseProvider) CheckNotClosedForBalanceUpdate(ctx context.Context, account string) error
func (*DatabaseProvider) CountFeeActions ¶
func (dp *DatabaseProvider) CountFeeActions(ctx context.Context, intent string, feeType transactionpb.FeePaymentAction_FeeType) (uint64, error)
func (*DatabaseProvider) CreateAccountInfo ¶
Account Info --------------------------------------------------------------------------------
func (*DatabaseProvider) CreateMessage ¶
Messaging --------------------------------------------------------------------------------
func (*DatabaseProvider) DeleteMessage ¶
func (*DatabaseProvider) DeleteRendezvous ¶
func (dp *DatabaseProvider) DeleteRendezvous(ctx context.Context, key, address string) error
func (*DatabaseProvider) ExecuteInTx ¶
func (dp *DatabaseProvider) ExecuteInTx(ctx context.Context, isolation sql.IsolationLevel, fn func(ctx context.Context) error) error
func (*DatabaseProvider) ExtendRendezvousExpiry ¶
func (*DatabaseProvider) FindAnyVmStorageWithAvailableCapacity ¶
func (dp *DatabaseProvider) FindAnyVmStorageWithAvailableCapacity(ctx context.Context, vm string, purpose cvm_storage.Purpose, minCapacity uint64) (*cvm_storage.Record, error)
func (*DatabaseProvider) FreeVmMemoryByAddress ¶
func (dp *DatabaseProvider) FreeVmMemoryByAddress(ctx context.Context, address string) error
func (*DatabaseProvider) FreeVmMemoryByIndex ¶
func (*DatabaseProvider) GetAccountInfoByAuthorityAddress ¶
func (*DatabaseProvider) GetAccountInfoByTokenAddress ¶
func (*DatabaseProvider) GetAccountInfoByTokenAddressBatch ¶
func (*DatabaseProvider) GetAccountInfoCountRequiringAutoReturnCheck ¶
func (dp *DatabaseProvider) GetAccountInfoCountRequiringAutoReturnCheck(ctx context.Context) (uint64, error)
func (*DatabaseProvider) GetAccountInfoCountRequiringDepositSync ¶
func (dp *DatabaseProvider) GetAccountInfoCountRequiringDepositSync(ctx context.Context) (uint64, error)
func (*DatabaseProvider) GetActionById ¶
func (*DatabaseProvider) GetAllActionsByAddress ¶
func (*DatabaseProvider) GetAllActionsByIntent ¶
func (*DatabaseProvider) GetAllExchangeRates ¶
func (dp *DatabaseProvider) GetAllExchangeRates(ctx context.Context, t time.Time) (*currency.MultiRateRecord, error)
func (*DatabaseProvider) GetAllFulfillmentsByAction ¶
func (dp *DatabaseProvider) GetAllFulfillmentsByAction(ctx context.Context, intentId string, actionId uint32) ([]*fulfillment.Record, error)
func (*DatabaseProvider) GetAllFulfillmentsByIntent ¶
func (dp *DatabaseProvider) GetAllFulfillmentsByIntent(ctx context.Context, intent string, opts ...query.Option) ([]*fulfillment.Record, error)
func (*DatabaseProvider) GetAllFulfillmentsByState ¶
func (dp *DatabaseProvider) GetAllFulfillmentsByState(ctx context.Context, state fulfillment.State, includeDisabledActiveScheduling bool, opts ...query.Option) ([]*fulfillment.Record, error)
func (*DatabaseProvider) GetAllFulfillmentsByTypeAndAction ¶
func (dp *DatabaseProvider) GetAllFulfillmentsByTypeAndAction(ctx context.Context, fulfillmentType fulfillment.Type, intentId string, actionId uint32) ([]*fulfillment.Record, error)
func (*DatabaseProvider) GetAllIntentsByOwner ¶
func (*DatabaseProvider) GetAllKeysByState ¶
func (*DatabaseProvider) GetAllNonceByState ¶
func (*DatabaseProvider) GetAllTimelocksByState ¶
func (dp *DatabaseProvider) GetAllTimelocksByState(ctx context.Context, state timelock_token.TimelockState, opts ...query.Option) ([]*timelock.Record, error)
func (*DatabaseProvider) GetCachedBalanceVersion ¶
func (dp *DatabaseProvider) GetCachedBalanceVersion(ctx context.Context, account string) (uint64, error)
Balance --------------------------------------------------------------------------------
func (*DatabaseProvider) GetCurrencyMetadata ¶
func (dp *DatabaseProvider) GetCurrencyMetadata(ctx context.Context, mint string) (*currency.MetadataRecord, error)
func (*DatabaseProvider) GetCurrencyReserveAtTime ¶
func (dp *DatabaseProvider) GetCurrencyReserveAtTime(ctx context.Context, mint string, t time.Time) (*currency.ReserveRecord, error)
func (*DatabaseProvider) GetExchangeRate ¶
func (dp *DatabaseProvider) GetExchangeRate(ctx context.Context, code currency_lib.Code, t time.Time) (*currency.ExchangeRateRecord, error)
Currencies --------------------------------------------------------------------------------
func (*DatabaseProvider) GetExchangeRateHistory ¶
func (dp *DatabaseProvider) GetExchangeRateHistory(ctx context.Context, code currency_lib.Code, opts ...query.Option) ([]*currency.ExchangeRateRecord, error)
func (*DatabaseProvider) GetExternalBalanceCheckpoint ¶
func (dp *DatabaseProvider) GetExternalBalanceCheckpoint(ctx context.Context, account string) (*balance.ExternalCheckpointRecord, error)
func (*DatabaseProvider) GetExternalDeposit ¶
func (*DatabaseProvider) GetFirstSchedulableFulfillmentByAddressAsDestination ¶
func (dp *DatabaseProvider) GetFirstSchedulableFulfillmentByAddressAsDestination(ctx context.Context, address string) (*fulfillment.Record, error)
func (*DatabaseProvider) GetFirstSchedulableFulfillmentByAddressAsSource ¶
func (dp *DatabaseProvider) GetFirstSchedulableFulfillmentByAddressAsSource(ctx context.Context, address string) (*fulfillment.Record, error)
func (*DatabaseProvider) GetFirstSchedulableFulfillmentByType ¶
func (dp *DatabaseProvider) GetFirstSchedulableFulfillmentByType(ctx context.Context, fulfillmentType fulfillment.Type) (*fulfillment.Record, error)
func (*DatabaseProvider) GetFulfillmentById ¶
func (dp *DatabaseProvider) GetFulfillmentById(ctx context.Context, id uint64) (*fulfillment.Record, error)
Fulfillments --------------------------------------------------------------------------------
func (*DatabaseProvider) GetFulfillmentBySignature ¶
func (dp *DatabaseProvider) GetFulfillmentBySignature(ctx context.Context, signature string) (*fulfillment.Record, error)
func (*DatabaseProvider) GetFulfillmentByVirtualSignature ¶
func (dp *DatabaseProvider) GetFulfillmentByVirtualSignature(ctx context.Context, signature string) (*fulfillment.Record, error)
func (*DatabaseProvider) GetFulfillmentCount ¶
func (dp *DatabaseProvider) GetFulfillmentCount(ctx context.Context) (uint64, error)
func (*DatabaseProvider) GetFulfillmentCountByIntent ¶
func (*DatabaseProvider) GetFulfillmentCountByIntentAndState ¶
func (dp *DatabaseProvider) GetFulfillmentCountByIntentAndState(ctx context.Context, intent string, state fulfillment.State) (uint64, error)
func (*DatabaseProvider) GetFulfillmentCountByState ¶
func (dp *DatabaseProvider) GetFulfillmentCountByState(ctx context.Context, state fulfillment.State) (uint64, error)
func (*DatabaseProvider) GetFulfillmentCountByStateAndAddress ¶
func (dp *DatabaseProvider) GetFulfillmentCountByStateAndAddress(ctx context.Context, state fulfillment.State, address string) (uint64, error)
func (*DatabaseProvider) GetFulfillmentCountByStateGroupedByType ¶
func (dp *DatabaseProvider) GetFulfillmentCountByStateGroupedByType(ctx context.Context, state fulfillment.State) (map[fulfillment.Type]uint64, error)
func (*DatabaseProvider) GetFulfillmentCountByTypeActionAndState ¶
func (dp *DatabaseProvider) GetFulfillmentCountByTypeActionAndState(ctx context.Context, intentId string, actionId uint32, fulfillmentType fulfillment.Type, state fulfillment.State) (uint64, error)
func (*DatabaseProvider) GetFulfillmentCountByTypeStateAndAddress ¶
func (dp *DatabaseProvider) GetFulfillmentCountByTypeStateAndAddress(ctx context.Context, fulfillmentType fulfillment.Type, state fulfillment.State, address string) (uint64, error)
func (*DatabaseProvider) GetFulfillmentCountByTypeStateAndAddressAsSource ¶
func (dp *DatabaseProvider) GetFulfillmentCountByTypeStateAndAddressAsSource(ctx context.Context, fulfillmentType fulfillment.Type, state fulfillment.State, address string) (uint64, error)
func (*DatabaseProvider) GetFulfillmentCountForMetrics ¶
func (dp *DatabaseProvider) GetFulfillmentCountForMetrics(ctx context.Context, state fulfillment.State) (map[fulfillment.Type]uint64, error)
func (*DatabaseProvider) GetGiftCardAutoReturnAction ¶
func (*DatabaseProvider) GetGiftCardClaimedAction ¶
func (*DatabaseProvider) GetGiftCardClaimedIntent ¶
func (*DatabaseProvider) GetIntent ¶
Intents --------------------------------------------------------------------------------
func (*DatabaseProvider) GetIntentBySignature ¶
func (*DatabaseProvider) GetKey ¶
Vault --------------------------------------------------------------------------------
func (*DatabaseProvider) GetKeyCount ¶
func (dp *DatabaseProvider) GetKeyCount(ctx context.Context) (uint64, error)
func (*DatabaseProvider) GetKeyCountByState ¶
func (*DatabaseProvider) GetLatestAccountInfoByOwnerAddressAndType ¶
func (dp *DatabaseProvider) GetLatestAccountInfoByOwnerAddressAndType(ctx context.Context, address string, accountType commonpb.AccountType) (map[string]*account.Record, error)
func (*DatabaseProvider) GetLatestAccountInfosByOwnerAddress ¶
func (dp *DatabaseProvider) GetLatestAccountInfosByOwnerAddress(ctx context.Context, address string) (map[string]map[commonpb.AccountType][]*account.Record, error)
func (*DatabaseProvider) GetMessages ¶
func (*DatabaseProvider) GetNetBalanceFromActions ¶
func (*DatabaseProvider) GetNetBalanceFromActionsBatch ¶
func (*DatabaseProvider) GetNextSchedulableFulfillmentByAddress ¶
func (dp *DatabaseProvider) GetNextSchedulableFulfillmentByAddress(ctx context.Context, address string, intentOrderingIndex uint64, actionOrderingIndex, fulfillmentOrderingIndex uint32) (*fulfillment.Record, error)
func (*DatabaseProvider) GetNonce ¶
Nonces --------------------------------------------------------------------------------
func (*DatabaseProvider) GetNonceCount ¶
func (dp *DatabaseProvider) GetNonceCount(ctx context.Context, env nonce.Environment, instance string) (uint64, error)
func (*DatabaseProvider) GetNonceCountByState ¶
func (dp *DatabaseProvider) GetNonceCountByState(ctx context.Context, env nonce.Environment, instance string, state nonce.State) (uint64, error)
func (*DatabaseProvider) GetNonceCountByStateAndPurpose ¶
func (*DatabaseProvider) GetOriginalGiftCardIssuedIntent ¶
func (*DatabaseProvider) GetPendingFulfillmentCountByType ¶
func (dp *DatabaseProvider) GetPendingFulfillmentCountByType(ctx context.Context) (map[fulfillment.Type]uint64, error)
func (*DatabaseProvider) GetPrioritizedAccountInfosRequiringAutoReturnCheck ¶
func (*DatabaseProvider) GetPrioritizedAccountInfosRequiringDepositSync ¶
func (*DatabaseProvider) GetRendezvous ¶
func (dp *DatabaseProvider) GetRendezvous(ctx context.Context, key string) (*rendezvous.Record, error)
func (*DatabaseProvider) GetTimelockByAddress ¶
func (*DatabaseProvider) GetTimelockByDepositPda ¶
func (*DatabaseProvider) GetTimelockBySwapPda ¶
func (*DatabaseProvider) GetTimelockByVault ¶
func (*DatabaseProvider) GetTimelockByVaultBatch ¶
func (*DatabaseProvider) GetTimelockCountByState ¶
func (dp *DatabaseProvider) GetTimelockCountByState(ctx context.Context, state timelock_token.TimelockState) (uint64, error)
func (*DatabaseProvider) GetTotalExternalDepositedAmountInQuarks ¶ added in v1.3.0
func (*DatabaseProvider) GetTotalExternalDepositedAmountInQuarksBatch ¶ added in v1.3.0
func (*DatabaseProvider) GetTotalExternalDepositedAmountInUsd ¶
func (*DatabaseProvider) GetTransactedAmountForAntiMoneyLaundering ¶
func (*DatabaseProvider) GetTransaction ¶
func (dp *DatabaseProvider) GetTransaction(ctx context.Context, sig string) (*transaction.Record, error)
Transactions --------------------------------------------------------------------------------
func (*DatabaseProvider) HasFeeAction ¶
func (dp *DatabaseProvider) HasFeeAction(ctx context.Context, intent string, feeType transactionpb.FeePaymentAction_FeeType) (bool, error)
func (*DatabaseProvider) ImportExchangeRates ¶
func (dp *DatabaseProvider) ImportExchangeRates(ctx context.Context, data *currency.MultiRateRecord) error
func (*DatabaseProvider) InitializeNewMerkleTree ¶
func (dp *DatabaseProvider) InitializeNewMerkleTree(ctx context.Context, name string, levels uint8, seeds []merkletree.Seed, readOnly bool) (*merkletree.MerkleTree, error)
Merkle Trees --------------------------------------------------------------------------------
func (*DatabaseProvider) InitializeVmMemory ¶
CVM RAM --------------------------------------------------------------------------------
func (*DatabaseProvider) InitializeVmStorage ¶
func (dp *DatabaseProvider) InitializeVmStorage(ctx context.Context, record *cvm_storage.Record) error
CVM Storage --------------------------------------------------------------------------------
func (*DatabaseProvider) LoadExistingMerkleTree ¶
func (dp *DatabaseProvider) LoadExistingMerkleTree(ctx context.Context, name string, readOnly bool) (*merkletree.MerkleTree, error)
func (*DatabaseProvider) MarkAsClosedForBalanceUpdate ¶
func (dp *DatabaseProvider) MarkAsClosedForBalanceUpdate(ctx context.Context, account string) error
func (*DatabaseProvider) PutAllActions ¶
Actions --------------------------------------------------------------------------------
func (*DatabaseProvider) PutAllFulfillments ¶
func (dp *DatabaseProvider) PutAllFulfillments(ctx context.Context, records ...*fulfillment.Record) error
func (*DatabaseProvider) PutCurrencyMetadata ¶
func (dp *DatabaseProvider) PutCurrencyMetadata(ctx context.Context, record *currency.MetadataRecord) error
func (*DatabaseProvider) PutCurrencyReserve ¶
func (dp *DatabaseProvider) PutCurrencyReserve(ctx context.Context, record *currency.ReserveRecord) error
func (*DatabaseProvider) PutRendezvous ¶
func (dp *DatabaseProvider) PutRendezvous(ctx context.Context, record *rendezvous.Record) error
Rendezvous --------------------------------------------------------------------------------
func (*DatabaseProvider) ReserveVmMemory ¶
func (dp *DatabaseProvider) ReserveVmMemory(ctx context.Context, vm string, accountType cvm.VirtualAccountType, address string) (string, uint16, error)
func (*DatabaseProvider) ReserveVmStorage ¶
func (dp *DatabaseProvider) ReserveVmStorage(ctx context.Context, vm string, purpose cvm_storage.Purpose, address string) (string, error)
func (*DatabaseProvider) SaveExternalBalanceCheckpoint ¶
func (dp *DatabaseProvider) SaveExternalBalanceCheckpoint(ctx context.Context, record *balance.ExternalCheckpointRecord) error
func (*DatabaseProvider) SaveExternalDeposit ¶
Deposits --------------------------------------------------------------------------------
func (*DatabaseProvider) SaveIntent ¶
func (*DatabaseProvider) SaveTimelock ¶
Timelocks --------------------------------------------------------------------------------
func (*DatabaseProvider) SaveTransaction ¶
func (dp *DatabaseProvider) SaveTransaction(ctx context.Context, record *transaction.Record) error
func (*DatabaseProvider) UpdateAccountInfo ¶
func (*DatabaseProvider) UpdateAction ¶
func (*DatabaseProvider) UpdateFulfillment ¶
func (dp *DatabaseProvider) UpdateFulfillment(ctx context.Context, record *fulfillment.Record) error
type EstimatedData ¶
type EstimatedData interface {
TestForKnownAccount(ctx context.Context, account []byte) (bool, error)
AddKnownAccount(ctx context.Context, account []byte) error
}
func NewEstimatedProvider ¶
func NewEstimatedProvider() (EstimatedData, error)
type EstimatedProvider ¶
type EstimatedProvider struct {
// contains filtered or unexported fields
}
func (*EstimatedProvider) AddKnownAccount ¶
func (p *EstimatedProvider) AddKnownAccount(ctx context.Context, account []byte) error
func (*EstimatedProvider) TestForKnownAccount ¶
type Provider ¶
type Provider interface {
BlockchainData
DatabaseData
WebData
EstimatedData
GetBlockchainDataProvider() BlockchainData
GetDatabaseDataProvider() DatabaseData
GetWebDataProvider() WebData
GetEstimatedDataProvider() EstimatedData
}
func NewDataProvider ¶
func NewDataProviderWithoutBlockchain ¶
func NewDataProviderWithoutBlockchain(dbConfig *pg.Config, configProvider ConfigProvider) (Provider, error)
func NewTestDataProvider ¶
func NewTestDataProvider() Provider
type WebData ¶
type WebData interface {
GetCurrentExchangeRatesFromExternalProviders(ctx context.Context) (*currency.MultiRateRecord, error)
GetPastExchangeRatesFromExternalProviders(ctx context.Context, t time.Time) (*currency.MultiRateRecord, error)
}
func NewWebProvider ¶
func NewWebProvider(configProvider ConfigProvider) (WebData, error)
type WebProvider ¶
type WebProvider struct {
// contains filtered or unexported fields
}
func (*WebProvider) GetCurrentExchangeRatesFromExternalProviders ¶
func (dp *WebProvider) GetCurrentExchangeRatesFromExternalProviders(ctx context.Context) (*currency.MultiRateRecord, error)
Currency --------------------------------------------------------------------------------
func (*WebProvider) GetPastExchangeRatesFromExternalProviders ¶
func (dp *WebProvider) GetPastExchangeRatesFromExternalProviders(ctx context.Context, t time.Time) (*currency.MultiRateRecord, error)