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 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) RequestBlockchainAirdrop(ctx context.Context, account string, amount uint64) (solana.Signature, 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) CountWebhookByState(ctx context.Context, state webhook.State) (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) CreateRequest(ctx context.Context, record *paymentrequest.Record) error
- func (dp *DatabaseProvider) CreateWebhook(ctx context.Context, record *webhook.Record) error
- func (dp *DatabaseProvider) DeleteMessage(ctx context.Context, account string, messageID uuid.UUID) error
- func (dp *DatabaseProvider) DeleteRendezvous(ctx context.Context, key string) error
- func (dp *DatabaseProvider) ExecuteInTx(ctx context.Context, isolation sql.IsolationLevel, ...) 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) (*account.Record, error)
- func (dp *DatabaseProvider) GetAccountInfoByTokenAddress(ctx context.Context, address 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) GetAccountInfoCountRequiringSwapRetry(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) GetAllPendingWebhooksReadyToSend(ctx context.Context, limit uint64) ([]*webhook.Record, error)
- func (dp *DatabaseProvider) GetAllTimelocksByState(ctx context.Context, state timelock_token.TimelockState, opts ...query.Option) ([]*timelock.Record, error)
- func (dp *DatabaseProvider) GetBalanceCheckpoint(ctx context.Context, account string) (*balance.Record, 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) GetExternalDeposit(ctx context.Context, signature, account string) (*deposit.Record, error)
- func (dp *DatabaseProvider) GetFiatOnrampPurchase(ctx context.Context, nonce uuid.UUID) (*onramp.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) (*account.Record, error)
- func (dp *DatabaseProvider) GetLatestAccountInfosByOwnerAddress(ctx context.Context, address string) (map[commonpb.AccountType][]*account.Record, error)
- func (dp *DatabaseProvider) GetLatestIntentByInitiatorAndType(ctx context.Context, intentType intent.Type, owner string) (*intent.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) GetPrioritizedAccountInfosRequiringSwapRetry(ctx context.Context, maxAge time.Duration, limit uint64) ([]*account.Record, error)
- func (dp *DatabaseProvider) GetRandomAvailableNonceByPurpose(ctx context.Context, env nonce.Environment, instance string, ...) (*nonce.Record, error)
- func (dp *DatabaseProvider) GetRelationshipAccountInfoByOwnerAddress(ctx context.Context, address, relationshipTo string) (*account.Record, error)
- func (dp *DatabaseProvider) GetRendezvous(ctx context.Context, key string) (*rendezvous.Record, error)
- func (dp *DatabaseProvider) GetRequest(ctx context.Context, intentId string) (*paymentrequest.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) 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) GetWebhook(ctx context.Context, webhookId string) (*webhook.Record, 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) MarkFulfillmentAsActivelyScheduled(ctx context.Context, id uint64) 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) PutFiatOnrampPurchase(ctx context.Context, record *onramp.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) SaveBalanceCheckpoint(ctx context.Context, record *balance.Record) 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) SaveRendezvous(ctx context.Context, record *rendezvous.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
- func (dp *DatabaseProvider) UpdateWebhook(ctx context.Context, record *webhook.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) RequestBlockchainAirdrop(ctx context.Context, account string, amount uint64) (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 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 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) RequestBlockchainAirdrop ¶
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) GetAccountInfoByAuthorityAddress(ctx context.Context, address string) (*account.Record, error) GetLatestAccountInfosByOwnerAddress(ctx context.Context, address string) (map[commonpb.AccountType][]*account.Record, error) GetLatestAccountInfoByOwnerAddressAndType(ctx context.Context, address string, accountType commonpb.AccountType) (*account.Record, error) GetRelationshipAccountInfoByOwnerAddress(ctx context.Context, address, relationshipTo 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) GetPrioritizedAccountInfosRequiringSwapRetry(ctx context.Context, maxAge time.Duration, limit uint64) ([]*account.Record, error) GetAccountInfoCountRequiringDepositSync(ctx context.Context) (uint64, error) GetAccountInfoCountRequiringAutoReturnCheck(ctx context.Context) (uint64, error) GetAccountInfoCountRequiringSwapRetry(ctx context.Context) (uint64, 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, data *currency.MultiRateRecord) 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 // Nonce // -------------------------------------------------------------------------------- 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) GetRandomAvailableNonceByPurpose(ctx context.Context, env nonce.Environment, instance string, purpose nonce.Purpose) (*nonce.Record, error) SaveNonce(ctx context.Context, record *nonce.Record) error // Fulfillment // -------------------------------------------------------------------------------- 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 MarkFulfillmentAsActivelyScheduled(ctx context.Context, id uint64) error // Intent // -------------------------------------------------------------------------------- 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) GetLatestIntentByInitiatorAndType(ctx context.Context, intentType intent.Type, owner string) (*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) // Action // -------------------------------------------------------------------------------- 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) // Transaction // -------------------------------------------------------------------------------- GetTransaction(ctx context.Context, sig string) (*transaction.Record, error) SaveTransaction(ctx context.Context, record *transaction.Record) 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 // Timelock // -------------------------------------------------------------------------------- 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) 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) // Merkle Tree // -------------------------------------------------------------------------------- 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) // External 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) // Rendezvous // -------------------------------------------------------------------------------- SaveRendezvous(ctx context.Context, record *rendezvous.Record) error GetRendezvous(ctx context.Context, key string) (*rendezvous.Record, error) DeleteRendezvous(ctx context.Context, key string) error // Requests // -------------------------------------------------------------------------------- CreateRequest(ctx context.Context, record *paymentrequest.Record) error GetRequest(ctx context.Context, intentId string) (*paymentrequest.Record, error) // Webhook // -------------------------------------------------------------------------------- CreateWebhook(ctx context.Context, record *webhook.Record) error UpdateWebhook(ctx context.Context, record *webhook.Record) error GetWebhook(ctx context.Context, webhookId string) (*webhook.Record, error) CountWebhookByState(ctx context.Context, state webhook.State) (uint64, error) GetAllPendingWebhooksReadyToSend(ctx context.Context, limit uint64) ([]*webhook.Record, error) // Balance // -------------------------------------------------------------------------------- SaveBalanceCheckpoint(ctx context.Context, record *balance.Record) error GetBalanceCheckpoint(ctx context.Context, account string) (*balance.Record, error) // Onramp // -------------------------------------------------------------------------------- PutFiatOnrampPurchase(ctx context.Context, record *onramp.Record) error GetFiatOnrampPurchase(ctx context.Context, nonce uuid.UUID) (*onramp.Record, 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) // 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) CountWebhookByState ¶
func (*DatabaseProvider) CreateAccountInfo ¶
Account Info --------------------------------------------------------------------------------
func (*DatabaseProvider) CreateMessage ¶
Messaging --------------------------------------------------------------------------------
func (*DatabaseProvider) CreateRequest ¶
func (dp *DatabaseProvider) CreateRequest(ctx context.Context, record *paymentrequest.Record) error
Payment Request --------------------------------------------------------------------------------
func (*DatabaseProvider) CreateWebhook ¶
Webhook --------------------------------------------------------------------------------
func (*DatabaseProvider) DeleteMessage ¶
func (*DatabaseProvider) DeleteRendezvous ¶
func (dp *DatabaseProvider) DeleteRendezvous(ctx context.Context, key string) error
func (*DatabaseProvider) ExecuteInTx ¶
func (dp *DatabaseProvider) ExecuteInTx(ctx context.Context, isolation sql.IsolationLevel, fn func(ctx context.Context) error) error
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) GetAccountInfoCountRequiringAutoReturnCheck ¶
func (dp *DatabaseProvider) GetAccountInfoCountRequiringAutoReturnCheck(ctx context.Context) (uint64, error)
func (*DatabaseProvider) GetAccountInfoCountRequiringDepositSync ¶
func (dp *DatabaseProvider) GetAccountInfoCountRequiringDepositSync(ctx context.Context) (uint64, error)
func (*DatabaseProvider) GetAccountInfoCountRequiringSwapRetry ¶
func (dp *DatabaseProvider) GetAccountInfoCountRequiringSwapRetry(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) GetAllPendingWebhooksReadyToSend ¶
func (*DatabaseProvider) GetAllTimelocksByState ¶
func (dp *DatabaseProvider) GetAllTimelocksByState(ctx context.Context, state timelock_token.TimelockState, opts ...query.Option) ([]*timelock.Record, error)
func (*DatabaseProvider) GetBalanceCheckpoint ¶
func (*DatabaseProvider) GetExchangeRate ¶
func (dp *DatabaseProvider) GetExchangeRate(ctx context.Context, code currency_lib.Code, t time.Time) (*currency.ExchangeRateRecord, error)
Currency --------------------------------------------------------------------------------
func (*DatabaseProvider) GetExchangeRateHistory ¶
func (dp *DatabaseProvider) GetExchangeRateHistory(ctx context.Context, code currency_lib.Code, opts ...query.Option) ([]*currency.ExchangeRateRecord, error)
func (*DatabaseProvider) GetExternalDeposit ¶
func (*DatabaseProvider) GetFiatOnrampPurchase ¶
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)
Fulfillment --------------------------------------------------------------------------------
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 ¶
Intent --------------------------------------------------------------------------------
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) (*account.Record, error)
func (*DatabaseProvider) GetLatestAccountInfosByOwnerAddress ¶
func (dp *DatabaseProvider) GetLatestAccountInfosByOwnerAddress(ctx context.Context, address string) (map[commonpb.AccountType][]*account.Record, error)
func (*DatabaseProvider) GetLatestIntentByInitiatorAndType ¶
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 ¶
Nonce --------------------------------------------------------------------------------
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) GetPrioritizedAccountInfosRequiringSwapRetry ¶
func (*DatabaseProvider) GetRandomAvailableNonceByPurpose ¶
func (*DatabaseProvider) GetRelationshipAccountInfoByOwnerAddress ¶
func (*DatabaseProvider) GetRendezvous ¶
func (dp *DatabaseProvider) GetRendezvous(ctx context.Context, key string) (*rendezvous.Record, error)
func (*DatabaseProvider) GetRequest ¶
func (dp *DatabaseProvider) GetRequest(ctx context.Context, intentId string) (*paymentrequest.Record, error)
func (*DatabaseProvider) GetTimelockByAddress ¶
func (*DatabaseProvider) GetTimelockByDepositPda ¶
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 ¶
func (*DatabaseProvider) GetTotalExternalDepositedAmountInQuarksBatch ¶
func (*DatabaseProvider) GetTotalExternalDepositedAmountInUsd ¶
func (*DatabaseProvider) GetTransactedAmountForAntiMoneyLaundering ¶
func (*DatabaseProvider) GetTransaction ¶
func (dp *DatabaseProvider) GetTransaction(ctx context.Context, sig string) (*transaction.Record, error)
Transaction --------------------------------------------------------------------------------
func (*DatabaseProvider) GetWebhook ¶
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 Tree
func (*DatabaseProvider) InitializeVmMemory ¶
VM RAM --------------------------------------------------------------------------------
func (*DatabaseProvider) InitializeVmStorage ¶
func (dp *DatabaseProvider) InitializeVmStorage(ctx context.Context, record *cvm_storage.Record) error
VM Storage --------------------------------------------------------------------------------
func (*DatabaseProvider) LoadExistingMerkleTree ¶
func (dp *DatabaseProvider) LoadExistingMerkleTree(ctx context.Context, name string, readOnly bool) (*merkletree.MerkleTree, error)
func (*DatabaseProvider) MarkFulfillmentAsActivelyScheduled ¶
func (dp *DatabaseProvider) MarkFulfillmentAsActivelyScheduled(ctx context.Context, id uint64) error
func (*DatabaseProvider) PutAllActions ¶
Action --------------------------------------------------------------------------------
func (*DatabaseProvider) PutAllFulfillments ¶
func (dp *DatabaseProvider) PutAllFulfillments(ctx context.Context, records ...*fulfillment.Record) error
func (*DatabaseProvider) PutFiatOnrampPurchase ¶
Onramp --------------------------------------------------------------------------------
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) SaveBalanceCheckpoint ¶
func (dp *DatabaseProvider) SaveBalanceCheckpoint(ctx context.Context, record *balance.Record) error
Balance --------------------------------------------------------------------------------
func (*DatabaseProvider) SaveExternalDeposit ¶
External Deposits --------------------------------------------------------------------------------
func (*DatabaseProvider) SaveIntent ¶
func (*DatabaseProvider) SaveRendezvous ¶
func (dp *DatabaseProvider) SaveRendezvous(ctx context.Context, record *rendezvous.Record) error
Rendezvous --------------------------------------------------------------------------------
func (*DatabaseProvider) SaveTimelock ¶
Timelock --------------------------------------------------------------------------------
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
func (*DatabaseProvider) UpdateWebhook ¶
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)