-
Notifications
You must be signed in to change notification settings - Fork 0
/
model_asset.go
141 lines (119 loc) · 3.29 KB
/
model_asset.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/*
Paxos API
<p>Welcome to Paxos APIs. At Paxos, our mission is to enable the movement of any asset, any time, in a trustworthy way. These APIs serve that mission by making it easier than ever for you to directly integrate our product capabilities into your application, leveraging the speed, stability, and security of the Paxos platform.</p> <p>The documentation that follows gives you access to our Crypto Brokerage, Trading, and Exchange products. It includes APIs for market data, orders, and the held rate quote flow.</p> <p>To test in our sandbox environment, <a href=\"https://account.sandbox.paxos.com\" target=\"_blank\">sign up</a> for an account. For more information about Paxos and our APIs, visit <a href=\"https://www.paxos.com/\" target=\"_blank\">Paxos.com</a>.</p>
API version: 2.0
*/
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
package paxos
import (
"encoding/json"
"fmt"
)
// Asset The given asset or assets held in a Paxos balance.
type Asset string
// List of Asset
const (
Asset_USD Asset = "USD"
Asset_EUR Asset = "EUR"
Asset_SGD Asset = "SGD"
Asset_BTC Asset = "BTC"
Asset_ETH Asset = "ETH"
Asset_PAXG Asset = "PAXG"
Asset_BUSD Asset = "BUSD"
Asset_BCH Asset = "BCH"
Asset_LTC Asset = "LTC"
Asset_USDC Asset = "USDC"
Asset_USDP Asset = "USDP"
Asset_AAVE Asset = "AAVE"
Asset_UNI Asset = "UNI"
Asset_MATIC Asset = "MATIC"
Asset_PYUSD Asset = "PYUSD"
Asset_LINK Asset = "LINK"
Asset_SOL Asset = "SOL"
)
// All allowed values of Asset enum
var AllowedAssetEnumValues = []Asset{
"USD",
"EUR",
"SGD",
"BTC",
"ETH",
"PAXG",
"BUSD",
"BCH",
"LTC",
"USDC",
"USDP",
"AAVE",
"UNI",
"MATIC",
"PYUSD",
"LINK",
"SOL",
}
func (v *Asset) UnmarshalJSON(src []byte) error {
var value string
err := json.Unmarshal(src, &value)
if err != nil {
return err
}
enumTypeValue := Asset(value)
for _, existing := range AllowedAssetEnumValues {
if existing == enumTypeValue {
*v = enumTypeValue
return nil
}
}
return fmt.Errorf("%+v is not a valid Asset", value)
}
// NewAssetFromValue returns a pointer to a valid Asset
// for the value passed as argument, or an error if the value passed is not allowed by the enum
func NewAssetFromValue(v string) (*Asset, error) {
ev := Asset(v)
if ev.IsValid() {
return &ev, nil
} else {
return nil, fmt.Errorf("invalid value '%v' for Asset: valid values are %v", v, AllowedAssetEnumValues)
}
}
// IsValid return true if the value is valid for the enum, false otherwise
func (v Asset) IsValid() bool {
for _, existing := range AllowedAssetEnumValues {
if existing == v {
return true
}
}
return false
}
// Ptr returns reference to Asset value
func (v Asset) Ptr() *Asset {
return &v
}
type NullableAsset struct {
value *Asset
isSet bool
}
func (v NullableAsset) Get() *Asset {
return v.value
}
func (v *NullableAsset) Set(val *Asset) {
v.value = val
v.isSet = true
}
func (v NullableAsset) IsSet() bool {
return v.isSet
}
func (v *NullableAsset) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableAsset(val *Asset) *NullableAsset {
return &NullableAsset{value: val, isSet: true}
}
func (v NullableAsset) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableAsset) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}