Documentation
¶
Index ¶
- Constants
- Variables
- func NewEarningsPerHermesDTO(earnings map[common.Address]pingpong_event.Earnings) map[string]EarningsDTO
- type ActivityStatsResponse
- type AuthRequest
- type AuthResponse
- type BalanceDTO
- type BeneficiaryAddressRequest
- type BeneficiaryTxStatus
- type BuildInfoDTO
- type ChainSummary
- type ChangePasswordRequest
- type CombinedFeesResponse
- type ConnectOptions
- type ConnectionCreateFilter
- type ConnectionCreateRequest
- type ConnectionDTO
- type ConnectionInfoDTO
- type ConnectionStatisticsDTO
- type ConnectionTrafficDTO
- type CurrencyExchangeDTO
- type CurrentPriceResponse
- type DecreaseStakeRequest
- type DownloadNodeUIRequest
- type EarningsDTO
- type EarningsPerServiceResponse
- type EncryptedKeyJSON
- type EntertainmentEstimateRequest
- type EntertainmentEstimateResponse
- type FeesDTO
- type FilterPreset
- type GatewaysResponse
- type HealthCheckDTO
- type IPDTO
- type IdentityBeneficiaryResponse
- type IdentityCreateRequest
- type IdentityCurrentRequest
- type IdentityDTO
- type IdentityExportRequest
- type IdentityImportRequest
- type IdentityRefDTO
- type IdentityRegisterRequest
- type IdentityRegistrationResponse
- type IdentityUnlockRequest
- type LatestReleaseResponse
- type ListIdentitiesResponse
- type ListProposalFilterPresetsResponse
- type ListProposalsCountiesResponse
- type ListProposalsResponse
- type LocalVersionsResponse
- type LocationDTO
- type MMNApiKeyRequest
- type MMNGrantVerificationResponse
- type MMNLinkRedirectResponse
- type MigrationStatus
- type MigrationStatusResponse
- type MonitoringAgentResponse
- type MystnodesSSOGrantLoginRequest
- type MystnodesSSOGrantVerificationRequest
- type MystnodesSSOLinkResponse
- type NATTypeDTO
- type NodeStatusResponse
- type PageableDTO
- type PaginationQuery
- type PaymentChannelDTO
- type PaymentOrderOptions
- type PaymentOrderRequest
- type PaymentOrderResponse
- type Price
- type ProposalDTO
- type ProviderConsumersCountResponse
- type ProviderEarningsSeriesResponse
- type ProviderSeriesItem
- type ProviderSession
- type ProviderSessionsCountResponse
- type ProviderSessionsResponse
- type ProviderSessionsSeriesResponse
- type ProviderTransferredDataResponse
- type ProviderTransferredDataSeriesResponse
- type Quality
- type QualityInfoResponse
- type ReferralTokenResponse
- type RegistrationPaymentResponse
- type RemoteVersionsResponse
- type ServiceAccessPolicies
- type ServiceInfoDTO
- type ServiceListResponse
- type ServiceLocationDTO
- type ServiceStartRequest
- type ServiceStatisticsDTO
- type SessionDTO
- type SessionListQuery
- type SessionListResponse
- type SessionQuery
- type SessionStatsAggregatedResponse
- type SessionStatsDTO
- type SessionStatsDailyResponse
- type SettleRequest
- type SettleWithBeneficiaryRequest
- type SettlementDTO
- type SettlementListQuery
- type SettlementListResponse
- type SwitchNodeUIRequest
- type TermsRequest
- type TermsResponse
- type TokenRewardAmount
- type Tokens
- type TransactorFees
- type UI
- type WithdrawRequest
Constants ¶
const ( ErrCodeIDImport = "err_id_import" ErrCodeIDSetDefault = "err_id_set_default" ErrCodeIDUseOrCreate = "err_to_id_use_or_create" ErrCodeIDUnlock = "err_id_unlock" ErrCodeIDLocked = "err_id_locked" ErrCodeIDNotRegistered = "err_id_not_registered" ErrCodeIDStatusUnknown = "err_id_status_unknown" ErrCodeIDCreate = "err_id_create" ErrCodeIDRegistrationCheck = "err_id_registration_status_check" ErrCodeIDBlockchainRegistrationCheck = "err_id_registration_blockchain_status_check" ErrCodeIDRegistrationInProgress = "err_id_registration_in_progress" ErrCodeIDCalculateAddress = "err_id_calculate_address" ErrCodeIDSaveBeneficiaryAddress = "err_id_save_beneficiary_invalid_address" ErrCodeIDGetBeneficiaryAddress = "err_id_get_beneficiary_address" ErrCodeHermesMigration = "err_id_check_hermes_migration" ErrCodeCheckHermesMigrationStatus = "err_id_check_hermes_migration_status" ErrCodePaymentCreate = "err_payment_create" ErrCodePaymentGet = "err_payment_get" ErrCodePaymentGetInvoice = "err_payment_get_invoice" ErrCodePaymentList = "err_payment_list" ErrCodePaymentListCurrencies = "err_payment_list_currencies" ErrCodePaymentGetOptions = "err_payment_get_order_options" ErrCodePaymentListGateways = "err_payment_list_gateways" ErrCodeReferralGetToken = "err_referral_get_token" ErrCodeBeneficiaryGet = "err_beneficiary_get" ErrCodeConfigSave = "err_config_save" ErrCodeConnectionAlreadyExists = "err_connection_already_exists" ErrCodeConnectionCancelled = "err_connection_cancelled" ErrCodeConnect = "err_connect" ErrCodeNoConnectionExists = "err_no_connection_exists" ErrCodeDisconnect = "err_disconnect" ErrCodeFeedbackSubmit = "err_feedback_submit" ErrCodeMMNNodeAlreadyClaimed = "err_mmn_node_already_claimed" ErrCodeMMNAPIKey = "err_mmn_api_key" ErrCodeMMNRegistration = "err_mmn_registration" ErrCodeMMNClaimRedirectURLMissing = "err_mmn_claim_redirect_url_missing" ErrCodeMMNClaimLink = "err_mmn_claim_link" ErrCodeNATProbe = "err_nat_probe" ErrCodeProposalsQuery = "err_proposals_query" ErrCodeProposalsCountryQuery = "err_proposals_countries_query" ErrCodeProposalsDetectLocation = "err_proposals_detect_location" ErrCodeProposalsPrices = "err_proposals_prices" ErrCodeProposalsPresets = "err_proposals_presets" ErrCodeProposalsServiceType = "err_proposals_service_type" ErrCodeServiceList = "err_service_list" ErrCodeServiceGet = "err_service_get" ErrCodeServiceRunning = "err_service_running" ErrCodeServiceLocation = "err_service_location" ErrCodeServiceStart = "err_service_start" ErrCodeServiceStop = "err_service_stop" ErrCodeSessionList = "err_session_list" ErrCodeSessionListPaginate = "err_session_list_paginate" ErrCodeSessionStats = "err_session_stats" ErrCodeSessionStatsDaily = "err_session_stats_daily" ErrCodeTransactorRegistration = "err_transactor_registration" ErrCodeTransactorFetchFees = "err_transactor_fetch_fees" ErrCodeTransactorDecreaseStake = "err_transactor_decrease_stake" ErrCodeTransactorSettleHistory = "err_transactor_settle_history" ErrCodeTransactorSettleHistoryPaginate = "err_transactor_settle_history_paginate" ErrCodeTransactorWithdraw = "err_transactor_withdraw" ErrCodeTransactorSettle = "err_transactor_settle_into_stake" ErrCodeTransactorSettleAsync = "err_transactor_settle_into_stake_async" ErrCodeTransactorNoReward = "err_transactor_no_reward" ErrCodeTransactorBeneficiary = "err_transactor_beneficiary" ErrCodeTransactorBeneficiaryTxStatus = "err_transactor_beneficiary_tx_status" ErrCodeAffiliatorNoReward = "err_affiliator_no_reward" ErrCodeAffiliatorFailed = "err_affiliator_failed" ErrCodeActiveHermes = "err_get_active_hermes" ErrCodeHermesFee = "err_hermes_fee" ErrCodeHermesSettle = "err_hermes_settle" ErrCodeHermesSettleAsync = "err_hermes_settle_async" ErrCodeUILocalVersions = "err_ui_local_versions" ErrCodeUISwitchVersion = "err_ui_switch_version" ErrCodeUIDownload = "err_ui_download" ErrCodeUIBundledVersion = "err_ui_bundled_version" ErrCodeUIUsedVersion = "err_ui_used_version" ErrorCodeProviderSessions = "err_provider_sessions" ErrorCodeProviderTransferredData = "err_provider_transferred_data" ErrorCodeProviderSessionsCount = "err_provider_sessions_count" ErrorCodeProviderConsumersCount = "err_provider_consumers_count" ErrorCodeProviderEarningsSeries = "err_provider_earnings_series" ErrorCodeProviderSessionsSeries = "err_provider_sessions_series" ErrorCodeProviderTransferredDataSeries = "err_provider_transferred_data_series" ErrorCodeProviderQuality = "err_provider_quality" ErrorCodeProviderActivityStats = "err_provider_activity_stats" ErrorCodeLatestReleaseInformation = "err_latest_release_information" ErrorCodeProviderServiceEarnings = "err_provider_service_earnings" )
Err codes returned from TequilAPI. Once created, do not change the string value, because consumers may depend on it - it's part of the contract.
const ( // MigrationStatusRequired means new there is new Hermes and identity required to migrate to it MigrationStatusRequired = "required" // MigrationStatusFinished means migration to new Hermes finished or not needed MigrationStatusFinished = "finished" )
const ( // TermsConsumerAgreed is the key which is used to store terms agreement // for consumer features. // This key can also be used to address the value directly in the config. TermsConsumerAgreed = "terms.consumer-agreed" // TermsProviderAgreed is the key which is used to store terms agreement // for provider features. // This key can also be used to address the value directly in the config. TermsProviderAgreed = "terms.provider-agreed" // TermsVersion is the key which is used to store terms agreement // version for both provider and consumer. // This key can also be used to address the value directly in the config. TermsVersion = "terms.version" )
const AutoNATType = "auto"
AutoNATType passed as nat_compatibility parameter to proposal discovery indicates NAT type should be probed automatically immediately within given request
const HumanPrecision = 6
HumanPrecision default human ether amount precision
Variables ¶
var TokensZero = Tokens{Wei: "0", Ether: "0", Human: "0"}
TokensZero zero amount
Functions ¶
func NewEarningsPerHermesDTO ¶
func NewEarningsPerHermesDTO(earnings map[common.Address]pingpong_event.Earnings) map[string]EarningsDTO
NewEarningsPerHermesDTO transforms the pingong value in a public one.
Types ¶
type ActivityStatsResponse ¶
type ActivityStatsResponse struct {
Online float64 `json:"online_percent"`
Active float64 `json:"active_percent"`
}
ActivityStatsResponse reflects a node activity stats. swagger:model ActivityStatsResponse
type AuthRequest ¶
AuthRequest request used to authenticate to API. swagger:model AuthRequest
type AuthResponse ¶
type AuthResponse struct {
// example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Im15c3QiLCJleHAiOjE2MDEwNDA1NzB9.hnn9FosblyWtx1feSupx3MhZZdkbCuMTaiM6xl54VwQ
Token string `json:"token"`
// example: 2019-06-06T11:04:43.910035Z
ExpiresAt string `json:"expires_at"`
}
AuthResponse response after successful authentication to API. swagger:model AuthResponse
func NewAuthResponse ¶
func NewAuthResponse(jwtToken auth.JWT) AuthResponse
NewAuthResponse maps to API authentication response.
type BalanceDTO ¶
type BalanceDTO struct {
Balance *big.Int `json:"balance"`
BalanceTokens Tokens `json:"balance_tokens"`
}
BalanceDTO holds balance information. swagger:model BalanceDTO
type BeneficiaryAddressRequest ¶
type BeneficiaryAddressRequest struct {
Address string `json:"address"`
}
BeneficiaryAddressRequest address of the beneficiary swagger:model BeneficiaryAddressRequest
type BeneficiaryTxStatus ¶
type BeneficiaryTxStatus struct {
State beneficiary.SettleState `json:"state"`
Error string `json:"error"`
// example: 0x0000000000000000000000000000000000000001
ChangeTo string `json:"change_to"`
}
BeneficiaryTxStatus settle with beneficiary transaction status. swagger:model BeneficiaryTxStatus
type BuildInfoDTO ¶
type BuildInfoDTO struct {
// example: <unknown>
Commit string `json:"commit"`
// example: <unknown>
Branch string `json:"branch"`
// example: dev-build
BuildNumber string `json:"build_number"`
}
BuildInfoDTO holds info about build. swagger:model BuildInfoDTO
type ChainSummary ¶
type ChainSummary struct {
Chains map[int64]string `json:"chains"`
CurrentChain int64 `json:"current_chain"`
}
ChainSummary represents a response for token rewards. swagger:model ChainSummary
type ChangePasswordRequest ¶
type ChangePasswordRequest struct {
Username string `json:"username"`
OldPassword string `json:"old_password"`
NewPassword string `json:"new_password"`
}
ChangePasswordRequest request used to change API password. swagger:model ChangePasswordRequest
type CombinedFeesResponse ¶
type CombinedFeesResponse struct {
Current TransactorFees `json:"current"`
Last TransactorFees `json:"last"`
ServerTime time.Time `json:"server_time"`
HermesPercent string `json:"hermes_percent"`
}
CombinedFeesResponse represents transactor fees. swagger:model CombinedFeesResponse
type ConnectOptions ¶
type ConnectOptions struct {
// kill switch option restricting communication only through VPN
// required: false
// example: true
DisableKillSwitch bool `json:"kill_switch"`
// DNS to use
// required: false
// default: auto
// example: auto, provider, system, "1.1.1.1,8.8.8.8"
DNS connection.DNSOption `json:"dns"`
ProxyPort int `json:"proxy_port"`
}
ConnectOptions holds tequilapi connect options swagger:model ConnectOptionsDTO
type ConnectionCreateFilter ¶
type ConnectionCreateFilter struct {
Providers []string `json:"providers,omitempty"`
CountryCode string `json:"country_code,omitempty"`
IPType string `json:"ip_type,omitempty"`
IncludeMonitoringFailed bool `json:"include_monitoring_failed,omitempty"`
SortBy string `json:"sort_by,omitempty"`
}
ConnectionCreateFilter describes filter for the connection request to lookup for a requested proposals based on specified params.
type ConnectionCreateRequest ¶
type ConnectionCreateRequest struct {
// consumer identity
// required: true
// example: 0x0000000000000000000000000000000000000001
ConsumerID string `json:"consumer_id"`
// provider identity
// required: true
// example: 0x0000000000000000000000000000000000000002
ProviderID string `json:"provider_id"`
Filter ConnectionCreateFilter `json:"filter"`
// hermes identity
// example: 0x0000000000000000000000000000000000000003
HermesID string `json:"hermes_id"`
// service type. Possible values are "openvpn", "wireguard" and "noop"
// required: false
// default: openvpn
// example: openvpn
ServiceType string `json:"service_type"`
// connect options
// required: false
ConnectOptions ConnectOptions `json:"connect_options,omitempty"`
}
ConnectionCreateRequest request used to start a connection. swagger:model ConnectionCreateRequestDTO
func (ConnectionCreateRequest) Event ¶
func (cr ConnectionCreateRequest) Event(stage string, errMsg string) quality.ConnectionEvent
Event creates a quality connection event to be send as a quality metric.
func (ConnectionCreateRequest) Validate ¶
func (cr ConnectionCreateRequest) Validate() *apierror.APIError
Validate validates fields in request.
type ConnectionDTO ¶
type ConnectionDTO struct {
ConnectionInfoDTO
Statistics *ConnectionStatisticsDTO `json:"statistics,omitempty"`
}
ConnectionDTO holds full consumer connection details. swagger:model ConnectionDTO
func NewConnectionDTO ¶
func NewConnectionDTO(session connectionstate.Status, statistics connectionstate.Statistics, throughput bandwidth.Throughput, invoice crypto.Invoice) ConnectionDTO
NewConnectionDTO maps to API connection.
type ConnectionInfoDTO ¶
type ConnectionInfoDTO struct {
// example: Connected
Status string `json:"status"`
// example: 0x00
ConsumerID string `json:"consumer_id,omitempty"`
// example: 0x00
HermesID string `json:"hermes_id,omitempty"`
// example: {"id":1,"provider_id":"0x71ccbdee7f6afe85a5bc7106323518518cd23b94","service_type":"openvpn","location":{"country":"CA"}}
Proposal *ProposalDTO `json:"proposal,omitempty"`
// example: 4cfb0324-daf6-4ad8-448b-e61fe0a1f918
SessionID string `json:"session_id,omitempty"`
}
ConnectionInfoDTO holds partial consumer connection details. swagger:model ConnectionInfoDTO
func NewConnectionInfoDTO ¶
func NewConnectionInfoDTO(session connectionstate.Status) ConnectionInfoDTO
NewConnectionInfoDTO maps to API connection status.
type ConnectionStatisticsDTO ¶
type ConnectionStatisticsDTO struct {
// example: 1024
BytesSent uint64 `json:"bytes_sent"`
// example: 1024
BytesReceived uint64 `json:"bytes_received"`
// Upload speed in bits per second
// example: 1024
ThroughputSent uint64 `json:"throughput_sent"`
// Download speed in bits per second
// example: 1024
ThroughputReceived uint64 `json:"throughput_received"`
// connection duration in seconds
// example: 60
Duration int `json:"duration"`
// example: 500000
TokensSpent *big.Int `json:"tokens_spent"`
SpentTokens Tokens `json:"spent_tokens"`
}
ConnectionStatisticsDTO holds consumer connection statistics. swagger:model ConnectionStatisticsDTO
func NewConnectionStatisticsDTO ¶
func NewConnectionStatisticsDTO(session connectionstate.Status, statistics connectionstate.Statistics, throughput bandwidth.Throughput, invoice crypto.Invoice) ConnectionStatisticsDTO
NewConnectionStatisticsDTO maps to API connection stats.
type ConnectionTrafficDTO ¶
type ConnectionTrafficDTO struct {
// example: 1024
BytesSent uint64 `json:"bytes_sent"`
// example: 1024
BytesReceived uint64 `json:"bytes_received"`
}
ConnectionTrafficDTO holds consumer connection traffic information. swagger:model ConnectionTrafficDTO
type CurrencyExchangeDTO ¶
type CurrencyExchangeDTO struct {
Amount float64 `json:"amount"`
Currency string `json:"currency"`
}
CurrencyExchangeDTO the value of a given currency. swagger:model CurrencyExchangeDTO
type CurrentPriceResponse ¶
type CurrentPriceResponse struct {
ServiceType string `json:"service_type"`
// deprecated
PricePerHour *big.Int `json:"price_per_hour"`
PricePerHourTokens Tokens `json:"price_per_hour_tokens"`
// deprecated
PricePerGiB *big.Int `json:"price_per_gib"`
PricePerGiBTokens Tokens `json:"price_per_gib_tokens"`
}
CurrentPriceResponse represents the price. swagger:model CurrentPriceResponse
type DecreaseStakeRequest ¶
type DecreaseStakeRequest struct {
ID string `json:"id,omitempty"`
Amount *big.Int `json:"amount,omitempty"`
}
DecreaseStakeRequest represents the decrease stake request swagger:model DecreaseStakeRequest
type DownloadNodeUIRequest ¶
type DownloadNodeUIRequest struct {
Version string `json:"version"`
}
DownloadNodeUIRequest request for downloading NodeUI version swagger:model DownloadNodeUIRequest
func (*DownloadNodeUIRequest) Valid ¶
func (s *DownloadNodeUIRequest) Valid() *apierror.APIError
Valid validate DownloadNodeUIRequest
type EarningsDTO ¶
type EarningsDTO struct {
Earnings Tokens `json:"earnings"`
EarningsTotal Tokens `json:"earnings_total"`
}
EarningsDTO holds earnings data. swagger:model EarningsDTO
type EarningsPerServiceResponse ¶
type EarningsPerServiceResponse struct {
EarningsPublic Tokens `json:"public_tokens"`
EarningsVPN Tokens `json:"data_transfer_tokens"`
EarningsScraping Tokens `json:"scraping_tokens"`
EarningsDVPN Tokens `json:"dvpn_tokens"`
EarningsMonitoring Tokens `json:"monitoring_tokens"`
EarningsTotal Tokens `json:"total_tokens"`
TotalEarningsPublic Tokens `json:"total_public_tokens"`
TotalEarningsVPN Tokens `json:"total_data_transfer_tokens"`
TotalEarningsScraping Tokens `json:"total_scraping_tokens"`
TotalEarningsDVPN Tokens `json:"total_dvpn_tokens"`
TotalEarningsMonitoring Tokens `json:"total_monitoring_tokens"`
}
EarningsPerServiceResponse contains information about earnings per service swagger:model EarningsPerServiceResponse
type EncryptedKeyJSON ¶
type EncryptedKeyJSON struct {
Address string `json:"address"`
Crypto cryptoJSON `json:"crypto"`
Id string `json:"id"`
Version int `json:"version"`
}
EncryptedKeyJSON represents response to IdentityExportRequest. swagger:model IdentityExportResponseDTO
type EntertainmentEstimateRequest ¶
type EntertainmentEstimateRequest struct {
Amount float64
}
EntertainmentEstimateRequest request to estimate entertainment amounts.
type EntertainmentEstimateResponse ¶
type EntertainmentEstimateResponse struct {
VideoMinutes uint64 `json:"video_minutes"`
MusicMinutes uint64 `json:"music_minutes"`
BrowsingMinutes uint64 `json:"browsing_minutes"`
TrafficMB uint64 `json:"traffic_mb"`
PriceGiB float64 `json:"price_gib"`
PriceMin float64 `json:"price_min"`
}
EntertainmentEstimateResponse represents estimated entertainment. swagger:model EntertainmentEstimateResponse
type FeesDTO ¶
type FeesDTO struct {
Registration *big.Int `json:"registration"`
RegistrationTokens Tokens `json:"registration_tokens"`
Settlement *big.Int `json:"settlement"`
SettlementTokens Tokens `json:"settlement_tokens"`
// deprecated - confusing name
Hermes uint16 `json:"hermes"`
HermesPercent string `json:"hermes_percent"`
DecreaseStake *big.Int `json:"decreaseStake"`
DecreaseStakeTokens Tokens `json:"decrease_stake_tokens"`
}
FeesDTO represents the transactor fees swagger:model FeesDTO
type FilterPreset ¶
FilterPreset is a pre-defined proposal filter. swagger:model FilterPreset
func NewFilterPreset ¶
func NewFilterPreset(preset proposal.FilterPreset) FilterPreset
NewFilterPreset maps to the FilterPreset.
type GatewaysResponse ¶
type GatewaysResponse struct {
Name string `json:"name"`
OrderOptions PaymentOrderOptions `json:"order_options"`
Currencies []string `json:"currencies"`
}
GatewaysResponse holds payment gateway details. swagger:model GatewaysResponse
func ToGatewaysReponse ¶
func ToGatewaysReponse(g []pilvytis.GatewaysResponse) []GatewaysResponse
ToGatewaysReponse converts a pilvytis gateway response to contract.
type HealthCheckDTO ¶
type HealthCheckDTO struct {
// example: 25h53m33.540493171s
Uptime string `json:"uptime"`
// example: 10449
Process int `json:"process"`
// example: 0.0.6
Version string `json:"version"`
BuildInfo BuildInfoDTO `json:"build_info"`
}
HealthCheckDTO holds API healthcheck. swagger:model HealthCheckDTO
type IPDTO ¶
type IPDTO struct {
// public IP address
// example: 127.0.0.1
IP string `json:"ip"`
}
IPDTO describes IP metadata. swagger:model IPDTO
type IdentityBeneficiaryResponse ¶
type IdentityBeneficiaryResponse struct {
Beneficiary string `json:"beneficiary"`
IsChannelAddress bool `json:"is_channel_address"`
}
IdentityBeneficiaryResponse represents the provider beneficiary address. swagger:model IdentityBeneficiaryResponseDTO
type IdentityCreateRequest ¶
type IdentityCreateRequest struct {
Passphrase *string `json:"passphrase"`
}
IdentityCreateRequest request used for new identity creation. swagger:model IdentityCreateRequestDTO
func (IdentityCreateRequest) Validate ¶
func (r IdentityCreateRequest) Validate() *apierror.APIError
Validate validates fields in request
type IdentityCurrentRequest ¶
type IdentityCurrentRequest struct {
Address *string `json:"id"`
Passphrase *string `json:"passphrase"`
}
IdentityCurrentRequest request used for current identity remembering. swagger:model IdentityCurrentRequestDTO
func (IdentityCurrentRequest) Validate ¶
func (r IdentityCurrentRequest) Validate() *apierror.APIError
Validate validates fields in request
type IdentityDTO ¶
type IdentityDTO struct {
// identity in Ethereum address format
// required: true
// example: 0x0000000000000000000000000000000000000001
Address string `json:"id"`
RegistrationStatus string `json:"registration_status"`
ChannelAddress string `json:"channel_address"`
// deprecated
Balance *big.Int `json:"balance"`
Earnings *big.Int `json:"earnings"`
EarningsTotal *big.Int `json:"earnings_total"`
BalanceTokens Tokens `json:"balance_tokens"`
EarningsTokens Tokens `json:"earnings_tokens"`
EarningsTotalTokens Tokens `json:"earnings_total_tokens"`
Stake *big.Int `json:"stake"`
HermesID string `json:"hermes_id"`
EarningsPerHermes map[string]EarningsDTO `json:"earnings_per_hermes"`
}
IdentityDTO holds identity information. swagger:model IdentityDTO
type IdentityExportRequest ¶
type IdentityExportRequest struct {
Identity string `json:"identity,omitempty"`
NewPassphrase string `json:"newpassphrase,omitempty"`
}
IdentityExportRequest is received in identity export endpoint. swagger:model IdentityExportRequestDTO
func (*IdentityExportRequest) Validate ¶
func (i *IdentityExportRequest) Validate() *apierror.APIError
Validate validates the Export request.
type IdentityImportRequest ¶
type IdentityImportRequest struct {
Data []byte `json:"data"`
CurrentPassphrase string `json:"current_passphrase,omitempty"`
// Optional. Default values are OK.
SetDefault bool `json:"set_default"`
NewPassphrase string `json:"new_passphrase"`
}
IdentityImportRequest is received in identity import endpoint. swagger:model IdentityImportRequest
func (*IdentityImportRequest) Validate ¶
func (i *IdentityImportRequest) Validate() *apierror.APIError
Validate validates the import request.
type IdentityRefDTO ¶
type IdentityRefDTO struct {
// identity in Ethereum address format
// required: true
// example: 0x0000000000000000000000000000000000000001
Address string `json:"id"`
}
IdentityRefDTO represents unique identity reference. swagger:model IdentityRefDTO
func NewIdentityDTO ¶
func NewIdentityDTO(id identity.Identity) IdentityRefDTO
NewIdentityDTO maps to API identity.
type IdentityRegisterRequest ¶
type IdentityRegisterRequest struct {
// Token: referral token, if the user has one
ReferralToken *string `json:"referral_token,omitempty"`
// Beneficiary: beneficiary to set during registration. Optional.
Beneficiary string `json:"beneficiary,omitempty"`
// Fee: an agreed amount to pay for registration
Fee *big.Int `json:"fee"`
}
IdentityRegisterRequest represents the identity registration user input parameters swagger:model IdentityRegisterRequestDTO
type IdentityRegistrationResponse ¶
type IdentityRegistrationResponse struct {
Status string `json:"status"`
// Returns true if identity is registered in payments smart contract
Registered bool `json:"registered"`
}
IdentityRegistrationResponse represents registration status and needed data for registering of given identity swagger:model IdentityRegistrationResponseDTO
type IdentityUnlockRequest ¶
type IdentityUnlockRequest struct {
Passphrase *string `json:"passphrase"`
}
IdentityUnlockRequest request used for identity unlocking. swagger:model IdentityUnlockRequestDTO
func (IdentityUnlockRequest) Validate ¶
func (r IdentityUnlockRequest) Validate() *apierror.APIError
Validate validates fields in request
type LatestReleaseResponse ¶
type LatestReleaseResponse struct {
Version string `json:"version"`
}
LatestReleaseResponse latest release info swagger:model LatestReleaseResponse
type ListIdentitiesResponse ¶
type ListIdentitiesResponse struct {
Identities []IdentityRefDTO `json:"identities"`
}
ListIdentitiesResponse holds list of identities. swagger:model ListIdentitiesResponse
func NewIdentityListResponse ¶
func NewIdentityListResponse(ids []identity.Identity) ListIdentitiesResponse
NewIdentityListResponse maps to API identity list.
type ListProposalFilterPresetsResponse ¶
type ListProposalFilterPresetsResponse struct {
Items []FilterPreset `json:"items"`
}
ListProposalFilterPresetsResponse holds a list of proposal filter presets. swagger:model ListProposalFilterPresetsResponse
type ListProposalsCountiesResponse ¶
ListProposalsCountiesResponse holds number of proposals per country. swagger:model ListProposalsCountiesResponse
type ListProposalsResponse ¶
type ListProposalsResponse struct {
Proposals []ProposalDTO `json:"proposals"`
}
ListProposalsResponse holds list of proposals. swagger:model ListProposalsResponse
type LocalVersionsResponse ¶
type LocalVersionsResponse struct {
Versions []versionmanager.LocalVersion `json:"versions"`
}
LocalVersionsResponse local version response swagger:model LocalVersionsResponse
type LocationDTO ¶
type LocationDTO struct {
// IP address
// example: 1.2.3.4
IP string `json:"ip"`
// Autonomous system number
// example: 62179
ASN int `json:"asn"`
// Internet Service Provider name
// example: Telia Lietuva, AB
ISP string `json:"isp"`
// Continent
// example: EU
Continent string `json:"continent"`
// Node Country
// example: LT
Country string `json:"country"`
// Node Region
// example: Vilnius region
Region string `json:"region"`
// Node City
// example: Vilnius
City string `json:"city"`
// IP type (data_center, residential, etc.)
// example: residential
IPType string `json:"ip_type"`
}
LocationDTO describes IP location metadata. swagger:model LocationDTO
type MMNApiKeyRequest ¶
type MMNApiKeyRequest struct {
ApiKey string `json:"api_key"`
}
MMNApiKeyRequest request used to manage MMN's API key. swagger:model MMNApiKeyRequest
func (MMNApiKeyRequest) Validate ¶
func (r MMNApiKeyRequest) Validate() *apierror.APIError
Validate validates fields in request
type MMNGrantVerificationResponse ¶
type MMNGrantVerificationResponse struct {
ApiKey string `json:"api_key"`
WalletAddress string `json:"wallet_address"`
IsEligibleForFreeRegistration bool `json:"is_eligible_for_free_registration"`
}
MMNGrantVerificationResponse message received via redirect from mystnodes.com swagger:model MMNGrantVerificationResponse
type MMNLinkRedirectResponse ¶
type MMNLinkRedirectResponse struct {
Link string `json:"link"`
}
MMNLinkRedirectResponse claim link response swagger:model MMNLinkRedirectResponse
type MigrationStatusResponse ¶
type MigrationStatusResponse struct {
Status MigrationStatus `json:"status"`
}
MigrationStatusResponse represents status of the migration swagger:model MigrationStatusResponse
type MonitoringAgentResponse ¶
type MonitoringAgentResponse struct {
Statuses node.MonitoringAgentStatuses `json:"statuses"`
Error string `json:"error,omitempty"`
}
MonitoringAgentResponse reflects amount of connectivity statuses for each service_type. swagger:model MonitoringAgentResponse
type MystnodesSSOGrantLoginRequest ¶
type MystnodesSSOGrantLoginRequest struct {
AuthorizationGrant string `json:"authorization_grant"`
}
MystnodesSSOGrantLoginRequest Mystnodes SSO Grant Login Request
type MystnodesSSOGrantVerificationRequest ¶
type MystnodesSSOGrantVerificationRequest struct {
AuthorizationGrant string `json:"authorizationGrant"`
CodeVerifierBase64url string `json:"codeVerifierBase64url"`
}
MystnodesSSOGrantVerificationRequest Mystnodes SSO Grant Verification Request request
type MystnodesSSOLinkResponse ¶
type MystnodesSSOLinkResponse struct {
Link string `json:"link"`
}
MystnodesSSOLinkResponse contains a link to initiate auth via mystnodes swagger:model MystnodesSSOLinkResponse
type NATTypeDTO ¶
NATTypeDTO gives information about NAT type in terms of traversal capabilities swagger:model NATTypeDTO
type NodeStatusResponse ¶
type NodeStatusResponse struct {
Status monitoring.Status `json:"status"`
}
NodeStatusResponse a node status reflects monitoring agent POV on node availability swagger:model NodeStatusResponse
type PageableDTO ¶
type PageableDTO struct {
// The current page of the items.
Page int `json:"page"`
// Number of items per page.
PageSize int `json:"page_size"`
// The total items.
TotalItems int `json:"total_items"`
// The last page of the items.
TotalPages int `json:"total_pages"`
}
PageableDTO holds pagination information. swagger:model PageableDTO
func NewPageableDTO ¶
func NewPageableDTO(paginator *utils.Paginator) PageableDTO
NewPageableDTO maps to API pagination DTO.
type PaginationQuery ¶
type PaginationQuery struct {
// Number of items per page.
// in: query
// default: 50
PageSize int `json:"page_size"`
// Page to filter the items by.
// in: query
// default: 1
Page int `json:"page"`
}
PaginationQuery allows to page response items.
func NewPaginationQuery ¶
func NewPaginationQuery() PaginationQuery
NewPaginationQuery creates pagination query with default values.
type PaymentChannelDTO ¶
type PaymentChannelDTO struct {
// Unique identifier of payment channel
// example: 0x8fc5f7a1794dc39c6837df10613bddf1ec9810503a50306a8667f702457a739a
ID string `json:"id"`
// example: 0x0000000000000000000000000000000000000001
OwnerID string `json:"owner_id"`
// example: 0x42a537D649d6853C0a866470f2d084DA0f73b5E4
HermesID string `json:"hermes_id"`
// Current unsettled earnings
// example: 19449034049997187
Earnings *big.Int `json:"earnings"`
// Earnings of all history
// example: 19449034049997187
EarningsTotal *big.Int `json:"earnings_total"`
// Beneficiary - eth wallet address
Beneficiary string `json:"beneficiary"`
}
PaymentChannelDTO represents represents opened payment channel between identity and hermes. swagger:model PaymentChannelDTO
func NewPaymentChannelDTO ¶
func NewPaymentChannelDTO(channel pingpong.HermesChannel) PaymentChannelDTO
NewPaymentChannelDTO maps to API payment channel.
type PaymentOrderOptions ¶
type PaymentOrderOptions struct {
Minimum float64 `json:"minimum"`
Suggested []float64 `json:"suggested"`
}
PaymentOrderOptions represents pilvytis payment order options swagger:model PaymentOrderOptions
func ToPaymentOrderOptions ¶
func ToPaymentOrderOptions(poo *pilvytis.PaymentOrderOptions) *PaymentOrderOptions
ToPaymentOrderOptions - convert pilvytis.PaymentOrderOptions to contract.ToPaymentOrderOptions
type PaymentOrderRequest ¶
type PaymentOrderRequest struct {
// example: 3.14
MystAmount string `json:"myst_amount"`
// example: 20
AmountUSD string `json:"amount_usd"`
// example: EUR
PayCurrency string `json:"pay_currency"`
// example: US
Country string `json:"country"`
// example: MO
State string `json:"state"`
// example: mysteriumvpn, mystnodes
ProjectID string `json:"project_id"`
// example: {}
CallerData json.RawMessage `json:"gateway_caller_data"`
}
PaymentOrderRequest holds order request details swagger:model PaymentOrderRequest
func (*PaymentOrderRequest) GatewayOrderRequest ¶
func (o *PaymentOrderRequest) GatewayOrderRequest(identity identity.Identity, gateway string) pilvytis.GatewayOrderRequest
GatewayOrderRequest convenience mapper
type PaymentOrderResponse ¶
type PaymentOrderResponse struct {
ID string `json:"id"`
Status string `json:"status"`
Identity string `json:"identity"`
ChainID int64 `json:"chain_id"`
ChannelAddress string `json:"channel_address"`
GatewayName string `json:"gateway_name"`
ReceiveMYST string `json:"receive_myst"`
PayAmount string `json:"pay_amount"`
PayCurrency string `json:"pay_currency"`
Country string `json:"country"`
State string `json:"state"`
Currency string `json:"currency"`
ItemsSubTotal string `json:"items_sub_total"`
TaxRate string `json:"tax_rate"`
TaxSubTotal string `json:"tax_sub_total"`
OrderTotal string `json:"order_total"`
PublicGatewayData json.RawMessage `json:"public_gateway_data"`
}
PaymentOrderResponse holds payment gateway order details. swagger:model PaymentOrderResponse
func NewPaymentOrderResponse ¶
func NewPaymentOrderResponse(r *pilvytis.GatewayOrderResponse) PaymentOrderResponse
NewPaymentOrderResponse creates an instance of PaymentOrderResponse
func NewPaymentOrdersResponse ¶
func NewPaymentOrdersResponse(r []pilvytis.GatewayOrderResponse) []PaymentOrderResponse
NewPaymentOrdersResponse creates a slice of orders response
type Price ¶
type Price struct {
Currency string `json:"currency"`
PerHour uint64 `json:"per_hour"`
PerHourTokens Tokens `json:"per_hour_tokens"`
PerGiB uint64 `json:"per_gib"`
PerGiBTokens Tokens `json:"per_gib_tokens"`
}
Price represents the service price. swagger:model Price
type ProposalDTO ¶
type ProposalDTO struct {
// Proposal format.
Format string `json:"format"`
// Compatibility level.
Compatibility int `json:"compatibility"`
// provider who offers service
// example: 0x0000000000000000000000000000000000000001
ProviderID string `json:"provider_id"`
// type of service provider offers
// example: openvpn
ServiceType string `json:"service_type"`
// Service location
Location ServiceLocationDTO `json:"location"`
// Service price
Price Price `json:"price"`
// AccessPolicies
AccessPolicies *[]market.AccessPolicy `json:"access_policies,omitempty"`
// Quality of the service.
Quality Quality `json:"quality"`
}
ProposalDTO holds service proposal details. swagger:model ProposalDTO
func NewProposalDTO ¶
func NewProposalDTO(p proposal.PricedServiceProposal) ProposalDTO
NewProposalDTO maps to API service proposal.
func (ProposalDTO) String ¶
func (p ProposalDTO) String() string
type ProviderConsumersCountResponse ¶
type ProviderConsumersCountResponse struct {
Count int `json:"count"`
}
ProviderConsumersCountResponse reflects a number of unique consumers served during a period of time. swagger:model ProviderConsumersCountResponse
type ProviderEarningsSeriesResponse ¶
type ProviderEarningsSeriesResponse struct {
Data []ProviderSeriesItem `json:"data"`
}
ProviderEarningsSeriesResponse reflects a earnings series metrics during a period of time. swagger:model ProviderEarningsSeriesResponse
type ProviderSeriesItem ¶
ProviderSeriesItem represents a general data series item
type ProviderSession ¶
type ProviderSession struct {
ID string `json:"id"`
ConsumerCountry string `json:"consumer_country"`
ServiceType string `json:"service_type"`
DurationSeconds int64 `json:"duration_seconds"`
StartedAt string `json:"started_at"`
Earnings Tokens `json:"earnings"`
TransferredBytes int64 `json:"transferred_bytes"`
}
ProviderSession contains provided session information. swagger:model ProviderSession
type ProviderSessionsCountResponse ¶
type ProviderSessionsCountResponse struct {
Count int `json:"count"`
}
ProviderSessionsCountResponse reflects a number of sessions during a period of time. swagger:model ProviderSessionsCountResponse
type ProviderSessionsResponse ¶
type ProviderSessionsResponse struct {
Sessions []ProviderSession `json:"sessions"`
}
ProviderSessionsResponse reflects a list of sessions metrics during a period of time. swagger:model ProviderSessionsResponse
func NewProviderSessionsResponse ¶
func NewProviderSessionsResponse(sessionItems []node.SessionItem) *ProviderSessionsResponse
NewProviderSessionsResponse creates response from node.SessionItem slice
type ProviderSessionsSeriesResponse ¶
type ProviderSessionsSeriesResponse struct {
Data []ProviderSeriesItem `json:"data"`
}
ProviderSessionsSeriesResponse reflects a sessions data series metrics during a period of time. swagger:model ProviderSessionsSeriesResponse
type ProviderTransferredDataResponse ¶
type ProviderTransferredDataResponse struct {
Bytes int `json:"transferred_data_bytes"`
}
ProviderTransferredDataResponse reflects a number of bytes transferred by provider during a period of time. swagger:model ProviderTransferredDataResponse
type ProviderTransferredDataSeriesResponse ¶
type ProviderTransferredDataSeriesResponse struct {
Data []ProviderSeriesItem `json:"data"`
}
ProviderTransferredDataSeriesResponse reflects a transferred bytes data series metrics during a period of time. swagger:model ProviderTransferredDataSeriesResponse
type Quality ¶
type Quality struct {
Quality float64 `json:"quality"`
Latency float64 `json:"latency"`
Bandwidth float64 `json:"bandwidth"`
Uptime float64 `json:"uptime"`
}
Quality holds proposal quality metrics. swagger:model Quality
type QualityInfoResponse ¶
type QualityInfoResponse struct {
Quality float64 `json:"quality"`
}
QualityInfoResponse reflects a node quality. swagger:model QualityInfoResponse
type ReferralTokenResponse ¶
type ReferralTokenResponse struct {
Token string `json:"token"`
}
ReferralTokenResponse represents a response for referral token. swagger:model ReferralTokenResponse
type RegistrationPaymentResponse ¶
type RegistrationPaymentResponse struct {
Paid bool `json:"paid"`
}
RegistrationPaymentResponse holds a registration payment order response. swagger:model RegistrationPaymentResponse
func NewRegistrationPaymentResponse ¶
func NewRegistrationPaymentResponse(r *pilvytis.RegistrationPaymentResponse) RegistrationPaymentResponse
NewRegistrationPaymentResponse creates a registration order response
type RemoteVersionsResponse ¶
type RemoteVersionsResponse struct {
Versions []versionmanager.RemoteVersion `json:"versions"`
}
RemoteVersionsResponse local version response swagger:model RemoteVersionsResponse
type ServiceAccessPolicies ¶
type ServiceAccessPolicies struct {
IDs []string `json:"ids"`
}
ServiceAccessPolicies represents the access controls for service start swagger:model ServiceAccessPolicies
type ServiceInfoDTO ¶
type ServiceInfoDTO struct {
// example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
ID string `json:"id,omitempty"`
// provider identity
// example: 0x0000000000000000000000000000000000000002
ProviderID string `json:"provider_id,omitempty"`
// service type. Possible values are "openvpn", "wireguard" and "noop"
// example: openvpn
Type string `json:"type"`
// options with which service was started. Every service has a unique list of allowed options.
// example: {"port": 1123, "protocol": "udp"}
Options interface{} `json:"options,omitempty"`
// example: Running
Status string `json:"status"`
Proposal *ProposalDTO `json:"proposal,omitempty"`
ConnectionStatistics *ServiceStatisticsDTO `json:"connection_statistics,omitempty"`
}
ServiceInfoDTO represents running service information. swagger:model ServiceInfoDTO
type ServiceListResponse ¶
type ServiceListResponse []ServiceInfoDTO
ServiceListResponse represents a list of running services on the node. swagger:model ServiceListResponse
type ServiceLocationDTO ¶
type ServiceLocationDTO struct {
// example: EU
Continent string `json:"continent,omitempty"`
// example: NL
Country string `json:"country,omitempty"`
// example: Amsterdam
City string `json:"city,omitempty"`
// Autonomous System Number
// example: 00001
ASN int `json:"asn"`
// example: Telia Lietuva, AB
ISP string `json:"isp,omitempty"`
// example: residential
IPType string `json:"ip_type,omitempty"`
}
ServiceLocationDTO holds service location metadata. swagger:model ServiceLocationDTO
func NewServiceLocationsDTO ¶
func NewServiceLocationsDTO(l market.Location) ServiceLocationDTO
NewServiceLocationsDTO maps to API service location.
type ServiceStartRequest ¶
type ServiceStartRequest struct {
// provider identity
// required: true
// example: 0x0000000000000000000000000000000000000002
ProviderID string `json:"provider_id"`
// service type. Possible values are "openvpn", "wireguard" and "noop"
// required: true
// example: openvpn
Type string `json:"type"`
// access list which determines which identities will be able to receive the service
// required: false
AccessPolicies *ServiceAccessPolicies `json:"access_policies,omitempty"`
// service options. Every service has a unique list of allowed options.
// required: false
// example: {"port": 1123, "protocol": "udp"}
Options interface{} `json:"options"`
}
ServiceStartRequest request used to start a service. swagger:model ServiceStartRequestDTO
type ServiceStatisticsDTO ¶
type ServiceStatisticsDTO struct {
Attempted int `json:"attempted"`
Successful int `json:"successful"`
}
ServiceStatisticsDTO shows the successful and attempted connection count
type SessionDTO ¶
type SessionDTO struct {
// example: 4cfb0324-daf6-4ad8-448b-e61fe0a1f918
ID string `json:"id"`
// example: Consumed
Direction string `json:"direction"`
// example: 0x0000000000000000000000000000000000000001
ConsumerID string `json:"consumer_id"`
// example: 0x0000000000000000000000000000000000000001
HermesID string `json:"hermes_id"`
// example: 0x0000000000000000000000000000000000000001
ProviderID string `json:"provider_id"`
// example: openvpn
ServiceType string `json:"service_type"`
// example: NL
ConsumerCountry string `json:"consumer_country"`
// example: US
ProviderCountry string `json:"provider_country"`
// example: 2019-06-06T11:04:43.910035Z
CreatedAt string `json:"created_at"`
// duration in seconds
// example: 120
Duration uint64 `json:"duration"`
// example: 1024
BytesReceived uint64 `json:"bytes_received"`
// example: 1024
BytesSent uint64 `json:"bytes_sent"`
// example: 500000
Tokens *big.Int `json:"tokens"`
// example: Completed
Status string `json:"status"`
// example: residential
IPType string `json:"ip_type"`
}
SessionDTO represents the session object. swagger:model SessionDTO
func NewSessionDTO ¶
func NewSessionDTO(se session.History) SessionDTO
NewSessionDTO maps to API session.
type SessionListQuery ¶
type SessionListQuery struct {
PaginationQuery
SessionQuery
}
SessionListQuery allows to filter requested sessions. swagger:parameters sessionList
func NewSessionListQuery ¶
func NewSessionListQuery() SessionListQuery
NewSessionListQuery creates session list with default values.
type SessionListResponse ¶
type SessionListResponse struct {
Items []SessionDTO `json:"items"`
PageableDTO
}
SessionListResponse defines session list representable as json. swagger:model SessionListResponse
func NewSessionListResponse ¶
func NewSessionListResponse(sessions []session.History, paginator *utils.Paginator) SessionListResponse
NewSessionListResponse maps to API session list.
type SessionQuery ¶
type SessionQuery struct {
// Filter the sessions from this date. Formatted in RFC3339 e.g. 2020-07-01.
// in: query
DateFrom *strfmt.Date `json:"date_from"`
// Filter the sessions until this date. Formatted in RFC3339 e.g. 2020-07-30.
// in: query
DateTo *strfmt.Date `json:"date_to"`
// Direction to filter the sessions by. Possible values are "Provided", "Consumed".
// in: query
Direction *string `json:"direction"`
// Consumer identity to filter the sessions by.
// in: query
ConsumerID *string `json:"consumer_id"`
// Hermes ID to filter the sessions by.
// in: query
HermesID *string `json:"hermes_id"`
// Provider identity to filter the sessions by.
// in: query
ProviderID *string `json:"provider_id"`
// Service type to filter the sessions by.
// in: query
ServiceType *string `json:"service_type"`
// Status to filter the sessions by. Possible values are "New", "Completed".
// in: query
Status *string `json:"status"`
}
SessionQuery allows to filter requested sessions. swagger:parameters sessionStatsAggregated sessionStatsDaily
func NewSessionQuery ¶
func NewSessionQuery() SessionQuery
NewSessionQuery creates session query with default values.
func (*SessionQuery) Bind ¶
func (q *SessionQuery) Bind(request *http.Request) *apierror.APIError
Bind creates and validates query from API request.
func (*SessionQuery) ToFilter ¶
func (q *SessionQuery) ToFilter() *session.Filter
ToFilter converts API query to storage filter.
type SessionStatsAggregatedResponse ¶
type SessionStatsAggregatedResponse struct {
Stats SessionStatsDTO `json:"stats"`
}
SessionStatsAggregatedResponse defines aggregated sessions stats response as json. swagger:model SessionStatsAggregatedResponse
func NewSessionStatsAggregatedResponse ¶
func NewSessionStatsAggregatedResponse(stats session.Stats) SessionStatsAggregatedResponse
NewSessionStatsAggregatedResponse maps to API aggregated stats.
type SessionStatsDTO ¶
type SessionStatsDTO struct {
Count int `json:"count"`
CountConsumers int `json:"count_consumers"`
SumBytesReceived uint64 `json:"sum_bytes_received"`
SumBytesSent uint64 `json:"sum_bytes_sent"`
SumDuration uint64 `json:"sum_duration"`
SumTokens *big.Int `json:"sum_tokens"`
}
SessionStatsDTO represents the session aggregated statistics. swagger:model SessionStatsDTO
func NewSessionStatsDTO ¶
func NewSessionStatsDTO(stats session.Stats) SessionStatsDTO
NewSessionStatsDTO maps to API session stats.
type SessionStatsDailyResponse ¶
type SessionStatsDailyResponse struct {
Items map[string]SessionStatsDTO `json:"items"`
Stats SessionStatsDTO `json:"stats"`
}
SessionStatsDailyResponse defines session stats representable as json. swagger:model SessionStatsDailyResponse
func NewSessionStatsDailyResponse ¶
func NewSessionStatsDailyResponse(stats session.Stats, statsDaily map[time.Time]session.Stats) SessionStatsDailyResponse
NewSessionStatsDailyResponse maps to API session stats grouped by day.
type SettleRequest ¶
type SettleRequest struct {
HermesIDs []common.Address `json:"hermes_ids"`
ProviderID string `json:"provider_id"`
// Deprecated
HermesID string `json:"hermes_id"`
}
SettleRequest represents the request to settle hermes promises swagger:model SettleRequestDTO
type SettleWithBeneficiaryRequest ¶
type SettleWithBeneficiaryRequest struct {
ProviderID string `json:"provider_id"`
HermesID string `json:"hermes_id"`
Beneficiary string `json:"beneficiary"`
}
SettleWithBeneficiaryRequest represent the request to settle with new beneficiary address.
type SettlementDTO ¶
type SettlementDTO struct {
// example: 0x20c070a9be65355adbd2ba479e095e2e8ed7e692596548734984eab75d3fdfa5
TxHash string `json:"tx_hash"`
// example: 0x0000000000000000000000000000000000000001
ProviderID string `json:"provider_id"`
// example: 0x0000000000000000000000000000000000000001
HermesID string `json:"hermes_id"`
// example: 0x0000000000000000000000000000000000000001
ChannelAddress string `json:"channel_address"`
// example: 0x0000000000000000000000000000000000000001
Beneficiary string `json:"beneficiary"`
// example: 500000
Amount *big.Int `json:"amount"`
// example: 2019-06-06T11:04:43.910035Z
SettledAt string `json:"settled_at"`
// example: 500000
Fees *big.Int `json:"fees"`
// example: false
IsWithdrawal bool `json:"is_withdrawal"`
// example: https://example.com
BlockExplorerURL string `json:"block_explorer_url"`
// example: internal server error
Error string `json:"error"`
}
SettlementDTO represents the settlement object. swagger:model SettlementDTO
func NewSettlementDTO ¶
func NewSettlementDTO(settlement pingpong.SettlementHistoryEntry) SettlementDTO
NewSettlementDTO maps to API settlement.
type SettlementListQuery ¶
type SettlementListQuery struct {
PaginationQuery
// Filter the settlements from this date. Formatted in RFC3339 e.g. 2020-07-01.
// in: query
DateFrom *strfmt.Date `json:"date_from"`
// Filter the settlements until this date Formatted in RFC3339 e.g. 2020-07-30.
// in: query
DateTo *strfmt.Date `json:"date_to"`
// Provider identity to filter the sessions by.
// in: query
ProviderID *string `json:"provider_id"`
// Hermes ID to filter the sessions by.
// in: query
HermesID *string `json:"hermes_id"`
// Settlement type to filter the sessions by. "settlement" or "withdrawal"
// in: query
Types []string `json:"types"`
}
SettlementListQuery allows to filter requested settlements. swagger:parameters settlementList
func NewSettlementListQuery ¶
func NewSettlementListQuery() SettlementListQuery
NewSettlementListQuery creates settlement list query with default values.
func (*SettlementListQuery) Bind ¶
func (q *SettlementListQuery) Bind(request *http.Request) *apierror.APIError
Bind creates and validates query from API request.
func (*SettlementListQuery) ToFilter ¶
func (q *SettlementListQuery) ToFilter() pingpong.SettlementHistoryFilter
ToFilter converts API query to storage filter.
type SettlementListResponse ¶
type SettlementListResponse struct {
Items []SettlementDTO `json:"items"`
WithdrawalTotal string `json:"withdrawal_total"`
PageableDTO
}
SettlementListResponse defines settlement list representable as json. swagger:model SettlementListResponse
func NewSettlementListResponse ¶
func NewSettlementListResponse( WithdrawalTotal *big.Int, settlements []pingpong.SettlementHistoryEntry, paginator *utils.Paginator, ) SettlementListResponse
NewSettlementListResponse maps to API settlement list.
type SwitchNodeUIRequest ¶
type SwitchNodeUIRequest struct {
Version string `json:"version"`
}
SwitchNodeUIRequest request for switching NodeUI version swagger:model SwitchNodeUIRequest
func (*SwitchNodeUIRequest) Valid ¶
func (s *SwitchNodeUIRequest) Valid() *apierror.APIError
Valid validate SwitchNodeUIRequest
type TermsRequest ¶
type TermsRequest struct {
// example: false
AgreedProvider *bool `json:"agreed_provider,omitempty"`
// example: false
AgreedConsumer *bool `json:"agreed_consumer,omitempty"`
// example: 0.0.27
AgreedVersion string `json:"agreed_version,omitempty"`
}
TermsRequest object is accepted by terms endpoints. swagger:model TermsRequest
func (*TermsRequest) ToMap ¶
func (t *TermsRequest) ToMap() map[string]interface{}
ToMap turns a TermsRequest in to an iterable map which can be mapped directly to a user config.
type TermsResponse ¶
type TermsResponse struct {
// example: false
AgreedProvider bool `json:"agreed_provider"`
// example: false
AgreedConsumer bool `json:"agreed_consumer"`
// example: 0.0.27
AgreedVersion string `json:"agreed_version"`
// example: 0.0.27
CurrentVersion string `json:"current_version"`
}
TermsResponse object is returned by terms endpoints. swagger:model TermsResponse
func NewTermsResp ¶
func NewTermsResp() *TermsResponse
NewTermsResp builds and returns terms agreement response.
type TokenRewardAmount ¶
TokenRewardAmount represents a response for token rewards. swagger:model TokenRewardAmount
type Tokens ¶
type Tokens struct {
Wei string `json:"wei"`
Ether string `json:"ether"`
Human string `json:"human"`
}
Tokens a common response for ethereum blockchain monetary amount
func NewTokensFromDecimal ¶
NewTokensFromDecimal convenience constructor for Tokens
type TransactorFees ¶
type TransactorFees struct {
Registration Tokens `json:"registration"`
Settlement Tokens `json:"settlement"`
DecreaseStake Tokens `json:"decrease_stake"`
ValidUntil time.Time `json:"valid_until"`
}
TransactorFees represents transactor fees. swagger:model TransactorFees
func NewTransactorFees ¶
func NewTransactorFees(r *registry.Fees) TransactorFees
NewTransactorFees converts registry fees to public api.
type UI ¶
type UI struct {
BundledVersion string `json:"bundled_version"`
UsedVersion string `json:"used_version"`
}
UI ui information swagger:model UI
type WithdrawRequest ¶
type WithdrawRequest struct {
HermesID string `json:"hermes_id"`
ProviderID string `json:"provider_id"`
Beneficiary string `json:"beneficiary"`
FromChainID int64 `json:"from_chain_id"`
ToChainID int64 `json:"to_chain_id"`
Amount string `json:"amount,omitempty"`
}
WithdrawRequest represents the request to withdraw earnings to l1. swagger:model WithdrawRequestDTO
func (*WithdrawRequest) AmountInMYST ¶
func (w *WithdrawRequest) AmountInMYST() (*big.Int, error)
AmountInMYST will return the amount value converted to big.Int MYST.
Amount can be `nil`
func (*WithdrawRequest) Validate ¶
func (w *WithdrawRequest) Validate() *apierror.APIError
Validate will validate a given request