Documentation
¶
Index ¶
- Variables
- type Account
- type AccountBalance
- type AccountFilter
- type AccountFilterFlags
- type AccountFlags
- type ChangeEvent
- type ChangeEventType
- type ChangeEventsFilter
- type Client
- type CreateAccountResult
- type CreateAccountStatus
- type CreateTransferResult
- type CreateTransferStatus
- type QueryFilter
- type QueryFilterFlags
- type Transfer
- type TransferFlags
- type Uint128
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrUnexpected = errors.New("unexpected internal error") ErrOutOfMemory = errors.New("internal client ran out of memory") ErrSystemResources = errors.New("internal client ran out of system resources") ErrNetworkSubsystem = errors.New("internal client had unexpected networking issues") ErrAddressLimitExceeded = errors.New("too many addresses provided") ErrInvalidAddress = errors.New("invalid client cluster address") ErrClientEvicted = errors.New("client was evicted") ErrClientReleaseTooLow = errors.New("client was evicted: release too old") ErrClientReleaseTooHigh = errors.New("client was evicted: release too new") ErrClientClosed = errors.New("client was closed") ErrInvalidOperation = errors.New("internal operation provided was invalid") ErrTooMuchData = errors.New("too much data was sent or requested in this batch") )
View Source
var AmountMax = BytesToUint128([16]byte{
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
})
Functions ¶
This section is empty.
Types ¶
type Account ¶ added in v0.17.0
type Account struct {
ID Uint128
DebitsPending Uint128
DebitsPosted Uint128
CreditsPending Uint128
CreditsPosted Uint128
UserData128 Uint128
UserData64 uint64
UserData32 uint32
Reserved uint32
Ledger uint32
Code uint16
Flags uint16
Timestamp uint64
}
func (Account) AccountFlags ¶ added in v0.17.0
func (o Account) AccountFlags() AccountFlags
type AccountBalance ¶ added in v0.17.0
type AccountFilter ¶ added in v0.17.0
type AccountFilter struct {
AccountID Uint128
UserData128 Uint128
UserData64 uint64
UserData32 uint32
Code uint16
Reserved [58]uint8
TimestampMin uint64
TimestampMax uint64
Limit uint32
Flags uint32
}
func (AccountFilter) AccountFilterFlags ¶ added in v0.17.0
func (o AccountFilter) AccountFilterFlags() AccountFilterFlags
type AccountFilterFlags ¶ added in v0.17.0
func (AccountFilterFlags) ToUint32 ¶ added in v0.17.0
func (f AccountFilterFlags) ToUint32() uint32
type AccountFlags ¶ added in v0.17.0
type AccountFlags struct {
Linked bool
DebitsMustNotExceedCredits bool
CreditsMustNotExceedDebits bool
History bool
Imported bool
Closed bool
}
func (AccountFlags) ToUint16 ¶ added in v0.17.0
func (f AccountFlags) ToUint16() uint16
type ChangeEvent ¶ added in v0.17.0
type ChangeEvent struct {
TransferID Uint128
TransferAmount Uint128
TransferPendingID Uint128
TransferUserData128 Uint128
TransferUserData64 uint64
TransferUserData32 uint32
TransferTimeout uint32
TransferCode uint16
TransferFlags uint16
Ledger uint32
Type ChangeEventType
Reserved [39]uint8
DebitAccountID Uint128
DebitAccountDebitsPending Uint128
DebitAccountDebitsPosted Uint128
DebitAccountCreditsPending Uint128
DebitAccountCreditsPosted Uint128
DebitAccountUserData128 Uint128
DebitAccountUserData64 uint64
DebitAccountUserData32 uint32
DebitAccountCode uint16
DebitAccountFlags uint16
CreditAccountID Uint128
CreditAccountDebitsPending Uint128
CreditAccountDebitsPosted Uint128
CreditAccountCreditsPending Uint128
CreditAccountCreditsPosted Uint128
CreditAccountUserData128 Uint128
CreditAccountUserData64 uint64
CreditAccountUserData32 uint32
CreditAccountCode uint16
CreditAccountFlags uint16
Timestamp uint64
TransferTimestamp uint64
DebitAccountTimestamp uint64
CreditAccountTimestamp uint64
}
type ChangeEventType ¶ added in v0.17.0
type ChangeEventType uint8
const ( ChangeEventSinglePhase ChangeEventType = 0 ChangeEventTwoPhasePending ChangeEventType = 1 ChangeEventTwoPhasePosted ChangeEventType = 2 ChangeEventTwoPhaseVoided ChangeEventType = 3 ChangeEventTwoPhaseExpired ChangeEventType = 4 )
func (ChangeEventType) String ¶ added in v0.17.0
func (i ChangeEventType) String() string
type ChangeEventsFilter ¶ added in v0.17.0
type Client ¶
type Client interface {
CreateAccounts(accounts []Account) ([]CreateAccountResult, error)
CreateTransfers(transfers []Transfer) ([]CreateTransferResult, error)
LookupAccounts(accountIDs []Uint128) ([]Account, error)
LookupTransfers(transferIDs []Uint128) ([]Transfer, error)
GetAccountTransfers(filter AccountFilter) ([]Transfer, error)
GetAccountBalances(filter AccountFilter) ([]AccountBalance, error)
QueryAccounts(filter QueryFilter) ([]Account, error)
QueryTransfers(filter QueryFilter) ([]Transfer, error)
// Experimental: GetChangeEvents API is undocumented.
GetChangeEvents(filter ChangeEventsFilter) ([]ChangeEvent, error)
Nop() error
Close()
}
type CreateAccountResult ¶ added in v0.17.0
type CreateAccountResult struct {
Timestamp uint64
Status CreateAccountStatus
Reserved uint32
}
type CreateAccountStatus ¶ added in v0.17.0
type CreateAccountStatus uint32
const ( AccountCreated CreateAccountStatus = 0xFFFFFFFF AccountLinkedEventFailed CreateAccountStatus = 1 AccountLinkedEventChainOpen CreateAccountStatus = 2 AccountImportedEventExpected CreateAccountStatus = 22 AccountImportedEventNotExpected CreateAccountStatus = 23 AccountTimestampMustBeZero CreateAccountStatus = 3 AccountImportedEventTimestampOutOfRange CreateAccountStatus = 24 AccountImportedEventTimestampMustNotAdvance CreateAccountStatus = 25 AccountReservedField CreateAccountStatus = 4 AccountReservedFlag CreateAccountStatus = 5 AccountIDMustNotBeZero CreateAccountStatus = 6 AccountIDMustNotBeIntMax CreateAccountStatus = 7 AccountExistsWithDifferentFlags CreateAccountStatus = 15 AccountExistsWithDifferentUserData128 CreateAccountStatus = 16 AccountExistsWithDifferentUserData64 CreateAccountStatus = 17 AccountExistsWithDifferentUserData32 CreateAccountStatus = 18 AccountExistsWithDifferentLedger CreateAccountStatus = 19 AccountExistsWithDifferentCode CreateAccountStatus = 20 AccountExists CreateAccountStatus = 21 AccountFlagsAreMutuallyExclusive CreateAccountStatus = 8 AccountDebitsPendingMustBeZero CreateAccountStatus = 9 AccountDebitsPostedMustBeZero CreateAccountStatus = 10 AccountCreditsPendingMustBeZero CreateAccountStatus = 11 AccountCreditsPostedMustBeZero CreateAccountStatus = 12 AccountLedgerMustNotBeZero CreateAccountStatus = 13 AccountCodeMustNotBeZero CreateAccountStatus = 14 AccountImportedEventTimestampMustNotRegress CreateAccountStatus = 26 )
func (CreateAccountStatus) String ¶ added in v0.17.0
func (i CreateAccountStatus) String() string
type CreateTransferResult ¶ added in v0.17.0
type CreateTransferResult struct {
Timestamp uint64
Status CreateTransferStatus
Reserved uint32
}
type CreateTransferStatus ¶ added in v0.17.0
type CreateTransferStatus uint32
const ( TransferCreated CreateTransferStatus = 0xFFFFFFFF TransferLinkedEventFailed CreateTransferStatus = 1 TransferLinkedEventChainOpen CreateTransferStatus = 2 TransferImportedEventExpected CreateTransferStatus = 56 TransferImportedEventNotExpected CreateTransferStatus = 57 TransferTimestampMustBeZero CreateTransferStatus = 3 TransferImportedEventTimestampOutOfRange CreateTransferStatus = 58 TransferImportedEventTimestampMustNotAdvance CreateTransferStatus = 59 TransferReservedFlag CreateTransferStatus = 4 TransferIDMustNotBeZero CreateTransferStatus = 5 TransferIDMustNotBeIntMax CreateTransferStatus = 6 TransferExistsWithDifferentFlags CreateTransferStatus = 36 TransferExistsWithDifferentPendingID CreateTransferStatus = 40 TransferExistsWithDifferentTimeout CreateTransferStatus = 44 TransferExistsWithDifferentDebitAccountID CreateTransferStatus = 37 TransferExistsWithDifferentCreditAccountID CreateTransferStatus = 38 TransferExistsWithDifferentAmount CreateTransferStatus = 39 TransferExistsWithDifferentUserData128 CreateTransferStatus = 41 TransferExistsWithDifferentUserData64 CreateTransferStatus = 42 TransferExistsWithDifferentUserData32 CreateTransferStatus = 43 TransferExistsWithDifferentLedger CreateTransferStatus = 67 TransferExistsWithDifferentCode CreateTransferStatus = 45 TransferExists CreateTransferStatus = 46 TransferIDAlreadyFailed CreateTransferStatus = 68 TransferFlagsAreMutuallyExclusive CreateTransferStatus = 7 TransferDebitAccountIDMustNotBeZero CreateTransferStatus = 8 TransferDebitAccountIDMustNotBeIntMax CreateTransferStatus = 9 TransferCreditAccountIDMustNotBeZero CreateTransferStatus = 10 TransferCreditAccountIDMustNotBeIntMax CreateTransferStatus = 11 TransferAccountsMustBeDifferent CreateTransferStatus = 12 TransferPendingIDMustBeZero CreateTransferStatus = 13 TransferPendingIDMustNotBeZero CreateTransferStatus = 14 TransferPendingIDMustNotBeIntMax CreateTransferStatus = 15 TransferPendingIDMustBeDifferent CreateTransferStatus = 16 TransferTimeoutReservedForPendingTransfer CreateTransferStatus = 17 TransferClosingTransferMustBePending CreateTransferStatus = 64 TransferLedgerMustNotBeZero CreateTransferStatus = 19 TransferCodeMustNotBeZero CreateTransferStatus = 20 TransferDebitAccountNotFound CreateTransferStatus = 21 TransferCreditAccountNotFound CreateTransferStatus = 22 TransferAccountsMustHaveTheSameLedger CreateTransferStatus = 23 TransferTransferMustHaveTheSameLedgerAsAccounts CreateTransferStatus = 24 TransferPendingTransferNotFound CreateTransferStatus = 25 TransferPendingTransferNotPending CreateTransferStatus = 26 TransferPendingTransferHasDifferentDebitAccountID CreateTransferStatus = 27 TransferPendingTransferHasDifferentCreditAccountID CreateTransferStatus = 28 TransferPendingTransferHasDifferentLedger CreateTransferStatus = 29 TransferPendingTransferHasDifferentCode CreateTransferStatus = 30 TransferExceedsPendingTransferAmount CreateTransferStatus = 31 TransferPendingTransferHasDifferentAmount CreateTransferStatus = 32 TransferPendingTransferAlreadyPosted CreateTransferStatus = 33 TransferPendingTransferAlreadyVoided CreateTransferStatus = 34 TransferPendingTransferExpired CreateTransferStatus = 35 TransferImportedEventTimestampMustNotRegress CreateTransferStatus = 60 TransferImportedEventTimestampMustPostdateDebitAccount CreateTransferStatus = 61 TransferImportedEventTimestampMustPostdateCreditAccount CreateTransferStatus = 62 TransferImportedEventTimeoutMustBeZero CreateTransferStatus = 63 TransferDebitAccountAlreadyClosed CreateTransferStatus = 65 TransferCreditAccountAlreadyClosed CreateTransferStatus = 66 TransferOverflowsDebitsPending CreateTransferStatus = 47 TransferOverflowsCreditsPending CreateTransferStatus = 48 TransferOverflowsDebitsPosted CreateTransferStatus = 49 TransferOverflowsCreditsPosted CreateTransferStatus = 50 TransferOverflowsDebits CreateTransferStatus = 51 TransferOverflowsCredits CreateTransferStatus = 52 TransferOverflowsTimeout CreateTransferStatus = 53 TransferExceedsCredits CreateTransferStatus = 54 TransferExceedsDebits CreateTransferStatus = 55 )
func (CreateTransferStatus) String ¶ added in v0.17.0
func (i CreateTransferStatus) String() string
type QueryFilter ¶ added in v0.17.0
type QueryFilter struct {
UserData128 Uint128
UserData64 uint64
UserData32 uint32
Ledger uint32
Code uint16
Reserved [6]uint8
TimestampMin uint64
TimestampMax uint64
Limit uint32
Flags uint32
}
func (QueryFilter) QueryFilterFlags ¶ added in v0.17.0
func (o QueryFilter) QueryFilterFlags() QueryFilterFlags
type QueryFilterFlags ¶ added in v0.17.0
type QueryFilterFlags struct {
Reversed bool
}
func (QueryFilterFlags) ToUint32 ¶ added in v0.17.0
func (f QueryFilterFlags) ToUint32() uint32
type Transfer ¶ added in v0.17.0
type Transfer struct {
ID Uint128
DebitAccountID Uint128
CreditAccountID Uint128
Amount Uint128
PendingID Uint128
UserData128 Uint128
UserData64 uint64
UserData32 uint32
Timeout uint32
Ledger uint32
Code uint16
Flags uint16
Timestamp uint64
}
func (Transfer) TransferFlags ¶ added in v0.17.0
func (o Transfer) TransferFlags() TransferFlags
type TransferFlags ¶ added in v0.17.0
type TransferFlags struct {
Linked bool
Pending bool
PostPendingTransfer bool
VoidPendingTransfer bool
BalancingDebit bool
BalancingCredit bool
ClosingDebit bool
ClosingCredit bool
Imported bool
}
func (TransferFlags) ToUint16 ¶ added in v0.17.0
func (f TransferFlags) ToUint16() uint16
type Uint128 ¶ added in v0.17.0
type Uint128 C.tb_uint128_t
func BigIntToUint128 ¶ added in v0.17.0
BigIntToUint128 converts a math/big.Int to a Uint128.
func BytesToUint128 ¶ added in v0.17.0
BytesToUint128 converts a raw [16]byte value to Uint128.
func HexStringToUint128 ¶ added in v0.17.0
HexStringToUint128 converts a hex-encoded integer to a Uint128.
func ID ¶ added in v0.17.0
func ID() Uint128
Generates a Universally Unique and Sortable Identifier based on https://github.com/ulid/spec. Uint128 returned are guaranteed to be monotonically increasing when interpreted as little-endian. `ID()` is safe to call from multiple goroutines with monotonicity being sequentially consistent.
Panics if it is unable to generated random bytes. Panics if the timestamp is outside of a reasonable bounds.
Click to show internal directories.
Click to hide internal directories.