Skip to content

Commit a871c5f

Browse files
author
Pedro Pablo Bustamante Barrera
committed
Merge branch 'develop'
2 parents 464a797 + d1e6c84 commit a871c5f

File tree

12 files changed

+349
-42
lines changed

12 files changed

+349
-42
lines changed

args/arguments.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ func BuildQuery(params map[string]interface{}) string {
9696
return query.Encode()
9797
}
9898

99+
func Parameter(key string, val interface{}) Argument {
100+
return func(params map[string]interface{}) {
101+
params[key] = val
102+
}
103+
}
104+
99105
func Currencies(val []string) Argument {
100106
return func(params map[string]interface{}) {
101107
params[internal.ArgNameCurrencies] = val
@@ -132,6 +138,12 @@ func SortBy(val SortByType) Argument {
132138
}
133139
}
134140

141+
func OrderBy(val OrderByType) Argument {
142+
return func(params map[string]interface{}) {
143+
params[internal.ArgNameOrderBy] = val
144+
}
145+
}
146+
135147
func From(val string) Argument {
136148
return func(params map[string]interface{}) {
137149
params[internal.ArgNameFrom] = val
@@ -586,10 +598,17 @@ type FeeRequest struct {
586598
Currency string `json:"currency"`
587599
Amount string `json:"amount"`
588600
NetworkCode string `json:"network_code,omitempty"`
601+
NetworkFee string `json:"network_fee,omitempty"`
589602
}
590603

591604
func FeeRequests(val []FeeRequest) Argument {
592605
return func(params map[string]interface{}) {
593606
params[internal.SDKArgNameFeeRequest] = val
594607
}
595608
}
609+
610+
func GroupTransactions(val bool) Argument {
611+
return func(params map[string]interface{}) {
612+
params[internal.ArgNameGroupTransactions] = val
613+
}
614+
}

args/constants.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,22 @@ const (
4040
SortDESC SortType = "DESC"
4141
)
4242

43-
// SortBy is the field used for sorting lists
43+
// SortBy is a field used for sorting lists
4444
type SortByType string
4545

4646
const (
4747
SortByTimestamp SortByType = "timestamp"
4848
SortByID SortByType = "id"
49-
SortByCreatedAt SortByType = "created_at"
49+
)
50+
51+
// OrderBy is a field used for sorting lists
52+
type OrderByType string
53+
54+
const (
55+
OrderByID OrderByType = "id"
56+
OrderByCreatedAt OrderByType = "created_at"
57+
OrderByUpdateAt OrderByType = "updated_at"
58+
OrderByLastActivityAt OrderByType = "last_activity_at"
5059
)
5160

5261
// PeriodType is the period of a candle

internal/argnames.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const (
1313
ArgNameSort string = "sort"
1414
ArgNameSortBy string = "by"
1515
ArgNameIdentifyBy string = "by"
16+
ArgNameOrderBy string = "order_by"
1617
ArgNameTo string = "to"
1718
ArgNameSince string = "since"
1819
ArgNameUntil string = "until"
@@ -75,6 +76,7 @@ const (
7576
ArgNameMode string = "mode"
7677
ArgNameTargetCurrency string = "target_currency"
7778
ArgNamePrefferedNetwork string = "preferred_network"
79+
ArgNameGroupTransactions string = "group_transactions"
7880

7981
ArgNameDepositAddressGenerationEnabled string = "deposit_address_generation_enabled"
8082

models/models.go

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,35 @@ type Currency struct {
1717
QRPrefix string `json:"qr_prefix"`
1818
CryptoPaymentIDName string `json:"crypto_payment_id_name"`
1919
CryptoExplorer string `json:"crypto_explorer"`
20+
AccountTopOrder int64 `json:"account_top_order"`
2021
Delisted bool `json:"delisted"`
2122
Networks []Network `json:"networks"`
2223
}
2324

2425
type Network struct {
25-
Network string `json:"network"`
26-
Protocol string `json:"protocol"`
27-
Default bool `json:"default"`
28-
PayinEnabled bool `json:"payin_enabled"`
29-
PayoutEnabled bool `json:"payout_enabled"`
30-
PrecisionPayout string `json:"presicion_payout"`
31-
PayoutFee string `str:"payout_fee"`
32-
PayoutIsPaymentID bool `json:"payout_is_payment_id"`
33-
PayinPaymentID bool `json:"payin_payment_id"`
34-
PayinConfirmations int `json:"payin_confirmation"`
35-
AddressRegex string `json:"address_confirmation"`
36-
PaymentIDRegex string `json:"payment_id_regex"`
37-
LowProcessingTime string `json:"low_processing_time"`
38-
HighProcessingTime string `json:"high_processing_time"`
39-
AvgProcessingTime string `json:"avg_processing_time"`
26+
Code string `json:"code"`
27+
Network string `json:"network"`
28+
NetworkName string `json:"network_name"`
29+
IsEnsAvailable bool `json:"is_ens_available"`
30+
Protocol string `json:"protocol"`
31+
Default bool `json:"default"`
32+
PayinEnabled bool `json:"payin_enabled"`
33+
PayoutEnabled bool `json:"payout_enabled"`
34+
PrecisionPayout string `json:"presicion_payout"`
35+
PayoutFee string `json:"payout_fee"`
36+
PayoutIsPaymentID bool `json:"payout_is_payment_id"`
37+
PayinPaymentID bool `json:"payin_payment_id"`
38+
PayinConfirmations int `json:"payin_confirmation"`
39+
AddressRegex string `json:"address_confirmation"`
40+
PaymentIDRegex string `json:"payment_id_regex"`
41+
LowProcessingTime string `json:"low_processing_time"`
42+
HighProcessingTime string `json:"high_processing_time"`
43+
AvgProcessingTime string `json:"avg_processing_time"`
44+
CryptoPaymentIdName string `json:"crypto_payment_id_name"`
45+
CryptoExplorer string `json:"crypto_explorer"`
46+
ContractAddress string `json:"contract_address"`
47+
IsMultiChain bool `json:"is_multichain"`
48+
AssetId map[string]string `json:"asset_id"`
4049
}
4150

4251
// Balance is the amount of currency a user have
@@ -172,14 +181,16 @@ type Trade struct {
172181
// Transaction is a movement of currency,
173182
// not in the market, but related on the exchange
174183
type Transaction struct {
175-
ID int64 `json:"id"`
176-
Status args.TransactionStatusType `json:"status"`
177-
Type args.TransactionTypeType `json:"type"`
178-
SubType args.TransactionSubTypeType `json:"subtype"`
179-
CreatedAt string `json:"created_at"`
180-
UpdatedAt string `json:"updated_at"`
181-
Native NativeTransaction `json:"native"`
182-
Meta MetaTransaction `json:"meta"`
184+
ID int64 `json:"id"`
185+
Status args.TransactionStatusType `json:"status"`
186+
Type args.TransactionTypeType `json:"type"`
187+
SubType args.TransactionSubTypeType `json:"subtype"`
188+
CreatedAt string `json:"created_at"`
189+
UpdatedAt string `json:"updated_at"`
190+
LastActivityAt string `json:"last_activity_at"`
191+
Native NativeTransaction `json:"native"`
192+
Meta MetaTransaction `json:"meta"`
193+
CommitRisk CommitRisk `json:"commit_risk"`
183194
}
184195

185196
type NativeTransaction struct {
@@ -217,6 +228,12 @@ type MetaTransaction struct {
217228
PaymentMethodType string `json:"payment_method_type"`
218229
}
219230

231+
type CommitRisk struct {
232+
Score int `json:"score"`
233+
Rbf bool `json:"rbf"`
234+
LowFee bool `json:"low_fee"`
235+
}
236+
220237
// CryptoAddress is an crypto address
221238
type CryptoAddress struct {
222239
Currency string `json:"currency"`

rest/change_credentials_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package rest
2+
3+
import (
4+
"testing"
5+
)
6+
7+
func TestChangeCredentials(t *testing.T) {
8+
client, bg := beforeEach()
9+
result, err := client.GetWalletBallances(bg)
10+
if err != nil {
11+
t.Fatal(err)
12+
}
13+
if len(result) == 0 {
14+
t.Fatal("should have results")
15+
}
16+
if err = checkList(checkBalance, result); err != nil {
17+
t.Fatal(err)
18+
}
19+
client.ChangeCredentials("", "")
20+
result, err = client.GetWalletBallances(bg)
21+
if err == nil {
22+
t.Fatal(err)
23+
}
24+
if len(result) != 0 {
25+
t.Fatal(err)
26+
}
27+
}

rest/change_window_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package rest
2+
3+
import (
4+
"testing"
5+
)
6+
7+
func TestChangeWindow(t *testing.T) {
8+
client, bg := beforeEach()
9+
result, err := client.GetWalletBallances(bg)
10+
if err != nil {
11+
t.Fatal(err)
12+
}
13+
if len(result) == 0 {
14+
t.Fatal("should have results")
15+
}
16+
if err = checkList(checkBalance, result); err != nil {
17+
t.Fatal(err)
18+
}
19+
client.ChangeWindow(100)
20+
result, err = client.GetWalletBallances(bg)
21+
if err == nil {
22+
t.Fatal(err)
23+
}
24+
if len(result) != 0 {
25+
t.Fatal(err)
26+
}
27+
}

0 commit comments

Comments
 (0)