diff --git a/sample/src/main/java/io/cosmostation/sui/sample/MainActivity.kt b/sample/src/main/java/io/cosmostation/sui/sample/MainActivity.kt index 4582662..0d71261 100644 --- a/sample/src/main/java/io/cosmostation/sui/sample/MainActivity.kt +++ b/sample/src/main/java/io/cosmostation/sui/sample/MainActivity.kt @@ -45,10 +45,6 @@ class MainActivity : AppCompatActivity() { viewModel.address.value?.let { address -> viewModel.getTransactions(address) } } - binding.getTransactionDetails.setOnClickListener { - viewModel.getTransactionDetails() - } - binding.transfer.setOnClickListener { viewModel.address.value?.let { address -> viewModel.objectInfos.value?.let { @@ -88,12 +84,6 @@ class MainActivity : AppCompatActivity() { ).show() } - viewModel.transactionDetails.observe(this) { - Toast.makeText( - this@MainActivity, "${it.size} Transaction Details loaded !", Toast.LENGTH_SHORT - ).show() - } - viewModel.toastMessage.observe(this) { Toast.makeText(this@MainActivity, it, Toast.LENGTH_SHORT).show() } diff --git a/sample/src/main/java/io/cosmostation/sui/sample/SampleViewModel.kt b/sample/src/main/java/io/cosmostation/sui/sample/SampleViewModel.kt index 041c8e9..c9ae789 100644 --- a/sample/src/main/java/io/cosmostation/sui/sample/SampleViewModel.kt +++ b/sample/src/main/java/io/cosmostation/sui/sample/SampleViewModel.kt @@ -8,6 +8,7 @@ import com.google.gson.Gson import io.cosmostation.suikotlin.SuiClient import io.cosmostation.suikotlin.model.EdDSAKeyPair import io.cosmostation.suikotlin.model.SuiObjectInfo +import io.cosmostation.suikotlin.model.SuiTransaction import io.cosmostation.suikotlin.model.TransactionQuery import kotlinx.coroutines.launch import java.math.BigDecimal @@ -30,11 +31,8 @@ class SampleViewModel : ViewModel() { private val _objectDetails = MutableLiveData>() val objectDetails: LiveData> get() = _objectDetails - private val _transactions = MutableLiveData>() - val transactions: LiveData> get() = _transactions - - private val _transactionDetails = MutableLiveData>() - val transactionDetails: LiveData> get() = _transactionDetails + private val _transactions = MutableLiveData>() + val transactions: LiveData> get() = _transactions private val _toastMessage = MutableLiveData() val toastMessage: LiveData get() = _toastMessage @@ -63,30 +61,22 @@ class SampleViewModel : ViewModel() { } } - fun getTransactionDetails() = viewModelScope.launch { - _transactions.value?.let { digests -> - _transactionDetails.postValue(SuiClient.instance.getTransactionDetails(digests)) - } - } - fun getTransactions(address: String) = viewModelScope.launch { - val digests = mutableListOf() + val digests = mutableListOf() _transactions.value?.forEach { digests.add(it) } val toDigest = SuiClient.instance.getTransactions(TransactionQuery.ToAddress(address)) - toDigest?.data?.forEach { digests.add(it) } - + digests.addAll(toDigest) val fromDigest = SuiClient.instance.getTransactions(TransactionQuery.FromAddress(address)) - fromDigest?.data?.forEach { digests.add(it) } + digests.addAll(fromDigest) _transactions.postValue(digests) } - fun transferObject(objectInfo: SuiObjectInfo, receiver: String, sender: String) = - viewModelScope.launch { - val transfer = SuiClient.instance.transferSui( - objectInfo.objectId, receiver, sender, 1000, BigInteger("10000000") - ) + fun transferObject(objectInfo: SuiObjectInfo, receiver: String, sender: String) = viewModelScope.launch { + val transfer = SuiClient.instance.transferSui( + objectInfo.objectId, receiver, sender, 1000, BigInteger("10000000") + ) // val transfer = SuiClient.instance.moveCall( // _address.value!!, "0x2", "devnet_nft", "mint", listOf(), listOf( // "Example NFT", @@ -96,17 +86,17 @@ class SampleViewModel : ViewModel() { // ) // val transfer = // SuiClient.instance.transferObject(objectInfo.objectId, receiver, sender, 100) - transfer?.let { transferTxBytes -> - _keyPair.value?.let { keyPair -> - val txBytes = Base64.getDecoder().decode(transferTxBytes.txBytes) - val intentMessage = byteArrayOf(0, 0, 0) + txBytes - val signedTxBytes = SuiClient.instance.sign(keyPair, intentMessage) - val executeResult = SuiClient.instance.executeTransaction( - txBytes, signedTxBytes, keyPair - ) - _toastMessage.postValue(Gson().toJson(executeResult)) - } + transfer?.let { transferTxBytes -> + _keyPair.value?.let { keyPair -> + val txBytes = Base64.getDecoder().decode(transferTxBytes.txBytes) + val intentMessage = byteArrayOf(0, 0, 0) + txBytes + val signedTxBytes = SuiClient.instance.sign(keyPair, intentMessage) + val executeResult = SuiClient.instance.executeTransaction( + txBytes, signedTxBytes, keyPair + ) + _toastMessage.postValue(Gson().toJson(executeResult)) } - } + + } } \ No newline at end of file diff --git a/sample/src/main/res/layout/activity_main.xml b/sample/src/main/res/layout/activity_main.xml index 1615503..db59a80 100644 --- a/sample/src/main/res/layout/activity_main.xml +++ b/sample/src/main/res/layout/activity_main.xml @@ -62,13 +62,6 @@ android:padding="10dp" android:text="get transactions" /> -