11package one.mixin.bot
22
3+ import com.google.gson.JsonObject
34import com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory
45import net.i2p.crypto.eddsa.EdDSAPrivateKey
56import net.i2p.crypto.eddsa.spec.EdDSANamedCurveTable
@@ -11,6 +12,7 @@ import one.mixin.bot.Constants.API.CN_URL
1112import one.mixin.bot.Constants.API.URL
1213import one.mixin.bot.api.AddressService
1314import one.mixin.bot.api.AssetService
15+ import one.mixin.bot.api.ExternalService
1416import one.mixin.bot.api.MessageService
1517import one.mixin.bot.api.SnapshotService
1618import one.mixin.bot.api.UserService
@@ -19,7 +21,9 @@ import one.mixin.bot.api.exception.ServerErrorException
1921import one.mixin.bot.extension.base64Decode
2022import one.mixin.bot.extension.base64Encode
2123import one.mixin.bot.util.getRSAPrivateKeyFromString
24+ import one.mixin.bot.vo.RpcRequest
2225import org.bouncycastle.jce.provider.BouncyCastleProvider
26+ import retrofit2.Call
2327import retrofit2.Retrofit
2428import retrofit2.converter.gson.GsonConverterFactory
2529import 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
0 commit comments