sdk

package
v1.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2019 License: MIT Imports: 20 Imported by: 5

README

Go API client for sdk

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 1.6.1
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
go get github.com/antihax/optional

Put the package under your project folder and add the following in import:

import "./sdk"

Documentation for API Endpoints

All URIs are relative to http://localhost:12052

Class Method HTTP request Description
AnalyticsApi AnalyticsGetNetworkActivityPost Post /analytics/get_network_activity Get details on past blocks either by order using start_index and number_of_results or by the tx_hashes of the transactions
AnalyticsApi AnalyticsGetSyncStatusPost Post /analytics/get_sync_status Get blockchain sync status information
HealthApi HealthPost Post /health Perform a healthcheck of the node and its dependent services
NodeApi NodeApproveTaskPost Post /node/approve_task Approve task with pending incoming transaction [async call]
NodeApi NodeCancelTaskPost Post /node/cancel_task Cancel task with pending incoming transaction both incoming and outgoing [async call]
NodeApi NodeDeleteWalletPost Post /node/delete_wallet Delete a Wallet [async call]
NodeApi NodeExportAuditorAccessWalletPost Post /node/export_auditor_access_wallet Export viewing credentials for a Wallet
NodeApi NodeExportWalletPost Post /node/export_wallet Export wallet secret key
NodeApi NodeGenerateWalletPost Post /node/generate_wallet Generate a new Wallet
NodeApi NodeGetAllWalletsPost Post /node/get_all_wallets Get all wallet IDs
NodeApi NodeGetNotificationsPost Post /node/get_notifications Get notifications
NodeApi NodeGetRulesPost Post /node/get_rules Get network governance Rules
NodeApi NodeGetTaskStatusPost Post /node/get_task_status Get a specific task (by ID)
NodeApi NodeGetTasksPost Post /node/get_tasks Get a (potentially) filtered list of all Tasks
NodeApi NodeImportAuditorAccessWalletPost Post /node/import_auditor_access_wallet Import viewing credentials for a Wallet [async call]
NodeApi NodeImportWalletPost Post /node/import_wallet Import Wallet from a known secret key and authorization [async call]
NodeApi NodeUnlockWalletPost Post /node/unlock_wallet Unlocks a wallet for a given amount of seconds [async call]
WalletApi WalletCreateRulePost Post /wallet/create_rule Create a new Rule in the network [async call]
WalletApi WalletDeleteRulePost Post /wallet/delete_rule Delete an existing Rule from the network [async call]
WalletApi WalletGetActivityPost Post /wallet/get_activity Get wallet activity (transactions)
WalletApi WalletGetBalancesPost Post /wallet/get_balances Get wallets balances
WalletApi WalletGetNewAddressPost Post /wallet/get_new_address Get a new address from a given diversifier or generate randomly
WalletApi WalletGetPublicKeyPost Post /wallet/get_public_key Get wallet public key
WalletApi WalletIssueAssetPost Post /wallet/issue_asset Issue assets [async call]
WalletApi WalletTransferAssetPost Post /wallet/transfer_asset Transfer assets [async call]

Documentation For Models

Documentation For Authorization

ApiKeyAuth

  • Type: API key

Example

auth := context.WithValue(context.Background(), sw.ContextAPIKey, sw.APIKey{
	Key: "APIKEY",
	Prefix: "Bearer", // Omit if not necessary.
})
r, err := client.Service.Operation(auth, args)

Author

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ContextOAuth2 takes an oauth2.TokenSource as authentication for the request.
	ContextOAuth2 = contextKey("token")

	// ContextBasicAuth takes BasicAuth as authentication for the request.
	ContextBasicAuth = contextKey("basic")

	// ContextAccessToken takes a string oauth2 access token as authentication for the request.
	ContextAccessToken = contextKey("accesstoken")

	// ContextAPIKey takes an APIKey as authentication for the request
	ContextAPIKey = contextKey("apikey")
)

Functions

func CacheExpires

func CacheExpires(r *http.Response) time.Time

CacheExpires helper function to determine remaining time before repeating a request.

Types

type APIClient

type APIClient struct {
	AnalyticsApi *AnalyticsApiService

	HealthApi *HealthApiService

	NodeApi *NodeApiService

	WalletApi *WalletApiService
	// contains filtered or unexported fields
}

APIClient manages communication with the QEDIT - Asset Transfers API v1.6.1 In most cases there should be only one, shared, APIClient.

func NewAPIClient

func NewAPIClient(cfg *Configuration) *APIClient

NewAPIClient creates a new API client. Requires a userAgent string describing your application. optionally a custom http.Client to allow for advanced features such as caching.

func (*APIClient) ChangeBasePath

func (c *APIClient) ChangeBasePath(path string)

Change base path to allow switching to mocks

type APIKey

type APIKey struct {
	Key    string
	Prefix string
}

APIKey provides API key based authentication to a request passed via context using ContextAPIKey

type APIResponse

type APIResponse struct {
	*http.Response `json:"-"`
	Message        string `json:"message,omitempty"`
	// Operation is the name of the OpenAPI operation.
	Operation string `json:"operation,omitempty"`
	// RequestURL is the request URL. This value is always available, even if the
	// embedded *http.Response is nil.
	RequestURL string `json:"url,omitempty"`
	// Method is the HTTP method used for the request.  This value is always
	// available, even if the embedded *http.Response is nil.
	Method string `json:"method,omitempty"`
	// Payload holds the contents of the response body (which may be nil or empty).
	// This is provided here as the raw response.Body() reader will have already
	// been drained.
	Payload []byte `json:"-"`
}

func NewAPIResponse

func NewAPIResponse(r *http.Response) *APIResponse

func NewAPIResponseWithError

func NewAPIResponseWithError(errorMessage string) *APIResponse

type AnalyticIssueWalletTx added in v1.3.0

type AnalyticIssueWalletTx struct {
	// Boolean signifying whether the Assets were issued to the Wallet in question
	IsIncoming bool `json:"is_incoming,omitempty"`
	// Boolean signifying whether the Wallet used to issue the Assets is the Wallet in question
	IssuedBySelf bool `json:"issued_by_self,omitempty"`
	// The public key of the Wallet that was used to issue the Assets
	SenderId string `json:"sender_id,omitempty"`
	// The Address the Assets were issued to
	RecipientAddress string `json:"recipient_address,omitempty"`
	// The ID of an Asset Type. It must be a string of length 0 to 40 characters. Allowed characters are lower- and uppercase letters, digits, dot (.), and hyphen (-). It must not end with an hyphen. Asset IDs are case-sensitive.
	AssetId string `json:"asset_id,omitempty"`
	// The amount of Assets issued
	Amount int32 `json:"amount,omitempty"`
	// Boolean signifying whether the Issuance was done confidentially
	IsConfidential bool `json:"is_confidential,omitempty"`
	// The private memo attached to the Issuance
	Memo string `json:"memo,omitempty"`
}

type AnalyticRuleWalletTx added in v1.3.0

type AnalyticRuleWalletTx struct {
	// Boolean signifying whether the Rule was created by the Wallet in question
	SignedBySelf bool `json:"signed_by_self,omitempty"`
	// Boolean signifying whether the Rule granted permissions to the Wallet in question
	RuleAffectSelf bool `json:"rule_affect_self,omitempty"`
	// The public key of the Wallet that was used to create the Rule
	TxSigner string                        `json:"tx_signer,omitempty"`
	Rule     AnalyticsRuleWalletDefinition `json:"rule,omitempty"`
}

type AnalyticTransaction added in v1.3.0

type AnalyticTransaction struct {
	Metadata AnalyticsTxMetadata `json:"metadata,omitempty"`
	// The detailed content of the transaction; format differs depending on the transaction type
	Content map[string]interface{} `json:"content,omitempty"`
}

type AnalyticTransferWalletTx added in v1.3.0

type AnalyticTransferWalletTx struct {
	// Boolean signifying whether the Assets were transferred to the Wallet in question; false of the Assets were transferred from the Wallet into another
	IsIncoming bool `json:"is_incoming,omitempty"`
	// The public key of the Wallet the Assets were transferred from
	SenderId string `json:"sender_id,omitempty"`
	// The address of the Wallet the Assets were transferred to
	RecipientAddress string `json:"recipient_address,omitempty"`
	// The ID of an Asset Type. It must be a string of length 0 to 40 characters. Allowed characters are lower- and uppercase letters, digits, dot (.), and hyphen (-). It must not end with an hyphen. Asset IDs are case-sensitive.
	AssetId string `json:"asset_id,omitempty"`
	// The amount of Assets transferred
	Amount int32 `json:"amount,omitempty"`
	// The private memo attached to the Transfer
	Memo string `json:"memo,omitempty"`
}

type AnalyticWalletMetadata added in v1.3.0

type AnalyticWalletMetadata struct {
	Type AnalyticsTxType `json:"type,omitempty"`
	// The QEDIT-generated hash of the transaction
	TxHash string `json:"tx_hash,omitempty"`
	// UTC time of creation of the time the Block containing the transaction was created in RFC-3339 format
	Timestamp string `json:"timestamp,omitempty"`
}

type AnalyticWalletTx added in v1.3.0

type AnalyticWalletTx struct {
	Metadata AnalyticWalletMetadata `json:"metadata,omitempty"`
	// The detailed information of the transaction; structure depends on the type of transaction
	Content map[string]interface{} `json:"content,omitempty"`
}

A single retrieved transaction

type AnalyticsApiService

type AnalyticsApiService service

func (*AnalyticsApiService) AnalyticsGetNetworkActivityPost added in v1.3.0

func (a *AnalyticsApiService) AnalyticsGetNetworkActivityPost(ctx context.Context, getNetworkActivityRequest GetNetworkActivityRequest) (GetNetworkActivityResponse, *http.Response, error)

AnalyticsApiService Get details on past blocks either by order using start_index and number_of_results or by the tx_hashes of the transactions List all verified Transactions from the network, even ones that do not have anything to do with any Wallet stored in the Node; For each such Transaction all of public information is returned in a structured format; However, no private information is returned even if some private information is known.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param getNetworkActivityRequest

@return GetNetworkActivityResponse

func (*AnalyticsApiService) AnalyticsGetSyncStatusPost added in v1.5.1

func (a *AnalyticsApiService) AnalyticsGetSyncStatusPost(ctx context.Context) (GetSyncStatusResponse, *http.Response, error)

AnalyticsApiService Get blockchain sync status information Returns detailed information about the status of the sync between the QEDIT Node and the underlying Blockchain

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

@return GetSyncStatusResponse

type AnalyticsAssetConverterProofDescription added in v1.3.0

type AnalyticsAssetConverterProofDescription struct {
	// The commitment to both the Asset Type and amount of the Note
	InputCv string `json:"input_cv,omitempty"`
	// The commitment to the Asset amount
	AmountCv string `json:"amount_cv,omitempty"`
	// The commitment to the ID of the Asset Type
	AssetCv string `json:"asset_cv,omitempty"`
	// The Proof that the commitment contents match
	Zkproof string `json:"zkproof,omitempty"`
}

type AnalyticsConfidentialIssuanceDescription added in v1.3.0

type AnalyticsConfidentialIssuanceDescription struct {
	// The commitment to both the Asset Type and amount of the issued Note
	Casset string `json:"casset,omitempty"`
	// A `Namespace` describes what Asset IDs can be issued in an Issuance Rule. It is a string in the same format as `AssetId`. Additionally, if it ends with a wildcard character `*`, then the namespace covers all asset IDs with the namespace as a prefix. Without a final wildcard, the namespace covers exactly one asset ID. Example: The namespace `currencies.dollar` covers only this exact asset type, while `currencies.*` covers all asset types that start with `currencies.`.
	Namespace string `json:"namespace,omitempty"`
	// The Proof that the issued Asset Type indeed matches the reported Rule
	Zkproof string `json:"zkproof,omitempty"`
}

The details and Proof attached to a confidential Issuance; null if the Issuance was public

type AnalyticsContent added in v1.3.0

type AnalyticsContent struct {
	TxType string `json:"tx_type"`
}

type AnalyticsIssueTx added in v1.3.0

type AnalyticsIssueTx struct {
	// The data of the Assets issued (multiple Assets may potentially be issued in a single Issuance transaction)
	Outputs []AnalyticsOutput `json:"outputs,omitempty"`
	// The public key of the Wallet that performed the Issuance
	PublicKey string `json:"public_key,omitempty"`
	// The signature on the transaction by the secret key of the Wallet that performed the Issuance
	Signature string `json:"signature,omitempty"`
}

The data of a particular Issuance transaction

type AnalyticsIssueTxAllOf added in v1.3.0

type AnalyticsIssueTxAllOf struct {
	Outputs   []AnalyticsOutput `json:"outputs,omitempty"`
	PublicKey string            `json:"public_key,omitempty"`
	Signature string            `json:"signature,omitempty"`
}

type AnalyticsMultiTransferTx added in v1.4.1

type AnalyticsMultiTransferTx struct {
	// The (potentially several) Transfers within the transaction
	Transfers []AnalyticsTransferTx `json:"transfers,omitempty"`
}

The data of a particular Transfer transaction; a single such transaction may contain multiple Transfers

type AnalyticsOutput added in v1.3.0

type AnalyticsOutput struct {
	// Boolean signifying whether the Issuance was done confidentially; false if the Issuance was done publicly
	IsConfidential                  bool                                     `json:"is_confidential,omitempty"`
	PublicIssuanceDescription       AnalyticsPublicIssuanceDescription       `json:"public_issuance_description,omitempty"`
	ConfidentialIssuanceDescription AnalyticsConfidentialIssuanceDescription `json:"confidential_issuance_description,omitempty"`
	OutputDescription               AnalyticsOutputDescription               `json:"output_description,omitempty"`
}

type AnalyticsOutputDescription added in v1.3.0

type AnalyticsOutputDescription struct {
	// The commitment to both the Asset Type and amount of the Note
	Cv string `json:"cv,omitempty"`
	// The commitment to the entire Note
	Cm string `json:"cm,omitempty"`
	// The Proof that the commitments match
	Zkproof string `json:"zkproof,omitempty"`
	// The ephemeral public key used to encrypt the Note contents for the receiver
	Epk string `json:"epk,omitempty"`
	// The Note encryption for the receiver
	EncNote string `json:"enc_note,omitempty"`
	// The Note encryption for the sender
	EncSender string `json:"enc_sender,omitempty"`
}

type AnalyticsPublicIssuanceDescription added in v1.3.0

type AnalyticsPublicIssuanceDescription struct {
	// The ID of an Asset Type. It must be a string of length 0 to 40 characters. Allowed characters are lower- and uppercase letters, digits, dot (.), and hyphen (-). It must not end with an hyphen. Asset IDs are case-sensitive.
	AssetId string `json:"asset_id"`
	// The amount of Assets issued
	Amount int32 `json:"amount"`
}

Describes what Asset Type and amount were issued; null if the Issuance was confidential

type AnalyticsRule added in v1.3.0

type AnalyticsRule struct {
	// A `Namespace` describes what Asset IDs can be issued in an Issuance Rule. It is a string in the same format as `AssetId`. Additionally, if it ends with a wildcard character `*`, then the namespace covers all asset IDs with the namespace as a prefix. Without a final wildcard, the namespace covers exactly one asset ID. Example: The namespace `currencies.dollar` covers only this exact asset type, while `currencies.*` covers all asset types that start with `currencies.`.
	Namespace string `json:"namespace"`
}

The Rule used in the Issuance

type AnalyticsRuleDefinition added in v1.3.0

type AnalyticsRuleDefinition struct {
	// The public key of the Wallet that is being granted rights in this Rule
	PublicKey string `json:"public_key,omitempty"`
	// Boolean signifying whether the Rule grants admin rights
	IsAdmin bool `json:"is_admin,omitempty"`
	// A `Namespace` describes what Asset IDs can be issued in an Issuance Rule. It is a string in the same format as `AssetId`. Additionally, if it ends with a wildcard character `*`, then the namespace covers all asset IDs with the namespace as a prefix. Without a final wildcard, the namespace covers exactly one asset ID. Example: The namespace `currencies.dollar` covers only this exact asset type, while `currencies.*` covers all asset types that start with `currencies.`.
	Namespace string `json:"namespace,omitempty"`
	// Boolean signifying whether the Rule grants confidentialy issuance rights; if true, then both public and confidential issuance right are granted; if false, then only public issuance rights are granted
	CanIssueConfidentially bool `json:"can_issue_confidentially,omitempty"`
}

type AnalyticsRuleTx added in v1.3.0

type AnalyticsRuleTx struct {
	// The public key of the Wallet used to create the Rule
	SenderPublicKey string `json:"sender_public_key,omitempty"`
	// The details of the Rules added in this transaction
	RulesToAdd []AnalyticsRuleDefinition `json:"rules_to_add,omitempty"`
	// The details of the Rules deleted in this transaction
	RulesToDelete []AnalyticsRuleDefinition `json:"rules_to_delete,omitempty"`
	// The nonce used to make this Rule transaction unique
	Nonce int32 `json:"nonce,omitempty"`
	// The signature authorizing the Rule changes, made by the Wallet that made the Rule changes
	Signature string `json:"signature,omitempty"`
}

The data of a particular Rule changing transaction

type AnalyticsRuleTxAllOf added in v1.3.0

type AnalyticsRuleTxAllOf struct {
	SenderPublicKey string                  `json:"sender_public_key,omitempty"`
	RulesToAdd      AnalyticsRuleDefinition `json:"rules_to_add,omitempty"`
	RulesToDelete   AnalyticsRuleDefinition `json:"rules_to_delete,omitempty"`
	Nonce           int32                   `json:"nonce,omitempty"`
	Signature       string                  `json:"signature,omitempty"`
}

type AnalyticsRuleWalletDefinition added in v1.3.0

type AnalyticsRuleWalletDefinition struct {
	// The public key of the Wallet that is being granted rights in this Rule
	PublicKey string `json:"public_key,omitempty"`
	// Boolean signifying whether the Rule grants admin rights
	IsAdmin bool `json:"is_admin,omitempty"`
	// A `Namespace` describes what Asset IDs can be issued in an Issuance Rule. It is a string in the same format as `AssetId`. Additionally, if it ends with a wildcard character `*`, then the namespace covers all asset IDs with the namespace as a prefix. Without a final wildcard, the namespace covers exactly one asset ID. Example: The namespace `currencies.dollar` covers only this exact asset type, while `currencies.*` covers all asset types that start with `currencies.`.
	Namespace string `json:"namespace,omitempty"`
	// Boolean signifying whether the Rule grants confidentialy issuance rights; if true, then both public and confidential issuance right are granted; if false, then only public issuance rights are granted
	CanIssueConfidentially bool `json:"can_issue_confidentially,omitempty"`
	// Operation of the transaction, which can be rule creation or deletion
	Operation string `json:"operation,omitempty"`
}

type AnalyticsSpendDescription added in v1.3.0

type AnalyticsSpendDescription struct {
	// The commitment to both the Asset Type and amount of the Note
	Cv string `json:"cv,omitempty"`
	// The anchor (root) of the Merkle tree used in the Proof
	Anchor string `json:"anchor,omitempty"`
	// The Note's Nullifier
	Nullifier string `json:"nullifier,omitempty"`
	// The Proof that the Note indeed exists in the Merkle tree and belongs to the spender
	Zkproof string `json:"zkproof,omitempty"`
}

type AnalyticsTransferTx added in v1.3.0

type AnalyticsTransferTx struct {
	// The information and Proofs associated with the Assets spent in the Transfer
	Spends []AnalyticsSpendDescription `json:"spends,omitempty"`
	// The information and Proofs associated with the Assets output from the Transfer
	Outputs []AnalyticsOutputDescription `json:"outputs,omitempty"`
	// The re-randomized public key of the Wallet which created the Transfer
	Rk string `json:"rk,omitempty"`
	// The signature authorizing the spend of the Assets spent in the Transfer
	SpendAuthSig string `json:"spend_auth_sig,omitempty"`
	// The signature binding the spent and output Assets and verifying the balance
	BindingSig string `json:"binding_sig,omitempty"`
}

The data of a single Transfer within a Transfer transaction

type AnalyticsTransferTxAllOf added in v1.3.0

type AnalyticsTransferTxAllOf struct {
	AssetConverterDescriptions AnalyticsAssetConverterProofDescription `json:"asset_converter_descriptions,omitempty"`
	Spends                     []AnalyticsSpendDescription             `json:"spends,omitempty"`
	Outputs                    []AnalyticsOutputDescription            `json:"outputs,omitempty"`
	BindingSig                 string                                  `json:"binding_sig,omitempty"`
	SpendAuthSigs              []string                                `json:"spend_auth_sigs,omitempty"`
}

type AnalyticsTxMetadata added in v1.3.0

type AnalyticsTxMetadata struct {
	Type AnalyticsTxType `json:"type,omitempty"`
	// the QEDIT-generated hash of the transaction
	TxHash string `json:"tx_hash,omitempty"`
	// The height of the Block (inside the Blockchain) that the transaction is a part of
	BlockHeight int32 `json:"block_height,omitempty"`
	// the hash of the Block (inside the Blockchain) that the transaction is a part of
	BlockHash string `json:"block_hash,omitempty"`
	// UTC time of creation of the time the Block containing the transaction was created in RFC-3339 format
	Timestamp string `json:"timestamp,omitempty"`
	// The serial number within the Block of the transaction relative to other QEDIT transactions; indexing is 0-based
	IndexInBlock int32 `json:"index_in_block,omitempty"`
}

type AnalyticsTxType added in v1.5.1

type AnalyticsTxType string

AnalyticsTxType : Type of transaction

const (
	ISSUE    AnalyticsTxType = "Issue"
	TRANSFER AnalyticsTxType = "Transfer"
	RULE     AnalyticsTxType = "Rule"
)

List of AnalyticsTxType

type AsyncApiService added in v1.2.0

type AsyncApiService service

func (*AsyncApiService) NodeUnlockWalletPost added in v1.2.0

func (a *AsyncApiService) NodeUnlockWalletPost(ctx context.Context, unlockWalletRequest UnlockWalletRequest) (AsyncTaskCreatedResponse, *http.Response, error)

AsyncApiService Unlocks a wallet for a given amount of seconds [async call]

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param unlockWalletRequest

@return AsyncTaskCreatedResponse

func (*AsyncApiService) WalletCreateRulePost added in v1.2.0

func (a *AsyncApiService) WalletCreateRulePost(ctx context.Context, createRuleRequest CreateRuleRequest) (AsyncTaskCreatedResponse, *http.Response, error)

AsyncApiService Create & broadcast add-config-rule [async call]

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param createRuleRequest

@return AsyncTaskCreatedResponse

func (*AsyncApiService) WalletDeleteRulePost added in v1.2.0

func (a *AsyncApiService) WalletDeleteRulePost(ctx context.Context, deleteRuleRequest DeleteRuleRequest) (AsyncTaskCreatedResponse, *http.Response, error)

AsyncApiService Create & broadcast delete-config-rule [async call]

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param deleteRuleRequest

@return AsyncTaskCreatedResponse

func (*AsyncApiService) WalletIssueAssetPost added in v1.2.0

func (a *AsyncApiService) WalletIssueAssetPost(ctx context.Context, issueAssetRequest IssueAssetRequest) (AsyncTaskCreatedResponse, *http.Response, error)

AsyncApiService Issue assets [async call]

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param issueAssetRequest

@return AsyncTaskCreatedResponse

func (*AsyncApiService) WalletTransferAssetPost added in v1.2.0

func (a *AsyncApiService) WalletTransferAssetPost(ctx context.Context, transferAssetRequest TransferAssetRequest) (AsyncTaskCreatedResponse, *http.Response, error)

AsyncApiService Transfer assets [async call]

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param transferAssetRequest

@return AsyncTaskCreatedResponse

type AsyncTaskCreatedResponse added in v1.2.0

type AsyncTaskCreatedResponse struct {
	// The unique ID of the Task that was created in the Node to process the asynchronous request
	Id string `json:"id"`
}

type BalanceForAsset

type BalanceForAsset struct {
	// The ID of an Asset Type. It must be a string of length 0 to 40 characters. Allowed characters are lower- and uppercase letters, digits, dot (.), and hyphen (-). It must not end with an hyphen. Asset IDs are case-sensitive.
	AssetId string `json:"asset_id"`
	// The outstanding balance for the Asset Type
	Amount int32 `json:"amount"`
}

type BasicAuth

type BasicAuth struct {
	UserName string `json:"userName,omitempty"`
	Password string `json:"password,omitempty"`
}

BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth

type Block

type Block struct {
	BlockHash    string   `json:"block_hash"`
	Height       int32    `json:"height"`
	Transactions []string `json:"transactions"`
}

type ConfidentialAnalyticsOutput added in v1.3.0

type ConfidentialAnalyticsOutput struct {
	IsConfidential                  bool                                     `json:"is_confidential"`
	OutputDescription               AnalyticsOutputDescription               `json:"output_description"`
	ConfidentialIssuanceDescription AnalyticsConfidentialIssuanceDescription `json:"confidential_issuance_description"`
}

type Configuration

type Configuration struct {
	BasePath      string            `json:"basePath,omitempty"`
	Host          string            `json:"host,omitempty"`
	Scheme        string            `json:"scheme,omitempty"`
	DefaultHeader map[string]string `json:"defaultHeader,omitempty"`
	UserAgent     string            `json:"userAgent,omitempty"`
	HTTPClient    *http.Client
}

func NewConfiguration

func NewConfiguration() *Configuration

func (*Configuration) AddDefaultHeader

func (c *Configuration) AddDefaultHeader(key string, value string)

type CreateRuleRequest

type CreateRuleRequest struct {
	// The ID of the Wallet whose admin credentials should be used to create the new Rules
	WalletId string `json:"wallet_id"`
	// The authorization password for the Wallet whose admin credentials should be used to create the new Rules
	Authorization string `json:"authorization"`
	// The list of Rules to add to the network
	RulesToAdd []Rule `json:"rules_to_add"`
}

type DeleteRuleRequest

type DeleteRuleRequest struct {
	// The ID of the Wallet whose admin credentials should be used to delete the Rules
	WalletId string `json:"wallet_id"`
	// The authorization password for the Wallet whose admin credentials should be used to delete the Rules
	Authorization string `json:"authorization"`
	// The list of Rules to delete from the network
	RulesToDelete []Rule `json:"rules_to_delete"`
}

type DeleteWalletRequest

type DeleteWalletRequest struct {
	// The ID of the Wallet to delete
	WalletId string `json:"wallet_id"`
	// The authorization password for the Wallet
	Authorization string `json:"authorization,omitempty"`
}

type EmptyContent added in v1.6.1

type EmptyContent struct {
}

type ErrorResponse added in v1.2.0

type ErrorResponse struct {
	// The error code returned from the server
	ErrorCode int32 `json:"error_code"`
	// The error message returned from the server
	Message string `json:"message,omitempty"`
}

type ExportAuditorAccessWalletRequest added in v1.4.1

type ExportAuditorAccessWalletRequest struct {
	// The ID of the Wallet to export a viewing key for
	WalletId string `json:"wallet_id"`
	// The authorization password for the Wallet
	Authorization string `json:"authorization"`
	// The Address of the Wallet that belongs to the intended recipient of the exported viewing key; used to encrypt the key in such a way that only the intended recipient can decrypt it
	RecipientPaymentAddress string `json:"recipient_payment_address"`
}

type ExportAuditorAccessWalletResponse added in v1.4.1

type ExportAuditorAccessWalletResponse struct {
	// The ID of the exported Wallet in the Node from which it was exported
	WalletId string `json:"wallet_id"`
	// The public key of the exported Wallet which uniquely identifies it across the network
	PublicKey string `json:"public_key"`
	// The encrypted viewing key
	AccessKey string `json:"access_key"`
}

type ExportWalletRequest

type ExportWalletRequest struct {
	// The ID of the Wallet to export
	WalletId string `json:"wallet_id"`
}

type ExportWalletResponse

type ExportWalletResponse struct {
	// The ID of the exported Wallet in the Node from which it was exported
	WalletId string `json:"wallet_id"`
	// The encrypted secret key of the Wallet
	EncryptedSk string `json:"encrypted_sk"`
	// The salt used in the encryption of the secret key
	Salt string `json:"salt"`
}

type GenerateWalletRequest

type GenerateWalletRequest struct {
	// The ID under which to create the Wallet; must be unique within the Node
	WalletId string `json:"wallet_id"`
	// The authorizarion password under which to encrypt the generated Wallet's secret key; will be required in order to perform actions using the Wallet
	Authorization string `json:"authorization"`
}

type GenericOpenAPIError

type GenericOpenAPIError struct {
	// contains filtered or unexported fields
}

GenericOpenAPIError Provides access to the body, error and model on returned errors.

func (GenericOpenAPIError) Body

func (e GenericOpenAPIError) Body() []byte

Body returns the raw bytes of the response

func (GenericOpenAPIError) Error

func (e GenericOpenAPIError) Error() string

Error returns non-empty string if there was an error.

func (GenericOpenAPIError) Model

func (e GenericOpenAPIError) Model() interface{}

Model returns the unpacked model of the error

type GetActivityRequest added in v1.3.0

type GetActivityRequest struct {
	WalletId        string `json:"wallet_id"`
	StartIndex      int32  `json:"start_index"`
	NumberOfResults int32  `json:"number_of_results"`
}

type GetActivityResponse added in v1.3.0

type GetActivityResponse struct {
	WalletId     string                  `json:"wallet_id"`
	Transactions []TransactionsForWallet `json:"transactions"`
}

type GetAllWalletsResponse

type GetAllWalletsResponse struct {
	// The IDs of the Wallets currently active in this Node
	WalletIds []string `json:"wallet_ids,omitempty"`
}

type GetBlocksRequest

type GetBlocksRequest struct {
	StartIndex      int32 `json:"start_index"`
	NumberOfResults int32 `json:"number_of_results"`
}

type GetBlocksResponse

type GetBlocksResponse struct {
	Blocks []Block `json:"blocks"`
}

type GetNetworkActivityRequest added in v1.3.0

type GetNetworkActivityRequest struct {
	// An offset used to paginate through the activity history; indexing is 0-based
	StartIndex int32 `json:"start_index"`
	// Maximal number of results to fetch in this call
	NumberOfResults int32    `json:"number_of_results"`
	TxHashes        []string `json:"tx_hashes,omitempty"`
}

type GetNetworkActivityResponse added in v1.3.0

type GetNetworkActivityResponse struct {
	Transactions []AnalyticTransaction `json:"transactions,omitempty"`
}

type GetNewAddressRequest

type GetNewAddressRequest struct {
	// The ID of the Wallet for which to generate an Address
	WalletId string `json:"wallet_id"`
	// An optional 11-byte (22 hexadecimal characters) input which is used to generate different Addresses. A unique Address will be generated for each different diversifier used. If omitted, the Node selects a random diversifier.
	Diversifier string `json:"diversifier,omitempty"`
}

type GetNewAddressResponse

type GetNewAddressResponse struct {
	// The ID of the Wallet the Address belongs to
	WalletId string `json:"wallet_id"`
	// The generated Address of the Wallet
	RecipientAddress string `json:"recipient_address"`
}

type GetNotificationsRequest added in v1.6.1

type GetNotificationsRequest struct {
	// Fetch notifications that relate to this wallet ID only
	WalletId string             `json:"wallet_id,omitempty"`
	Types    []NotificationType `json:"types,omitempty"`
	// Fetch notifications reported at this timestamp or later/earlier. Later notifications will be fetched if the order is ascending, and earlier ones if the order is descending. The timestamp is expected to be in RFC-3339 format.
	StartingWithTime string `json:"starting_with_time,omitempty"`
	// Fetch notifications after this given ID (not including the notification with the given ID). This is meant to facilitate pagination. Later notifications will be fetched if ascending order is selected, and earlier ones if descending order is selected. Warning - do not assume anything about the implementation of after_id; the values of the ID are intended to be copy-pasted from retrieved notifications for pagination.
	AfterId int32     `json:"after_id,omitempty"`
	Order   OrderEnum `json:"order,omitempty"`
	// The maximal number of results to fetch
	MaxResults int32 `json:"max_results,omitempty"`
}

The request body determines which filters to apply to the notifications. All filters are optional, while the maximal number of results defaults to 100 and the order defaults to descending.

type GetNotificationsResponse added in v1.6.1

type GetNotificationsResponse struct {
	Notifications []Notification `json:"notifications,omitempty"`
}

type GetPublicKeyRequest

type GetPublicKeyRequest struct {
	// The ID of the Wallet for which to retrieve the public key
	WalletId string `json:"wallet_id"`
}

type GetPublicKeyResponse

type GetPublicKeyResponse struct {
	// The ID of the Wallet the pubic key belongs to
	WalletId string `json:"wallet_id"`
	// The public key of the Wallet
	PublicKey string `json:"public_key"`
}

type GetRulesResponse

type GetRulesResponse struct {
	// The Rules currently active in the network
	Rules []Rule `json:"rules,omitempty"`
}

type GetSyncStatusResponse added in v1.5.1

type GetSyncStatusResponse struct {
	// Boolean signifying whether the QEDIT Node is in sync with the Blockchain; false if the Node is not synced; sync is defined as having less than a preconfigured difference between the current Blockchain height and the last block processed by the Node; the allowed difference defaults to 5, but can be configured when setting up the Node
	InSync bool `json:"in_sync,omitempty"`
	// The current block height of the Blockchain
	BlockchainBlockHeight int32 `json:"blockchain_block_height,omitempty"`
	// The height of the last block that was processed in the Node
	LastProcessedBlockHeight int32 `json:"last_processed_block_height,omitempty"`
}

type GetTaskStatusRequest added in v1.2.0

type GetTaskStatusRequest struct {
	// The ID of the Task
	Id string `json:"id"`
}

type GetTaskStatusResponse added in v1.2.0

type GetTaskStatusResponse struct {
	// Unique ID of the Task
	Id string `json:"id,omitempty"`
	// UTC time of creation of the Task in RFC-3339 format
	CreatedAt string `json:"created_at,omitempty"`
	// UTC last time the Task was updated in RFC-3339 format
	UpdatedAt string    `json:"updated_at,omitempty"`
	Result    Result    `json:"result,omitempty"`
	State     TaskState `json:"state,omitempty"`
	// The Blockchain-generated hash of the Transaction; populated after the Blockchain Node accepted the Transaction
	TxHash string `json:"tx_hash,omitempty"`
	// The QEDIT-generated hash of the Transaction; generated after proof generation, but prior to Broadcast by the QEDIT Node
	QeditTxHash string   `json:"qedit_tx_hash,omitempty"`
	Type        TaskType `json:"type,omitempty"`
	Data        TaskData `json:"data,omitempty"`
	// In case of failure this field reports the reason for the failure
	Error string `json:"error,omitempty"`
}

type GetTasksRequest added in v1.4.1

type GetTasksRequest struct {
	// An offset used to paginate through the Task list; indexing is 0-based
	StartIndex int32 `json:"start_index"`
	// Maximal number of results to fetch in this call
	NumberOfResults int32 `json:"number_of_results"`
	// Types of Tasks to fetch; fetch all types if omitted
	Types []TaskType `json:"types,omitempty"`
	// List of results (statuses) to filter by; fetch in_progress tasks if omitted
	Results []Result  `json:"results,omitempty"`
	Order   OrderEnum `json:"order,omitempty"`
}

type GetTasksResponse added in v1.4.1

type GetTasksResponse struct {
	// The returned Tasks array, sorted in the requested order
	Tasks []GetTaskStatusResponse `json:"tasks,omitempty"`
}

type GetTransactionsRequest

type GetTransactionsRequest struct {
	WalletId        string `json:"wallet_id"`
	StartIndex      int32  `json:"start_index"`
	NumberOfResults int32  `json:"number_of_results"`
}

type GetTransactionsResponse

type GetTransactionsResponse struct {
	WalletId     string                  `json:"wallet_id"`
	Transactions []TransactionsForWallet `json:"transactions"`
}

type GetWalletActivityRequest added in v1.3.0

type GetWalletActivityRequest struct {
	// The ID of the Wallet for which to retrieve activity history
	WalletId string `json:"wallet_id"`
	// An offset used to paginate through the activity history; indexing is 0-based
	StartIndex int32 `json:"start_index"`
	// Maximal number of results to fetch in this call
	NumberOfResults int32 `json:"number_of_results"`
}

type GetWalletActivityResponse added in v1.3.0

type GetWalletActivityResponse struct {
	WalletId string `json:"wallet_id,omitempty"`
	// The list of retrieved transactions
	Transactions []AnalyticWalletTx `json:"transactions,omitempty"`
}

type GetWalletBalanceRequest

type GetWalletBalanceRequest struct {
	// The ID of the Wallet
	WalletId string `json:"wallet_id"`
}

type GetWalletBalanceResponse

type GetWalletBalanceResponse struct {
	// The ID of the Wallet
	WalletId string `json:"wallet_id"`
	// The balances of the various Asset Types held by the Wallet
	Assets []BalanceForAsset `json:"assets"`
}

type HealthApiService added in v1.3.0

type HealthApiService service

func (*HealthApiService) HealthPost added in v1.3.0

HealthApiService Perform a healthcheck of the node and its dependent services Reports the health of the various components of the system as well as an overall status for the Node. If the Node's status is good, then the Node is synced with the Blockchain and can successfully process requests.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

@return HealthcheckResponse

type HealthcheckResponse added in v1.3.0

type HealthcheckResponse struct {
	// API version of the Node
	Version             string                  `json:"version,omitempty"`
	BlockchainConnector HealthcheckResponseItem `json:"blockchain_connector,omitempty"`
	MessageQueue        HealthcheckResponseItem `json:"message_queue,omitempty"`
	Database            HealthcheckResponseItem `json:"database,omitempty"`
	// Boolean signifying whether the endpoint is ready for calls
	Passing bool `json:"passing,omitempty"`
}

type HealthcheckResponseBlockchainConnector added in v1.3.0

type HealthcheckResponseBlockchainConnector struct {
	Passing bool   `json:"passing,omitempty"`
	Error   string `json:"error,omitempty"`
}

type HealthcheckResponseItem added in v1.3.0

type HealthcheckResponseItem struct {
	// Boolean signifying whether the component is healthy
	Passing bool `json:"passing,omitempty"`
	// Error string describing the component's problem; empty if the component is healthy
	Error string `json:"error,omitempty"`
}

type ImportAuditorAccessWalletRequest added in v1.4.1

type ImportAuditorAccessWalletRequest struct {
	// The ID under which to import the Wallet; can be different from the ID the Wallet was stored under in the exporting Node
	WalletId string `json:"wallet_id"`
	// The public key of the imported Wallet
	PublicKey string `json:"public_key"`
	// the encrypted viewing key of the imported Wallet
	AccessKey string `json:"access_key"`
}

type ImportWalletRequest

type ImportWalletRequest struct {
	// The ID under which to import the Wallet; can be different from the ID the Wallet was stored under in the exporting Node
	WalletId string `json:"wallet_id"`
	// The encrypted secret key of the Wallet
	EncryptedSk string `json:"encrypted_sk"`
	// The authorization password used during Wallet generation that allows to decrypt the encrypted secret key
	Authorization string `json:"authorization"`
	// The salt used in the encryption of the secret key
	Salt string `json:"salt"`
}

type IssueAssetRequest

type IssueAssetRequest struct {
	// The ID of the Wallet that has the required Issuance privileges
	WalletId string `json:"wallet_id"`
	// The authorization password for the Wallet that has the Issuance privileges
	Authorization string `json:"authorization"`
	// The Address of the recipient of the issued Assets
	RecipientAddress string `json:"recipient_address"`
	// The ID of an Asset Type. It must be a string of length 0 to 40 characters. Allowed characters are lower- and uppercase letters, digits, dot (.), and hyphen (-). It must not end with an hyphen. Asset IDs are case-sensitive.
	AssetId string `json:"asset_id"`
	// the amount of Assets to issue
	Amount int32 `json:"amount"`
	// Boolean which should be true if the issuance should be confidential, and false of the Issuance should be public
	Confidential bool   `json:"confidential"`
	Memo         string `json:"memo"`
}

type NodeApiService

type NodeApiService service

func (*NodeApiService) NodeApproveTaskPost added in v1.6.0

func (a *NodeApiService) NodeApproveTaskPost(ctx context.Context, taskActionRequest TaskActionRequest) (*http.Response, error)

NodeApiService Approve task with pending incoming transaction [async call] Confirmation request tasks are confirmed using this point. After the user confirms the incoming transaction, it is asynchronously sent to the blockchain and its status can be queried like any other async task.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param taskActionRequest

func (*NodeApiService) NodeCancelTaskPost added in v1.6.0

func (a *NodeApiService) NodeCancelTaskPost(ctx context.Context, taskActionRequest TaskActionRequest) (*http.Response, error)

NodeApiService Cancel task with pending incoming transaction both incoming and outgoing [async call] A user may select to decline an incoming transaction. The related task will change its result to failure both on senders and the receivers side. This endpoint can also be used to cancel an outgoing pending transaction that is awaiting user interaction from the receiver

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param taskActionRequest

func (*NodeApiService) NodeDeleteWalletPost

func (a *NodeApiService) NodeDeleteWalletPost(ctx context.Context, deleteWalletRequest DeleteWalletRequest) (AsyncTaskCreatedResponse, *http.Response, error)

NodeApiService Delete a Wallet [async call] Deletes a Wallet from the Node; All private information about the Wallet will be deleted including transactional history, balances, and keys; If the secret key of the Wallet are not stored elsewhere then all Assets held in the Wallet will be forever lost! If the secret key of the Wallet is stored elsewhere, then all held Assets and the entire transactional history of the Wallet can be restored from the Blockchain at any time by importing the Wallet into a Node.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param deleteWalletRequest

@return AsyncTaskCreatedResponse

func (*NodeApiService) NodeExportAuditorAccessWalletPost added in v1.4.1

func (a *NodeApiService) NodeExportAuditorAccessWalletPost(ctx context.Context, exportAuditorAccessWalletRequest ExportAuditorAccessWalletRequest) (ExportAuditorAccessWalletResponse, *http.Response, error)

NodeApiService Export viewing credentials for a Wallet Export a viewing key that allows viewing all transactions to and from a wallet, including past transactions. The viewing key is encrypted for a specific Address, and can only be recovered by someone in possession of either a secret key or a viewing key for the Wallet that Address belongs to. The viewing key does enable making any transactions (including rule changes, issuance, and transfers) on behalf of the exported Wallet.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param exportAuditorAccessWalletRequest

@return ExportAuditorAccessWalletResponse

func (*NodeApiService) NodeExportWalletPost

func (a *NodeApiService) NodeExportWalletPost(ctx context.Context, exportWalletRequest ExportWalletRequest) (ExportWalletResponse, *http.Response, error)

NodeApiService Export wallet secret key Export an encrypted form of the Wallet's secret key; The authorization password under which the secret key is encrypted is the same one under which it was originally created or imported; Knowledge of the secret key and the authorization password is required to import the Wallet into a Node in the future.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param exportWalletRequest

@return ExportWalletResponse

func (*NodeApiService) NodeGenerateWalletPost

func (a *NodeApiService) NodeGenerateWalletPost(ctx context.Context, generateWalletRequest GenerateWalletRequest) (*http.Response, error)

NodeApiService Generate a new Wallet Randomly generate a new Wallet under a specified ID; This only affects the Node and in particular nothing about this action is broadcast to the Blockchain; The Wallet ID is required to be unique within the Node, but can otherwise be user-defined.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param generateWalletRequest

func (*NodeApiService) NodeGetAllWalletsPost

func (a *NodeApiService) NodeGetAllWalletsPost(ctx context.Context) (GetAllWalletsResponse, *http.Response, error)

NodeApiService Get all wallet IDs Returns a list of the IDs of all Wallets currently stored on the Node. Both full-access and view-only Wallets are listed.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

@return GetAllWalletsResponse

func (*NodeApiService) NodeGetNotificationsPost added in v1.6.1

func (a *NodeApiService) NodeGetNotificationsPost(ctx context.Context, getNotificationsRequest GetNotificationsRequest) (GetNotificationsResponse, *http.Response, error)

NodeApiService Get notifications Notifications are the Node's way to report about recent activity and status changes. This endpoint allows polling for these changes and fetching the updates. The notifications can be filtered in multiple ways.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param getNotificationsRequest

@return GetNotificationsResponse

func (*NodeApiService) NodeGetRulesPost

func (a *NodeApiService) NodeGetRulesPost(ctx context.Context) (GetRulesResponse, *http.Response, error)

NodeApiService Get network governance Rules Returns a full list of all the Rules that govern admin and issuance rights within the network.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

@return GetRulesResponse

func (*NodeApiService) NodeGetTaskStatusPost added in v1.2.0

func (a *NodeApiService) NodeGetTaskStatusPost(ctx context.Context, getTaskStatusRequest GetTaskStatusRequest) (GetTaskStatusResponse, *http.Response, error)

NodeApiService Get a specific task (by ID) Returns the meta-data of a given Task and its current status. The particular, private details of the Task such as an Asset ID or amount in a Transfer are not returned.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param getTaskStatusRequest

@return GetTaskStatusResponse

func (*NodeApiService) NodeGetTasksPost added in v1.4.1

func (a *NodeApiService) NodeGetTasksPost(ctx context.Context, getTasksRequest GetTasksRequest) (GetTasksResponse, *http.Response, error)

NodeApiService Get a (potentially) filtered list of all Tasks Returns a list of all Tasks along with their meta-data and statuses. The particular, private details of the Task such as an Asset ID or amount in a Transfer are not returned. Tasks can be filtered using various parameters as specified in the request body.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param getTasksRequest

@return GetTasksResponse

func (*NodeApiService) NodeImportAuditorAccessWalletPost added in v1.4.1

func (a *NodeApiService) NodeImportAuditorAccessWalletPost(ctx context.Context, importAuditorAccessWalletRequest ImportAuditorAccessWalletRequest) (AsyncTaskCreatedResponse, *http.Response, error)

NodeApiService Import viewing credentials for a Wallet [async call] Import a viewing key generated by the export_auditor_access_wallet endpoint. This will create a read-only wallet which can be queried with endpoints such as get_activity and get_balances, but cannot be used to perform transactions. The Wallet whose Address was used as the recipient for the exported viewing key must already be imported within the Node in order for this process to succeed.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param importAuditorAccessWalletRequest

@return AsyncTaskCreatedResponse

func (*NodeApiService) NodeImportWalletPost

func (a *NodeApiService) NodeImportWalletPost(ctx context.Context, importWalletRequest ImportWalletRequest) (AsyncTaskCreatedResponse, *http.Response, error)

NodeApiService Import Wallet from a known secret key and authorization [async call] Import a Wallet into the Node under a specified ID; All the transactional history and outstanding balanced of the Wallet will be extracted from the Blockchain; The Wallet ID is required to be unique within the Node, but can otherwise be user-defined.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param importWalletRequest

@return AsyncTaskCreatedResponse

func (*NodeApiService) NodeUnlockWalletPost

func (a *NodeApiService) NodeUnlockWalletPost(ctx context.Context, unlockWalletRequest UnlockWalletRequest) (AsyncTaskCreatedResponse, *http.Response, error)

NodeApiService Unlocks a wallet for a given amount of seconds [async call] Causes a specified Wallet's secret key to be stored in-memory for a specified amount of time in order to increase transactional latency. Should only be used in cases where latency is highly sensitive.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param unlockWalletRequest

@return AsyncTaskCreatedResponse

type Notification added in v1.6.1

type Notification struct {
	// The unique identifier of the notification. Can be used for pagination purposes.
	Id int32 `json:"id"`
	// Timestamp the notification was created at, in RFC-3339 format.
	CreatedAt string `json:"created_at"`
	// The ID of the wallet the notification relates to. May be null in cases there is no such specific wallet.
	WalletId string `json:"wallet_id,omitempty"`
	// The ID of the task the notification relates to. May be empty in cases there is no such specific task.
	TaskId           string                 `json:"task_id"`
	NotificationType NotificationType       `json:"notification_type"`
	Content          map[string]interface{} `json:"content,omitempty"`
}

A notification including some metadata and a content field whose type depends on the type of notification.

type NotificationType added in v1.6.1

type NotificationType string

NotificationType : The type of notification. This also determines the type of the content of the notification.

const (
	COMPLETED_SUCCESSFULLY NotificationType = "task_completed_successfully"
	FAILED                 NotificationType = "task_failed"
)

List of NotificationType

type OrderEnum added in v1.6.1

type OrderEnum string

OrderEnum : Order of results to fetch (either ascending or descending); ordering is chronological where the time is set to when the retrieved object was created

const (
	ASC  OrderEnum = "asc"
	DESC OrderEnum = "desc"
)

List of OrderEnum

type PublicAnalyticsOutput added in v1.3.0

type PublicAnalyticsOutput struct {
	IsConfidential            bool                               `json:"is_confidential"`
	OutputDescription         AnalyticsOutputDescription         `json:"output_description"`
	PublicIssuanceDescription AnalyticsPublicIssuanceDescription `json:"public_issuance_description"`
}

type Result added in v1.5.1

type Result string

Result : The current result (status) of the Task

const (
	PENDING                   Result = "pending"
	IN_PROGRESS               Result = "in_progress"
	AWAITING_USER_INTERACTION Result = "awaiting_user_interaction"
	SUCCESS                   Result = "success"
	FAILURE                   Result = "failure"
)

List of Result

type Rule

type Rule struct {
	// The public key of the Wallet that is being granted rights in this Rule
	PublicKey string `json:"public_key"`
	// Boolean signifying whether the Rule grants admin rights
	IsAdmin bool `json:"is_admin"`
	// A `Namespace` describes what Asset IDs can be issued in an Issuance Rule. It is a string in the same format as `AssetId`. Additionally, if it ends with a wildcard character `*`, then the namespace covers all asset IDs with the namespace as a prefix. Without a final wildcard, the namespace covers exactly one asset ID. Example: The namespace `currencies.dollar` covers only this exact asset type, while `currencies.*` covers all asset types that start with `currencies.`.
	Namespace string `json:"namespace"`
	// Boolean signifying whether the Rule grants confidentialy issuance rights; if true, then both public and confidential issuance right are granted; if false, then only public issuance rights are granted
	CanIssueConfidentially bool `json:"can_issue_confidentially"`
}

type TaskActionRequest added in v1.6.0

type TaskActionRequest struct {
	TaskId        string `json:"task_id"`
	Authorization string `json:"authorization"`
}

To approve or cancel a task, the user should include the task id and authorization of the wallet related to this task.

type TaskData added in v1.6.0

type TaskData struct {
	// The public key of the sender of the confirmation request
	SenderPublicKey string `json:"sender_public_key,omitempty"`
	// The public key for the confirmation request receiver
	RequireConfirmationFrom string `json:"require_confirmation_from,omitempty"`
	// The address the request was sent to
	RecipientAddress string `json:"recipient_address,omitempty"`
	AssetId          string `json:"asset_id,omitempty"`
	Amount           int32  `json:"amount,omitempty"`
	WalletId         string `json:"wallet_id,omitempty"`
}

An object that includes additional request details

type TaskState added in v1.6.0

type TaskState string

TaskState : A fine-grained status of the node's inner state. This field is subject to changes and should not be relied upon during development.

const (
	PENDING_STATE                       TaskState = "pending_state"
	IN_PROGRESS_STATE                   TaskState = "in_progress_state"
	TX_GENERATED_STATE                  TaskState = "tx_generated_state"
	CONF_REQ_SENT_STATE                 TaskState = "conf_req_sent_state"
	CONF_REQ_RECEIVED_STATE             TaskState = "conf_req_received_state"
	CONF_REQ_CANCELED_BY_SENDER_STATE   TaskState = "conf_req_canceled_by_sender_state"
	CONF_REQ_CANCELED_BY_RECEIVER_STATE TaskState = "conf_req_canceled_by_receiver_state"
	TX_SUBMITTED_STATE                  TaskState = "tx_submitted_state"
	FAILURE_STATE                       TaskState = "failure_state"
	SUCCESS_STATE                       TaskState = "success_state"
)

List of TaskState

type TaskType added in v1.5.1

type TaskType string

TaskType : Task type

const (
	UNLOCK_WALLET            TaskType = "unlock_wallet"
	TRANSFER_ASSET           TaskType = "transfer_asset"
	ISSUE_ASSET              TaskType = "issue_asset"
	ALTER_RULE               TaskType = "alter_rule"
	IMPORT_WALLET            TaskType = "import_wallet"
	DELETE_WALLET            TaskType = "delete_wallet"
	OUTGOING_CONFIRM_REQUEST TaskType = "outgoing_confirm_request"
	INCOMING_CONFIRM_REQUEST TaskType = "incoming_confirm_request"
)

List of TaskType

type TransactionsForWallet

type TransactionsForWallet struct {
	IsIncoming       bool   `json:"is_incoming"`
	AssetId          int32  `json:"asset_id"`
	Amount           int32  `json:"amount"`
	RecipientAddress string `json:"recipient_address"`
	Memo             string `json:"memo"`
	Id               string `json:"id"`
}

type TransferAssetRequest

type TransferAssetRequest struct {
	// The ID of the Wallet to transfer from
	WalletId string `json:"wallet_id"`
	// The authorization password for the Wallet to transfer from
	Authorization string `json:"authorization"`
	// The Address of the recipient of the funds
	RecipientAddress string `json:"recipient_address"`
	// The ID of an Asset Type. It must be a string of length 0 to 40 characters. Allowed characters are lower- and uppercase letters, digits, dot (.), and hyphen (-). It must not end with an hyphen. Asset IDs are case-sensitive.
	AssetId string `json:"asset_id"`
	// The amount of assets to transfer
	Amount int32 `json:"amount"`
	// An app-customizable field to store additional private data relating to the transfer; the memo is shared between the sender and the receiver, but is not divulged to other parties
	Memo string `json:"memo"`
	// A user may request confirmation from the receiving party. If a public key of the approver is included in this optional field, the transaction will only become valid after the received signs it. The receiver will be able to decide whether to accept or reject the transfer by calling the /node/approve_task or the /node/reject_task respectively.
	RequireConfirmationFrom string `json:"require_confirmation_from,omitempty"`
}

type UnlockWalletRequest

type UnlockWalletRequest struct {
	// The ID of the Wallet to unlock
	WalletId string `json:"wallet_id"`
	// The authorization password for the Wallet
	Authorization string `json:"authorization"`
	// The number of seconds to keep the Wallet unlocked
	Seconds int32 `json:"seconds"`
}

type WalletApiService

type WalletApiService service

func (*WalletApiService) WalletCreateRulePost

func (a *WalletApiService) WalletCreateRulePost(ctx context.Context, createRuleRequest CreateRuleRequest) (AsyncTaskCreatedResponse, *http.Response, error)

WalletApiService Create a new Rule in the network [async call] Create new Rules that can either create a new admin, a new issuer, or both; The Rules are created by a Wallet that needs to have admin rights; The Rules grant rights to other Wallets through the Wallets' public keys.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param createRuleRequest

@return AsyncTaskCreatedResponse

func (*WalletApiService) WalletDeleteRulePost

func (a *WalletApiService) WalletDeleteRulePost(ctx context.Context, deleteRuleRequest DeleteRuleRequest) (AsyncTaskCreatedResponse, *http.Response, error)

WalletApiService Delete an existing Rule from the network [async call] Delete an existing Rule from the network; The Rule is deleted by a Wallet which needs to have admin rights.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param deleteRuleRequest

@return AsyncTaskCreatedResponse

func (*WalletApiService) WalletGetActivityPost added in v1.3.0

func (a *WalletApiService) WalletGetActivityPost(ctx context.Context, getWalletActivityRequest GetWalletActivityRequest) (GetWalletActivityResponse, *http.Response, error)

WalletApiService Get wallet activity (transactions) List transactions that were created by a specifed Wallet or that affected that Wallet; All known details of each such transaction will be returned.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param getWalletActivityRequest

@return GetWalletActivityResponse

func (*WalletApiService) WalletGetBalancesPost added in v1.3.0

func (a *WalletApiService) WalletGetBalancesPost(ctx context.Context, getWalletBalanceRequest GetWalletBalanceRequest) (GetWalletBalanceResponse, *http.Response, error)

WalletApiService Get wallets balances Get a list of the Asset Types held within a given Wallet and the amount of each type held.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param getWalletBalanceRequest

@return GetWalletBalanceResponse

func (*WalletApiService) WalletGetNewAddressPost

func (a *WalletApiService) WalletGetNewAddressPost(ctx context.Context, getNewAddressRequest GetNewAddressRequest) (GetNewAddressResponse, *http.Response, error)

WalletApiService Get a new address from a given diversifier or generate randomly Generate an Address for the Wallet; the address can be used by other Wallet owners to issue or transfer Assets into said Wallet; If a diversifier is provided, then the generated address is deterministically generated from the diversifier; If the diversifier is omitted, then a random diversifier is used and the resulting Address will be random; in both cases the Address cannot be linked to the Wallet by parties that do not have access to the Wallet. All generated Addresses of a Wallet are always valid and cannot be invalidated.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param getNewAddressRequest

@return GetNewAddressResponse

func (*WalletApiService) WalletGetPublicKeyPost

func (a *WalletApiService) WalletGetPublicKeyPost(ctx context.Context, getPublicKeyRequest GetPublicKeyRequest) (GetPublicKeyResponse, *http.Response, error)

WalletApiService Get wallet public key Get the unique public key of the Wallet; This key is unique across the entire network and is used to identify the Wallet.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param getPublicKeyRequest

@return GetPublicKeyResponse

func (*WalletApiService) WalletIssueAssetPost

func (a *WalletApiService) WalletIssueAssetPost(ctx context.Context, issueAssetRequest IssueAssetRequest) (AsyncTaskCreatedResponse, *http.Response, error)

WalletApiService Issue assets [async call] Issue Assets from a Wallet to a recipient Address; The issuing Wallet is required to have matching issuance rights (in the form of a matching Rule); Issuance can be done either confidentially or in public; In order to issue confidentially, the matching Rule must explicitly allow this.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param issueAssetRequest

@return AsyncTaskCreatedResponse

func (*WalletApiService) WalletTransferAssetPost

func (a *WalletApiService) WalletTransferAssetPost(ctx context.Context, transferAssetRequest TransferAssetRequest) (AsyncTaskCreatedResponse, *http.Response, error)

WalletApiService Transfer assets [async call] Transfer a specified amount of a specified Asset Type from a specified Wallet to a specified Address; Transfers are always completely confidential.

  • @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param transferAssetRequest

@return AsyncTaskCreatedResponse

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL