Skip to content

Commit 46a07c0

Browse files
committed
Update getutxo api
1 parent d205199 commit 46a07c0

File tree

4 files changed

+34
-6
lines changed

4 files changed

+34
-6
lines changed

library/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ plugins {
33
id 'kotlin'
44
}
55

6-
apply plugin: 'maven-publish'
76
apply plugin: 'java'
87

98
java {

library/src/main/kotlin/one/mixin/bot/HttpClient.kt

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

3+
import com.google.gson.JsonObject
34
import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory
45
import net.i2p.crypto.eddsa.EdDSAPrivateKey
56
import net.i2p.crypto.eddsa.spec.EdDSANamedCurveTable
@@ -11,6 +12,7 @@ import one.mixin.bot.Constants.API.CN_URL
1112
import one.mixin.bot.Constants.API.URL
1213
import one.mixin.bot.api.AddressService
1314
import one.mixin.bot.api.AssetService
15+
import one.mixin.bot.api.ExternalService
1416
import one.mixin.bot.api.MessageService
1517
import one.mixin.bot.api.SnapshotService
1618
import one.mixin.bot.api.UserService
@@ -19,7 +21,9 @@ import one.mixin.bot.api.exception.ServerErrorException
1921
import one.mixin.bot.extension.base64Decode
2022
import one.mixin.bot.extension.base64Encode
2123
import one.mixin.bot.util.getRSAPrivateKeyFromString
24+
import one.mixin.bot.vo.RpcRequest
2225
import org.bouncycastle.jce.provider.BouncyCastleProvider
26+
import retrofit2.Call
2327
import retrofit2.Retrofit
2428
import retrofit2.converter.gson.GsonConverterFactory
2529
import java.security.Security
@@ -134,6 +138,24 @@ class HttpClient private constructor(
134138
retrofit.create(MessageService::class.java)
135139
}
136140

141+
val externalService: ExternalService by lazy {
142+
object : ExternalService {
143+
override fun getutxoCall(hash: String, index: Int): Call<JsonObject> {
144+
val list = mutableListOf<Any>()
145+
list.add(hash)
146+
list.add(index)
147+
return userService.mixinRPCCall(RpcRequest("getutxo", list))
148+
}
149+
150+
override suspend fun getutxo(hash: String, index: Int): JsonObject {
151+
val list = mutableListOf<Any>()
152+
list.add(hash)
153+
list.add(index)
154+
return userService.mixinRPC(RpcRequest("getutxo", list))
155+
}
156+
}
157+
}
158+
137159
class Builder {
138160
private lateinit var clientToken: SessionToken
139161
private var cnServer: Boolean = false
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package one.mixin.bot.api
2+
3+
import com.google.gson.JsonObject
4+
import retrofit2.Call
5+
6+
interface ExternalService {
7+
fun getutxoCall(hash: String, index: Int): Call<JsonObject>
8+
suspend fun getutxo(hash: String, index: Int): JsonObject
9+
}

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public static void main(String[] args) {
3232
String pinToken = decryASEKey(pinTokenPem, key);
3333
HttpClient client = new HttpClient.Builder().configEdDSA(userId, sessionId, key).build();
3434
try {
35-
rpc(client);
35+
utxo(client);
3636

3737
KeyPair sessionKey = generateEd25519KeyPair();
3838
EdDSAPublicKey publicKey = (EdDSAPublicKey) (sessionKey.getPublic());
@@ -98,11 +98,9 @@ public static void main(String[] args) {
9898
}
9999
}
100100

101-
private static void rpc(HttpClient client) throws IOException {
101+
private static void utxo(HttpClient client) throws IOException {
102102
ArrayList<Object> list = new ArrayList<>();
103-
list.add("b6afed179a8192513990e29953e3a6875eab53050b1e174d5c83ab76bbbd4b29");
104-
list.add(0);
105-
JsonObject response = client.getUserService().mixinRPCCall(new RpcRequest("getutxo", list)).execute().body();
103+
JsonObject response = client.getExternalService().getutxoCall("b6afed179a8192513990e29953e3a6875eab53050b1e174d5c83ab76bbbd4b29",0).execute().body();
106104
assert response != null;
107105
System.out.printf("%s%n", response.toString());
108106
}

0 commit comments

Comments
 (0)