Documentation ¶
Index ¶
- Constants
- Variables
- func AuthorizeToken(ctx context.Context, clientID, clientSecret string, code string, ...) (string, string, error)
- func BuildMintCollectibleMemo(collectionID, tokenID string, content []byte) string
- func CallMixinNetRPC(ctx context.Context, resp interface{}, method string, params ...interface{}) error
- func DecodeMixinNetResponse(resp *resty.Response) ([]byte, error)
- func DecodeResponse(resp *resty.Response) ([]byte, error)
- func DecryptMessageCategory(category string) string
- func DecryptMessageData(data []byte, sessionID string, private ed25519.PrivateKey) ([]byte, error)
- func EncryptMessageCategory(category string) string
- func EncryptMessageData(data []byte, sessions []*Session, private ed25519.PrivateKey) ([]byte, error)
- func GenerateEd25519Key() ed25519.PrivateKey
- func GenerateSessionChecksum(sessions []*Session) string
- func GetClient() *http.Client
- func GetRestyClient() *resty.Client
- func HashMembers(ids []string) string
- func IsEncryptedMessageCategory(category string) bool
- func IsEncryptedMessageSupported(sessions []*Session) bool
- func IsErrorCodes(err error, codes ...int) bool
- func IsPlainMessageCategory(category string) bool
- func MixinNetClientFromContext(ctx context.Context) *resty.Client
- func RandomMixinNetHost() string
- func RandomPin() string
- func RandomTraceID() string
- func Request(ctx context.Context) *resty.Request
- func RequestIdFromContext(ctx context.Context) string
- func SignRaw(method, uri string, body []byte) string
- func SignRequest(r *http.Request) string
- func SignResponse(r *resty.Response) string
- func UniqueConversationID(userID, recipientID string) string
- func UnmarshalMixinNetResponse(resp *resty.Response, v interface{}) error
- func UnmarshalResponse(resp *resty.Response, v interface{}) (err error)
- func UploadAttachment(ctx context.Context, attachment *Attachment, file []byte) error
- func UploadAttachmentTo(ctx context.Context, uploadURL string, file []byte) error
- func UseApiHost(host string)
- func UseAutoFasterRoute()
- func UseBlazeHost(host string)
- func UseBlazeURL(rawURL string)
- func UseMixinNetHosts(hosts []string)
- func ValidatePinPattern(pin string) error
- func VerifyTransaction(ctx context.Context, addr *MixinnetAddress, txHash Hash) (bool, error)
- func WithMixinNetHost(ctx context.Context, host string) context.Context
- func WithRequestID(ctx context.Context, requestID string) context.Context
- func WithSigner(ctx context.Context, s Signer) context.Context
- func WithVerifier(ctx context.Context, v Verifier) context.Context
- func WrapErrWithRequestID(err error, id string) error
- type AckQueue
- type AcknowledgementRequest
- type Address
- type AggregatedSignature
- type App
- type AppButtonGroupMessage
- type AppButtonMessage
- type AppCardMessage
- type Asset
- func ReadAsset(ctx context.Context, accessToken, assetID string) (*Asset, error)
- func ReadAssets(ctx context.Context, accessToken string) ([]*Asset, error)
- func ReadMultisigAssets(ctx context.Context) ([]*Asset, error)
- func ReadNetworkAsset(ctx context.Context, assetID string) (*Asset, error)
- func ReadNetworkAssetsBySymbol(ctx context.Context, symbol string) ([]*Asset, error)
- func ReadTopNetworkAssets(ctx context.Context) ([]*Asset, error)
- type Attachment
- type AudioMessage
- type BlazeListenFunc
- type BlazeListener
- type BlazeMessage
- type BlazeOption
- type Client
- func (c *Client) AddFriend(ctx context.Context, userID, remark string) (*User, error)
- func (c *Client) AddParticipants(ctx context.Context, conversationID string, users ...string) (*Conversation, error)
- func (c *Client) AdminParticipants(ctx context.Context, conversationID string, users ...string) (*Conversation, error)
- func (c *Client) BatchReadGhostKeys(ctx context.Context, inputs []*GhostInput) ([]*GhostKeys, error)
- func (c *Client) BlockUser(ctx context.Context, userID string) (*User, error)
- func (c *Client) CancelCollectibleRequest(ctx context.Context, reqID string) error
- func (c *Client) CancelMultisig(ctx context.Context, reqID string) error
- func (c *Client) CreateAddress(ctx context.Context, input CreateAddressInput, pin string) (*Address, error)
- func (c *Client) CreateAttachment(ctx context.Context) (*Attachment, error)
- func (c *Client) CreateCollectibleRequest(ctx context.Context, action, raw string) (*CollectibleRequest, error)
- func (c *Client) CreateContactConversation(ctx context.Context, userID string) (*Conversation, error)
- func (c *Client) CreateConversation(ctx context.Context, input *CreateConversationInput) (*Conversation, error)
- func (c *Client) CreateGroupConversation(ctx context.Context, conversationID, name string, participants []*Participant) (*Conversation, error)
- func (c *Client) CreateMultisig(ctx context.Context, action, raw string) (*MultisigRequest, error)
- func (c *Client) CreateUser(ctx context.Context, key crypto.Signer, fullname string) (*User, *Keystore, error)
- func (c *Client) DeleteAddress(ctx context.Context, addressID, pin string) error
- func (c *Client) EncryptMessageRequest(req *MessageRequest, sessions []*Session) error
- func (c *Client) FavoriteApp(ctx context.Context, appID string) (*FavoriteApp, error)
- func (c *Client) FetchSessions(ctx context.Context, ids []string) ([]*Session, error)
- func (c *Client) Get(ctx context.Context, uri string, params map[string]string, resp interface{}) error
- func (c *Client) GetRawTransaction(ctx context.Context, hash Hash) (*Transaction, error)
- func (c *Client) ListMultisigOutputs(ctx context.Context, opt ListMultisigOutputsOption) ([]*MultisigUTXO, error)
- func (c *Client) LoopBlaze(ctx context.Context, listener BlazeListener, opts ...BlazeOption) error
- func (c *Client) MakeCollectibleTransaction(ctx context.Context, output *CollectibleOutput, token *CollectibleToken, ...) (*Transaction, error)
- func (c *Client) MakeMultisigTransaction(ctx context.Context, input *TransactionInput) (*Transaction, error)
- func (c *Client) ManageConversation(ctx context.Context, conversationID, action string, ...) (*Conversation, error)
- func (c *Client) ModifyPin(ctx context.Context, pin, newPin string) error
- func (c *Client) ModifyProfile(ctx context.Context, fullname, avatarBase64 string) (*User, error)
- func (c *Client) Post(ctx context.Context, uri string, body interface{}, resp interface{}) error
- func (c *Client) ReadAddress(ctx context.Context, addressID string) (*Address, error)
- func (c *Client) ReadAddresses(ctx context.Context, assetID string) ([]*Address, error)
- func (c *Client) ReadApp(ctx context.Context, appID string) (*App, error)
- func (c *Client) ReadAsset(ctx context.Context, assetID string) (*Asset, error)
- func (c *Client) ReadAssetFee(ctx context.Context, assetID string) (decimal.Decimal, error)
- func (c *Client) ReadAssets(ctx context.Context) ([]*Asset, error)
- func (c *Client) ReadCollectibleOutputs(ctx context.Context, members []string, threshold uint8, offset time.Time, ...) ([]*CollectibleOutput, error)
- func (c *Client) ReadCollectiblesToken(ctx context.Context, id string) (*CollectibleToken, error)
- func (c *Client) ReadConsensusInfo(ctx context.Context) (*ConsensusInfo, error)
- func (c *Client) ReadConversation(ctx context.Context, conversationID string) (*Conversation, error)
- func (c *Client) ReadExchangeRates(ctx context.Context) ([]ExchangeRate, error)
- func (c *Client) ReadFavoriteApps(ctx context.Context, userID string) ([]*FavoriteApp, error)
- func (c *Client) ReadFiats(ctx context.Context) ([]Fiat, error)
- func (c *Client) ReadFriends(ctx context.Context) ([]*User, error)
- func (c *Client) ReadGhostKeys(ctx context.Context, receivers []string, index int) (*GhostKeys, error)
- func (c *Client) ReadMultisigOutputs(ctx context.Context, members []string, threshold uint8, offset time.Time, ...) ([]*MultisigUTXO, error)
- func (c *Client) ReadMultisigs(ctx context.Context, offset time.Time, limit int) ([]*MultisigUTXO, error)
- func (c *Client) ReadNetworkSnapshot(ctx context.Context, snapshotID string) (*Snapshot, error)
- func (c *Client) ReadNetworkSnapshots(ctx context.Context, assetID string, offset time.Time, order string, limit int) ([]*Snapshot, error)
- func (c *Client) ReadSnapshot(ctx context.Context, snapshotID string) (*Snapshot, error)
- func (c *Client) ReadSnapshotByTraceID(ctx context.Context, traceID string) (*Snapshot, error)
- func (c *Client) ReadSnapshots(ctx context.Context, assetID string, offset time.Time, order string, limit int) ([]*Snapshot, error)
- func (c *Client) ReadSnapshotsWithOptions(ctx context.Context, offset time.Time, limit int, input ReadSnapshotsOptions) ([]*Snapshot, error)
- func (c *Client) ReadTransfer(ctx context.Context, traceID string) (*Snapshot, error)
- func (c *Client) ReadTurnServers(ctx context.Context) ([]*Turn, error)
- func (c *Client) ReadUser(ctx context.Context, userIdOrIdentityNumber string) (*User, error)
- func (c *Client) ReadUsers(ctx context.Context, ids ...string) ([]*User, error)
- func (c *Client) RemarkFriend(ctx context.Context, userID, remark string) (*User, error)
- func (c *Client) RemoveFriend(ctx context.Context, userID string) (*User, error)
- func (c *Client) RemoveParticipants(ctx context.Context, conversationID string, users ...string) (*Conversation, error)
- func (c *Client) Request(ctx context.Context) *resty.Request
- func (c *Client) RotateConversation(ctx context.Context, conversationID string) (*Conversation, error)
- func (c *Client) SearchUser(ctx context.Context, identityNumberOrPhoneNumber string) (*User, error)
- func (c *Client) SendAcknowledgement(ctx context.Context, request *AcknowledgementRequest) error
- func (c *Client) SendAcknowledgements(ctx context.Context, requests []*AcknowledgementRequest) error
- func (c *Client) SendEncryptedMessages(ctx context.Context, messages []*MessageRequest) ([]*EncryptedMessageReceipt, error)
- func (c *Client) SendMessage(ctx context.Context, message *MessageRequest) error
- func (c *Client) SendMessages(ctx context.Context, messages []*MessageRequest) error
- func (c *Client) SendRawMessage(ctx context.Context, message json.RawMessage) error
- func (c *Client) SendRawMessages(ctx context.Context, messages []json.RawMessage) error
- func (c *Client) SendRawTransaction(ctx context.Context, raw string) (*Hash, error)
- func (c *Client) ShowAttachment(ctx context.Context, id string) (*Attachment, error)
- func (c *Client) SignCollectibleRequest(ctx context.Context, reqID, pin string) (*CollectibleRequest, error)
- func (c *Client) SignMultisig(ctx context.Context, reqID, pin string) (*MultisigRequest, error)
- func (c *Client) Transaction(ctx context.Context, in *TransferInput, pin string) (*RawTransaction, error)
- func (c *Client) Transfer(ctx context.Context, input *TransferInput, pin string) (*Snapshot, error)
- func (c *Client) UnblockUser(ctx context.Context, userID string) (*User, error)
- func (c *Client) UnfavoriteApp(ctx context.Context, appID string) error
- func (c *Client) UnlockCollectibleRequest(ctx context.Context, reqID, pin string) error
- func (c *Client) UnlockMultisig(ctx context.Context, reqID, pin string) error
- func (c *Client) UpdateApp(ctx context.Context, appID string, req UpdateAppRequest) (*App, error)
- func (c *Client) UpdateConversation(ctx context.Context, conversationID string, input ConversationUpdate) (*Conversation, error)
- func (c *Client) UpdateConversationAnnouncement(ctx context.Context, conversationID, announcement string) (*Conversation, error)
- func (c *Client) UpdateRelationship(ctx context.Context, req RelationshipRequest) (*User, error)
- func (c *Client) UserMe(ctx context.Context) (*User, error)
- func (c *Client) VerifyPayment(ctx context.Context, input TransferInput) (*Payment, error)
- func (c *Client) VerifyPin(ctx context.Context, pin string) error
- func (c *Client) Withdraw(ctx context.Context, input WithdrawInput, pin string) (*Snapshot, error)
- type CollectibleOutput
- type CollectibleRequest
- type CollectibleToken
- type CollectibleTokenMeta
- type ConsensusInfo
- type ConsensusNode
- type ContactMessage
- type Conversation
- type ConversationUpdate
- type CreateAddressInput
- type CreateConversationInput
- type DataMessage
- type Decoder
- func (dec *Decoder) DecodeTransaction() (*Transaction, error)
- func (dec *Decoder) Read(b []byte) error
- func (dec *Decoder) ReadAggregatedSignature() (*AggregatedSignature, error)
- func (dec *Decoder) ReadBytes() ([]byte, error)
- func (dec *Decoder) ReadInput() (*Input, error)
- func (dec *Decoder) ReadInt() (int, error)
- func (dec *Decoder) ReadInteger() (Integer, error)
- func (dec *Decoder) ReadMagic() (bool, error)
- func (dec *Decoder) ReadOutput() (*Output, error)
- func (dec *Decoder) ReadSignatures() (map[uint16]*Signature, error)
- func (dec *Decoder) ReadUint16() (uint16, error)
- func (dec *Decoder) ReadUint64() (uint64, error)
- type DepositData
- type EdDSASigningMethod
- type Encoder
- func (enc *Encoder) EncodeAggregatedSignature(js *AggregatedSignature)
- func (enc *Encoder) EncodeInput(in *Input)
- func (enc *Encoder) EncodeOutput(o *Output)
- func (enc *Encoder) EncodeSignatures(sm map[uint16]*Signature)
- func (enc *Encoder) EncodeTransaction(signed *Transaction) []byte
- func (enc *Encoder) Write(b []byte)
- func (enc *Encoder) WriteByte(b byte)
- func (enc *Encoder) WriteInt(d int)
- func (enc *Encoder) WriteInteger(d Integer)
- func (enc *Encoder) WriteUint16(d uint16)
- func (enc *Encoder) WriteUint64(d uint64)
- type EncryptedMessageReceipt
- type Error
- type ExchangeRate
- type ExternalTransaction
- type FavoriteApp
- type Fiat
- type GhostInput
- type GhostKeys
- type Graph
- type GraphCache
- type GraphFinal
- type GraphReferences
- type GraphSnapshot
- type Hash
- type ImageMessage
- type Input
- type Integer
- type Key
- func DeriveGhostPrivateKey(R, a, b *Key, outputIndex int) *Key
- func DeriveGhostPublicKey(r, A, B *Key, outputIndex int) *Key
- func KeyFromString(s string) (Key, error)
- func KeyMultPubPriv(pub, priv *Key) *Key
- func NewKey(randReader io.Reader) Key
- func NewKeyFromSeed(seed []byte) Key
- func ViewGhostOutputKey(P, a, R *Key, outputIndex int) *Key
- func (k Key) CheckKey() bool
- func (k Key) CheckScalar() bool
- func (k Key) DeterministicHashDerive() Key
- func (k Key) HasValue() bool
- func (k Key) HashScalar() *[32]byte
- func (k Key) MarshalJSON() ([]byte, error)
- func (k *Key) MultScalar(outputIndex int) *Key
- func (k Key) Public() Key
- func (privateKey *Key) Sign(message []byte) *Signature
- func (k Key) String() string
- func (k *Key) UnmarshalJSON(b []byte) error
- func (publicKey *Key) Verify(message []byte, sig *Signature) bool
- func (publicKey *Key) VerifyWithChallenge(message []byte, sig *Signature, hReduced [32]byte) bool
- type Keystore
- type KeystoreAuth
- type ListMultisigOutputsOption
- type LiveMessage
- type LocationMessage
- type MessageLocker
- type MessageRequest
- type MessageView
- type Mint
- type MintData
- type MixinnetAddress
- type MultisigRequest
- type MultisigUTXO
- type NetworkAsset
- type NetworkChain
- type NetworkInfo
- type OauthKeystore
- type OauthKeystoreAuth
- func (o *OauthKeystoreAuth) EncryptPin(pin string) string
- func (o *OauthKeystoreAuth) SignToken(signature, requestID string, exp time.Duration) string
- func (o *OauthKeystoreAuth) SignTokenAt(signature, requestID string, at time.Time, exp time.Duration) string
- func (o *OauthKeystoreAuth) Verify(resp *resty.Response) error
- type Output
- type Participant
- type Payment
- type Queue
- type RawTransaction
- type ReadSnapshotsOptions
- type RecallMessage
- type RecipientSession
- type RelationshipRequest
- type Script
- type Session
- type Signature
- type Signer
- type Snapshot
- func ReadSnapshot(ctx context.Context, accessToken, snapshotID string) (*Snapshot, error)
- func ReadSnapshotByTraceID(ctx context.Context, accessToken, traceID string) (*Snapshot, error)
- func ReadSnapshots(ctx context.Context, accessToken string, assetID string, offset time.Time, ...) ([]*Snapshot, error)
- func ReadSnapshotsWithOptions(ctx context.Context, accessToken string, offset time.Time, limit int, ...) ([]*Snapshot, error)
- type StickerMessage
- type SystemConversationPayload
- type Ticker
- type Transaction
- type TransactionExtra
- type TransactionInput
- func (i *TransactionInput) AppendOutput(receivers []string, threshold uint8, amount decimal.Decimal)
- func (i *TransactionInput) AppendUTXO(utxo *MultisigUTXO)
- func (i *TransactionInput) Asset() Hash
- func (i *TransactionInput) TotalInputAmount() decimal.Decimal
- func (i *TransactionInput) Validate() error
- type TransactionOutput
- type TransactionV1
- type TranscriptMessage
- type TransferInput
- type TransferView
- type Turn
- type UpdateAppRequest
- type User
- type Verifier
- type VideoMessage
- type WithdrawInput
- type WithdrawalData
Constants ¶
const ( ScopeProfileRead = "PROFILE:READ" ScopePhoneRead = "PHONE:READ" ScopeContactRead = "CONTACTS:READ" ScopeAssetsRead = "ASSETS:READ" ScopeSnapshotsRead = "SNAPSHOTS:READ" ScopeFull = "FULL" )
const ( CreateMessageAction = "CREATE_MESSAGE" AcknowledgeReceiptAction = "ACKNOWLEDGE_MESSAGE_RECEIPT" )
const ( // CollectibleOutputState CollectibleOutputStateUnspent = "unspent" CollectibleOutputStateSigned = "signed" CollectibleOutputStateSpent = "spent" // CollectibleRequestAction CollectibleRequestActionSign = "sign" CollectibleRequestActionUnlock = "unlock" // CollectibleRequestState CollectibleRequestStateInitial = "initial" CollectibleRequestStateSigned = "signed" )
const ( ConversationCategoryContact = "CONTACT" ConversationCategoryGroup = "GROUP" ParticipantActionCreate = "CREATE" ParticipantActionAdd = "ADD" ParticipantActionRemove = "REMOVE" ParticipantActionJoin = "JOIN" ParticipantActionExit = "EXIT" ParticipantActionRole = "ROLE" ParticipantRoleOwner = "OWNER" ParticipantRoleAdmin = "ADMIN" ParticipantRoleMember = "" )
const ( DefaultApiHost = "https://api.mixin.one" DefaultBlazeHost = "blaze.mixin.one" ZeromeshApiHost = "https://mixin-api.zeromesh.net" ZeromeshBlazeHost = "mixin-blaze.zeromesh.net" EchoApiHost = "https://echo.yiplee.com" )
const ( EndpointNotFound = 404 InsufficientBalance = 20117 PinIncorrect = 20119 InsufficientFee = 20124 InvalidTraceID = 20125 InvalidReceivers = 20150 InvalidOutputKey = 2000001 InputLocked = 2000002 InvalidSignature = 2000003 )
mixin error codes https://developers.mixin.one/api/alpha-mixin-network/errors/
const ( MessageCategoryPlainText = "PLAIN_TEXT" MessageCategoryPlainPost = "PLAIN_POST" MessageCategoryPlainImage = "PLAIN_IMAGE" MessageCategoryPlainAudio = "PLAIN_AUDIO" MessageCategoryPlainData = "PLAIN_DATA" MessageCategoryPlainSticker = "PLAIN_STICKER" MessageCategoryPlainLive = "PLAIN_LIVE" MessageCategoryPlainVideo = "PLAIN_VIDEO" MessageCategoryPlainContact = "PLAIN_CONTACT" MessageCategoryPlainTranscript = "PLAIN_TRANSCRIPT" MessageCategoryPlainLocation = "PLAIN_LOCATION" MessageCategoryAppCard = "APP_CARD" MessageCategoryAppButtonGroup = "APP_BUTTON_GROUP" MessageCategoryMessageRecall = "MESSAGE_RECALL" MessageCategorySystemConversation = "SYSTEM_CONVERSATION" MessageCategorySystemAccountSnapshot = "SYSTEM_ACCOUNT_SNAPSHOT" MessageStatusSent = "SENT" MessageStatusDelivered = "DELIVERED" MessageStatusRead = "READ" )
const ( EncryptedMessageReceiptStateSuccess = "SUCCESS" EncryptedMessageReceiptStateFailed = "FAILED" )
const ( TxMethodSend = "sendrawtransaction" TxMethodGet = "gettransaction" )
const ( Operator0 = 0x00 Operator64 = 0x40 OperatorSum = 0xfe OperatorCmp = 0xff )
const ( MaximumEncodingInt = 0xFFFF AggregatedSignaturePrefix = 0xFF01 AggregatedSignatureSparseMask = byte(0x01) AggregatedSignatureOrdinayMask = byte(0x00) )
const ( UTXOStateUnspent = "unspent" UTXOStateSigned = "signed" UTXOStateSpent = "spent" )
const ( MultisigActionSign = "sign" MultisigActionUnlock = "unlock" )
const ( MultisigStateInitial = "initial" MultisigStateSigned = "signed" )
const ( PaymentStatusPending = "pending" PaymentStatusPaid = "paid" )
const ( RelationshipActionAdd = "ADD" RelationshipActionRemove = "Remove" RelationshipActionUpdate = "UPDATE" RelationshipActionBlock = "BLOCK" RelationshipActionUnblock = "UNBLOCK" )
const ( SessionPlatformIOS = "iOS" SessionPlatformAndroid = "Android" SessionPlatformDesktop = "Desktop" )
const MainNetworkID = "XIN"
const Precision = 8
const Scheme = "mixin"
const (
TxVersion = 0x02
)
Variables ¶
var (
ErrResponseVerifyFailed = errors.New("response verify failed")
)
var URL urlScheme
Functions ¶
func AuthorizeToken ¶
func BuildMintCollectibleMemo ¶ added in v1.5.4
func CallMixinNetRPC ¶ added in v1.3.4
func DecodeMixinNetResponse ¶ added in v1.0.12
func DecodeResponse ¶
func DecryptMessageCategory ¶ added in v1.5.10
func DecryptMessageData ¶ added in v1.5.10
func EncryptMessageCategory ¶ added in v1.5.10
func EncryptMessageData ¶ added in v1.5.10
func GenerateEd25519Key ¶
func GenerateEd25519Key() ed25519.PrivateKey
func GenerateSessionChecksum ¶ added in v1.5.10
func GetRestyClient ¶ added in v1.4.1
func GetRestyClient() *resty.Client
func HashMembers ¶ added in v1.1.6
func IsEncryptedMessageCategory ¶ added in v1.5.10
func IsEncryptedMessageSupported ¶ added in v1.5.10
func IsErrorCodes ¶
func IsPlainMessageCategory ¶ added in v1.5.10
func MixinNetClientFromContext ¶ added in v1.2.1
func RandomMixinNetHost ¶ added in v1.2.1
func RandomMixinNetHost() string
func RandomTraceID ¶
func RandomTraceID() string
func RequestIdFromContext ¶
func SignRequest ¶
func SignResponse ¶
func SignResponse(r *resty.Response) string
func UniqueConversationID ¶
func UnmarshalMixinNetResponse ¶ added in v1.0.12
func UnmarshalMixinNetResponse(resp *resty.Response, v interface{}) error
func UnmarshalResponse ¶
func UnmarshalResponse(resp *resty.Response, v interface{}) (err error)
func UploadAttachment ¶
func UploadAttachment(ctx context.Context, attachment *Attachment, file []byte) error
func UploadAttachmentTo ¶ added in v1.0.4
func UseApiHost ¶
func UseApiHost(host string)
func UseAutoFasterRoute ¶ added in v1.5.9
func UseAutoFasterRoute()
func UseBlazeHost ¶
func UseBlazeHost(host string)
func UseBlazeURL ¶ added in v1.3.8
func UseBlazeURL(rawURL string)
func UseMixinNetHosts ¶ added in v1.2.1
func UseMixinNetHosts(hosts []string)
func ValidatePinPattern ¶ added in v1.0.5
ValidatePinPattern validate the pin with pinRegex
func VerifyTransaction ¶ added in v1.2.0
检查 transaction 是否是由该主网地址签发。满足以下所有条件则返回 true:
- 所有 input 对应的 utxo 只有一个 keys, 即 不是多签地址 转出
- 该 input 的 mask & keys 可以使用该地址的 private view 和 public spend 碰撞通过
func WithMixinNetHost ¶ added in v1.2.1
func WithRequestID ¶
WithRequestID bind request id to context request id must be uuid
func WrapErrWithRequestID ¶ added in v1.2.7
Types ¶
type AcknowledgementRequest ¶
type Address ¶
type Address struct { AddressID string `json:"address_id,omitempty"` AssetID string `json:"asset_id"` Label string `json:"label,omitempty"` Destination string `json:"destination,omitempty"` Tag string `json:"tag,omitempty"` Fee decimal.Decimal `json:"fee,omitempty"` Dust decimal.Decimal `json:"dust,omitempty"` }
func ReadAddress ¶
type AggregatedSignature ¶ added in v1.4.2
type App ¶
type App struct { UpdatedAt time.Time `json:"updated_at,omitempty"` AppID string `json:"app_id,omitempty"` AppNumber string `json:"app_number,omitempty"` RedirectURI string `json:"redirect_uri,omitempty"` HomeURI string `json:"home_uri,omitempty"` Name string `json:"name,omitempty"` IconURL string `json:"icon_url,omitempty"` Description string `json:"description,omitempty"` Capabilities []string `json:"capabilities,omitempty"` ResourcePatterns []string `json:"resource_patterns,omitempty"` Category string `json:"category,omitempty"` CreatorID string `json:"creator_id,omitempty"` AppSecret string `json:"app_secret,omitempty"` }
type AppButtonGroupMessage ¶
type AppButtonGroupMessage []AppButtonMessage
type AppButtonMessage ¶
type AppCardMessage ¶
type Asset ¶
type Asset struct { AssetID string `json:"asset_id"` ChainID string `json:"chain_id"` AssetKey string `json:"asset_key,omitempty"` MixinID string `json:"mixin_id,omitempty"` Symbol string `json:"symbol,omitempty"` Name string `json:"name,omitempty"` IconURL string `json:"icon_url,omitempty"` PriceBTC decimal.Decimal `json:"price_btc,omitempty"` ChangeBTC decimal.Decimal `json:"change_btc,omitempty"` PriceUSD decimal.Decimal `json:"price_usd,omitempty"` ChangeUsd decimal.Decimal `json:"change_usd,omitempty"` Balance decimal.Decimal `json:"balance,omitempty"` Destination string `json:"destination,omitempty"` Tag string `json:"tag,omitempty"` Confirmations int `json:"confirmations,omitempty"` Capitalization float64 `json:"capitalization,omitempty"` }
func ReadMultisigAssets ¶ added in v1.3.7
func ReadNetworkAsset ¶
ReadNetworkAsset read mixin network asset by asset id
func ReadNetworkAssetsBySymbol ¶ added in v1.5.6
ReadNetworkAssetsBySymbol read mixin network assets by symbol
type Attachment ¶
type AudioMessage ¶
type BlazeListenFunc ¶
type BlazeListenFunc func(ctx context.Context, msg *MessageView, userID string) error
func (BlazeListenFunc) OnAckReceipt ¶
func (f BlazeListenFunc) OnAckReceipt(ctx context.Context, msg *MessageView, userID string) error
func (BlazeListenFunc) OnMessage ¶
func (f BlazeListenFunc) OnMessage(ctx context.Context, msg *MessageView, userID string) error
type BlazeListener ¶
type BlazeListener interface { OnAckReceipt(ctx context.Context, msg *MessageView, userID string) error OnMessage(ctx context.Context, msg *MessageView, userID string) error }
type BlazeMessage ¶
type BlazeOption ¶ added in v1.4.1
type Client ¶
type Client struct { Signer Verifier MessageLocker ClientID string }
func NewFromAccessToken ¶
func NewFromKeystore ¶
func NewFromOauthKeystore ¶
func NewFromOauthKeystore(keystore *OauthKeystore) (*Client, error)
func (*Client) AddParticipants ¶
func (*Client) AdminParticipants ¶
func (*Client) BatchReadGhostKeys ¶ added in v1.2.5
func (*Client) CancelCollectibleRequest ¶ added in v1.5.4
CancelCollectible cancel a collectibles request
func (*Client) CancelMultisig ¶ added in v1.0.12
CancelMultisig cancel a multisig request
func (*Client) CreateAddress ¶
func (*Client) CreateAttachment ¶
func (c *Client) CreateAttachment(ctx context.Context) (*Attachment, error)
func (*Client) CreateCollectibleRequest ¶ added in v1.5.4
func (c *Client) CreateCollectibleRequest(ctx context.Context, action, raw string) (*CollectibleRequest, error)
CreateCollectibleRequest create a collectibles request
func (*Client) CreateContactConversation ¶
func (c *Client) CreateContactConversation(ctx context.Context, userID string) (*Conversation, error)
CreateContactConversation create a conversation with a mixin messenger user
func (*Client) CreateConversation ¶
func (c *Client) CreateConversation(ctx context.Context, input *CreateConversationInput) (*Conversation, error)
CreateConversation crate conversation
func (*Client) CreateGroupConversation ¶
func (c *Client) CreateGroupConversation(ctx context.Context, conversationID, name string, participants []*Participant) (*Conversation, error)
CreateGroupConversation create a group in mixin messenger with given participants
func (*Client) CreateMultisig ¶ added in v1.0.12
CreateMultisig create a multisig request
func (*Client) CreateUser ¶
func (*Client) DeleteAddress ¶
func (*Client) EncryptMessageRequest ¶ added in v1.5.10
func (c *Client) EncryptMessageRequest(req *MessageRequest, sessions []*Session) error
func (*Client) FavoriteApp ¶ added in v1.0.3
func (*Client) FetchSessions ¶ added in v1.5.10
func (*Client) GetRawTransaction ¶ added in v1.3.4
func (*Client) ListMultisigOutputs ¶ added in v1.6.6
func (c *Client) ListMultisigOutputs(ctx context.Context, opt ListMultisigOutputsOption) ([]*MultisigUTXO, error)
ListMultisigOutputs return a list of multisig outputs of special members & threshold
func (*Client) LoopBlaze ¶
func (c *Client) LoopBlaze(ctx context.Context, listener BlazeListener, opts ...BlazeOption) error
func (*Client) MakeCollectibleTransaction ¶ added in v1.5.4
func (c *Client) MakeCollectibleTransaction( ctx context.Context, output *CollectibleOutput, token *CollectibleToken, receivers []string, threshold uint8, ) (*Transaction, error)
func (*Client) MakeMultisigTransaction ¶ added in v1.1.1
func (c *Client) MakeMultisigTransaction(ctx context.Context, input *TransactionInput) (*Transaction, error)
func (*Client) ManageConversation ¶
func (c *Client) ManageConversation(ctx context.Context, conversationID, action string, participants []*Participant) (*Conversation, error)
func (*Client) ModifyProfile ¶
func (*Client) ReadAddress ¶
func (*Client) ReadAddresses ¶
func (*Client) ReadAssetFee ¶
func (*Client) ReadCollectibleOutputs ¶ added in v1.5.4
func (c *Client) ReadCollectibleOutputs(ctx context.Context, members []string, threshold uint8, offset time.Time, limit int) ([]*CollectibleOutput, error)
ReadCollectibleOutputs return a list of collectibles outputs
func (*Client) ReadCollectiblesToken ¶ added in v1.5.4
ReadCollectiblesToken return the detail of CollectibleToken
func (*Client) ReadConsensusInfo ¶ added in v1.3.4
func (c *Client) ReadConsensusInfo(ctx context.Context) (*ConsensusInfo, error)
func (*Client) ReadConversation ¶
func (c *Client) ReadConversation(ctx context.Context, conversationID string) (*Conversation, error)
ReadConversation read conversation
func (*Client) ReadExchangeRates ¶
func (c *Client) ReadExchangeRates(ctx context.Context) ([]ExchangeRate, error)
ReadExchangeRates returns the exchange rates between two currencies deprecated: use ReadFiats instead
func (*Client) ReadFavoriteApps ¶
func (*Client) ReadFiats ¶ added in v1.5.7
ReadFiats returns the exchange rates between two currencies
func (*Client) ReadGhostKeys ¶ added in v1.0.12
func (*Client) ReadMultisigOutputs ¶ added in v1.0.12
func (c *Client) ReadMultisigOutputs(ctx context.Context, members []string, threshold uint8, offset time.Time, limit int) ([]*MultisigUTXO, error)
ReadMultisigOutputs return a list of multisig outputs order by updated_at, including unspent, signed, spent utxos
func (*Client) ReadMultisigs ¶ added in v1.0.12
func (c *Client) ReadMultisigs(ctx context.Context, offset time.Time, limit int) ([]*MultisigUTXO, error)
ReadMultisigs return a list of multisig utxos
func (*Client) ReadNetworkSnapshot ¶
func (*Client) ReadNetworkSnapshots ¶
func (*Client) ReadSnapshot ¶
func (*Client) ReadSnapshotByTraceID ¶ added in v1.6.1
func (*Client) ReadSnapshots ¶
func (c *Client) ReadSnapshots(ctx context.Context, assetID string, offset time.Time, order string, limit int) ([]*Snapshot, error)
ReadSnapshots return a list of snapshots order must be `ASC` or `DESC` Deprecated: use ReadSnapshotsWithOptions instead.
func (*Client) ReadSnapshotsWithOptions ¶ added in v1.6.5
func (c *Client) ReadSnapshotsWithOptions(ctx context.Context, offset time.Time, limit int, input ReadSnapshotsOptions) ([]*Snapshot, error)
ReadSnapshotsWithOptions returns a list of snapshots
func (*Client) ReadTransfer ¶
func (*Client) ReadTurnServers ¶
func (*Client) RemarkFriend ¶ added in v1.5.1
func (*Client) RemoveFriend ¶ added in v1.5.1
func (*Client) RemoveParticipants ¶
func (*Client) RotateConversation ¶
func (*Client) SearchUser ¶
func (*Client) SendAcknowledgement ¶
func (c *Client) SendAcknowledgement(ctx context.Context, request *AcknowledgementRequest) error
func (*Client) SendAcknowledgements ¶
func (c *Client) SendAcknowledgements(ctx context.Context, requests []*AcknowledgementRequest) error
func (*Client) SendEncryptedMessages ¶ added in v1.5.10
func (c *Client) SendEncryptedMessages(ctx context.Context, messages []*MessageRequest) ([]*EncryptedMessageReceipt, error)
func (*Client) SendMessage ¶
func (c *Client) SendMessage(ctx context.Context, message *MessageRequest) error
func (*Client) SendMessages ¶
func (c *Client) SendMessages(ctx context.Context, messages []*MessageRequest) error
func (*Client) SendRawMessage ¶ added in v1.4.5
func (*Client) SendRawMessages ¶
func (*Client) SendRawTransaction ¶ added in v1.3.4
func (*Client) ShowAttachment ¶
func (*Client) SignCollectibleRequest ¶ added in v1.5.4
func (c *Client) SignCollectibleRequest(ctx context.Context, reqID, pin string) (*CollectibleRequest, error)
SignCollectibleRequest sign a collectibles request
func (*Client) SignMultisig ¶ added in v1.0.12
SignMultisig sign a multisig request
func (*Client) Transaction ¶
func (c *Client) Transaction(ctx context.Context, in *TransferInput, pin string) (*RawTransaction, error)
func (*Client) UnblockUser ¶ added in v1.5.1
func (*Client) UnfavoriteApp ¶ added in v1.3.10
func (*Client) UnlockCollectibleRequest ¶ added in v1.5.4
UnlockCollectibleRequest unlock a collectibles request
func (*Client) UnlockMultisig ¶ added in v1.0.12
UnlockMultisig unlock a multisig request
func (*Client) UpdateConversation ¶ added in v1.3.2
func (c *Client) UpdateConversation(ctx context.Context, conversationID string, input ConversationUpdate) (*Conversation, error)
UpdateConversation update conversation
func (*Client) UpdateConversationAnnouncement ¶ added in v1.3.1
func (c *Client) UpdateConversationAnnouncement(ctx context.Context, conversationID, announcement string) (*Conversation, error)
Update conversation announcement
func (*Client) UpdateRelationship ¶ added in v1.5.1
func (*Client) VerifyPayment ¶
type CollectibleOutput ¶ added in v1.5.4
type CollectibleOutput struct { Type string `json:"type,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` UserID string `json:"user_id,omitempty"` OutputID string `json:"output_id,omitempty"` TokenID string `json:"token_id,omitempty"` TransactionHash Hash `json:"transaction_hash,omitempty"` OutputIndex int `json:"output_index,omitempty"` Amount decimal.Decimal `json:"amount,omitempty"` Senders []string `json:"senders,omitempty"` SendersThreshold uint8 `json:"senders_threshold,omitempty"` Receivers []string `json:"receivers,omitempty"` ReceiversThreshold uint8 `json:"receivers_threshold,omitempty"` State string `json:"state,omitempty"` SignedBy string `json:"signed_by,omitempty"` SignedTx string `json:"signed_tx,omitempty"` }
type CollectibleRequest ¶ added in v1.5.4
type CollectibleRequest struct { Type string `json:"type,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` RequestID string `json:"request_id,omitempty"` UserID string `json:"user_id,omitempty"` TokenID string `json:"token_id,omitempty"` Amount decimal.Decimal `json:"amount,omitempty"` Senders []string `json:"senders,omitempty"` SendersThreshold uint8 `json:"senders_threshold,omitempty"` Receivers []string `json:"receivers,omitempty"` ReceiversThreshold uint8 `json:"receivers_threshold,omitempty"` Signers []string `json:"signers,omitempty"` Action string `json:"action,omitempty"` State string `json:"state,omitempty"` TransactionHash Hash `json:"transaction_hash,omitempty"` RawTransaction string `json:"raw_transaction,omitempty"` CodeID string `json:"code_id"` }
type CollectibleToken ¶ added in v1.5.4
type CollectibleToken struct { Type string `json:"type,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` TokenID string `json:"token_id,omitempty"` Group string `json:"group,omitempty"` Token string `json:"token,omitempty"` MixinID Hash `json:"mixin_id,omitempty"` NFO TransactionExtra `json:"nfo,omitempty"` Meta CollectibleTokenMeta `json:"meta,omitempty"` }
type CollectibleTokenMeta ¶ added in v1.5.4
type CollectibleTokenMeta struct { Group string `json:"group,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` IconURL string `json:"icon_url,omitempty"` MediaURL string `json:"media_url,omitempty"` Mime string `json:"mime,omitempty"` Hash Hash `json:"hash,omitempty"` }
type ConsensusInfo ¶ added in v1.3.4
type ConsensusInfo struct { Network Hash `json:"network"` Node Hash `json:"node"` Version string `json:"version"` Uptime string `json:"uptime"` Epoch time.Time `json:"epoch"` Timestamp time.Time `json:"timestamp"` Mint Mint `json:"mint"` Queue Queue `json:"queue"` Graph Graph `json:"graph"` }
func ReadConsensusInfo ¶ added in v1.3.4
func ReadConsensusInfo(ctx context.Context) (*ConsensusInfo, error)
type ConsensusNode ¶ added in v1.3.4
type ConsensusNode struct { Node Hash `json:"node"` Signer MixinnetAddress `json:"signer"` Payee MixinnetAddress `json:"payee"` State string `json:"state"` Timestamp int64 `json:"timestamp"` Transaction Hash `json:"transaction"` Aggregator uint64 `json:"aggregator"` Works [2]uint64 `json:"works"` }
type ContactMessage ¶
type ContactMessage struct {
UserID string `json:"user_id,omitempty"`
}
type Conversation ¶
type Conversation struct { ConversationID string `json:"conversation_id,omitempty"` CreatorID string `json:"creator_id,omitempty"` Category string `json:"category,omitempty"` Name string `json:"name,omitempty"` IconURL string `json:"icon_url,omitempty"` Announcement string `json:"announcement,omitempty"` CreatedAt string `json:"created_at,omitempty"` CodeID string `json:"code_id,omitempty"` CodeURL string `json:"code_url,omitempty"` Participants []*Participant `json:"participants,omitempty"` }
Conversation conversation
type ConversationUpdate ¶ added in v1.3.2
type CreateAddressInput ¶
type CreateConversationInput ¶
type CreateConversationInput struct { Category string `json:"category,omitempty"` ConversationID string `json:"conversation_id,omitempty"` Name string `json:"name,omitempty"` Participants []*Participant `json:"participants,omitempty"` }
type DataMessage ¶
type Decoder ¶ added in v1.3.4
type Decoder struct {
// contains filtered or unexported fields
}
func NewDecoder ¶ added in v1.3.4
func (*Decoder) DecodeTransaction ¶ added in v1.3.4
func (dec *Decoder) DecodeTransaction() (*Transaction, error)
func (*Decoder) ReadAggregatedSignature ¶ added in v1.4.2
func (dec *Decoder) ReadAggregatedSignature() (*AggregatedSignature, error)
func (*Decoder) ReadInteger ¶ added in v1.3.4
func (*Decoder) ReadOutput ¶ added in v1.3.4
func (*Decoder) ReadSignatures ¶ added in v1.3.4
func (*Decoder) ReadUint16 ¶ added in v1.3.4
func (*Decoder) ReadUint64 ¶ added in v1.3.4
type DepositData ¶ added in v1.1.5
type EdDSASigningMethod ¶
type EdDSASigningMethod struct{}
var Ed25519SigningMethod *EdDSASigningMethod
func (*EdDSASigningMethod) Alg ¶
func (sm *EdDSASigningMethod) Alg() string
func (*EdDSASigningMethod) Sign ¶
func (sm *EdDSASigningMethod) Sign(signingString string, key interface{}) (string, error)
func (*EdDSASigningMethod) Verify ¶
func (sm *EdDSASigningMethod) Verify(signingString, signature string, key interface{}) error
type Encoder ¶ added in v1.3.4
type Encoder struct {
// contains filtered or unexported fields
}
func NewEncoder ¶ added in v1.3.4
func NewEncoder() *Encoder
func (*Encoder) EncodeAggregatedSignature ¶ added in v1.4.2
func (enc *Encoder) EncodeAggregatedSignature(js *AggregatedSignature)
func (*Encoder) EncodeInput ¶ added in v1.3.4
func (*Encoder) EncodeOutput ¶ added in v1.3.4
func (*Encoder) EncodeSignatures ¶ added in v1.3.4
func (*Encoder) EncodeTransaction ¶ added in v1.3.4
func (enc *Encoder) EncodeTransaction(signed *Transaction) []byte
func (*Encoder) WriteInteger ¶ added in v1.3.4
func (*Encoder) WriteUint16 ¶ added in v1.3.4
func (*Encoder) WriteUint64 ¶ added in v1.3.4
type EncryptedMessageReceipt ¶ added in v1.5.10
type Error ¶
type ExchangeRate ¶
type ExchangeRate Fiat
ExchangeRate represent the exchange rate between two currencies deprecated: use Fiat instead
type ExternalTransaction ¶
type ExternalTransaction struct { TransactionID string `json:"transaction_id"` CreatedAt time.Time `json:"created_at"` TransactionHash string `json:"transaction_hash"` Sender string `json:"sender"` ChainId string `json:"chain_id"` AssetId string `json:"asset_id"` Amount decimal.Decimal `json:"amount"` Destination string `json:"destination"` Tag string `json:"tag"` Confirmations int64 `json:"confirmations"` Threshold int64 `json:"threshold"` }
func ReadExternalTransactions ¶
func ReadExternalTransactions(ctx context.Context, assetID, destination, tag string) ([]*ExternalTransaction, error)
type FavoriteApp ¶
type Fiat ¶ added in v1.5.7
type Fiat struct { Code string `json:"code,omitempty"` Rate decimal.Decimal `json:"rate,omitempty"` }
Fiat is a struct for fiat currencies
type GhostInput ¶ added in v1.2.5
type Graph ¶ added in v1.3.4
type Graph struct { SPS float64 `json:"sps"` Topology uint64 `json:"topology"` Consensus []*ConsensusNode `json:"consensus"` Final map[string]*GraphFinal `json:"final"` Cache map[string]*GraphCache `json:"cache"` }
type GraphCache ¶ added in v1.3.4
type GraphCache struct { Node Hash `json:"node"` References GraphReferences `json:"references"` Timestamp int64 `json:"timestamp"` Round uint64 `json:"round"` Snapshots []*GraphSnapshot `json:"snapshots"` }
type GraphFinal ¶ added in v1.3.4
type GraphReferences ¶ added in v1.3.4
type GraphSnapshot ¶ added in v1.3.4
type GraphSnapshot struct { Node Hash `json:"node"` Hash Hash `json:"hash"` References GraphReferences `json:"references"` Round uint64 `json:"round"` Timestamp int64 `json:"timestamp"` Transaction Hash `json:"transaction"` Signature string `json:"signature"` // CosiSignature Version int `json:"version"` }
type Hash ¶ added in v1.1.5
type Hash [32]byte
func HashFromString ¶ added in v1.1.5
func (Hash) MarshalJSON ¶ added in v1.1.5
func (*Hash) UnmarshalJSON ¶ added in v1.1.5
type ImageMessage ¶
type Input ¶ added in v1.0.12
type Input struct { Hash *Hash `json:"hash,omitempty"` Index int `json:"index,omitempty"` Genesis []byte `json:"genesis,omitempty"` Deposit *DepositData `json:"deposit,omitempty"` Mint *MintData `json:"mint,omitempty"` }
type Integer ¶ added in v1.1.5
type Integer struct {
// contains filtered or unexported fields
}
var Zero Integer
func NewInteger ¶ added in v1.3.4
func NewIntegerFromDecimal ¶ added in v1.1.5
func NewIntegerFromString ¶ added in v1.1.5
func (Integer) MarshalJSON ¶ added in v1.1.5
func (Integer) MarshalMsgpack ¶ added in v1.1.5
func (*Integer) UnmarshalJSON ¶ added in v1.1.5
func (*Integer) UnmarshalMsgpack ¶ added in v1.1.5
type Key ¶ added in v1.1.5
type Key [32]byte
func DeriveGhostPrivateKey ¶ added in v1.2.0
func DeriveGhostPublicKey ¶ added in v1.2.0
func KeyFromString ¶ added in v1.1.5
func KeyMultPubPriv ¶ added in v1.2.0
func NewKeyFromSeed ¶ added in v1.2.0
func ViewGhostOutputKey ¶ added in v1.2.0
func (Key) CheckScalar ¶ added in v1.2.0
func (Key) DeterministicHashDerive ¶ added in v1.2.0
func (Key) HashScalar ¶ added in v1.2.0
func (Key) MarshalJSON ¶ added in v1.1.5
func (*Key) MultScalar ¶ added in v1.2.0
func (*Key) UnmarshalJSON ¶ added in v1.1.5
type KeystoreAuth ¶
type KeystoreAuth struct { *Keystore // contains filtered or unexported fields }
func AuthEd25519FromKeystore ¶ added in v1.1.7
func AuthEd25519FromKeystore(store *Keystore) (*KeystoreAuth, error)
AuthEd25519FromKeystore produces a signer using an ed25519 keystore. Deprecated: use AuthFromKeystore instead.
func AuthFromKeystore ¶
func AuthFromKeystore(store *Keystore) (*KeystoreAuth, error)
AuthFromKeystore produces a signer using both ed25519 & RSA keystore.
func (*KeystoreAuth) EncryptPin ¶
func (k *KeystoreAuth) EncryptPin(pin string) string
func (*KeystoreAuth) SignToken ¶
func (k *KeystoreAuth) SignToken(signature, requestID string, exp time.Duration) string
func (*KeystoreAuth) SignTokenAt ¶ added in v1.6.6
type ListMultisigOutputsOption ¶ added in v1.6.6
type LiveMessage ¶
type LocationMessage ¶
type MessageLocker ¶ added in v1.5.10
type MessageRequest ¶
type MessageRequest struct { ConversationID string `json:"conversation_id"` RecipientID string `json:"recipient_id"` MessageID string `json:"message_id"` Category string `json:"category"` Data string `json:"data,omitempty"` // DataBase64 is same as Data but encoded by base64.RawURLEncoding DataBase64 string `json:"data_base64,omitempty"` RepresentativeID string `json:"representative_id,omitempty"` QuoteMessageID string `json:"quote_message_id,omitempty"` Silent bool `json:"silent,omitempty"` // encrypted messages Checksum string `json:"checksum,omitempty"` RecipientSessions []RecipientSession `json:"recipient_sessions,omitempty"` }
type MessageView ¶
type MessageView struct { ConversationID string `json:"conversation_id"` UserID string `json:"user_id"` MessageID string `json:"message_id"` Category string `json:"category"` Data string `json:"data"` // DataBase64 is same as Data but encoded by base64.RawURLEncoding DataBase64 string `json:"data_base64"` RepresentativeID string `json:"representative_id"` QuoteMessageID string `json:"quote_message_id"` Status string `json:"status"` Source string `json:"source"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` // contains filtered or unexported fields }
func (*MessageView) Ack ¶
func (m *MessageView) Ack()
Ack mark messageView as acked otherwise sdk will ack this message
type MixinnetAddress ¶ added in v1.2.0
type MixinnetAddress struct { PrivateSpendKey Key `json:"private_spend_key"` PrivateViewKey Key `json:"private_view_key"` PublicSpendKey Key `json:"public_spend_key"` PublicViewKey Key `json:"public_view_key"` }
func NewMixinnetAddress ¶ added in v1.2.0
func NewMixinnetAddress(rand io.Reader, public ...bool) *MixinnetAddress
func NewMixinnetAddressFromPublicSpend ¶ added in v1.2.0
func NewMixinnetAddressFromPublicSpend(publicSpend Key) *MixinnetAddress
func NewMixinnetAddressFromString ¶ added in v1.2.0
func NewMixinnetAddressFromString(s string) (MixinnetAddress, error)
func (MixinnetAddress) CreateUTXO ¶ added in v1.2.0
func (a MixinnetAddress) CreateUTXO(outputIndex int, amount decimal.Decimal) *Output
func (MixinnetAddress) Hash ¶ added in v1.2.0
func (a MixinnetAddress) Hash() Hash
func (MixinnetAddress) MarshalJSON ¶ added in v1.2.0
func (a MixinnetAddress) MarshalJSON() ([]byte, error)
func (MixinnetAddress) String ¶ added in v1.2.0
func (a MixinnetAddress) String() string
func (*MixinnetAddress) UnmarshalJSON ¶ added in v1.2.0
func (a *MixinnetAddress) UnmarshalJSON(b []byte) error
type MultisigRequest ¶ added in v1.0.12
type MultisigRequest struct { Type string `json:"type"` RequestID string `json:"request_id"` UserID string `json:"user_id"` AssetID string `json:"asset_id"` Amount decimal.Decimal `json:"amount"` Threshold uint8 `json:"threshold"` Senders []string `json:"senders"` Receivers []string `json:"receivers"` Signers []string `json:"signers"` Memo string `json:"memo"` Action string `json:"action"` State string `json:"state"` TransactionHash Hash `json:"transaction_hash"` RawTransaction string `json:"raw_transaction"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` CodeID string `json:"code_id"` }
type MultisigUTXO ¶ added in v1.0.12
type MultisigUTXO struct { Type string `json:"type"` UserID string `json:"user_id"` UTXOID string `json:"utxo_id"` AssetID string `json:"asset_id"` TransactionHash Hash `json:"transaction_hash"` OutputIndex int `json:"output_index"` Sender string `json:"sender,omitempty"` Amount decimal.Decimal `json:"amount"` Threshold uint8 `json:"threshold"` Members []string `json:"members"` Memo string `json:"memo"` State string `json:"state"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` SignedBy string `json:"signed_by"` SignedTx string `json:"signed_tx"` }
func (MultisigUTXO) Asset ¶ added in v1.1.5
func (utxo MultisigUTXO) Asset() Hash
type NetworkAsset ¶
type NetworkChain ¶
type NetworkChain struct { ChainID string `json:"chain_id"` IconURL string `json:"icon_url"` Name string `json:"name"` Type string `json:"type"` WithdrawFee decimal.Decimal `json:"withdrawal_fee"` WithdrawTimestamp time.Time `json:"withdrawal_timestamp"` WithdrawPendingCount int64 `json:"withdrawal_pending_count"` DepositBlockHeight int64 `json:"deposit_block_height"` ExternalBlockHeight int64 `json:"external_block_height"` ManagedBlockHeight int64 `json:"managed_block_height"` IsSynchronized bool `json:"is_synchronized"` }
type NetworkInfo ¶
type NetworkInfo struct { Assets []*NetworkAsset `json:"assets"` Chains []*NetworkChain `json:"chains"` AssetsCount decimal.Decimal `json:"assets_count"` PeakThroughput decimal.Decimal `json:"peak_throughput"` SnapshotsCount decimal.Decimal `json:"snapshots_count"` Type string `json:"type"` }
NetworkInfo mixin network info
func ReadNetworkInfo ¶
func ReadNetworkInfo(ctx context.Context) (*NetworkInfo, error)
ReadNetworkInfo read mixin network
type OauthKeystore ¶
type OauthKeystore struct { ClientID string `json:"client_id,omitempty"` AuthID string `json:"authorization_id,omitempty"` Scope string `json:"scope,omitempty"` PrivateKey string `json:"private_key,omitempty"` VerifyKey string `json:"ed25519,omitempty"` }
func AuthorizeEd25519 ¶
func AuthorizeEd25519(ctx context.Context, clientID, clientSecret string, code string, verifier string, privateKey ed25519.PrivateKey) (*OauthKeystore, error)
type OauthKeystoreAuth ¶
type OauthKeystoreAuth struct { *OauthKeystore // contains filtered or unexported fields }
func AuthFromOauthKeystore ¶
func AuthFromOauthKeystore(store *OauthKeystore) (*OauthKeystoreAuth, error)
func (*OauthKeystoreAuth) EncryptPin ¶
func (o *OauthKeystoreAuth) EncryptPin(pin string) string
func (*OauthKeystoreAuth) SignToken ¶
func (o *OauthKeystoreAuth) SignToken(signature, requestID string, exp time.Duration) string
func (*OauthKeystoreAuth) SignTokenAt ¶ added in v1.6.6
func (*OauthKeystoreAuth) Verify ¶
func (o *OauthKeystoreAuth) Verify(resp *resty.Response) error
type Participant ¶
type Participant struct { Action string `json:"action,omitempty"` Type string `json:"type,omitempty"` UserID string `json:"user_id,omitempty"` Role string `json:"role,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` }
Participant conversation participant
type Payment ¶
type Payment struct { Recipient *User `json:"recipient,omitempty"` Asset *Asset `json:"asset,omitempty"` AssetID string `json:"asset_id,omitempty"` Amount string `json:"amount,omitempty"` TraceID string `json:"trace_id,omitempty"` Status string `json:"status,omitempty"` Memo string `json:"memo,omitempty"` Receivers []string `json:"receivers,omitempty"` Threshold uint8 `json:"threshold,omitempty"` CodeID string `json:"code_id,omitempty"` }
type RawTransaction ¶
type RawTransaction struct { Type string `json:"type"` SnapshotID string `json:"snapshot_id"` OpponentKey string `json:"opponent_key"` AssetID string `json:"asset_id"` Amount string `json:"amount"` TraceID string `json:"trace_id"` Memo string `json:"memo"` State string `json:"state"` CreatedAt time.Time `json:"created_at"` TransactionHash string `json:"transaction_hash,omitempty"` SnapshotHash string `json:"snapshot_hash,omitempty"` SnapshotAt time.Time `json:"snapshot_at"` }
RawTransaction raw transaction
type ReadSnapshotsOptions ¶ added in v1.6.5
type RecallMessage ¶
type RecallMessage struct {
MessageID string `json:"message_id"`
}
type RecipientSession ¶ added in v1.5.10
type RecipientSession struct {
SessionID string `json:"session_id,omitempty"`
}
type RelationshipRequest ¶ added in v1.5.1
type Script ¶ added in v1.1.5
type Script []uint8
func NewThresholdScript ¶ added in v1.1.5
func (Script) MarshalJSON ¶ added in v1.1.5
func (*Script) UnmarshalJSON ¶ added in v1.1.5
func (Script) VerifyFormat ¶ added in v1.1.5
type Signature ¶ added in v1.1.5
type Signature [64]byte
func (Signature) MarshalJSON ¶ added in v1.1.5
func (*Signature) UnmarshalJSON ¶ added in v1.1.5
type Snapshot ¶
type Snapshot struct { SnapshotID string `json:"snapshot_id"` CreatedAt time.Time `json:"created_at,omitempty"` TraceID string `json:"trace_id,omitempty"` UserID string `json:"user_id,omitempty"` AssetID string `json:"asset_id,omitempty"` ChainID string `json:"chain_id,omitempty"` OpponentID string `json:"opponent_id,omitempty"` Source string `json:"source,omitempty"` Amount decimal.Decimal `json:"amount,omitempty"` OpeningBalance decimal.Decimal `json:"opening_balance,omitempty"` ClosingBalance decimal.Decimal `json:"closing_balance,omitempty"` Memo string `json:"memo,omitempty"` Type string `json:"type,omitempty"` Sender string `json:"sender,omitempty"` Receiver string `json:"receiver,omitempty"` TransactionHash string `json:"transaction_hash,omitempty"` Asset *Asset `json:"asset,omitempty"` }
func ReadSnapshot ¶
ReadSnapshot by accessToken, scope SNAPSHOTS:READ required
func ReadSnapshotByTraceID ¶ added in v1.6.1
ReadSnapshotByTraceID by accessToken, scope SNAPSHOTS:READ required
func ReadSnapshots ¶
func ReadSnapshots(ctx context.Context, accessToken string, assetID string, offset time.Time, order string, limit int) ([]*Snapshot, error)
ReadSnapshots by accessToken, scope SNAPSHOTS:READ required Deprecated: use ReadSnapshotsWithOptions instead.
func ReadSnapshotsWithOptions ¶ added in v1.6.5
func ReadSnapshotsWithOptions(ctx context.Context, accessToken string, offset time.Time, limit int, input ReadSnapshotsOptions) ([]*Snapshot, error)
ReadSnapshotsWithOptions reads snapshots by accessToken, scope SNAPSHOTS:READ required
func (*Snapshot) UnmarshalJSON ¶
type StickerMessage ¶
type Ticker ¶ added in v1.5.6
type Transaction ¶ added in v1.0.12
type Transaction struct { Hash *Hash `json:"hash,omitempty" msgpack:"-"` Snapshot *Hash `json:"snapshot,omitempty" msgpack:"-"` Signatures []map[uint16]*Signature `json:"signatures,omitempty" msgpack:"-"` AggregatedSignature *AggregatedSignature `json:"aggregated_signature,omitempty" msgpack:"-"` Version uint8 `json:"version"` Asset Hash `json:"asset"` Inputs []*Input `json:"inputs"` Outputs []*Output `json:"outputs"` Extra TransactionExtra `json:"extra,omitempty"` }
func GetTransaction ¶ added in v1.0.12
func GetTransaction(ctx context.Context, hash Hash) (*Transaction, error)
func SendRawTransaction ¶ added in v1.0.12
func SendRawTransaction(ctx context.Context, raw string) (*Transaction, error)
func TransactionFromRaw ¶ added in v1.1.1
func TransactionFromRaw(raw string) (*Transaction, error)
func (*Transaction) DumpTransaction ¶ added in v1.1.1
func (t *Transaction) DumpTransaction() (string, error)
func (*Transaction) DumpTransactionData ¶ added in v1.3.4
func (t *Transaction) DumpTransactionData() ([]byte, error)
func (Transaction) DumpTransactionPayload ¶ added in v1.1.5
func (t Transaction) DumpTransactionPayload() ([]byte, error)
func (*Transaction) TransactionHash ¶ added in v1.1.5
func (t *Transaction) TransactionHash() (Hash, error)
type TransactionExtra ¶ added in v1.2.0
type TransactionExtra []byte
func (TransactionExtra) MarshalJSON ¶ added in v1.2.0
func (e TransactionExtra) MarshalJSON() ([]byte, error)
func (TransactionExtra) String ¶ added in v1.2.0
func (e TransactionExtra) String() string
func (*TransactionExtra) UnmarshalJSON ¶ added in v1.2.0
func (e *TransactionExtra) UnmarshalJSON(b []byte) error
type TransactionInput ¶ added in v1.1.1
type TransactionInput struct { Memo string Inputs []*MultisigUTXO Outputs []TransactionOutput Hint string }
func (*TransactionInput) AppendOutput ¶ added in v1.1.3
func (i *TransactionInput) AppendOutput(receivers []string, threshold uint8, amount decimal.Decimal)
func (*TransactionInput) AppendUTXO ¶ added in v1.1.3
func (i *TransactionInput) AppendUTXO(utxo *MultisigUTXO)
func (*TransactionInput) Asset ¶ added in v1.1.1
func (i *TransactionInput) Asset() Hash
func (*TransactionInput) TotalInputAmount ¶ added in v1.1.1
func (i *TransactionInput) TotalInputAmount() decimal.Decimal
func (*TransactionInput) Validate ¶ added in v1.1.1
func (i *TransactionInput) Validate() error
type TransactionOutput ¶
type TransactionV1 ¶ added in v1.3.4
type TransactionV1 struct { Transaction Signatures [][]*Signature `json:"signatures,omitempty" msgpack:",omitempty"` }
func (*TransactionV1) DumpTransaction ¶ added in v1.3.4
func (t *TransactionV1) DumpTransaction() (string, error)
type TranscriptMessage ¶ added in v1.4.9
type TranscriptMessage struct { TranscriptID string `json:"transcript_id,omitempty"` MessageID string `json:"message_id,omitempty"` UserID string `json:"user_id,omitempty"` UserFullName string `json:"user_full_name,omitempty"` Category string `json:"category,omitempty"` Content string `json:"content,omitempty"` MediaURL string `json:"media_url,omitempty"` MediaName string `json:"media_name,omitempty"` MediaSize int `json:"media_size,omitempty"` MediaWidth int `json:"media_width,omitempty"` MediaHeight int `json:"media_height,omitempty"` MediaDuration int `json:"media_duration,omitempty"` MediaMimeType string `json:"media_mime_type,omitempty"` MediaStatus string `json:"media_status,omitempty"` MediaWaveform string `json:"media_waveform,omitempty"` MediaKey string `json:"media_key,omitempty"` MediaDigest string `json:"media_digest,omitempty"` MediaCreatedAt time.Time `json:"media_created_at,omitempty"` ThumbImage string `json:"thumb_image,omitempty"` ThumbURL string `json:"thumb_url,omitempty"` StickerID string `json:"sticker_id,omitempty"` Mentions string `json:"mentions,omitempty"` QuoteID string `json:"quote_id,omitempty"` QuoteContent string `json:"quote_content,omitempty"` Caption string `json:"caption,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` }
type TransferInput ¶
type TransferInput struct { AssetID string `json:"asset_id,omitempty"` OpponentID string `json:"opponent_id,omitempty"` Amount decimal.Decimal `json:"amount,omitempty"` TraceID string `json:"trace_id,omitempty"` Memo string `json:"memo,omitempty"` // OpponentKey used for raw transaction OpponentKey string `json:"opponent_key,omitempty"` OpponentMultisig struct { Receivers []string `json:"receivers,omitempty"` Threshold uint8 `json:"threshold,omitempty"` } `json:"opponent_multisig,omitempty"` }
TransferInput input for transfer/verify payment request
func NewMintCollectibleTransferInput ¶ added in v1.5.4
func NewMintCollectibleTransferInput(traceID, collectionID, tokenID string, content []byte) TransferInput
type TransferView ¶
type TransferView struct { Type string `json:"type"` SnapshotID string `json:"snapshot_id"` CounterUserID string `json:"counter_user_id"` AssetID string `json:"asset_id"` Amount string `json:"amount"` TraceID string `json:"trace_id"` Memo string `json:"memo"` CreatedAt time.Time `json:"created_at"` }
type UpdateAppRequest ¶ added in v1.0.9
type UpdateAppRequest struct { RedirectURI string `json:"redirect_uri,omitempty"` HomeURI string `json:"home_uri,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` IconBase64 string `json:"icon_base64,omitempty"` SessionSecret string `json:"session_secret,omitempty"` Category string `json:"category,omitempty"` Capabilities []string `json:"capabilities,omitempty"` ResourcePatterns []string `json:"resource_patterns,omitempty"` }
type User ¶
type User struct { UserID string `json:"user_id,omitempty"` IdentityNumber string `json:"identity_number,omitempty"` Phone string `json:"phone,omitempty"` FullName string `json:"full_name,omitempty"` Biography string `json:"biography,omitempty"` AvatarURL string `json:"avatar_url,omitempty"` Relationship string `json:"relationship,omitempty"` MuteUntil time.Time `json:"mute_until,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` IsVerified bool `json:"is_verified,omitempty"` IsScam bool `json:"is_scam,omitempty"` SessionID string `json:"session_id,omitempty"` PinToken string `json:"pin_token,omitempty"` CodeID string `json:"code_id,omitempty"` CodeURL string `json:"code_url,omitempty"` HasPin bool `json:"has_pin,omitempty"` DeviceStatus string `json:"device_status,omitempty"` HasEmergencyContact bool `json:"has_emergency_contact,omitempty"` ReceiveMessageSource string `json:"receive_message_source,omitempty"` AcceptConversationSource string `json:"accept_conversation_source,omitempty"` AcceptSearchSource string `json:"accept_search_source,omitempty"` FiatCurrency string `json:"fiat_currency,omitempty"` App *App `json:"app,omitempty"` }
type Verifier ¶
type Verifier interface {
Verify(resp *resty.Response) error
}
func NopVerifier ¶
func NopVerifier() Verifier
type VideoMessage ¶
type VideoMessage struct { AttachmentID string `json:"attachment_id,omitempty"` MimeType string `json:"mime_type,omitempty"` WaveForm string `json:"wave_form,omitempty"` Width int `json:"width,omitempty"` Height int `json:"height,omitempty"` Size int `json:"size,omitempty"` Duration int `json:"duration,omitempty"` Thumbnail []byte `json:"thumbnail,omitempty"` }
type WithdrawInput ¶
Source Files ¶
- ack.go
- address.go
- app.go
- assets.go
- attachment.go
- auth.go
- blaze.go
- blaze_ack.go
- client.go
- collectible.go
- collectible_mint.go
- collectible_token.go
- context.go
- conversation.go
- curve.go
- ed25519.go
- ed25519_jwt.go
- endpoint.go
- error.go
- fiats.go
- keystore.go
- messages.go
- messages_encrypt.go
- mixinnet.go
- mixinnet_address.go
- mixinnet_clients.go
- mixinnet_crypto.go
- mixinnet_decoding.go
- mixinnet_encoding.go
- mixinnet_info.go
- mixinnet_key.go
- mixinnet_number.go
- mixinnet_proxy.go
- mixinnet_signature.go
- mixinnet_signedtransaction.go
- mixinnet_transaction.go
- multisig_assets.go
- multisigs.go
- network.go
- oauth.go
- oauth_ed25519.go
- payment.go
- pin.go
- relationships.go
- request.go
- session.go
- sign.go
- snapshot.go
- transaction_external.go
- transaction_raw.go
- transfer.go
- turn.go
- url_scheme.go
- user.go
- utils.go
- withdraw.go