FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
bitso-java/src/main/java/com/bitso/BitsoFeeStructure.java at master · bitsoex/bitso-java · GitHub
bitsoex
/
bitso-java
Public
Notifications
You must be signed in to change notification settings
Fork
33
Star
40
Code
Issues
6
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
bitso-java
/
src
/
main
/
java
/
com
/
bitso
/
BitsoFeeStructure.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
101 lines (95 loc) · 4.79 KB
Breadcrumbs
bitso-java
/
src
/
main
/
java
/
com
/
bitso
/
BitsoFeeStructure.java
Copy path
File metadata and controls
101 lines (95 loc) · 4.79 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
package
com
.
bitso
;
import
java
.
math
.
BigDecimal
;
public
class
BitsoFeeStructure
{
// Numbers from https://bitso.com/fees
// Accessed July 28, 2015
public
static
BigDecimal
getFeeInPercentage
(
BigDecimal
thirtyDayVolume
) {
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"1"
)) <=
0
) {
return
new
BigDecimal
(
"1"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"2.5"
)) <=
0
) {
return
new
BigDecimal
(
"0.95"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"4"
)) <=
0
) {
return
new
BigDecimal
(
"0.9"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"6.5"
)) <=
0
) {
return
new
BigDecimal
(
"0.85"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"9"
)) <=
0
) {
return
new
BigDecimal
(
"0.8"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"12"
)) <=
0
) {
return
new
BigDecimal
(
"0.75"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"18"
)) <=
0
) {
return
new
BigDecimal
(
"0.7"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"25"
)) <=
0
) {
return
new
BigDecimal
(
"0.65"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"32"
)) <=
0
) {
return
new
BigDecimal
(
"0.60"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"40"
)) <=
0
) {
return
new
BigDecimal
(
"0.55"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"55"
)) <=
0
) {
return
new
BigDecimal
(
"0.5"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"75"
)) <=
0
) {
return
new
BigDecimal
(
"0.45"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"100"
)) <=
0
) {
return
new
BigDecimal
(
"0.4"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"125"
)) <=
0
) {
return
new
BigDecimal
(
"0.35"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"160"
)) <=
0
) {
return
new
BigDecimal
(
"0.3"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"200"
)) <=
0
) {
return
new
BigDecimal
(
"0.25"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"250"
)) <=
0
) {
return
new
BigDecimal
(
"0.2"
);
}
else
if
(
thirtyDayVolume
.
compareTo
(
new
BigDecimal
(
"320"
)) <=
0
) {
return
new
BigDecimal
(
"0.15"
);
}
else
{
return
new
BigDecimal
(
"0.10"
);
}
}
public
static
BigDecimal
getFeeInDecimals
(
BigDecimal
thirtyDayVolume
) {
return
getFeeInPercentage
(
thirtyDayVolume
).
divide
(
new
BigDecimal
(
"100"
),
4
,
BigDecimal
.
ROUND_UNNECESSARY
);
}
public
static
BigDecimal
lowestThirtyDayVolume
(
BigDecimal
fee
) {
if
(
fee
.
compareTo
(
new
BigDecimal
(
"1.00"
)) ==
0
) {
return
new
BigDecimal
(
"0"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.95"
)) ==
0
) {
return
new
BigDecimal
(
"1"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.90"
)) ==
0
) {
return
new
BigDecimal
(
"2.5"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.85"
)) ==
0
) {
return
new
BigDecimal
(
"4"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.80"
)) ==
0
) {
return
new
BigDecimal
(
"6.5"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.75"
)) ==
0
) {
return
new
BigDecimal
(
"9"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.70"
)) ==
0
) {
return
new
BigDecimal
(
"12"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.65"
)) ==
0
) {
return
new
BigDecimal
(
"18"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.60"
)) ==
0
) {
return
new
BigDecimal
(
"25"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.55"
)) ==
0
) {
return
new
BigDecimal
(
"32"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.50"
)) ==
0
) {
return
new
BigDecimal
(
"40"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.45"
)) ==
0
) {
return
new
BigDecimal
(
"55"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.40"
)) ==
0
) {
return
new
BigDecimal
(
"75"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.35"
)) ==
0
) {
return
new
BigDecimal
(
"100"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.30"
)) ==
0
) {
return
new
BigDecimal
(
"125"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.25"
)) ==
0
) {
return
new
BigDecimal
(
"160"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.20"
)) ==
0
) {
return
new
BigDecimal
(
"200"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.15"
)) ==
0
) {
return
new
BigDecimal
(
"250"
);
}
else
if
(
fee
.
compareTo
(
new
BigDecimal
(
"0.10"
)) ==
0
) {
return
new
BigDecimal
(
"320"
);
}
else
if
(
fee
.
compareTo
(
BigDecimal
.
ZERO
) ==
0
) {
return
BigDecimal
.
ZERO
;
}
throw
new
IllegalStateException
(
"Could not find fee bracket"
);
}
}
Back
|
FazBrowse Home
|
New Git URL