Skip to content
This repository was archived by the owner on Mar 26, 2026. It is now read-only.

Commit e1dbf0c

Browse files
committed
Update code
1 parent db7ebdf commit e1dbf0c

47 files changed

Lines changed: 971 additions & 604 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/src/main/kotlin/com/gemwallet/android/di/DataModule.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@ package com.gemwallet.android.di
33
import com.gemwallet.android.application.perpetual.coordinators.SyncPerpetuals
44
import com.gemwallet.android.application.pricealerts.coordinators.SyncPriceAlerts
55
import com.gemwallet.android.blockchain.clients.algorand.AlgorandSignClient
6-
import com.gemwallet.android.blockchain.clients.aptos.AptosSignClient
76
import com.gemwallet.android.blockchain.clients.bitcoin.BitcoinSignClient
87
import com.gemwallet.android.blockchain.clients.cardano.CardanoSignClient
98
import com.gemwallet.android.blockchain.clients.cosmos.CosmosSignClient
109
import com.gemwallet.android.blockchain.clients.ethereum.EvmSignClient
11-
import com.gemwallet.android.blockchain.clients.hyper.HyperCoreSignClient
1210
import com.gemwallet.android.blockchain.clients.near.NearSignClient
1311
import com.gemwallet.android.blockchain.clients.polkadot.PolkadotSignClient
1412
import com.gemwallet.android.blockchain.clients.solana.SolanaSignClient
@@ -20,6 +18,7 @@ import com.gemwallet.android.blockchain.clients.xrp.XrpSignClient
2018
import com.gemwallet.android.blockchain.services.BroadcastService
2119
import com.gemwallet.android.blockchain.services.NodeStatusService
2220
import com.gemwallet.android.blockchain.services.SignClientProxy
21+
import com.gemwallet.android.blockchain.services.SignService
2322
import com.gemwallet.android.blockchain.services.SignerPreloaderProxy
2423
import com.gemwallet.android.cases.device.SyncSubscription
2524
import com.gemwallet.android.cases.transactions.SyncTransactions
@@ -66,25 +65,26 @@ object DataModule {
6665
fun provideSignService(
6766
assetsRepository: AssetsRepository,
6867
): SignClientProxy = SignClientProxy(
69-
clients = Chain.available().map {
68+
clients = Chain.available().mapNotNull {
7069
when (it.toChainType()) {
7170
ChainType.Ethereum -> EvmSignClient(it)
7271
ChainType.Bitcoin -> BitcoinSignClient(it)
7372
ChainType.Solana -> SolanaSignClient(it, assetsRepository)
7473
ChainType.Cosmos -> CosmosSignClient(it)
7574
ChainType.Ton -> TonSignClient(it)
7675
ChainType.Tron -> TronSignClient(it)
77-
ChainType.Aptos -> AptosSignClient(it)
78-
ChainType.Sui -> SuiSignClient(it)
76+
7977
ChainType.Xrp -> XrpSignClient(it)
8078
ChainType.Near -> NearSignClient(it)
8179
ChainType.Algorand -> AlgorandSignClient(it)
8280
ChainType.Stellar -> StellarSignClient(it)
8381
ChainType.Polkadot -> PolkadotSignClient(it)
8482
ChainType.Cardano -> CardanoSignClient(it)
85-
ChainType.HyperCore -> HyperCoreSignClient(it)
83+
ChainType.Aptos,
84+
ChainType.Sui,
85+
ChainType.HyperCore -> return@mapNotNull null
8686
}
87-
},
87+
} + listOf(SignService()),
8888
)
8989

9090
@Singleton

blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/evm/TestEthSign.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class TestEthSign {
5151
chainData = EvmChainData(
5252
chainId = 1,
5353
nonce = BigInteger.ONE,
54-
stakeData = null,
54+
contractCall = null,
5555
),
5656
finalAmount = BigInteger.TEN.pow(Chain.Ethereum.asset().decimals),
5757
fee = GasFee(
@@ -95,7 +95,7 @@ class TestEthSign {
9595
chainData = EvmChainData(
9696
chainId = 1,
9797
nonce = BigInteger.ONE,
98-
stakeData = null,
98+
contractCall = null,
9999
),
100100
finalAmount = BigInteger.TEN.pow(Chain.Ethereum.asset().decimals),
101101
fee = GasFee(
@@ -161,7 +161,7 @@ class TestEthSign {
161161
chainData = EvmChainData(
162162
chainId = 1,
163163
nonce = BigInteger.ONE,
164-
stakeData = null,
164+
contractCall = null,
165165
),
166166
finalAmount = BigInteger.TEN.pow(Chain.Ethereum.asset().decimals),
167167
fee = GasFee(
@@ -208,7 +208,7 @@ class TestEthSign {
208208
chainData = EvmChainData(
209209
chainId = 1,
210210
nonce = BigInteger.ONE,
211-
stakeData = null,
211+
contractCall = null,
212212
),
213213
finalAmount = BigInteger.ZERO,
214214
fee = GasFee(

blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/solana/TestSolanaSigner.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class TestSolanaSigner {
5252
)
5353
.transfer(destination = DestinationAddress("4Yu2e1Wz5T1Ci2hAPswDqvMgSnJ1Ftw7ZZh8x7xKLx7S")) as ConfirmParams.TransferParams.Native
5454
val chainData = SolanaChainData(
55-
blockhash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
55+
blockHash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
5656
recipientTokenAddress = null,
5757
senderTokenAddress = "",
5858
tokenProgram = SolanaTokenProgramId.Token
@@ -114,7 +114,7 @@ class TestSolanaSigner {
114114
)
115115
.transfer(destination = DestinationAddress("AGkXQZ9qm99xukisDUHvspWHESrcjs8Y4AmQQgef3BRh")) as ConfirmParams.TransferParams.Token
116116
val chainData = SolanaChainData(
117-
blockhash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
117+
blockHash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
118118
recipientTokenAddress = "DVWPV7brSbPDkA7a3qdn6UJsVc3J3DyhQhjNaZeZqwzo",
119119
senderTokenAddress = "DVWPV7brSbPDkA7a3qdn6UJsVc3J3DyhQhjNaZeZqwzo",
120120
tokenProgram = SolanaTokenProgramId.Token
@@ -177,7 +177,7 @@ class TestSolanaSigner {
177177
)
178178
.transfer(destination = DestinationAddress("AGkXQZ9qm99xukisDUHvspWHESrcjs8Y4AmQQgef3BRh")) as ConfirmParams.TransferParams.Token
179179
val chainData = SolanaChainData(
180-
blockhash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
180+
blockHash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
181181
recipientTokenAddress = "87vTugUvkkepa84mBRfENnvkPQRj5EZSkiG8XyFAhbQQ",
182182
senderTokenAddress = "87vTugUvkkepa84mBRfENnvkPQRj5EZSkiG8XyFAhbQQ",
183183
tokenProgram = SolanaTokenProgramId.Token2022

blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/ton/TestTonSigner.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ class TestTonSigner {
8282
),
8383
chainData = TonChainData(
8484
sequence = 1UL,
85-
jettonAddress = "EQAlgB03OjJKdXrlwZiGJD5snSzPKF2VL5bErJn_cqJANGH9",
85+
senderTokenAddress = "EQAlgB03OjJKdXrlwZiGJD5snSzPKF2VL5bErJn_cqJANGH9",
8686
expireAt = 1000000000,
8787
),
8888
finalAmount = BigInteger.valueOf(10_000),

blockchain/src/androidTest/kotlin/com/gemwallet/android/blockchain/clients/tron/TestTronSigner.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class TestTronSigner {
4646
chainData = TronChainData(
4747
blockNumber = 69501435UL,
4848
blockVersion = 31UL,
49-
txTrieRoot = "fe35cfe51299075978398390271d3f09bdc34e6f43fe8b76eb469314b32ceaff",
49+
transactionTreeRoot = "fe35cfe51299075978398390271d3f09bdc34e6f43fe8b76eb469314b32ceaff",
5050
witnessAddress = "41456798cb4ab28109d8cc643cd7da7bd6069ceae9",
5151
parentHash = "00000000042481fa52ef745a31aa66fc2acf8d156b6116bc5b3ede2aebbb894c",
5252
blockTimestamp = 1739156280000UL,
@@ -99,7 +99,7 @@ class TestTronSigner {
9999
chainData = TronChainData(
100100
blockNumber = 69501435UL,
101101
blockVersion = 31UL,
102-
txTrieRoot = "fe35cfe51299075978398390271d3f09bdc34e6f43fe8b76eb469314b32ceaff",
102+
transactionTreeRoot = "fe35cfe51299075978398390271d3f09bdc34e6f43fe8b76eb469314b32ceaff",
103103
witnessAddress = "41456798cb4ab28109d8cc643cd7da7bd6069ceae9",
104104
parentHash = "00000000042481fa52ef745a31aa66fc2acf8d156b6116bc5b3ede2aebbb894c",
105105
blockTimestamp = 1739156280000UL,
@@ -163,7 +163,7 @@ class TestTronSigner {
163163
chainData = TronChainData(
164164
blockNumber = 69501435UL,
165165
blockVersion = 31UL,
166-
txTrieRoot = "fe35cfe51299075978398390271d3f09bdc34e6f43fe8b76eb469314b32ceaff",
166+
transactionTreeRoot = "fe35cfe51299075978398390271d3f09bdc34e6f43fe8b76eb469314b32ceaff",
167167
witnessAddress = "41456798cb4ab28109d8cc643cd7da7bd6069ceae9",
168168
parentHash = "00000000042481fa52ef745a31aa66fc2acf8d156b6116bc5b3ede2aebbb894c",
169169
blockTimestamp = 1739156280000UL,

blockchain/src/main/kotlin/com/gemwallet/android/blockchain/clients/algorand/AlgorandChainData.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,15 @@ data class AlgorandChainData(
77
val sequence: ULong,
88
val block: String,
99
val chainId: String,
10-
) : ChainSignData
10+
) : ChainSignData {
11+
override fun toDto(): GemTransactionLoadMetadata {
12+
return GemTransactionLoadMetadata.Algorand(
13+
sequence = sequence,
14+
blockHash = block,
15+
chainId = chainId,
16+
)
17+
}
18+
}
1119

1220
fun GemTransactionLoadMetadata.Algorand.toChainData(): AlgorandChainData {
1321
return AlgorandChainData(

blockchain/src/main/kotlin/com/gemwallet/android/blockchain/clients/algorand/AlgorandSignClient.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class AlgorandSignClient(
3434
}
3535
this.firstRound = chainData.sequence.toLong()
3636
this.lastRound = chainData.sequence.toLong() + 1000
37-
this.fee = fee.amount.toLong()
37+
this.fee = (fee as Fee.Plain).amount.toLong()
3838
this.privateKey = ByteString.copyFrom(privateKey)
3939
this.transfer = Algorand.Transfer.newBuilder().apply {
4040
this.toAddress = params.destination().address

blockchain/src/main/kotlin/com/gemwallet/android/blockchain/clients/aptos/AptosChainData.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ import uniffi.gemstone.GemTransactionLoadMetadata
66
data class AptosChainData(
77
val sequence: ULong,
88
val data: String?,
9-
) : ChainSignData
9+
) : ChainSignData {
10+
override fun toDto(): GemTransactionLoadMetadata = GemTransactionLoadMetadata.Aptos(
11+
sequence = sequence,
12+
data = data,
13+
)
14+
}
1015

1116
fun GemTransactionLoadMetadata.Aptos.toChainData(): AptosChainData {
1217
return AptosChainData(
1318
sequence = sequence,
1419
data = data,
1520
)
16-
}
17-
18-
fun AptosChainData.toGem() = GemTransactionLoadMetadata.Aptos(
19-
sequence = sequence,
20-
data = data,
21-
)
21+
}

blockchain/src/main/kotlin/com/gemwallet/android/blockchain/clients/aptos/AptosSignClient.kt

Lines changed: 0 additions & 153 deletions
This file was deleted.

blockchain/src/main/kotlin/com/gemwallet/android/blockchain/clients/bitcoin/BitcoinChainData.kt

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
11
package com.gemwallet.android.blockchain.clients.bitcoin
22

3-
import com.gemwallet.android.blockchain.services.mapper.toUtxo
3+
import com.gemwallet.android.domains.asset.toGem
4+
import com.gemwallet.android.domains.asset.toUtxo
45
import com.gemwallet.android.model.ChainSignData
56
import com.wallet.core.primitives.UTXO
67
import uniffi.gemstone.GemTransactionLoadMetadata
78

89
data class BitcoinChainData(
910
val utxo: List<UTXO>,
10-
) : ChainSignData
11+
) : ChainSignData {
12+
override fun toDto(): GemTransactionLoadMetadata {
13+
return GemTransactionLoadMetadata.Bitcoin(
14+
utxo.toGem()
15+
)
16+
}
17+
}
1118

1219
data class ZCashChainData(
1320
val utxo: List<UTXO>,
1421
val branchId: String,
15-
) : ChainSignData
22+
) : ChainSignData {
23+
override fun toDto(): GemTransactionLoadMetadata {
24+
return GemTransactionLoadMetadata.Bitcoin(
25+
utxo.toGem()
26+
)
27+
}
28+
}
1629

1730
fun GemTransactionLoadMetadata.Bitcoin.toChainData(): BitcoinChainData {
1831
return BitcoinChainData(

0 commit comments

Comments
 (0)