Updated on 2026-08-14
This commit is contained in:
commit
43731a6a24
472 changed files with 6908 additions and 4331 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -16,7 +16,7 @@ local.properties
|
|||
.idea/codeStyles
|
||||
|
||||
# LayoutInspector files
|
||||
.captures
|
||||
/captures
|
||||
|
||||
# OS-specific files
|
||||
.DS_Store
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import android.nfc.NfcAdapter
|
|||
import android.nfc.Tag
|
||||
import android.nfc.tech.IsoDep
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
|
|
@ -231,6 +232,8 @@ class IdFragment : BaseFragment(), NfcAdapter.ReaderCallback,
|
|||
mpSecondScanSound.start()
|
||||
}
|
||||
} else {
|
||||
Log.d(this.javaClass.simpleName,
|
||||
"Error while reading ID card: ${cardProtocol.error.localizedMessage}")
|
||||
// remove last UIDs because of error and no card read
|
||||
FirebaseCrashlytics.getInstance().recordException(cardProtocol.error)
|
||||
rlProgressBar?.post {
|
||||
|
|
@ -338,6 +341,7 @@ class IdFragment : BaseFragment(), NfcAdapter.ReaderCallback,
|
|||
validator.check(ctx, false)
|
||||
context?.let { ContextCompat.getColor(it, validator.color) }?.let { tvBalanceLine1?.setTextColor(it) }
|
||||
tvBalanceLine1?.text = getString(validator.firstLine)
|
||||
tvBalanceLine2?.text = getString(validator.getSecondLine(false)).format(ctx.card.idCardData.trustedAddress)
|
||||
}
|
||||
|
||||
if (ctx.card.hasIDCardData()) {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import android.os.Bundle
|
|||
import android.os.Parcelable
|
||||
import android.text.Editable
|
||||
import android.text.TextWatcher
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.EditText
|
||||
import android.widget.RadioButton
|
||||
|
|
@ -22,7 +23,6 @@ import com.tangem.wallet.ethID.EthIdEngine
|
|||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.android.synthetic.main.fragment_issue_new_id.*
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.lang.Exception
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
|
|
@ -54,6 +54,8 @@ class IssueNewIdFragment : BaseFragment(), NavigationResultListener {
|
|||
try {
|
||||
processData()
|
||||
} catch (exception: Exception) {
|
||||
Log.e(this.javaClass.simpleName,
|
||||
"Exception while processing data: ${exception.localizedMessage}")
|
||||
Toast.makeText(context, "Check for correctness of data", Toast.LENGTH_LONG).show()
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
|
@ -117,12 +119,15 @@ class IssueNewIdFragment : BaseFragment(), NavigationResultListener {
|
|||
photoInBytes,
|
||||
issuerExpireDate.issueDate,
|
||||
issuerExpireDate.expireDate,
|
||||
(CoinEngineFactory.create(ctx) as? EthIdEngine)?.approvalAddress
|
||||
(CoinEngineFactory.create(ctx) as? EthIdEngine)?.coinData?.approvalAddress
|
||||
)
|
||||
|
||||
val inputs = "$name $lastName;$birthDate${gender.toString()}"
|
||||
val info = inputs.toByteArray() + photoInBytes!!
|
||||
ctx.card.idHash = Util.calculateSHA256(info)
|
||||
|
||||
Log.d(this.javaClass.simpleName,
|
||||
"ID info provided: $inputs,\n photo of size ${photoInBytes?.size}")
|
||||
}
|
||||
|
||||
private fun convertDate(inputDate: CharSequence): String {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import android.nfc.NfcAdapter
|
|||
import android.nfc.Tag
|
||||
import android.nfc.tech.IsoDep
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import com.google.firebase.crashlytics.FirebaseCrashlytics
|
||||
|
|
@ -114,6 +115,10 @@ class ValidateIdFragment : BaseFragment(), NavigationResultListener,
|
|||
val data = Bundle()
|
||||
ctx.saveToBundle(data)
|
||||
data.putByteArray(Constant.EXTRA_TX, tx)
|
||||
|
||||
Log.d(this.javaClass.simpleName,
|
||||
"Transaction is ready to be sent.")
|
||||
|
||||
navigateForResult(
|
||||
Constant.REQUEST_CODE_SEND_TRANSACTION_,
|
||||
R.id.action_validateIdFragment_to_writeIdFragment,
|
||||
|
|
@ -161,6 +166,8 @@ class ValidateIdFragment : BaseFragment(), NavigationResultListener,
|
|||
}
|
||||
|
||||
PINStorage.setPIN2(PINStorage.getDefaultPIN2())
|
||||
Log.d(this.javaClass.simpleName,
|
||||
"Ready to sing transaction, launching OneTouchSignTask")
|
||||
signTransactionTask = OneTouchSignTask(NfcReader((activity as MainActivity).nfcManager, isoDep),
|
||||
App.localStorage, App.pinStorage, this@ValidateIdFragment, transaction)
|
||||
signTransactionTask?.start()
|
||||
|
|
@ -216,6 +223,8 @@ class ValidateIdFragment : BaseFragment(), NavigationResultListener,
|
|||
|
||||
mpFinishSignSound.start()
|
||||
} else {
|
||||
Log.d(this.javaClass.simpleName,
|
||||
"Error while signing with ID Issuer card: ${cardProtocol.error.localizedMessage}")
|
||||
FirebaseCrashlytics.getInstance().recordException(cardProtocol.error)
|
||||
lastReadSuccess = false
|
||||
if (cardProtocol.error.javaClass == CardProtocol.TangemException_InvalidPIN::class.java) {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import android.nfc.NfcAdapter
|
|||
import android.nfc.Tag
|
||||
import android.nfc.tech.IsoDep
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import com.google.firebase.crashlytics.FirebaseCrashlytics
|
||||
|
|
@ -186,6 +187,8 @@ class WriteIdFragment : BaseFragment(), NavigationResultListener,
|
|||
)
|
||||
|
||||
} else {
|
||||
Log.d(this.javaClass.simpleName,
|
||||
"Error while writing on ID card: ${cardProtocol.error}")
|
||||
lastReadSuccess = false
|
||||
FirebaseCrashlytics.getInstance().recordException(cardProtocol.error)
|
||||
if (cardProtocol.error.javaClass == CardProtocol.TangemException_InvalidPIN::class.java) {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ public class EthIdData extends CoinData {
|
|||
private boolean hasApprovalTx = false;
|
||||
private Long approvalAddressNonce;
|
||||
private byte[] CKDpub = null;
|
||||
private String approvalAddress = null; //default approval address for issuance
|
||||
|
||||
public boolean isHasApprovalTx() {
|
||||
return hasApprovalTx;
|
||||
|
|
@ -34,6 +35,14 @@ public class EthIdData extends CoinData {
|
|||
this.CKDpub = CKDpub;
|
||||
}
|
||||
|
||||
public String getApprovalAddress() {
|
||||
return approvalAddress;
|
||||
}
|
||||
|
||||
public void setApprovalAddress(String approvalAddress) {
|
||||
this.approvalAddress = approvalAddress;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearInfo() {
|
||||
super.clearInfo();
|
||||
|
|
@ -50,6 +59,8 @@ public class EthIdData extends CoinData {
|
|||
}
|
||||
if (B.containsKey("CKDpub")) CKDpub = B.getByteArray("CKDpub");
|
||||
hasApprovalTx = B.getBoolean("HasApprovalTx");
|
||||
if (B.containsKey("ApprovalAddress")) approvalAddress = B.getString("ApprovalAddress");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -59,6 +70,7 @@ public class EthIdData extends CoinData {
|
|||
if (approvalAddressNonce != null) B.putLong("ApprovalAddressNonce", approvalAddressNonce);
|
||||
if (CKDpub != null) B.putByteArray("CKDpub", CKDpub);
|
||||
B.putBoolean("HasApprovalTx", hasApprovalTx);
|
||||
if (approvalAddress != null) B.putString("ApprovalAddress", approvalAddress);
|
||||
|
||||
} catch (Exception e) {
|
||||
Log.e("Can't save to bundle ", e.getMessage());
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@ public class EthIdEngine extends CoinEngine {
|
|||
|
||||
private static final String TAG = com.tangem.wallet.eth.EthEngine.class.getSimpleName();
|
||||
public EthIdData coinData = null;
|
||||
private byte[] approvalPubKey = Util.hexToBytes("04EAD74FEEE4061044F46B19EB654CEEE981E9318F0C8FE99AF5CDB9D779D2E52BB51EA2D14545E0B323F7A90CF4CC72753C973149009C10DB2D83DCEC28487729"); //TODO
|
||||
public String approvalAddress = calculateAddress(approvalPubKey); //TODO
|
||||
//default approval public key for issuance
|
||||
private byte[] approvalPubKey = Util.hexToBytes("04EAD74FEEE4061044F46B19EB654CEEE981E9318F0C8FE99AF5CDB9D779D2E52BB51EA2D14545E0B323F7A90CF4CC72753C973149009C10DB2D83DCEC28487729");
|
||||
|
||||
public EthIdEngine(TangemContext ctx) throws Exception {
|
||||
super(ctx);
|
||||
|
|
@ -56,12 +56,24 @@ public class EthIdEngine extends CoinEngine {
|
|||
} else {
|
||||
throw new Exception("Invalid type of Blockchain data for " + this.getClass().getSimpleName());
|
||||
}
|
||||
defineApprovalAddress();
|
||||
}
|
||||
|
||||
public EthIdEngine() {
|
||||
super();
|
||||
}
|
||||
|
||||
private void defineApprovalAddress() {
|
||||
TangemCard.IDCardData idCardData = ctx.getCard().getIDCardData();
|
||||
String approvalAddress;
|
||||
if (idCardData != null && idCardData.trustedAddress != null) {
|
||||
approvalAddress = ctx.getCard().getIDCardData().trustedAddress;
|
||||
} else {
|
||||
approvalAddress = calculateAddress(approvalPubKey);
|
||||
}
|
||||
coinData.setApprovalAddress(approvalAddress);
|
||||
}
|
||||
|
||||
private static int getDecimals() {
|
||||
return 18;
|
||||
}
|
||||
|
|
@ -232,12 +244,12 @@ public class EthIdEngine extends CoinEngine {
|
|||
if (coinData != null && coinData.isHasApprovalTx()) {
|
||||
balanceValidator.setScore(100);
|
||||
balanceValidator.setFirstLine(R.string.id_verified);
|
||||
balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
|
||||
balanceValidator.setSecondLine(R.string.balance_validator_second_line_issued_by);
|
||||
return false;
|
||||
} else {
|
||||
balanceValidator.setScore(0);
|
||||
balanceValidator.setFirstLine(R.string.id_not_registered);
|
||||
balanceValidator.setSecondLine(R.string.balance_validator_second_line_unverified_balance);
|
||||
balanceValidator.setSecondLine(R.string.empty_string);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -277,6 +289,9 @@ public class EthIdEngine extends CoinEngine {
|
|||
@Override
|
||||
public SignTask.TransactionToSign constructTransaction(Amount amountValue, Amount feeValue, boolean IncFee, String targetAddress) {
|
||||
|
||||
Log.d(this.getClass().getSimpleName(),
|
||||
"Constructing transaction for signature");
|
||||
|
||||
final EthTransaction tx = constructIdTxForSign(coinData.getApprovalAddressNonce());
|
||||
|
||||
return new SignTask.TransactionToSign() {
|
||||
|
|
@ -309,6 +324,9 @@ public class EthIdEngine extends CoinEngine {
|
|||
|
||||
@Override
|
||||
public byte[] onSignCompleted(byte[] signFromCard) throws Exception {
|
||||
Log.d(this.getClass().getSimpleName(),
|
||||
"Transaction has been signed, now preparing transaction to send");
|
||||
|
||||
byte[] for_hash = tx.getRawHash();
|
||||
BigInteger r = new BigInteger(1, Arrays.copyOfRange(signFromCard, 0, 32));
|
||||
BigInteger s = new BigInteger(1, Arrays.copyOfRange(signFromCard, 32, 64));
|
||||
|
|
@ -330,6 +348,8 @@ public class EthIdEngine extends CoinEngine {
|
|||
Log.e(this.getClass().getSimpleName(), " V: " + String.valueOf(v));
|
||||
|
||||
byte[] txForSend = tx.getEncoded();
|
||||
Log.d(this.getClass().getSimpleName(),
|
||||
"Tx is ready to be sent");
|
||||
notifyOnNeedSendTransaction(txForSend);
|
||||
return txForSend;
|
||||
}
|
||||
|
|
@ -381,7 +401,7 @@ public class EthIdEngine extends CoinEngine {
|
|||
public void onSuccess(BlockcypherTx response) {
|
||||
Log.i(TAG, "onSuccess: BlockcypherTx");
|
||||
try {
|
||||
String address = approvalAddress;
|
||||
String address = coinData.getApprovalAddress();
|
||||
if (address.startsWith("0x") || address.startsWith("0X")) {
|
||||
address = address.substring(2);
|
||||
}
|
||||
|
|
@ -434,9 +454,13 @@ public class EthIdEngine extends CoinEngine {
|
|||
if (method.equals(ServerApiInfura.INFURA_ETH_SEND_RAW_TRANSACTION)) {
|
||||
if (infuraResponse.getResult() == null || infuraResponse.getResult().isEmpty()) {
|
||||
ctx.setError("Rejected by node: " + infuraResponse.getError());
|
||||
Log.d(this.getClass().getSimpleName(),
|
||||
"Rejected by node:" + infuraResponse.getError());
|
||||
blockchainRequestsCallbacks.onComplete(false);
|
||||
} else {
|
||||
ctx.setError(null);
|
||||
Log.d(this.getClass().getSimpleName(),
|
||||
"Transaction has been sent successfully");
|
||||
blockchainRequestsCallbacks.onComplete(true);
|
||||
}
|
||||
}
|
||||
|
|
@ -444,6 +468,8 @@ public class EthIdEngine extends CoinEngine {
|
|||
|
||||
@Override
|
||||
public void onFail(String method, String message) {
|
||||
Log.d(this.getClass().getSimpleName(),
|
||||
"requestSendTransaction failed with message: " + message);
|
||||
if (method.equals(ServerApiInfura.INFURA_ETH_SEND_RAW_TRANSACTION)) {
|
||||
ctx.setError(message);
|
||||
blockchainRequestsCallbacks.onComplete(false);
|
||||
|
|
@ -528,6 +554,6 @@ public class EthIdEngine extends CoinEngine {
|
|||
};
|
||||
serverApiInfura.setResponseListener(responseListener);
|
||||
|
||||
serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_PENDING_COUNT, 67, approvalAddress, "", "");
|
||||
serverApiInfura.requestData(ServerApiInfura.INFURA_ETH_GET_PENDING_COUNT, 67, coinData.getApprovalAddress(), "", "");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import io.reactivex.observers.DisposableSingleObserver
|
|||
import org.apache.commons.lang3.SerializationUtils
|
||||
import org.kethereum.extensions.toBytesPadded
|
||||
import java.math.BigInteger
|
||||
import java.util.*
|
||||
|
||||
class TokenEmvEngine : TokenEngine {
|
||||
constructor() : super()
|
||||
|
|
@ -40,7 +41,11 @@ class TokenEmvEngine : TokenEngine {
|
|||
}
|
||||
|
||||
override fun getChainIdNum(): Int {
|
||||
return EthTransaction.ChainEnum.Ropsten.value
|
||||
if( ctx.card.tokenSymbol=="MyERC" || ctx.card.tokenSymbol.toLowerCase(Locale.getDefault()).startsWith("test")) {
|
||||
return EthTransaction.ChainEnum.Ropsten.value
|
||||
}else{
|
||||
return EthTransaction.ChainEnum.Mainnet.value
|
||||
}
|
||||
}
|
||||
|
||||
override fun getBalance(): Amount? {
|
||||
|
|
@ -110,7 +115,11 @@ class TokenEmvEngine : TokenEngine {
|
|||
}
|
||||
|
||||
override fun getWalletExplorerUri(): Uri {
|
||||
return Uri.parse("https://ropsten.etherscan.io/token/" + getContractAddress(ctx.card) + "?a=" + ctx.coinData.wallet)
|
||||
if( chainIdNum==EthTransaction.ChainEnum.Ropsten.value ) {
|
||||
return Uri.parse("https://ropsten.etherscan.io/token/" + getContractAddress(ctx.card) + "?a=" + ctx.coinData.wallet)
|
||||
}else{
|
||||
return Uri.parse("https://etherscan.io/token/" + getContractAddress(ctx.card) + "?a=" + ctx.coinData.wallet)
|
||||
}
|
||||
}
|
||||
|
||||
override fun isExtractPossible(): Boolean {
|
||||
|
|
@ -236,7 +245,7 @@ class TokenEmvEngine : TokenEngine {
|
|||
}
|
||||
|
||||
override fun requestBalanceAndUnspentTransactions(blockchainRequestsCallbacks: BlockchainRequestsCallbacks) {
|
||||
val serverApiInfura = ServerApiInfura(ctx.blockchain)
|
||||
val serverApiInfura = if( chainIdNum== EthTransaction.ChainEnum.Ropsten.value ) ServerApiInfura(ctx.blockchain) else ServerApiInfura()
|
||||
|
||||
val responseListener: ServerApiInfura.ResponseListener = object : ServerApiInfura.ResponseListener {
|
||||
override fun onSuccess(method: String, infuraResponse: InfuraResponse) {
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<string name="dialog_this_card_has_enforced_security_delay">This card has enforced security delay</string>
|
||||
<string name="dialog_hold_card">Please hold the card firmly\n until the operation is completed…</string>
|
||||
<string name="dialog_you_may_be_required_to_repeat">You may be required to repeat this operation a few times depending on the NFC performance of your smartphone.\n This is made for safety of your funds.</string>
|
||||
<string name="alert_unknown_blockchain">This is a genuine Tangem card. Please follow instructions written on the card to install the official app.</string>
|
||||
<string name="alert_unknown_blockchain">Uh oh!\nYour Tangem card was made to work with a different application. Please see the name and instructions on your card, and install the correct app.</string>
|
||||
|
||||
<!-- menu main -->
|
||||
<string name="main_menu_manage_pin_1">Manage user PIN1…</string>
|
||||
|
|
@ -148,6 +148,7 @@
|
|||
<string name="balance_validator_second_line_create_account_instruction">To create account send 1+ XLM to this address</string>
|
||||
<string name="balance_validator_second_line_create_account_xrp">Load 20+ XRP to create account</string>
|
||||
<string name="balance_validator_second_line_authenticity_not_verified">Authenticity cannot be verified. Swipe down to refresh.</string>
|
||||
<string name="balance_validator_second_line_issued_by">Issued by %s</string>
|
||||
|
||||
<!-- CreateNewWallet, Purge, SignTransaction -->
|
||||
<string name="now_touch_the_card_with_id">Now touch the card with ID</string>
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@ import android.os.Bundle
|
|||
import android.text.Editable
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.tangem.SessionError
|
||||
import com.tangem.TangemSdk
|
||||
import com.tangem.TangemSdkError
|
||||
import com.tangem.blockchain.common.*
|
||||
import com.tangem.blockchain.common.extensions.Result
|
||||
import com.tangem.blockchain.common.extensions.Signer
|
||||
import com.tangem.blockchain.common.extensions.SimpleResult
|
||||
import com.tangem.blockchain.extensions.Result
|
||||
import com.tangem.blockchain.extensions.Signer
|
||||
import com.tangem.blockchain.extensions.SimpleResult
|
||||
import com.tangem.blockchain_demo.databinding.ActivityBlockchainDemoBinding
|
||||
import com.tangem.commands.Card
|
||||
import com.tangem.common.CompletionResult
|
||||
|
|
@ -65,7 +65,7 @@ class BlockchainDemoActivity : AppCompatActivity() {
|
|||
getInfo()
|
||||
}
|
||||
is CompletionResult.Failure -> {
|
||||
if (result.error !is SessionError.UserCancelled) {
|
||||
if (result.error !is TangemSdkError.UserCancelled) {
|
||||
handleError(result.error.toString())
|
||||
}
|
||||
}
|
||||
|
|
@ -78,18 +78,18 @@ class BlockchainDemoActivity : AppCompatActivity() {
|
|||
walletManager.update()
|
||||
withContext(Dispatchers.Main) {
|
||||
binding.tvBalance.text =
|
||||
"${walletManager.wallet.balances[AmountType.Coin]?.value
|
||||
?: "error"} ${walletManager.blockchain.currency}"
|
||||
val token = walletManager.wallet.balances[AmountType.Token]
|
||||
"${walletManager.wallet.amounts[AmountType.Coin]?.value?.toPlainString()
|
||||
?: "error"} ${walletManager.wallet.blockchain.currency}"
|
||||
val token = walletManager.wallet.amounts[AmountType.Token]
|
||||
if (token != null) {
|
||||
binding.tvBalance.text = token.currencySymbol + " " + token.value
|
||||
binding.tvBalance.text = token.value?.toPlainString() + " " + token.currencySymbol
|
||||
binding.etSumToSend.text = Editable.Factory.getInstance().newEditable(
|
||||
token.value.toString()
|
||||
token.value?.toPlainString() ?: ""
|
||||
)
|
||||
} else {
|
||||
binding.etSumToSend.text =
|
||||
Editable.Factory.getInstance().newEditable(
|
||||
walletManager.wallet.balances[AmountType.Coin]?.value.toString()
|
||||
walletManager.wallet.amounts[AmountType.Coin]?.value?.toPlainString()
|
||||
)
|
||||
}
|
||||
binding.btnCheckFee.isEnabled = true
|
||||
|
|
@ -107,9 +107,9 @@ class BlockchainDemoActivity : AppCompatActivity() {
|
|||
}
|
||||
|
||||
scope.launch {
|
||||
val feeResult = (walletManager as FeeProvider).getFee(
|
||||
walletManager.wallet.balances[AmountType.Token]
|
||||
?: walletManager.wallet.balances[AmountType.Coin]!!,
|
||||
val feeResult = (walletManager as TransactionSender).getFee(
|
||||
walletManager.wallet.amounts[AmountType.Token]
|
||||
?: walletManager.wallet.amounts[AmountType.Coin]!!,
|
||||
binding.etReceiverAddress.text.toString())
|
||||
withContext(Dispatchers.Main) {
|
||||
when (feeResult) {
|
||||
|
|
@ -154,18 +154,21 @@ class BlockchainDemoActivity : AppCompatActivity() {
|
|||
}
|
||||
|
||||
private fun formTransactionData(): TransactionData {
|
||||
val amount = if (walletManager.wallet.balances[AmountType.Token] != null) {
|
||||
walletManager.wallet.balances[AmountType.Token]!!
|
||||
val amount = if (walletManager.wallet.amounts[AmountType.Token] != null) {
|
||||
walletManager.wallet.amounts[AmountType.Token]!!.copy(
|
||||
value = binding.etSumToSend.text.toString().toBigDecimal()
|
||||
)
|
||||
} else {
|
||||
walletManager.wallet.balances[AmountType.Coin]!!.copy(
|
||||
walletManager.wallet.amounts[AmountType.Coin]!!.copy(
|
||||
value = binding.etSumToSend.text.toString().toBigDecimal() - fee
|
||||
)
|
||||
}
|
||||
return TransactionData(
|
||||
amount,
|
||||
walletManager.wallet.balances[AmountType.Coin]!!.copy(value = fee),
|
||||
walletManager.wallet.balances[AmountType.Coin]!!.address!!,
|
||||
binding.etReceiverAddress.text.toString()
|
||||
walletManager.wallet.amounts[AmountType.Coin]!!.copy(value = fee),
|
||||
walletManager.wallet.amounts[AmountType.Coin]!!.address!!,
|
||||
binding.etReceiverAddress.text.toString(),
|
||||
contractAddress = walletManager.wallet.amounts[AmountType.Token]?.address
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,37 +0,0 @@
|
|||
package com.tangem.blockchain.binance
|
||||
|
||||
import com.tangem.blockchain.binance.client.encoding.Crypto
|
||||
import com.tangem.common.extensions.calculateRipemd160
|
||||
import com.tangem.common.extensions.calculateSha256
|
||||
import com.tangem.common.extensions.toCompressedPublicKey
|
||||
import org.bitcoinj.core.Bech32
|
||||
|
||||
class BinanceAddressFactory {
|
||||
companion object {
|
||||
fun makeAddress(walletPublicKey: ByteArray, testNet: Boolean = false): String {
|
||||
val publicKeyHash = walletPublicKey.toCompressedPublicKey().calculateSha256().calculateRipemd160()
|
||||
return if (testNet) {
|
||||
Bech32.encode("tbnb", Crypto.convertBits(publicKeyHash, 0, publicKeyHash.size, 8, 5, false))
|
||||
} else {
|
||||
Bech32.encode("bnb", Crypto.convertBits(publicKeyHash, 0, publicKeyHash.size, 8, 5, false))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class BinanceAddressValidator {
|
||||
companion object {
|
||||
fun validate(address: String, testNet: Boolean = false): Boolean {
|
||||
return try {
|
||||
Crypto.decodeAddress(address)
|
||||
if (testNet) {
|
||||
address.startsWith("tbnb1")
|
||||
} else {
|
||||
address.startsWith("bnb1")
|
||||
}
|
||||
} catch (exception: Exception) {
|
||||
false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
package com.tangem.blockchain.binance
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexApiClientFactory
|
||||
import com.tangem.blockchain.binance.client.BinanceDexEnvironment
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.TransactionOption
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.Transfer
|
||||
import com.tangem.blockchain.binance.client.encoding.message.MessageType
|
||||
import com.tangem.blockchain.binance.client.encoding.message.TransactionRequestAssemblerExtSign
|
||||
import com.tangem.blockchain.binance.client.encoding.message.TransferMessage
|
||||
import com.tangem.blockchain.common.Blockchain
|
||||
import com.tangem.blockchain.common.TransactionData
|
||||
import com.tangem.common.extensions.calculateSha256
|
||||
import com.tangem.common.extensions.toCompressedPublicKey
|
||||
import org.bitcoinj.core.ECKey
|
||||
import org.bitcoinj.core.Utils
|
||||
import java.math.BigInteger
|
||||
|
||||
class BinanceTransactionBuilder(publicKey: ByteArray, isTestNet: Boolean) {
|
||||
val chainId = if (isTestNet) "Binance-Chain-Nile" else "Binance-Chain-Tigris"
|
||||
val prefixedPubKey = MessageType.PubKey.typePrefixBytes + 33.toByte() + publicKey.toCompressedPublicKey()
|
||||
val client = BinanceDexApiClientFactory.newInstance().newRestClient(
|
||||
if (isTestNet) BinanceDexEnvironment.PROD.baseUrl else BinanceDexEnvironment.TEST_NET.baseUrl
|
||||
)
|
||||
|
||||
var accountNumber: Long? = null
|
||||
var sequence: Long? = null
|
||||
var transactionAssembler: TransactionRequestAssemblerExtSign? = null
|
||||
var transferMessage: TransferMessage? = null
|
||||
|
||||
fun buildToSign(transactionData: TransactionData): ByteArray {
|
||||
val transfer = Transfer()
|
||||
transfer.coin = transactionData.amount.currencySymbol
|
||||
transfer.fromAddress = transactionData.sourceAddress
|
||||
transfer.toAddress = transactionData.destinationAddress
|
||||
transfer.amount = transactionData.amount.value!!
|
||||
.setScale(Blockchain.Binance.decimals.toInt()).toPlainString()
|
||||
|
||||
val options = TransactionOption.DEFAULT_INSTANCE
|
||||
|
||||
val accountData = BinanceAccountData(chainId, accountNumber!!, sequence!!)
|
||||
|
||||
transactionAssembler = client.prepareTransfer(transfer, accountData, prefixedPubKey, options, true)
|
||||
transferMessage = transactionAssembler!!.createTransferMessage(transfer)
|
||||
|
||||
return transactionAssembler!!.prepareForSign(transferMessage).calculateSha256()
|
||||
}
|
||||
|
||||
fun buildToSend(signature: ByteArray): ByteArray {
|
||||
val r = BigInteger(1, signature.copyOfRange(0, 32))
|
||||
val s = BigInteger(1, signature.copyOfRange(32, 64))
|
||||
val canonicalS = ECKey.ECDSASignature(r, s).toCanonicalised().s
|
||||
|
||||
//bigIntegerToBytes cuts leading zero if present
|
||||
val canonicalSignature = Utils.bigIntegerToBytes(r, 32) + Utils.bigIntegerToBytes(canonicalS, 32)
|
||||
val encodedSignature = transactionAssembler!!.encodeSignature(canonicalSignature)
|
||||
|
||||
val encodedTransferMessage = transactionAssembler!!.encodeTransferMessage(transferMessage)
|
||||
|
||||
return transactionAssembler!!.encodeStdTx(encodedTransferMessage, encodedSignature)
|
||||
}
|
||||
}
|
||||
|
||||
data class BinanceAccountData(
|
||||
val chainId: String,
|
||||
val accountNumber: Long,
|
||||
val sequence: Long
|
||||
)
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
package com.tangem.blockchain.binance
|
||||
|
||||
import android.util.Log
|
||||
import com.tangem.blockchain.binance.network.BinanceInfoResponse
|
||||
import com.tangem.blockchain.binance.network.BinanceNetworkManager
|
||||
import com.tangem.blockchain.common.*
|
||||
import com.tangem.blockchain.common.extensions.Result
|
||||
import com.tangem.blockchain.common.extensions.SimpleResult
|
||||
import com.tangem.blockchain.wallets.CurrencyWallet
|
||||
import com.tangem.common.CompletionResult
|
||||
|
||||
class BinanceWalletManager(
|
||||
private val cardId: String,
|
||||
walletPublicKey: ByteArray,
|
||||
override var wallet: CurrencyWallet,
|
||||
isTestNet: Boolean = false
|
||||
) : WalletManager,
|
||||
TransactionSender,
|
||||
FeeProvider {
|
||||
|
||||
override val blockchain = if (isTestNet) Blockchain.BinanceTestnet else Blockchain.Binance
|
||||
private val address = blockchain.makeAddress(walletPublicKey)
|
||||
private val transactionBuilder = BinanceTransactionBuilder(walletPublicKey, isTestNet)
|
||||
private val networkManager = BinanceNetworkManager(isTestNet)
|
||||
|
||||
init {
|
||||
wallet.balances[AmountType.Coin] = Amount(null, blockchain, address)
|
||||
}
|
||||
|
||||
override suspend fun update() {
|
||||
val result = networkManager.getInfo(address)
|
||||
when (result) {
|
||||
is Result.Success -> updateWallet(result.data)
|
||||
is Result.Failure -> updateError(result.error)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateWallet(response: BinanceInfoResponse) {
|
||||
Log.d(this::class.java.simpleName, "Balance is ${response.balance}")
|
||||
wallet.balances[AmountType.Coin]?.value = response.balance
|
||||
|
||||
transactionBuilder.accountNumber = response.accountNumber
|
||||
transactionBuilder.sequence = response.sequence
|
||||
}
|
||||
|
||||
private fun updateError(error: Throwable?) {
|
||||
Log.e(this::class.java.simpleName, error?.message ?: "")
|
||||
if (error != null) throw error
|
||||
}
|
||||
|
||||
override suspend fun send(transactionData: TransactionData, signer: TransactionSigner): SimpleResult {
|
||||
val transactionHash = transactionBuilder.buildToSign(transactionData)
|
||||
|
||||
when (val signerResponse = signer.sign(arrayOf(transactionHash), cardId)) {
|
||||
is CompletionResult.Success -> {
|
||||
val transactionToSend = transactionBuilder.buildToSend(signerResponse.data.signature)
|
||||
return networkManager.sendTransaction(transactionToSend)
|
||||
}
|
||||
is CompletionResult.Failure -> return SimpleResult.Failure(signerResponse.error)
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun getFee(amount: Amount, destination: String): Result<List<Amount>> {
|
||||
when (val result = networkManager.getFee()) {
|
||||
is Result.Success -> return Result.Success(listOf(Amount(result.data, blockchain)))
|
||||
is Result.Failure -> return result
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
|
||||
public interface BinanceDexTransactionMessage {
|
||||
}
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
package com.tangem.blockchain.bitcoin
|
||||
|
||||
import android.util.Log
|
||||
import com.tangem.blockchain.bitcoin.network.BitcoinAddressResponse
|
||||
import com.tangem.blockchain.bitcoin.network.BitcoinNetworkManager
|
||||
import com.tangem.blockchain.bitcoin.network.BitcoinNetworkManager.Companion.SATOSHI_IN_BTC
|
||||
import com.tangem.blockchain.common.*
|
||||
import com.tangem.blockchain.common.extensions.Result
|
||||
import com.tangem.blockchain.common.extensions.SimpleResult
|
||||
import com.tangem.blockchain.wallets.CurrencyWallet
|
||||
import com.tangem.common.CompletionResult
|
||||
import com.tangem.common.extensions.toHexString
|
||||
import java.math.BigDecimal
|
||||
|
||||
class BitcoinWalletManager(
|
||||
private val cardId: String,
|
||||
private val walletPublicKey: ByteArray,
|
||||
override var wallet: CurrencyWallet,
|
||||
isTestNet: Boolean = false
|
||||
) : WalletManager,
|
||||
TransactionSender,
|
||||
FeeProvider {
|
||||
|
||||
override val blockchain = if (isTestNet) Blockchain.BitcoinTestnet else Blockchain.Bitcoin
|
||||
private val address = blockchain.makeAddress(walletPublicKey)
|
||||
private val transactionBuilder = BitcoinTransactionBuilder(isTestNet)
|
||||
private val networkManager = BitcoinNetworkManager(isTestNet)
|
||||
|
||||
init {
|
||||
wallet.balances[AmountType.Coin] = Amount(null, blockchain)
|
||||
}
|
||||
|
||||
override suspend fun update() {
|
||||
val response = networkManager.getInfo(address)
|
||||
when (response) {
|
||||
is Result.Success -> updateWallet(response.data)
|
||||
is Result.Failure -> updateError(response.error)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateWallet(response: BitcoinAddressResponse) {
|
||||
Log.d(this::class.java.simpleName, "Balance is ${response.balance}")
|
||||
wallet.balances[AmountType.Coin]?.value = response.balance
|
||||
transactionBuilder.unspentOutputs = response.unspentTransactions
|
||||
if (response.hasUnconfirmed) {
|
||||
if (wallet.pendingTransactions.isEmpty()) {
|
||||
wallet.pendingTransactions.add(TransactionData(
|
||||
Amount(blockchain.currency, decimals = blockchain.decimals),
|
||||
null,
|
||||
"unknown",
|
||||
wallet.address))
|
||||
}
|
||||
} else {
|
||||
wallet.pendingTransactions.clear()
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateError(error: Throwable?) {
|
||||
Log.e(this::class.java.simpleName, error?.message ?: "")
|
||||
if (error != null) throw error
|
||||
}
|
||||
|
||||
override suspend fun send(transactionData: TransactionData, signer: TransactionSigner): SimpleResult {
|
||||
val buildTransactionResult = transactionBuilder.buildToSign(transactionData)
|
||||
when (buildTransactionResult) {
|
||||
is Result.Failure -> return SimpleResult.Failure(buildTransactionResult.error)
|
||||
is Result.Success -> {
|
||||
when (val signerResponse = signer.sign(buildTransactionResult.data.toTypedArray(), cardId)) {
|
||||
is CompletionResult.Success -> {
|
||||
val transactionToSend = transactionBuilder.buildToSend(signerResponse.data.signature, walletPublicKey)
|
||||
return networkManager.sendTransaction(transactionToSend.toHexString())
|
||||
}
|
||||
is CompletionResult.Failure -> return SimpleResult.Failure(signerResponse.error)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun getFee(amount: Amount, destination: String): Result<List<Amount>> {
|
||||
when (val result = networkManager.getFee()) {
|
||||
is Result.Failure -> return result
|
||||
is Result.Success -> {
|
||||
val sizeResult = transactionBuilder.getEstimateSize(
|
||||
TransactionData(amount,
|
||||
Amount(1.toBigDecimal().divide(SATOSHI_IN_BTC), blockchain),
|
||||
address, destination),
|
||||
walletPublicKey
|
||||
)
|
||||
when (sizeResult) {
|
||||
is Result.Failure -> return sizeResult
|
||||
is Result.Success -> {
|
||||
val transactionSize = sizeResult.data.toBigDecimal()
|
||||
val minFee = result.data.minimalPerKb.calculateFee(transactionSize)
|
||||
val normalFee = result.data.normalPerKb.calculateFee(transactionSize)
|
||||
val priorityFee = result.data.priorityPerKb.calculateFee(transactionSize)
|
||||
return Result.Success(
|
||||
listOf(Amount(minFee, blockchain),
|
||||
Amount(normalFee, blockchain),
|
||||
Amount(priorityFee, blockchain))
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun BigDecimal.calculateFee(transactionSize: BigDecimal): BigDecimal {
|
||||
val bytesInKb = BigDecimal(1024)
|
||||
return this.divide(bytesInKb).multiply(transactionSize)
|
||||
.setScale(8, blockchain.roundingMode())
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
package com.tangem.blockchain.blockchains.binance
|
||||
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.Crypto
|
||||
import com.tangem.blockchain.common.AddressService
|
||||
import com.tangem.common.extensions.calculateRipemd160
|
||||
import com.tangem.common.extensions.calculateSha256
|
||||
import com.tangem.common.extensions.toCompressedPublicKey
|
||||
import org.bitcoinj.core.Bech32
|
||||
|
||||
class BinanceAddressService(private val testNet: Boolean = false) : AddressService {
|
||||
override fun makeAddress(walletPublicKey: ByteArray): String {
|
||||
val publicKeyHash = walletPublicKey.toCompressedPublicKey().calculateSha256().calculateRipemd160()
|
||||
return if (testNet) {
|
||||
Bech32.encode("tbnb", Crypto.convertBits(publicKeyHash, 0,
|
||||
publicKeyHash.size, 8, 5, false)
|
||||
)
|
||||
} else {
|
||||
Bech32.encode("bnb", Crypto.convertBits(publicKeyHash, 0,
|
||||
publicKeyHash.size, 8, 5, false)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun validate(address: String): Boolean {
|
||||
return try {
|
||||
Crypto.decodeAddress(address)
|
||||
if (testNet) {
|
||||
address.startsWith("tbnb1")
|
||||
} else {
|
||||
address.startsWith("bnb1")
|
||||
}
|
||||
} catch (exception: Exception) {
|
||||
false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
enum class BinanceChain(val value: String) {
|
||||
Nile("Binance-Chain-Nile"),
|
||||
Tigris("Binance-Chain-Tigris");
|
||||
|
||||
companion object {
|
||||
fun getChain(testNet: Boolean): BinanceChain = if (testNet) Nile else Tigris
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package com.tangem.blockchain.blockchains.binance
|
||||
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TransactionOption
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.Transfer
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.message.MessageType
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.message.TransactionRequestAssemblerExtSign
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.message.TransferMessage
|
||||
import com.tangem.blockchain.common.Blockchain
|
||||
import com.tangem.blockchain.common.TransactionData
|
||||
import com.tangem.blockchain.extensions.Result
|
||||
import com.tangem.blockchain.extensions.isAboveZero
|
||||
import com.tangem.common.extensions.calculateSha256
|
||||
import com.tangem.common.extensions.toCompressedPublicKey
|
||||
import org.bitcoinj.core.ECKey
|
||||
import org.bitcoinj.core.Utils
|
||||
import java.math.BigInteger
|
||||
|
||||
class BinanceTransactionBuilder(
|
||||
publicKey: ByteArray, isTestNet: Boolean = false
|
||||
) {
|
||||
var accountNumber: Long? = null
|
||||
var sequence: Long? = null
|
||||
|
||||
private val chainId = BinanceChain.getChain(isTestNet).value
|
||||
private val prefixedPubKey = MessageType.PubKey.typePrefixBytes + 33.toByte() + publicKey.toCompressedPublicKey()
|
||||
|
||||
private var transactionAssembler: TransactionRequestAssemblerExtSign? = null
|
||||
private var transferMessage: TransferMessage? = null
|
||||
|
||||
fun buildToSign(transactionData: TransactionData): Result<ByteArray> {
|
||||
|
||||
if (!transactionData.amount.isAboveZero()) return Result.Failure(Exception("Transaction amount is not defined"))
|
||||
val accountNumber = accountNumber ?: return Result.Failure(Exception("No account number"))
|
||||
val sequence = sequence ?: return Result.Failure(Exception("No sequence"))
|
||||
|
||||
val transfer = Transfer()
|
||||
transfer.coin = transactionData.amount.currencySymbol
|
||||
transfer.fromAddress = transactionData.sourceAddress
|
||||
transfer.toAddress = transactionData.destinationAddress
|
||||
transfer.amount = transactionData.amount.value!!
|
||||
.setScale(Blockchain.Binance.decimals()).toPlainString()
|
||||
|
||||
val options = TransactionOption.DEFAULT_INSTANCE
|
||||
|
||||
val accountData = BinanceAccountData(chainId, accountNumber, sequence)
|
||||
|
||||
transactionAssembler = TransactionRequestAssemblerExtSign(accountData, prefixedPubKey, options)
|
||||
transferMessage = transactionAssembler!!.createTransferMessage(transfer)
|
||||
|
||||
return Result.Success(transactionAssembler!!.prepareForSign(transferMessage).calculateSha256())
|
||||
}
|
||||
|
||||
fun buildToSend(signature: ByteArray): ByteArray {
|
||||
val r = BigInteger(1, signature.copyOfRange(0, 32))
|
||||
val s = BigInteger(1, signature.copyOfRange(32, 64))
|
||||
val canonicalS = ECKey.ECDSASignature(r, s).toCanonicalised().s
|
||||
|
||||
//bigIntegerToBytes cuts leading zero if present
|
||||
val canonicalSignature = Utils.bigIntegerToBytes(r, 32) + Utils.bigIntegerToBytes(canonicalS, 32)
|
||||
val encodedSignature = transactionAssembler!!.encodeSignature(canonicalSignature)
|
||||
|
||||
val encodedTransferMessage = transactionAssembler!!.encodeTransferMessage(transferMessage)
|
||||
|
||||
return transactionAssembler!!.encodeStdTx(encodedTransferMessage, encodedSignature)
|
||||
}
|
||||
}
|
||||
|
||||
data class BinanceAccountData(
|
||||
val chainId: String,
|
||||
val accountNumber: Long,
|
||||
val sequence: Long
|
||||
)
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package com.tangem.blockchain.blockchains.binance
|
||||
|
||||
import android.util.Log
|
||||
import com.tangem.blockchain.blockchains.binance.network.BinanceInfoResponse
|
||||
import com.tangem.blockchain.blockchains.binance.network.BinanceNetworkManager
|
||||
import com.tangem.blockchain.common.*
|
||||
import com.tangem.blockchain.extensions.Result
|
||||
import com.tangem.blockchain.extensions.SimpleResult
|
||||
import com.tangem.common.CompletionResult
|
||||
|
||||
class BinanceWalletManager(
|
||||
cardId: String,
|
||||
wallet: Wallet,
|
||||
private val transactionBuilder: BinanceTransactionBuilder,
|
||||
private val networkManager: BinanceNetworkManager
|
||||
) : WalletManager(cardId, wallet), TransactionSender {
|
||||
|
||||
private val blockchain = wallet.blockchain
|
||||
|
||||
override suspend fun update() {
|
||||
val result = networkManager.getInfo(wallet.address)
|
||||
when (result) {
|
||||
is Result.Success -> updateWallet(result.data)
|
||||
is Result.Failure -> updateError(result.error)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateWallet(response: BinanceInfoResponse) {
|
||||
Log.d(this::class.java.simpleName, "Balance is ${response.balance}")
|
||||
wallet.amounts[AmountType.Coin]?.value = response.balance
|
||||
|
||||
transactionBuilder.accountNumber = response.accountNumber
|
||||
transactionBuilder.sequence = response.sequence
|
||||
}
|
||||
|
||||
private fun updateError(error: Throwable?) {
|
||||
Log.e(this::class.java.simpleName, error?.message ?: "")
|
||||
if (error != null) throw error
|
||||
}
|
||||
|
||||
override suspend fun send(transactionData: TransactionData, signer: TransactionSigner): SimpleResult {
|
||||
val buildTransactionResult = transactionBuilder.buildToSign(transactionData)
|
||||
when (buildTransactionResult) {
|
||||
is Result.Failure -> return SimpleResult.Failure(buildTransactionResult.error)
|
||||
is Result.Success -> {
|
||||
when (val signerResponse = signer.sign(arrayOf(buildTransactionResult.data), cardId)) {
|
||||
is CompletionResult.Success -> {
|
||||
val transactionToSend = transactionBuilder.buildToSend(signerResponse.data.signature)
|
||||
return networkManager.sendTransaction(transactionToSend)
|
||||
}
|
||||
is CompletionResult.Failure -> return SimpleResult.Failure(signerResponse.error)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun getFee(amount: Amount, destination: String): Result<List<Amount>> {
|
||||
when (val result = networkManager.getFee()) {
|
||||
is Result.Success -> return Result.Success(listOf(Amount(result.data, blockchain)))
|
||||
is Result.Failure -> return result
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +1,31 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Account;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.AccountSequence;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Candlestick;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Infos;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Market;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Order;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderBook;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderList;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Peer;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TickerStatistics;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Time;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Token;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TradePage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionMetadata;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionPage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Validators;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.tangem.blockchain.binance.client.domain.*;
|
||||
import okhttp3.RequestBody;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.*;
|
||||
|
||||
import java.util.List;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.Path;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface BinanceDexApi {
|
||||
@GET("/api/v1/time")
|
||||
|
|
@ -1,10 +1,26 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
import com.tangem.blockchain.binance.client.domain.*;
|
||||
import com.tangem.blockchain.binance.client.domain.request.ClosedOrdersRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.OpenOrdersRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.TradesRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.TransactionsRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Account;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.AccountSequence;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Candlestick;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.CandlestickInterval;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Infos;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Market;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Order;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderBook;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderList;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Peer;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TickerStatistics;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Time;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Token;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TradePage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionMetadata;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionPage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Validators;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.ClosedOrdersRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.OpenOrdersRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.TradesRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.TransactionsRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
/**
|
||||
* BinanceDexApiCallback is a functional interface used together with the BinanceApiAsyncClient to provide a non-blocking REST client.
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
|
@ -6,7 +6,7 @@ import retrofit2.Call;
|
|||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
import static com.tangem.blockchain.binance.client.BinanceDexApiClientGenerator.getBinanceApiError;
|
||||
import static com.tangem.blockchain.blockchains.binance.client.BinanceDexApiClientGenerator.getBinanceApiError;
|
||||
|
||||
/**
|
||||
* An adapter/wrapper which transforms a Callback from Retrofit into a BinanceDexApiCallback which is exposed to the client.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
import com.tangem.blockchain.binance.client.impl.BinanceDexApiAsyncRestClientImpl;
|
||||
import com.tangem.blockchain.binance.client.impl.BinanceDexApiRestClientImpl;
|
||||
import com.tangem.blockchain.blockchains.binance.client.impl.BinanceDexApiAsyncRestClientImpl;
|
||||
import com.tangem.blockchain.blockchains.binance.client.impl.BinanceDexApiRestClientImpl;
|
||||
|
||||
public class BinanceDexApiClientFactory {
|
||||
private BinanceDexApiClientFactory() {
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.datatype.joda.JodaModule;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
|
||||
public class BinanceDexApiException extends RuntimeException {
|
||||
|
|
@ -1,34 +1,34 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
import com.tangem.blockchain.binance.BinanceAccountData;
|
||||
import com.tangem.blockchain.binance.client.domain.Account;
|
||||
import com.tangem.blockchain.binance.client.domain.AccountSequence;
|
||||
import com.tangem.blockchain.binance.client.domain.Candlestick;
|
||||
import com.tangem.blockchain.binance.client.domain.CandlestickInterval;
|
||||
import com.tangem.blockchain.binance.client.domain.Infos;
|
||||
import com.tangem.blockchain.binance.client.domain.Market;
|
||||
import com.tangem.blockchain.binance.client.domain.Order;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderBook;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderList;
|
||||
import com.tangem.blockchain.binance.client.domain.Peer;
|
||||
import com.tangem.blockchain.binance.client.domain.TickerStatistics;
|
||||
import com.tangem.blockchain.binance.client.domain.Time;
|
||||
import com.tangem.blockchain.binance.client.domain.Token;
|
||||
import com.tangem.blockchain.binance.client.domain.TradePage;
|
||||
import com.tangem.blockchain.binance.client.domain.TransactionMetadata;
|
||||
import com.tangem.blockchain.binance.client.domain.TransactionPage;
|
||||
import com.tangem.blockchain.binance.client.domain.Validators;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.CancelOrder;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.NewOrder;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.TokenFreeze;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.TokenUnfreeze;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.TransactionOption;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.Transfer;
|
||||
import com.tangem.blockchain.binance.client.domain.request.ClosedOrdersRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.OpenOrdersRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.TradesRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.TransactionsRequest;
|
||||
import com.tangem.blockchain.binance.client.encoding.message.TransactionRequestAssemblerExtSign;
|
||||
import com.tangem.blockchain.blockchains.binance.BinanceAccountData;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Account;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.AccountSequence;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Candlestick;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.CandlestickInterval;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Infos;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Market;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Order;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderBook;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderList;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Peer;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TickerStatistics;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Time;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Token;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TradePage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionMetadata;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionPage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Validators;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.CancelOrder;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.NewOrder;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TokenFreeze;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TokenUnfreeze;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TransactionOption;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.Transfer;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.ClosedOrdersRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.OpenOrdersRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.TradesRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.TransactionsRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.message.TransactionRequestAssemblerExtSign;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
public enum BinanceDexEnvironment {
|
||||
PROD(
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package com.tangem.blockchain.binance.client;
|
||||
package com.tangem.blockchain.blockchains.binance.client;
|
||||
|
||||
import com.tangem.blockchain.binance.client.domain.Account;
|
||||
import com.tangem.blockchain.binance.client.domain.AccountSequence;
|
||||
import com.tangem.blockchain.binance.client.domain.Infos;
|
||||
import com.tangem.blockchain.binance.client.encoding.Crypto;
|
||||
import com.tangem.blockchain.binance.client.encoding.message.MessageType;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Account;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.AccountSequence;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Infos;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.Crypto;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.message.MessageType;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.joda.time.DateTime;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.core.ObjectCodec;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.databind.JsonSerializer;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
public enum OrderStatus {
|
||||
Ack,
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.joda.time.DateTime;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.joda.time.DateTime;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
public enum TransactionType {
|
||||
NEW_ORDER,
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain.broadcast;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.broadcast;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.blockchain.binance.client.domain.broadcast;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.broadcast;
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderSide;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderType;
|
||||
import com.tangem.blockchain.binance.client.domain.TimeInForce;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderSide;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderType;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TimeInForce;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.blockchain.binance.client.domain.broadcast;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.broadcast;
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.blockchain.binance.client.domain.broadcast;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.broadcast;
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.blockchain.binance.client.domain.broadcast;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.broadcast;
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.blockchain.binance.client.domain.broadcast;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.broadcast;
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain.request;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.request;
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderSide;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderStatus;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderSide;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderStatus;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.blockchain.binance.client.domain.request;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.request;
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.tangem.blockchain.binance.client.domain.request;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.request;
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderSide;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderSide;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.domain.request;
|
||||
package com.tangem.blockchain.blockchains.binance.client.domain.request;
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderSide;
|
||||
import com.tangem.blockchain.binance.client.domain.TransactionType;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderSide;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionType;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.tangem.blockchain.binance.client.encoding;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding;
|
||||
|
||||
import org.bitcoinj.core.Base58;
|
||||
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.tangem.blockchain.binance.client.encoding;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.encoding;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding;
|
||||
|
||||
import org.bitcoinj.core.ECKey;
|
||||
import org.bitcoinj.core.Sha256Hash;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.encoding;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
public interface BinanceDexTransactionMessage {
|
||||
}
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.tangem.blockchain.binance.client.encoding.EncodeUtils;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.EncodeUtils;
|
||||
|
||||
/**
|
||||
* Binance dex standard transactiont types.
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderSide;
|
||||
import com.tangem.blockchain.binance.client.domain.OrderType;
|
||||
import com.tangem.blockchain.binance.client.domain.TimeInForce;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderSide;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderType;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TimeInForce;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.protobuf.ByteString;
|
||||
import com.tangem.blockchain.binance.client.Wallet;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.TokenFreeze;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.TokenUnfreeze;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.TransactionOption;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.Transfer;
|
||||
import com.tangem.blockchain.binance.client.encoding.Crypto;
|
||||
import com.tangem.blockchain.binance.client.encoding.EncodeUtils;
|
||||
import com.tangem.blockchain.binance.proto.StdSignature;
|
||||
import com.tangem.blockchain.binance.proto.StdTx;
|
||||
import com.tangem.blockchain.blockchains.binance.client.Wallet;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TokenFreeze;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TokenUnfreeze;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TransactionOption;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.Transfer;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.Crypto;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.EncodeUtils;
|
||||
import com.tangem.blockchain.blockchains.binance.proto.StdSignature;
|
||||
import com.tangem.blockchain.blockchains.binance.proto.StdTx;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -102,7 +102,7 @@ public class TransactionRequestAssembler {
|
|||
|
||||
@VisibleForTesting
|
||||
NewOrderMessage createNewOrderMessage(
|
||||
com.tangem.blockchain.binance.client.domain.broadcast.NewOrder newOrder) {
|
||||
com.tangem.blockchain.blockchains.binance.client.domain.broadcast.NewOrder newOrder) {
|
||||
return NewOrderMessage.newBuilder()
|
||||
.setId(generateOrderId())
|
||||
.setOrderType(newOrder.getOrderType())
|
||||
|
|
@ -118,7 +118,7 @@ public class TransactionRequestAssembler {
|
|||
@VisibleForTesting
|
||||
byte[] encodeNewOrderMessage(NewOrderMessage newOrder)
|
||||
throws IOException {
|
||||
com.tangem.blockchain.binance.proto.NewOrder proto = com.tangem.blockchain.binance.proto.NewOrder.newBuilder()
|
||||
com.tangem.blockchain.blockchains.binance.proto.NewOrder proto = com.tangem.blockchain.blockchains.binance.proto.NewOrder.newBuilder()
|
||||
.setSender(ByteString.copyFrom(wallet.getAddressBytes()))
|
||||
.setId(newOrder.getId())
|
||||
.setSymbol(newOrder.getSymbol())
|
||||
|
|
@ -131,7 +131,7 @@ public class TransactionRequestAssembler {
|
|||
return EncodeUtils.aminoWrap(proto.toByteArray(), MessageType.NewOrder.getTypePrefixBytes(), false);
|
||||
}
|
||||
|
||||
public RequestBody buildNewOrder(com.tangem.blockchain.binance.client.domain.broadcast.NewOrder newOrder)
|
||||
public RequestBody buildNewOrder(com.tangem.blockchain.blockchains.binance.client.domain.broadcast.NewOrder newOrder)
|
||||
throws IOException, NoSuchAlgorithmException {
|
||||
NewOrderMessage msgBean = createNewOrderMessage(newOrder);
|
||||
byte[] msg = encodeNewOrderMessage(msgBean);
|
||||
|
|
@ -142,7 +142,7 @@ public class TransactionRequestAssembler {
|
|||
|
||||
@VisibleForTesting
|
||||
CancelOrderMessage createCancelOrderMessage(
|
||||
com.tangem.blockchain.binance.client.domain.broadcast.CancelOrder cancelOrder) {
|
||||
com.tangem.blockchain.blockchains.binance.client.domain.broadcast.CancelOrder cancelOrder) {
|
||||
CancelOrderMessage bean =
|
||||
new CancelOrderMessage();
|
||||
bean.setRefId(cancelOrder.getRefId());
|
||||
|
|
@ -154,7 +154,7 @@ public class TransactionRequestAssembler {
|
|||
@VisibleForTesting
|
||||
byte[] encodeCancelOrderMessage(CancelOrderMessage cancelOrder)
|
||||
throws IOException {
|
||||
com.tangem.blockchain.binance.proto.CancelOrder proto = com.tangem.blockchain.binance.proto.CancelOrder.newBuilder()
|
||||
com.tangem.blockchain.blockchains.binance.proto.CancelOrder proto = com.tangem.blockchain.blockchains.binance.proto.CancelOrder.newBuilder()
|
||||
.setSender(ByteString.copyFrom(wallet.getAddressBytes()))
|
||||
.setSymbol(cancelOrder.getSymbol())
|
||||
.setRefid(cancelOrder.getRefId())
|
||||
|
|
@ -162,7 +162,7 @@ public class TransactionRequestAssembler {
|
|||
return EncodeUtils.aminoWrap(proto.toByteArray(), MessageType.CancelOrder.getTypePrefixBytes(), false);
|
||||
}
|
||||
|
||||
public RequestBody buildCancelOrder(com.tangem.blockchain.binance.client.domain.broadcast.CancelOrder cancelOrder)
|
||||
public RequestBody buildCancelOrder(com.tangem.blockchain.blockchains.binance.client.domain.broadcast.CancelOrder cancelOrder)
|
||||
throws IOException, NoSuchAlgorithmException {
|
||||
CancelOrderMessage msgBean = createCancelOrderMessage(cancelOrder);
|
||||
byte[] msg = encodeCancelOrderMessage(msgBean);
|
||||
|
|
@ -191,28 +191,28 @@ public class TransactionRequestAssembler {
|
|||
return msgBean;
|
||||
}
|
||||
|
||||
private com.tangem.blockchain.binance.proto.Send.Input toProtoInput(InputOutput input) {
|
||||
private com.tangem.blockchain.blockchains.binance.proto.Send.Input toProtoInput(InputOutput input) {
|
||||
byte[] address = Crypto.decodeAddress(input.getAddress());
|
||||
com.tangem.blockchain.binance.proto.Send.Input.Builder builder =
|
||||
com.tangem.blockchain.binance.proto.Send.Input.newBuilder().setAddress(ByteString.copyFrom(address));
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Input.Builder builder =
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Input.newBuilder().setAddress(ByteString.copyFrom(address));
|
||||
|
||||
for (Token coin : input.getCoins()) {
|
||||
com.tangem.blockchain.binance.proto.Send.Token protCoin =
|
||||
com.tangem.blockchain.binance.proto.Send.Token.newBuilder().setAmount(coin.getAmount())
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Token protCoin =
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Token.newBuilder().setAmount(coin.getAmount())
|
||||
.setDenom(coin.getDenom()).build();
|
||||
builder.addCoins(protCoin);
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private com.tangem.blockchain.binance.proto.Send.Output toProtoOutput(InputOutput output) {
|
||||
private com.tangem.blockchain.blockchains.binance.proto.Send.Output toProtoOutput(InputOutput output) {
|
||||
byte[] address = Crypto.decodeAddress(output.getAddress());
|
||||
com.tangem.blockchain.binance.proto.Send.Output.Builder builder =
|
||||
com.tangem.blockchain.binance.proto.Send.Output.newBuilder().setAddress(ByteString.copyFrom(address));
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Output.Builder builder =
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Output.newBuilder().setAddress(ByteString.copyFrom(address));
|
||||
|
||||
for (Token coin : output.getCoins()) {
|
||||
com.tangem.blockchain.binance.proto.Send.Token protCoin =
|
||||
com.tangem.blockchain.binance.proto.Send.Token.newBuilder().setAmount(coin.getAmount())
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Token protCoin =
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Token.newBuilder().setAmount(coin.getAmount())
|
||||
.setDenom(coin.getDenom()).build();
|
||||
builder.addCoins(protCoin);
|
||||
}
|
||||
|
|
@ -222,14 +222,14 @@ public class TransactionRequestAssembler {
|
|||
@VisibleForTesting
|
||||
byte[] encodeTransferMessage(TransferMessage msg)
|
||||
throws IOException {
|
||||
com.tangem.blockchain.binance.proto.Send.Builder builder = com.tangem.blockchain.binance.proto.Send.newBuilder();
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Builder builder = com.tangem.blockchain.blockchains.binance.proto.Send.newBuilder();
|
||||
for (InputOutput input : msg.getInputs()) {
|
||||
builder.addInputs(toProtoInput(input));
|
||||
}
|
||||
for (InputOutput output : msg.getOutputs()) {
|
||||
builder.addOutputs(toProtoOutput(output));
|
||||
}
|
||||
com.tangem.blockchain.binance.proto.Send proto = builder.build();
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send proto = builder.build();
|
||||
return EncodeUtils.aminoWrap(proto.toByteArray(), MessageType.Send.getTypePrefixBytes(), false);
|
||||
}
|
||||
|
||||
|
|
@ -254,8 +254,8 @@ public class TransactionRequestAssembler {
|
|||
@VisibleForTesting
|
||||
byte[] encodeTokenFreezeMessage(TokenFreezeMessage freeze) throws IOException {
|
||||
byte[] address = Crypto.decodeAddress(freeze.getFrom());
|
||||
com.tangem.blockchain.binance.proto.TokenFreeze proto =
|
||||
com.tangem.blockchain.binance.proto.TokenFreeze.newBuilder().setFrom(ByteString.copyFrom(address))
|
||||
com.tangem.blockchain.blockchains.binance.proto.TokenFreeze proto =
|
||||
com.tangem.blockchain.blockchains.binance.proto.TokenFreeze.newBuilder().setFrom(ByteString.copyFrom(address))
|
||||
.setAmount(freeze.getAmount())
|
||||
.setSymbol(freeze.getSymbol())
|
||||
.build();
|
||||
|
|
@ -283,8 +283,8 @@ public class TransactionRequestAssembler {
|
|||
@VisibleForTesting
|
||||
byte[] encodeTokenUnfreezeMessage(TokenUnfreezeMessage unfreeze) throws IOException {
|
||||
byte[] address = Crypto.decodeAddress(unfreeze.getFrom());
|
||||
com.tangem.blockchain.binance.proto.TokenUnfreeze proto =
|
||||
com.tangem.blockchain.binance.proto.TokenUnfreeze.newBuilder().setFrom(ByteString.copyFrom(address))
|
||||
com.tangem.blockchain.blockchains.binance.proto.TokenUnfreeze proto =
|
||||
com.tangem.blockchain.blockchains.binance.proto.TokenUnfreeze.newBuilder().setFrom(ByteString.copyFrom(address))
|
||||
.setAmount(unfreeze.getAmount())
|
||||
.setSymbol(unfreeze.getSymbol())
|
||||
.build();
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.google.protobuf.ByteString;
|
||||
import com.tangem.blockchain.binance.BinanceAccountData;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.TransactionOption;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.Transfer;
|
||||
import com.tangem.blockchain.binance.client.encoding.Crypto;
|
||||
import com.tangem.blockchain.binance.client.encoding.EncodeUtils;
|
||||
import com.tangem.blockchain.binance.proto.StdSignature;
|
||||
import com.tangem.blockchain.binance.proto.StdTx;
|
||||
import com.tangem.blockchain.blockchains.binance.BinanceAccountData;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TransactionOption;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.Transfer;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.Crypto;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.EncodeUtils;
|
||||
import com.tangem.blockchain.blockchains.binance.proto.StdSignature;
|
||||
import com.tangem.blockchain.blockchains.binance.proto.StdTx;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -107,28 +107,28 @@ public class TransactionRequestAssemblerExtSign {
|
|||
return msgBean;
|
||||
}
|
||||
|
||||
private com.tangem.blockchain.binance.proto.Send.Input toProtoInput(InputOutput input) {
|
||||
private com.tangem.blockchain.blockchains.binance.proto.Send.Input toProtoInput(InputOutput input) {
|
||||
byte[] address = Crypto.decodeAddress(input.getAddress());
|
||||
com.tangem.blockchain.binance.proto.Send.Input.Builder builder =
|
||||
com.tangem.blockchain.binance.proto.Send.Input.newBuilder().setAddress(ByteString.copyFrom(address));
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Input.Builder builder =
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Input.newBuilder().setAddress(ByteString.copyFrom(address));
|
||||
|
||||
for (Token coin : input.getCoins()) {
|
||||
com.tangem.blockchain.binance.proto.Send.Token protCoin =
|
||||
com.tangem.blockchain.binance.proto.Send.Token.newBuilder().setAmount(coin.getAmount())
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Token protCoin =
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Token.newBuilder().setAmount(coin.getAmount())
|
||||
.setDenom(coin.getDenom()).build();
|
||||
builder.addCoins(protCoin);
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private com.tangem.blockchain.binance.proto.Send.Output toProtoOutput(InputOutput output) {
|
||||
private com.tangem.blockchain.blockchains.binance.proto.Send.Output toProtoOutput(InputOutput output) {
|
||||
byte[] address = Crypto.decodeAddress(output.getAddress());
|
||||
com.tangem.blockchain.binance.proto.Send.Output.Builder builder =
|
||||
com.tangem.blockchain.binance.proto.Send.Output.newBuilder().setAddress(ByteString.copyFrom(address));
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Output.Builder builder =
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Output.newBuilder().setAddress(ByteString.copyFrom(address));
|
||||
|
||||
for (Token coin : output.getCoins()) {
|
||||
com.tangem.blockchain.binance.proto.Send.Token protCoin =
|
||||
com.tangem.blockchain.binance.proto.Send.Token.newBuilder().setAmount(coin.getAmount())
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Token protCoin =
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Token.newBuilder().setAmount(coin.getAmount())
|
||||
.setDenom(coin.getDenom()).build();
|
||||
builder.addCoins(protCoin);
|
||||
}
|
||||
|
|
@ -137,14 +137,14 @@ public class TransactionRequestAssemblerExtSign {
|
|||
|
||||
public byte[] encodeTransferMessage(TransferMessage msg)
|
||||
throws IOException {
|
||||
com.tangem.blockchain.binance.proto.Send.Builder builder = com.tangem.blockchain.binance.proto.Send.newBuilder();
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Builder builder = com.tangem.blockchain.blockchains.binance.proto.Send.newBuilder();
|
||||
for (InputOutput input : msg.getInputs()) {
|
||||
builder.addInputs(toProtoInput(input));
|
||||
}
|
||||
for (InputOutput output : msg.getOutputs()) {
|
||||
builder.addOutputs(toProtoOutput(output));
|
||||
}
|
||||
com.tangem.blockchain.binance.proto.Send proto = builder.build();
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send proto = builder.build();
|
||||
return EncodeUtils.aminoWrap(proto.toByteArray(), MessageType.Send.getTypePrefixBytes(), false);
|
||||
}
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.blockchain.binance.client.encoding.message;
|
||||
package com.tangem.blockchain.blockchains.binance.client.encoding.message;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.tangem.blockchain.binance.client.BinanceDexConstants;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexConstants;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
|
||||
|
|
@ -1,15 +1,35 @@
|
|||
package com.tangem.blockchain.binance.client.impl;
|
||||
package com.tangem.blockchain.blockchains.binance.client.impl;
|
||||
|
||||
import android.os.Build;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.tangem.blockchain.binance.client.*;
|
||||
import com.tangem.blockchain.binance.client.domain.*;
|
||||
import com.tangem.blockchain.binance.client.domain.request.ClosedOrdersRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.OpenOrdersRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.TradesRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.TransactionsRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApi;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApiAsyncRestClient;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApiCallback;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApiCallbackAdapter;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApiClientGenerator;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Account;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.AccountSequence;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Candlestick;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.CandlestickInterval;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Infos;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Market;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Order;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderBook;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderList;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Peer;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TickerStatistics;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Time;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Token;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TradePage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionMetadata;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionPage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Validators;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.ClosedOrdersRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.OpenOrdersRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.TradesRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.TransactionsRequest;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -1,27 +1,52 @@
|
|||
package com.tangem.blockchain.binance.client.impl;
|
||||
package com.tangem.blockchain.blockchains.binance.client.impl;
|
||||
|
||||
import android.os.Build;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.tangem.blockchain.binance.BinanceAccountData;
|
||||
import com.tangem.blockchain.binance.client.*;
|
||||
import com.tangem.blockchain.binance.client.domain.*;
|
||||
import com.tangem.blockchain.binance.client.domain.broadcast.*;
|
||||
import com.tangem.blockchain.binance.client.domain.request.ClosedOrdersRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.OpenOrdersRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.TradesRequest;
|
||||
import com.tangem.blockchain.binance.client.domain.request.TransactionsRequest;
|
||||
import com.tangem.blockchain.binance.client.encoding.message.TransactionRequestAssembler;
|
||||
import com.tangem.blockchain.binance.client.encoding.message.TransactionRequestAssemblerExtSign;
|
||||
|
||||
import okhttp3.RequestBody;
|
||||
import com.tangem.blockchain.blockchains.binance.BinanceAccountData;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApi;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApiClientGenerator;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApiException;
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApiRestClient;
|
||||
import com.tangem.blockchain.blockchains.binance.client.Wallet;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Account;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.AccountSequence;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Candlestick;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.CandlestickInterval;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Infos;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Market;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Order;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderBook;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.OrderList;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Peer;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TickerStatistics;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Time;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Token;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TradePage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionMetadata;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.TransactionPage;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.Validators;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.CancelOrder;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.NewOrder;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TokenFreeze;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TokenUnfreeze;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.TransactionOption;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.broadcast.Transfer;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.ClosedOrdersRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.OpenOrdersRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.TradesRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.domain.request.TransactionsRequest;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.message.TransactionRequestAssembler;
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.message.TransactionRequestAssemblerExtSign;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import okhttp3.RequestBody;
|
||||
|
||||
|
||||
/**
|
||||
* Binance DEX API rest client, supporting synchronous/blocking access Binance DEX's REST API.
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package com.tangem.blockchain.binance.network
|
||||
package com.tangem.blockchain.blockchains.binance.network
|
||||
|
||||
import retrofit2.Call
|
||||
import retrofit2.http.GET
|
||||
|
||||
interface BinanceApi {
|
||||
|
|
@ -1,24 +1,29 @@
|
|||
package com.tangem.blockchain.binance.network
|
||||
package com.tangem.blockchain.blockchains.binance.network
|
||||
|
||||
import com.tangem.blockchain.binance.client.BinanceDexApiClientFactory
|
||||
import com.tangem.blockchain.binance.client.BinanceDexEnvironment
|
||||
import com.tangem.blockchain.binance.client.encoding.message.TransactionRequestAssemblerExtSign
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApiClientFactory
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexApiRestClient
|
||||
import com.tangem.blockchain.blockchains.binance.client.BinanceDexEnvironment
|
||||
import com.tangem.blockchain.blockchains.binance.client.encoding.message.TransactionRequestAssemblerExtSign
|
||||
import com.tangem.blockchain.common.Blockchain
|
||||
import com.tangem.blockchain.common.extensions.Result
|
||||
import com.tangem.blockchain.common.extensions.SimpleResult
|
||||
import com.tangem.blockchain.common.extensions.retryIO
|
||||
import com.tangem.blockchain.common.network.API_BINANCE
|
||||
import com.tangem.blockchain.common.network.API_BINANCE_TESTNET
|
||||
import com.tangem.blockchain.common.network.createRetrofitInstance
|
||||
import com.tangem.blockchain.extensions.Result
|
||||
import com.tangem.blockchain.extensions.SimpleResult
|
||||
import com.tangem.blockchain.extensions.retryIO
|
||||
import com.tangem.blockchain.network.API_BINANCE
|
||||
import com.tangem.blockchain.network.API_BINANCE_TESTNET
|
||||
import com.tangem.blockchain.network.createRetrofitInstance
|
||||
import okhttp3.RequestBody
|
||||
import java.math.BigDecimal
|
||||
|
||||
class BinanceNetworkManager(isTestNet: Boolean) {
|
||||
val api = createRetrofitInstance(if (!isTestNet) API_BINANCE else API_BINANCE_TESTNET)
|
||||
.create(BinanceApi::class.java)
|
||||
val client = BinanceDexApiClientFactory.newInstance().newRestClient(
|
||||
if (!isTestNet) BinanceDexEnvironment.PROD.baseUrl else BinanceDexEnvironment.TEST_NET.baseUrl
|
||||
)
|
||||
class BinanceNetworkManager(isTestNet: Boolean = false) {
|
||||
val api: BinanceApi by lazy {
|
||||
createRetrofitInstance(if (!isTestNet) API_BINANCE else API_BINANCE_TESTNET)
|
||||
.create(BinanceApi::class.java)
|
||||
}
|
||||
val client: BinanceDexApiRestClient by lazy {
|
||||
BinanceDexApiClientFactory.newInstance().newRestClient(
|
||||
if (!isTestNet) BinanceDexEnvironment.PROD.baseUrl else BinanceDexEnvironment.TEST_NET.baseUrl
|
||||
)
|
||||
}
|
||||
|
||||
suspend fun getInfo(address: String): Result<BinanceInfoResponse> {
|
||||
return try {
|
||||
|
|
@ -57,7 +62,7 @@ class BinanceNetworkManager(isTestNet: Boolean) {
|
|||
for (binanceFee in feeData) {
|
||||
if (binanceFee.transactionFee != null) {
|
||||
fee = binanceFee.transactionFee?.value?.toBigDecimal()
|
||||
?.movePointLeft(Blockchain.Binance.decimals.toInt())
|
||||
?.movePointLeft(Blockchain.Binance.decimals())
|
||||
break
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.tangem.blockchain.binance.network
|
||||
package com.tangem.blockchain.blockchains.binance.network
|
||||
|
||||
import com.squareup.moshi.Json
|
||||
import com.squareup.moshi.JsonClass
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: dex.proto
|
||||
|
||||
package com.tangem.blockchain.binance.proto;
|
||||
package com.tangem.blockchain.blockchains.binance.proto;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
|
|
@ -87,15 +87,15 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_CancelOrder_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_CancelOrder_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_CancelOrder_fieldAccessorTable
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_CancelOrder_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
com.tangem.blockchain.binance.proto.CancelOrder.class, com.tangem.blockchain.binance.proto.CancelOrder.Builder.class);
|
||||
com.tangem.blockchain.blockchains.binance.proto.CancelOrder.class, com.tangem.blockchain.blockchains.binance.proto.CancelOrder.Builder.class);
|
||||
}
|
||||
|
||||
public static final int SENDER_FIELD_NUMBER = 1;
|
||||
|
|
@ -247,10 +247,10 @@ private static final long serialVersionUID = 0L;
|
|||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof com.tangem.blockchain.binance.proto.CancelOrder)) {
|
||||
if (!(obj instanceof com.tangem.blockchain.blockchains.binance.proto.CancelOrder)) {
|
||||
return super.equals(obj);
|
||||
}
|
||||
com.tangem.blockchain.binance.proto.CancelOrder other = (com.tangem.blockchain.binance.proto.CancelOrder) obj;
|
||||
com.tangem.blockchain.blockchains.binance.proto.CancelOrder other = (com.tangem.blockchain.blockchains.binance.proto.CancelOrder) obj;
|
||||
|
||||
if (!getSender()
|
||||
.equals(other.getSender())) return false;
|
||||
|
|
@ -280,69 +280,69 @@ private static final long serialVersionUID = 0L;
|
|||
return hash;
|
||||
}
|
||||
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(
|
||||
java.nio.ByteBuffer data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(
|
||||
java.nio.ByteBuffer data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(
|
||||
com.google.protobuf.ByteString data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(
|
||||
com.google.protobuf.ByteString data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(byte[] data)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(byte[] data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(
|
||||
byte[] data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(java.io.InputStream input)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseDelimitedFrom(java.io.InputStream input)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseDelimitedFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseDelimitedFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseDelimitedFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(
|
||||
com.google.protobuf.CodedInputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder parseFrom(
|
||||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
|
|
@ -355,7 +355,7 @@ private static final long serialVersionUID = 0L;
|
|||
public static Builder newBuilder() {
|
||||
return DEFAULT_INSTANCE.toBuilder();
|
||||
}
|
||||
public static Builder newBuilder(com.tangem.blockchain.binance.proto.CancelOrder prototype) {
|
||||
public static Builder newBuilder(com.tangem.blockchain.blockchains.binance.proto.CancelOrder prototype) {
|
||||
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
|
||||
}
|
||||
@Override
|
||||
|
|
@ -380,21 +380,21 @@ private static final long serialVersionUID = 0L;
|
|||
public static final class Builder extends
|
||||
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
|
||||
// @@protoc_insertion_point(builder_implements:transaction.CancelOrder)
|
||||
com.tangem.blockchain.binance.proto.CancelOrderOrBuilder {
|
||||
com.tangem.blockchain.blockchains.binance.proto.CancelOrderOrBuilder {
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_CancelOrder_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_CancelOrder_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_CancelOrder_fieldAccessorTable
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_CancelOrder_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
com.tangem.blockchain.binance.proto.CancelOrder.class, com.tangem.blockchain.binance.proto.CancelOrder.Builder.class);
|
||||
com.tangem.blockchain.blockchains.binance.proto.CancelOrder.class, com.tangem.blockchain.blockchains.binance.proto.CancelOrder.Builder.class);
|
||||
}
|
||||
|
||||
// Construct using com.tangem.blockchain.binance.proto.CancelOrder.newBuilder()
|
||||
// Construct using com.tangem.blockchain.blockchains.binance.proto.CancelOrder.newBuilder()
|
||||
private Builder() {
|
||||
maybeForceBuilderInitialization();
|
||||
}
|
||||
|
|
@ -424,17 +424,17 @@ private static final long serialVersionUID = 0L;
|
|||
@Override
|
||||
public com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptorForType() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_CancelOrder_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_CancelOrder_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.CancelOrder getDefaultInstanceForType() {
|
||||
return com.tangem.blockchain.binance.proto.CancelOrder.getDefaultInstance();
|
||||
public com.tangem.blockchain.blockchains.binance.proto.CancelOrder getDefaultInstanceForType() {
|
||||
return com.tangem.blockchain.blockchains.binance.proto.CancelOrder.getDefaultInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.CancelOrder build() {
|
||||
com.tangem.blockchain.binance.proto.CancelOrder result = buildPartial();
|
||||
public com.tangem.blockchain.blockchains.binance.proto.CancelOrder build() {
|
||||
com.tangem.blockchain.blockchains.binance.proto.CancelOrder result = buildPartial();
|
||||
if (!result.isInitialized()) {
|
||||
throw newUninitializedMessageException(result);
|
||||
}
|
||||
|
|
@ -442,8 +442,8 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.CancelOrder buildPartial() {
|
||||
com.tangem.blockchain.binance.proto.CancelOrder result = new com.tangem.blockchain.binance.proto.CancelOrder(this);
|
||||
public com.tangem.blockchain.blockchains.binance.proto.CancelOrder buildPartial() {
|
||||
com.tangem.blockchain.blockchains.binance.proto.CancelOrder result = new com.tangem.blockchain.blockchains.binance.proto.CancelOrder(this);
|
||||
result.sender_ = sender_;
|
||||
result.symbol_ = symbol_;
|
||||
result.refid_ = refid_;
|
||||
|
|
@ -485,16 +485,16 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
@Override
|
||||
public Builder mergeFrom(com.google.protobuf.Message other) {
|
||||
if (other instanceof com.tangem.blockchain.binance.proto.CancelOrder) {
|
||||
return mergeFrom((com.tangem.blockchain.binance.proto.CancelOrder)other);
|
||||
if (other instanceof com.tangem.blockchain.blockchains.binance.proto.CancelOrder) {
|
||||
return mergeFrom((com.tangem.blockchain.blockchains.binance.proto.CancelOrder)other);
|
||||
} else {
|
||||
super.mergeFrom(other);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public Builder mergeFrom(com.tangem.blockchain.binance.proto.CancelOrder other) {
|
||||
if (other == com.tangem.blockchain.binance.proto.CancelOrder.getDefaultInstance()) return this;
|
||||
public Builder mergeFrom(com.tangem.blockchain.blockchains.binance.proto.CancelOrder other) {
|
||||
if (other == com.tangem.blockchain.blockchains.binance.proto.CancelOrder.getDefaultInstance()) return this;
|
||||
if (other.getSender() != com.google.protobuf.ByteString.EMPTY) {
|
||||
setSender(other.getSender());
|
||||
}
|
||||
|
|
@ -521,11 +521,11 @@ private static final long serialVersionUID = 0L;
|
|||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
com.tangem.blockchain.binance.proto.CancelOrder parsedMessage = null;
|
||||
com.tangem.blockchain.blockchains.binance.proto.CancelOrder parsedMessage = null;
|
||||
try {
|
||||
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
|
||||
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||
parsedMessage = (com.tangem.blockchain.binance.proto.CancelOrder) e.getUnfinishedMessage();
|
||||
parsedMessage = (com.tangem.blockchain.blockchains.binance.proto.CancelOrder) e.getUnfinishedMessage();
|
||||
throw e.unwrapIOException();
|
||||
} finally {
|
||||
if (parsedMessage != null) {
|
||||
|
|
@ -770,12 +770,12 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
// @@protoc_insertion_point(class_scope:transaction.CancelOrder)
|
||||
private static final com.tangem.blockchain.binance.proto.CancelOrder DEFAULT_INSTANCE;
|
||||
private static final com.tangem.blockchain.blockchains.binance.proto.CancelOrder DEFAULT_INSTANCE;
|
||||
static {
|
||||
DEFAULT_INSTANCE = new com.tangem.blockchain.binance.proto.CancelOrder();
|
||||
DEFAULT_INSTANCE = new com.tangem.blockchain.blockchains.binance.proto.CancelOrder();
|
||||
}
|
||||
|
||||
public static com.tangem.blockchain.binance.proto.CancelOrder getDefaultInstance() {
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.CancelOrder getDefaultInstance() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
|
|
@ -800,7 +800,7 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.CancelOrder getDefaultInstanceForType() {
|
||||
public com.tangem.blockchain.blockchains.binance.proto.CancelOrder getDefaultInstanceForType() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: dex.proto
|
||||
|
||||
package com.tangem.blockchain.binance.proto;
|
||||
package com.tangem.blockchain.blockchains.binance.proto;
|
||||
|
||||
public interface CancelOrderOrBuilder extends
|
||||
// @@protoc_insertion_point(interface_extends:transaction.CancelOrder)
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: dex.proto
|
||||
|
||||
package com.tangem.blockchain.binance.proto;
|
||||
package com.tangem.blockchain.blockchains.binance.proto;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
|
|
@ -112,15 +112,15 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_NewOrder_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_NewOrder_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_NewOrder_fieldAccessorTable
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_NewOrder_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
com.tangem.blockchain.binance.proto.NewOrder.class, com.tangem.blockchain.binance.proto.NewOrder.Builder.class);
|
||||
com.tangem.blockchain.blockchains.binance.proto.NewOrder.class, com.tangem.blockchain.blockchains.binance.proto.NewOrder.Builder.class);
|
||||
}
|
||||
|
||||
public static final int SENDER_FIELD_NUMBER = 1;
|
||||
|
|
@ -372,10 +372,10 @@ private static final long serialVersionUID = 0L;
|
|||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof com.tangem.blockchain.binance.proto.NewOrder)) {
|
||||
if (!(obj instanceof com.tangem.blockchain.blockchains.binance.proto.NewOrder)) {
|
||||
return super.equals(obj);
|
||||
}
|
||||
com.tangem.blockchain.binance.proto.NewOrder other = (com.tangem.blockchain.binance.proto.NewOrder) obj;
|
||||
com.tangem.blockchain.blockchains.binance.proto.NewOrder other = (com.tangem.blockchain.blockchains.binance.proto.NewOrder) obj;
|
||||
|
||||
if (!getSender()
|
||||
.equals(other.getSender())) return false;
|
||||
|
|
@ -430,69 +430,69 @@ private static final long serialVersionUID = 0L;
|
|||
return hash;
|
||||
}
|
||||
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(
|
||||
java.nio.ByteBuffer data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(
|
||||
java.nio.ByteBuffer data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(
|
||||
com.google.protobuf.ByteString data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(
|
||||
com.google.protobuf.ByteString data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(byte[] data)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(byte[] data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(
|
||||
byte[] data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(java.io.InputStream input)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseDelimitedFrom(java.io.InputStream input)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseDelimitedFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseDelimitedFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseDelimitedFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(
|
||||
com.google.protobuf.CodedInputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder parseFrom(
|
||||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
|
|
@ -505,7 +505,7 @@ private static final long serialVersionUID = 0L;
|
|||
public static Builder newBuilder() {
|
||||
return DEFAULT_INSTANCE.toBuilder();
|
||||
}
|
||||
public static Builder newBuilder(com.tangem.blockchain.binance.proto.NewOrder prototype) {
|
||||
public static Builder newBuilder(com.tangem.blockchain.blockchains.binance.proto.NewOrder prototype) {
|
||||
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
|
||||
}
|
||||
@Override
|
||||
|
|
@ -530,21 +530,21 @@ private static final long serialVersionUID = 0L;
|
|||
public static final class Builder extends
|
||||
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
|
||||
// @@protoc_insertion_point(builder_implements:transaction.NewOrder)
|
||||
com.tangem.blockchain.binance.proto.NewOrderOrBuilder {
|
||||
com.tangem.blockchain.blockchains.binance.proto.NewOrderOrBuilder {
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_NewOrder_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_NewOrder_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_NewOrder_fieldAccessorTable
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_NewOrder_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
com.tangem.blockchain.binance.proto.NewOrder.class, com.tangem.blockchain.binance.proto.NewOrder.Builder.class);
|
||||
com.tangem.blockchain.blockchains.binance.proto.NewOrder.class, com.tangem.blockchain.blockchains.binance.proto.NewOrder.Builder.class);
|
||||
}
|
||||
|
||||
// Construct using com.tangem.blockchain.binance.proto.NewOrder.newBuilder()
|
||||
// Construct using com.tangem.blockchain.blockchains.binance.proto.NewOrder.newBuilder()
|
||||
private Builder() {
|
||||
maybeForceBuilderInitialization();
|
||||
}
|
||||
|
|
@ -584,17 +584,17 @@ private static final long serialVersionUID = 0L;
|
|||
@Override
|
||||
public com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptorForType() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_NewOrder_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_NewOrder_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.NewOrder getDefaultInstanceForType() {
|
||||
return com.tangem.blockchain.binance.proto.NewOrder.getDefaultInstance();
|
||||
public com.tangem.blockchain.blockchains.binance.proto.NewOrder getDefaultInstanceForType() {
|
||||
return com.tangem.blockchain.blockchains.binance.proto.NewOrder.getDefaultInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.NewOrder build() {
|
||||
com.tangem.blockchain.binance.proto.NewOrder result = buildPartial();
|
||||
public com.tangem.blockchain.blockchains.binance.proto.NewOrder build() {
|
||||
com.tangem.blockchain.blockchains.binance.proto.NewOrder result = buildPartial();
|
||||
if (!result.isInitialized()) {
|
||||
throw newUninitializedMessageException(result);
|
||||
}
|
||||
|
|
@ -602,8 +602,8 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.NewOrder buildPartial() {
|
||||
com.tangem.blockchain.binance.proto.NewOrder result = new com.tangem.blockchain.binance.proto.NewOrder(this);
|
||||
public com.tangem.blockchain.blockchains.binance.proto.NewOrder buildPartial() {
|
||||
com.tangem.blockchain.blockchains.binance.proto.NewOrder result = new com.tangem.blockchain.blockchains.binance.proto.NewOrder(this);
|
||||
result.sender_ = sender_;
|
||||
result.id_ = id_;
|
||||
result.symbol_ = symbol_;
|
||||
|
|
@ -650,16 +650,16 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
@Override
|
||||
public Builder mergeFrom(com.google.protobuf.Message other) {
|
||||
if (other instanceof com.tangem.blockchain.binance.proto.NewOrder) {
|
||||
return mergeFrom((com.tangem.blockchain.binance.proto.NewOrder)other);
|
||||
if (other instanceof com.tangem.blockchain.blockchains.binance.proto.NewOrder) {
|
||||
return mergeFrom((com.tangem.blockchain.blockchains.binance.proto.NewOrder)other);
|
||||
} else {
|
||||
super.mergeFrom(other);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public Builder mergeFrom(com.tangem.blockchain.binance.proto.NewOrder other) {
|
||||
if (other == com.tangem.blockchain.binance.proto.NewOrder.getDefaultInstance()) return this;
|
||||
public Builder mergeFrom(com.tangem.blockchain.blockchains.binance.proto.NewOrder other) {
|
||||
if (other == com.tangem.blockchain.blockchains.binance.proto.NewOrder.getDefaultInstance()) return this;
|
||||
if (other.getSender() != com.google.protobuf.ByteString.EMPTY) {
|
||||
setSender(other.getSender());
|
||||
}
|
||||
|
|
@ -701,11 +701,11 @@ private static final long serialVersionUID = 0L;
|
|||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
com.tangem.blockchain.binance.proto.NewOrder parsedMessage = null;
|
||||
com.tangem.blockchain.blockchains.binance.proto.NewOrder parsedMessage = null;
|
||||
try {
|
||||
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
|
||||
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||
parsedMessage = (com.tangem.blockchain.binance.proto.NewOrder) e.getUnfinishedMessage();
|
||||
parsedMessage = (com.tangem.blockchain.blockchains.binance.proto.NewOrder) e.getUnfinishedMessage();
|
||||
throw e.unwrapIOException();
|
||||
} finally {
|
||||
if (parsedMessage != null) {
|
||||
|
|
@ -1140,12 +1140,12 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
// @@protoc_insertion_point(class_scope:transaction.NewOrder)
|
||||
private static final com.tangem.blockchain.binance.proto.NewOrder DEFAULT_INSTANCE;
|
||||
private static final com.tangem.blockchain.blockchains.binance.proto.NewOrder DEFAULT_INSTANCE;
|
||||
static {
|
||||
DEFAULT_INSTANCE = new com.tangem.blockchain.binance.proto.NewOrder();
|
||||
DEFAULT_INSTANCE = new com.tangem.blockchain.blockchains.binance.proto.NewOrder();
|
||||
}
|
||||
|
||||
public static com.tangem.blockchain.binance.proto.NewOrder getDefaultInstance() {
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.NewOrder getDefaultInstance() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
|
|
@ -1170,7 +1170,7 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.NewOrder getDefaultInstanceForType() {
|
||||
public com.tangem.blockchain.blockchains.binance.proto.NewOrder getDefaultInstanceForType() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: dex.proto
|
||||
|
||||
package com.tangem.blockchain.binance.proto;
|
||||
package com.tangem.blockchain.blockchains.binance.proto;
|
||||
|
||||
public interface NewOrderOrBuilder extends
|
||||
// @@protoc_insertion_point(interface_extends:transaction.NewOrder)
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,7 +1,7 @@
|
|||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: dex.proto
|
||||
|
||||
package com.tangem.blockchain.binance.proto;
|
||||
package com.tangem.blockchain.blockchains.binance.proto;
|
||||
|
||||
public interface SendOrBuilder extends
|
||||
// @@protoc_insertion_point(interface_extends:transaction.Send)
|
||||
|
|
@ -10,12 +10,12 @@ public interface SendOrBuilder extends
|
|||
/**
|
||||
* <code>repeated .transaction.Send.Input inputs = 1;</code>
|
||||
*/
|
||||
java.util.List<com.tangem.blockchain.binance.proto.Send.Input>
|
||||
java.util.List<com.tangem.blockchain.blockchains.binance.proto.Send.Input>
|
||||
getInputsList();
|
||||
/**
|
||||
* <code>repeated .transaction.Send.Input inputs = 1;</code>
|
||||
*/
|
||||
com.tangem.blockchain.binance.proto.Send.Input getInputs(int index);
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Input getInputs(int index);
|
||||
/**
|
||||
* <code>repeated .transaction.Send.Input inputs = 1;</code>
|
||||
*/
|
||||
|
|
@ -23,23 +23,23 @@ public interface SendOrBuilder extends
|
|||
/**
|
||||
* <code>repeated .transaction.Send.Input inputs = 1;</code>
|
||||
*/
|
||||
java.util.List<? extends com.tangem.blockchain.binance.proto.Send.InputOrBuilder>
|
||||
java.util.List<? extends com.tangem.blockchain.blockchains.binance.proto.Send.InputOrBuilder>
|
||||
getInputsOrBuilderList();
|
||||
/**
|
||||
* <code>repeated .transaction.Send.Input inputs = 1;</code>
|
||||
*/
|
||||
com.tangem.blockchain.binance.proto.Send.InputOrBuilder getInputsOrBuilder(
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.InputOrBuilder getInputsOrBuilder(
|
||||
int index);
|
||||
|
||||
/**
|
||||
* <code>repeated .transaction.Send.Output outputs = 2;</code>
|
||||
*/
|
||||
java.util.List<com.tangem.blockchain.binance.proto.Send.Output>
|
||||
java.util.List<com.tangem.blockchain.blockchains.binance.proto.Send.Output>
|
||||
getOutputsList();
|
||||
/**
|
||||
* <code>repeated .transaction.Send.Output outputs = 2;</code>
|
||||
*/
|
||||
com.tangem.blockchain.binance.proto.Send.Output getOutputs(int index);
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.Output getOutputs(int index);
|
||||
/**
|
||||
* <code>repeated .transaction.Send.Output outputs = 2;</code>
|
||||
*/
|
||||
|
|
@ -47,11 +47,11 @@ public interface SendOrBuilder extends
|
|||
/**
|
||||
* <code>repeated .transaction.Send.Output outputs = 2;</code>
|
||||
*/
|
||||
java.util.List<? extends com.tangem.blockchain.binance.proto.Send.OutputOrBuilder>
|
||||
java.util.List<? extends com.tangem.blockchain.blockchains.binance.proto.Send.OutputOrBuilder>
|
||||
getOutputsOrBuilderList();
|
||||
/**
|
||||
* <code>repeated .transaction.Send.Output outputs = 2;</code>
|
||||
*/
|
||||
com.tangem.blockchain.binance.proto.Send.OutputOrBuilder getOutputsOrBuilder(
|
||||
com.tangem.blockchain.blockchains.binance.proto.Send.OutputOrBuilder getOutputsOrBuilder(
|
||||
int index);
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||
// source: dex.proto
|
||||
|
||||
package com.tangem.blockchain.binance.proto;
|
||||
package com.tangem.blockchain.blockchains.binance.proto;
|
||||
|
||||
/**
|
||||
* Protobuf type {@code transaction.StdSignature}
|
||||
|
|
@ -85,15 +85,15 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_fieldAccessorTable
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
com.tangem.blockchain.binance.proto.StdSignature.class, com.tangem.blockchain.binance.proto.StdSignature.Builder.class);
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature.class, com.tangem.blockchain.blockchains.binance.proto.StdSignature.Builder.class);
|
||||
}
|
||||
|
||||
public interface PubKeyOrBuilder extends
|
||||
|
|
@ -163,15 +163,15 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_fieldAccessorTable
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
com.tangem.blockchain.binance.proto.StdSignature.PubKey.class, com.tangem.blockchain.binance.proto.StdSignature.PubKey.Builder.class);
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey.class, com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey.Builder.class);
|
||||
}
|
||||
|
||||
private byte memoizedIsInitialized = -1;
|
||||
|
|
@ -207,10 +207,10 @@ private static final long serialVersionUID = 0L;
|
|||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof com.tangem.blockchain.binance.proto.StdSignature.PubKey)) {
|
||||
if (!(obj instanceof com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey)) {
|
||||
return super.equals(obj);
|
||||
}
|
||||
com.tangem.blockchain.binance.proto.StdSignature.PubKey other = (com.tangem.blockchain.binance.proto.StdSignature.PubKey) obj;
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey other = (com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey) obj;
|
||||
|
||||
if (!unknownFields.equals(other.unknownFields)) return false;
|
||||
return true;
|
||||
|
|
@ -228,69 +228,69 @@ private static final long serialVersionUID = 0L;
|
|||
return hash;
|
||||
}
|
||||
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(
|
||||
java.nio.ByteBuffer data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(
|
||||
java.nio.ByteBuffer data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(
|
||||
com.google.protobuf.ByteString data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(
|
||||
com.google.protobuf.ByteString data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(byte[] data)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(byte[] data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(
|
||||
byte[] data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(java.io.InputStream input)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseDelimitedFrom(java.io.InputStream input)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseDelimitedFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseDelimitedFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseDelimitedFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(
|
||||
com.google.protobuf.CodedInputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parseFrom(
|
||||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
|
|
@ -303,7 +303,7 @@ private static final long serialVersionUID = 0L;
|
|||
public static Builder newBuilder() {
|
||||
return DEFAULT_INSTANCE.toBuilder();
|
||||
}
|
||||
public static Builder newBuilder(com.tangem.blockchain.binance.proto.StdSignature.PubKey prototype) {
|
||||
public static Builder newBuilder(com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey prototype) {
|
||||
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
|
||||
}
|
||||
@Override
|
||||
|
|
@ -328,21 +328,21 @@ private static final long serialVersionUID = 0L;
|
|||
public static final class Builder extends
|
||||
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
|
||||
// @@protoc_insertion_point(builder_implements:transaction.StdSignature.PubKey)
|
||||
com.tangem.blockchain.binance.proto.StdSignature.PubKeyOrBuilder {
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKeyOrBuilder {
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_fieldAccessorTable
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
com.tangem.blockchain.binance.proto.StdSignature.PubKey.class, com.tangem.blockchain.binance.proto.StdSignature.PubKey.Builder.class);
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey.class, com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey.Builder.class);
|
||||
}
|
||||
|
||||
// Construct using com.tangem.blockchain.binance.proto.StdSignature.PubKey.newBuilder()
|
||||
// Construct using com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey.newBuilder()
|
||||
private Builder() {
|
||||
maybeForceBuilderInitialization();
|
||||
}
|
||||
|
|
@ -366,17 +366,17 @@ private static final long serialVersionUID = 0L;
|
|||
@Override
|
||||
public com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptorForType() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_PubKey_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.StdSignature.PubKey getDefaultInstanceForType() {
|
||||
return com.tangem.blockchain.binance.proto.StdSignature.PubKey.getDefaultInstance();
|
||||
public com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey getDefaultInstanceForType() {
|
||||
return com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey.getDefaultInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.StdSignature.PubKey build() {
|
||||
com.tangem.blockchain.binance.proto.StdSignature.PubKey result = buildPartial();
|
||||
public com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey build() {
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey result = buildPartial();
|
||||
if (!result.isInitialized()) {
|
||||
throw newUninitializedMessageException(result);
|
||||
}
|
||||
|
|
@ -384,8 +384,8 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.StdSignature.PubKey buildPartial() {
|
||||
com.tangem.blockchain.binance.proto.StdSignature.PubKey result = new com.tangem.blockchain.binance.proto.StdSignature.PubKey(this);
|
||||
public com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey buildPartial() {
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey result = new com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey(this);
|
||||
onBuilt();
|
||||
return result;
|
||||
}
|
||||
|
|
@ -424,16 +424,16 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
@Override
|
||||
public Builder mergeFrom(com.google.protobuf.Message other) {
|
||||
if (other instanceof com.tangem.blockchain.binance.proto.StdSignature.PubKey) {
|
||||
return mergeFrom((com.tangem.blockchain.binance.proto.StdSignature.PubKey)other);
|
||||
if (other instanceof com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey) {
|
||||
return mergeFrom((com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey)other);
|
||||
} else {
|
||||
super.mergeFrom(other);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public Builder mergeFrom(com.tangem.blockchain.binance.proto.StdSignature.PubKey other) {
|
||||
if (other == com.tangem.blockchain.binance.proto.StdSignature.PubKey.getDefaultInstance()) return this;
|
||||
public Builder mergeFrom(com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey other) {
|
||||
if (other == com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey.getDefaultInstance()) return this;
|
||||
this.mergeUnknownFields(other.unknownFields);
|
||||
onChanged();
|
||||
return this;
|
||||
|
|
@ -449,11 +449,11 @@ private static final long serialVersionUID = 0L;
|
|||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
com.tangem.blockchain.binance.proto.StdSignature.PubKey parsedMessage = null;
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey parsedMessage = null;
|
||||
try {
|
||||
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
|
||||
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||
parsedMessage = (com.tangem.blockchain.binance.proto.StdSignature.PubKey) e.getUnfinishedMessage();
|
||||
parsedMessage = (com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey) e.getUnfinishedMessage();
|
||||
throw e.unwrapIOException();
|
||||
} finally {
|
||||
if (parsedMessage != null) {
|
||||
|
|
@ -479,12 +479,12 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
// @@protoc_insertion_point(class_scope:transaction.StdSignature.PubKey)
|
||||
private static final com.tangem.blockchain.binance.proto.StdSignature.PubKey DEFAULT_INSTANCE;
|
||||
private static final com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey DEFAULT_INSTANCE;
|
||||
static {
|
||||
DEFAULT_INSTANCE = new com.tangem.blockchain.binance.proto.StdSignature.PubKey();
|
||||
DEFAULT_INSTANCE = new com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey();
|
||||
}
|
||||
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature.PubKey getDefaultInstance() {
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey getDefaultInstance() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
|
|
@ -509,7 +509,7 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.StdSignature.PubKey getDefaultInstanceForType() {
|
||||
public com.tangem.blockchain.blockchains.binance.proto.StdSignature.PubKey getDefaultInstanceForType() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
|
|
@ -628,10 +628,10 @@ private static final long serialVersionUID = 0L;
|
|||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof com.tangem.blockchain.binance.proto.StdSignature)) {
|
||||
if (!(obj instanceof com.tangem.blockchain.blockchains.binance.proto.StdSignature)) {
|
||||
return super.equals(obj);
|
||||
}
|
||||
com.tangem.blockchain.binance.proto.StdSignature other = (com.tangem.blockchain.binance.proto.StdSignature) obj;
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature other = (com.tangem.blockchain.blockchains.binance.proto.StdSignature) obj;
|
||||
|
||||
if (!getPubKey()
|
||||
.equals(other.getPubKey())) return false;
|
||||
|
|
@ -667,69 +667,69 @@ private static final long serialVersionUID = 0L;
|
|||
return hash;
|
||||
}
|
||||
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(
|
||||
java.nio.ByteBuffer data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(
|
||||
java.nio.ByteBuffer data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(
|
||||
com.google.protobuf.ByteString data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(
|
||||
com.google.protobuf.ByteString data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(byte[] data)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(byte[] data)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(
|
||||
byte[] data,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws com.google.protobuf.InvalidProtocolBufferException {
|
||||
return PARSER.parseFrom(data, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(java.io.InputStream input)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseDelimitedFrom(java.io.InputStream input)
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseDelimitedFrom(java.io.InputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseDelimitedFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseDelimitedFrom(
|
||||
java.io.InputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(
|
||||
com.google.protobuf.CodedInputStream input)
|
||||
throws java.io.IOException {
|
||||
return com.google.protobuf.GeneratedMessageV3
|
||||
.parseWithIOException(PARSER, input);
|
||||
}
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature parseFrom(
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature parseFrom(
|
||||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
|
|
@ -742,7 +742,7 @@ private static final long serialVersionUID = 0L;
|
|||
public static Builder newBuilder() {
|
||||
return DEFAULT_INSTANCE.toBuilder();
|
||||
}
|
||||
public static Builder newBuilder(com.tangem.blockchain.binance.proto.StdSignature prototype) {
|
||||
public static Builder newBuilder(com.tangem.blockchain.blockchains.binance.proto.StdSignature prototype) {
|
||||
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
|
||||
}
|
||||
@Override
|
||||
|
|
@ -763,21 +763,21 @@ private static final long serialVersionUID = 0L;
|
|||
public static final class Builder extends
|
||||
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
|
||||
// @@protoc_insertion_point(builder_implements:transaction.StdSignature)
|
||||
com.tangem.blockchain.binance.proto.StdSignatureOrBuilder {
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignatureOrBuilder {
|
||||
public static final com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptor() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FieldAccessorTable
|
||||
internalGetFieldAccessorTable() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_fieldAccessorTable
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_fieldAccessorTable
|
||||
.ensureFieldAccessorsInitialized(
|
||||
com.tangem.blockchain.binance.proto.StdSignature.class, com.tangem.blockchain.binance.proto.StdSignature.Builder.class);
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature.class, com.tangem.blockchain.blockchains.binance.proto.StdSignature.Builder.class);
|
||||
}
|
||||
|
||||
// Construct using com.tangem.blockchain.binance.proto.StdSignature.newBuilder()
|
||||
// Construct using com.tangem.blockchain.blockchains.binance.proto.StdSignature.newBuilder()
|
||||
private Builder() {
|
||||
maybeForceBuilderInitialization();
|
||||
}
|
||||
|
|
@ -809,17 +809,17 @@ private static final long serialVersionUID = 0L;
|
|||
@Override
|
||||
public com.google.protobuf.Descriptors.Descriptor
|
||||
getDescriptorForType() {
|
||||
return com.tangem.blockchain.binance.proto.Transaction.internal_static_transaction_StdSignature_descriptor;
|
||||
return com.tangem.blockchain.blockchains.binance.proto.Transaction.internal_static_transaction_StdSignature_descriptor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.StdSignature getDefaultInstanceForType() {
|
||||
return com.tangem.blockchain.binance.proto.StdSignature.getDefaultInstance();
|
||||
public com.tangem.blockchain.blockchains.binance.proto.StdSignature getDefaultInstanceForType() {
|
||||
return com.tangem.blockchain.blockchains.binance.proto.StdSignature.getDefaultInstance();
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.StdSignature build() {
|
||||
com.tangem.blockchain.binance.proto.StdSignature result = buildPartial();
|
||||
public com.tangem.blockchain.blockchains.binance.proto.StdSignature build() {
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature result = buildPartial();
|
||||
if (!result.isInitialized()) {
|
||||
throw newUninitializedMessageException(result);
|
||||
}
|
||||
|
|
@ -827,8 +827,8 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.StdSignature buildPartial() {
|
||||
com.tangem.blockchain.binance.proto.StdSignature result = new com.tangem.blockchain.binance.proto.StdSignature(this);
|
||||
public com.tangem.blockchain.blockchains.binance.proto.StdSignature buildPartial() {
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature result = new com.tangem.blockchain.blockchains.binance.proto.StdSignature(this);
|
||||
result.pubKey_ = pubKey_;
|
||||
result.signature_ = signature_;
|
||||
result.accountNumber_ = accountNumber_;
|
||||
|
|
@ -871,16 +871,16 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
@Override
|
||||
public Builder mergeFrom(com.google.protobuf.Message other) {
|
||||
if (other instanceof com.tangem.blockchain.binance.proto.StdSignature) {
|
||||
return mergeFrom((com.tangem.blockchain.binance.proto.StdSignature)other);
|
||||
if (other instanceof com.tangem.blockchain.blockchains.binance.proto.StdSignature) {
|
||||
return mergeFrom((com.tangem.blockchain.blockchains.binance.proto.StdSignature)other);
|
||||
} else {
|
||||
super.mergeFrom(other);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public Builder mergeFrom(com.tangem.blockchain.binance.proto.StdSignature other) {
|
||||
if (other == com.tangem.blockchain.binance.proto.StdSignature.getDefaultInstance()) return this;
|
||||
public Builder mergeFrom(com.tangem.blockchain.blockchains.binance.proto.StdSignature other) {
|
||||
if (other == com.tangem.blockchain.blockchains.binance.proto.StdSignature.getDefaultInstance()) return this;
|
||||
if (other.getPubKey() != com.google.protobuf.ByteString.EMPTY) {
|
||||
setPubKey(other.getPubKey());
|
||||
}
|
||||
|
|
@ -908,11 +908,11 @@ private static final long serialVersionUID = 0L;
|
|||
com.google.protobuf.CodedInputStream input,
|
||||
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
|
||||
throws java.io.IOException {
|
||||
com.tangem.blockchain.binance.proto.StdSignature parsedMessage = null;
|
||||
com.tangem.blockchain.blockchains.binance.proto.StdSignature parsedMessage = null;
|
||||
try {
|
||||
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
|
||||
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
|
||||
parsedMessage = (com.tangem.blockchain.binance.proto.StdSignature) e.getUnfinishedMessage();
|
||||
parsedMessage = (com.tangem.blockchain.blockchains.binance.proto.StdSignature) e.getUnfinishedMessage();
|
||||
throw e.unwrapIOException();
|
||||
} finally {
|
||||
if (parsedMessage != null) {
|
||||
|
|
@ -1096,12 +1096,12 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
// @@protoc_insertion_point(class_scope:transaction.StdSignature)
|
||||
private static final com.tangem.blockchain.binance.proto.StdSignature DEFAULT_INSTANCE;
|
||||
private static final com.tangem.blockchain.blockchains.binance.proto.StdSignature DEFAULT_INSTANCE;
|
||||
static {
|
||||
DEFAULT_INSTANCE = new com.tangem.blockchain.binance.proto.StdSignature();
|
||||
DEFAULT_INSTANCE = new com.tangem.blockchain.blockchains.binance.proto.StdSignature();
|
||||
}
|
||||
|
||||
public static com.tangem.blockchain.binance.proto.StdSignature getDefaultInstance() {
|
||||
public static com.tangem.blockchain.blockchains.binance.proto.StdSignature getDefaultInstance() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
|
|
@ -1126,7 +1126,7 @@ private static final long serialVersionUID = 0L;
|
|||
}
|
||||
|
||||
@Override
|
||||
public com.tangem.blockchain.binance.proto.StdSignature getDefaultInstanceForType() {
|
||||
public com.tangem.blockchain.blockchains.binance.proto.StdSignature getDefaultInstanceForType() {
|
||||
return DEFAULT_INSTANCE;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue