Skip to content

Commit 918e6e0

Browse files
committed
Add fiat api
1 parent 9203d88 commit 918e6e0

File tree

5 files changed

+39
-0
lines changed

5 files changed

+39
-0
lines changed

library/src/main/kotlin/one/mixin/bot/api/call/AssetCallService.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package one.mixin.bot.api.call
22

33
import one.mixin.bot.api.MixinResponse
44
import one.mixin.bot.vo.Asset
5+
import one.mixin.bot.vo.Fiat
56
import one.mixin.bot.vo.PendingDeposit
67
import one.mixin.bot.vo.Ticker
78
import one.mixin.bot.vo.TopAsset
@@ -36,4 +37,7 @@ interface AssetCallService {
3637

3738
@GET("network/assets/top")
3839
fun topAssetsCall(): Call<MixinResponse<List<TopAsset>>>
40+
41+
@GET("fiats")
42+
fun getFiatsCall(): Call<MixinResponse<List<Fiat>>>
3943
}

library/src/main/kotlin/one/mixin/bot/api/coroutine/AssetCoroutineService.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ package one.mixin.bot.api.coroutine
22

33
import one.mixin.bot.api.MixinResponse
44
import one.mixin.bot.vo.Asset
5+
import one.mixin.bot.vo.Fiat
56
import one.mixin.bot.vo.PendingDeposit
67
import one.mixin.bot.vo.Ticker
78
import one.mixin.bot.vo.TopAsset
9+
import retrofit2.Call
810
import retrofit2.http.GET
911
import retrofit2.http.Path
1012
import retrofit2.http.Query
@@ -34,4 +36,7 @@ interface AssetCoroutineService {
3436

3537
@GET("network/assets/top")
3638
suspend fun topAssets(): MixinResponse<List<TopAsset>>
39+
40+
@GET("fiats")
41+
suspend fun getFiats(): MixinResponse<List<Fiat>>
3742
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package one.mixin.bot.vo
2+
3+
data class Fiat(val code: String, val rate: Double)

samples/src/main/java/jvmMain/java/Sample.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import java.io.IOException;
1212
import java.security.KeyPair;
13+
import java.util.List;
1314
import java.util.Objects;
1415
import java.util.Random;
1516
import java.util.UUID;
@@ -44,6 +45,8 @@ public static void main(String[] args) {
4445
EdDSAPrivateKey userPrivateKey = (EdDSAPrivateKey) sessionKey.getPrivate();
4546
userAesKey = base64Encode(calculateAgreement(base64Decode(user.getPinToken()), userPrivateKey));
4647

48+
// get fiats
49+
getFiats(client);
4750

4851
// create user's pin
4952
createPin(client, userAesKey);
@@ -178,6 +181,16 @@ private static void deleteAddress(HttpClient client, String addressId, String us
178181
}
179182
}
180183

184+
private static void getFiats(HttpClient client) throws IOException {
185+
MixinResponse<List<Fiat>> fiatsResponse = client.getAssetService().getFiatsCall().execute().body();
186+
assert fiatsResponse != null;
187+
if (fiatsResponse.isSuccess()) {
188+
System.out.printf("Fiats success: %f%n", fiatsResponse.getData().get(0).getRate());
189+
} else {
190+
System.out.println("Fiats fail");
191+
}
192+
}
193+
181194
private static SessionToken getUserToken(User user, KeyPair sessionKey, boolean isRsa) {
182195
if (isRsa) {
183196
return new SessionToken.RSA(user.getUserId(), user.getSessionId(), sessionKey.getPrivate());

samples/src/main/java/jvmMain/kotlin/Sample.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ fun main() = runBlocking {
7070
userPrivateKey.seed.base64Encode()
7171
)
7272
)
73+
74+
// Get fiats
75+
getFiats(client)
76+
7377
// Get asset
7478
getAsset(client)
7579

@@ -134,6 +138,16 @@ private suspend fun getAsset(client: HttpClient) {
134138
}
135139
}
136140

141+
private suspend fun getFiats(client: HttpClient) {
142+
// Get fiats
143+
val fiatsResponse = client.assetService.getFiats()
144+
if (fiatsResponse.isSuccess) {
145+
println("Assets ${fiatsResponse.data?.get(0)?.code}: ${fiatsResponse.data?.get(0)?.rate}")
146+
} else {
147+
println("Assets fail")
148+
}
149+
}
150+
137151
private suspend fun createAddress(client: HttpClient, userAesKey: String): String? {
138152
// Create address
139153
val addressesResponse = client.addressService.createAddresses(

0 commit comments

Comments
 (0)