Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
package com.gemwallet.android.di

import com.gemwallet.android.application.fiat.coordinators.SyncFiatAssets
import com.gemwallet.android.blockchain.clients.bitcoin.BitcoinSignClient
import com.gemwallet.android.blockchain.services.BroadcastService
import com.gemwallet.android.blockchain.services.NodeStatusService
import com.gemwallet.android.blockchain.services.SignClientProxy
import com.gemwallet.android.blockchain.services.SignService
import com.gemwallet.android.blockchain.services.SignerPreloaderProxy
import com.gemwallet.android.cases.device.SyncDeviceInfo
import com.gemwallet.android.ext.available
import com.gemwallet.android.ext.toChainType
import com.gemwallet.android.services.SyncService
import com.wallet.core.primitives.Chain
import com.wallet.core.primitives.ChainType
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
Expand Down Expand Up @@ -44,28 +39,7 @@ object DataModule {

@Provides
@Singleton
fun provideSignService(): SignClientProxy = SignClientProxy(
clients = Chain.available().mapNotNull {
when (it.toChainType()) {
ChainType.Bitcoin -> BitcoinSignClient(it)

ChainType.Ethereum,
ChainType.Solana,
ChainType.Aptos,
ChainType.Sui,
ChainType.HyperCore,
ChainType.Near,
ChainType.Algorand,
ChainType.Stellar,
ChainType.Cosmos,
ChainType.Ton,
ChainType.Polkadot,
ChainType.Xrp,
ChainType.Cardano,
ChainType.Tron -> return@mapNotNull null
}
} + listOf(SignService()),
)
fun provideSignService(): SignClientProxy = SignClientProxy(SignService())

@Singleton
@Provides
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.gemwallet.android.application.wallet_import.coordinators.SyncWalletIm
import com.gemwallet.android.blockchain.operators.CreateAccountOperator
import com.gemwallet.android.blockchain.operators.CreateWalletOperator
import com.gemwallet.android.blockchain.operators.DeleteKeyStoreOperator
import com.gemwallet.android.blockchain.operators.GemstoneValidateAddressOperator
import com.gemwallet.android.blockchain.operators.LoadPrivateDataOperator
import com.gemwallet.android.blockchain.operators.LoadPrivateKeyOperator
import com.gemwallet.android.blockchain.operators.StorePhraseOperator
Expand All @@ -18,7 +19,6 @@ import com.gemwallet.android.blockchain.operators.walletcore.WCDeleteKeyStoreOpe
import com.gemwallet.android.blockchain.operators.walletcore.WCLoadPrivateDataOperator
import com.gemwallet.android.blockchain.operators.walletcore.WCLoadPrivateKeyOperator
import com.gemwallet.android.blockchain.operators.walletcore.WCStorePhraseOperator
import com.gemwallet.android.blockchain.operators.walletcore.WCValidateAddressOperator
import com.gemwallet.android.blockchain.operators.walletcore.WCValidatePhraseOperator
import com.gemwallet.android.cases.device.SyncSubscription
import com.gemwallet.android.cases.wallet.ImportWalletService
Expand All @@ -41,7 +41,7 @@ object InteractsModule {

@Singleton
@Provides
fun provideValidateAddressInteract(): ValidateAddressOperator = WCValidateAddressOperator()
fun provideValidateAddressInteract(): ValidateAddressOperator = GemstoneValidateAddressOperator()

@Singleton
@Provides
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.gemwallet.android.blockchain.clients.algorand

import uniffi.gemstone.GemTransactionLoadMetadata

import com.gemwallet.android.blockchain.includeLibs
import com.gemwallet.android.blockchain.services.SignService
import com.gemwallet.android.ext.asset
Expand Down Expand Up @@ -39,11 +41,7 @@ class TestAlgorandSigner {
BigInteger.valueOf(10_000_000),
DestinationAddress("GOZOAE6SH6XGGDRBQLZEDRITKMF5OLVJNACVRQBUEGFLBBR5I64A7QN63E"),
),
chainData = AlgorandChainData(
sequence = 46932581UL,
block = "wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=",
chainId = "mainnet-v1.0",
),
metadata = GemTransactionLoadMetadata.Algorand(sequence = 46932581UL, blockHash = "wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=", chainId = "mainnet-v1.0"),
finalAmount = BigInteger.valueOf(10_000_000),
fee = Fee.Plain(
priority = FeePriority.Normal,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.gemwallet.android.blockchain.clients.aptos

import uniffi.gemstone.GemTransactionLoadMetadata

import androidx.test.ext.junit.runners.AndroidJUnit4
import com.gemwallet.android.blockchain.includeLibs
import com.gemwallet.android.blockchain.services.SignService
Expand Down Expand Up @@ -46,9 +48,7 @@ class TestAptosSigner {
BigInteger.valueOf(10_000_000_000),
DestinationAddress("0x82111f2975a0f6080d178236369b7479f6aed1203ef4a23f8205e4b91716b783"),
),
chainData = AptosChainData(
8UL,
),
metadata = GemTransactionLoadMetadata.Aptos(sequence = 8UL, data = null),
finalAmount = BigInteger.valueOf(10_000_000_000),
Fee.Regular(
feeAssetId = AssetId(Chain.Aptos),
Expand Down Expand Up @@ -94,9 +94,7 @@ class TestAptosSigner {
BigInteger.valueOf(10_000_000_000),
DestinationAddress("0x82111f2975a0f6080d178236369b7479f6aed1203ef4a23f8205e4b91716b783"),
),
chainData = AptosChainData(
8UL,
),
metadata = GemTransactionLoadMetadata.Aptos(sequence = 8UL, data = null),
fee = Fee.Regular(
feeAssetId = AssetId(Chain.Aptos),
priority = FeePriority.Normal,
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.gemwallet.android.blockchain.clients.cardano

import uniffi.gemstone.GemTransactionLoadMetadata
import com.gemwallet.android.domains.asset.toGem

import com.gemwallet.android.blockchain.includeLibs
import com.gemwallet.android.blockchain.services.SignService
import com.gemwallet.android.ext.asset
Expand Down Expand Up @@ -39,15 +42,15 @@ class TestCardanoSigner {
BigInteger.valueOf(10_000),
DestinationAddress("addr1q9d2dxen8ywvs9yzxxn2w4mvffn797fquauvugt2ug7mfsuqj3lzdq9h0rsketzszrnfm930658swmpe7kpq53c2tmwql4rvtq"),
),
chainData = CardanoChainData(
metadata = GemTransactionLoadMetadata.Cardano(
utxos = listOf(
UTXO(
address = "addr1q9d2dxen8ywvs9yzxxn2w4mvffn797fquauvugt2ug7mfsuqj3lzdq9h0rsketzszrnfm930658swmpe7kpq53c2tmwql4rvtq",
transaction_id = "412c5a964cf4515210bf4b82f45df6521c38e1e5381f27638fc509bef6679378",
value = "7945975",
vout = 1,
)
),
).toGem(),
blockNumber = 189_992_800uL,
),
finalAmount = BigInteger.valueOf(10_000),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.gemwallet.android.blockchain.clients.near

import uniffi.gemstone.GemTransactionLoadMetadata

import com.gemwallet.android.blockchain.includeLibs
import com.gemwallet.android.blockchain.services.SignService
import com.gemwallet.android.ext.asset
Expand Down Expand Up @@ -42,10 +44,7 @@ class TestNearSigner {
BigInteger.valueOf(10_000),
DestinationAddress(from),
),
chainData = NearChainData(
block = "2ADR7pgpkd2uFFkQcAyCxL5YB4d9SewALTLEuFbUUJLe",
sequence = 134180900000002UL,
),
metadata = GemTransactionLoadMetadata.Near(sequence = 134180900000002UL, blockHash = "2ADR7pgpkd2uFFkQcAyCxL5YB4d9SewALTLEuFbUUJLe"),
finalAmount = BigInteger.valueOf(10_000),
fee = Fee.Plain(
priority = FeePriority.Normal,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.gemwallet.android.blockchain.clients.solana

import uniffi.gemstone.GemTransactionLoadMetadata

import com.gemwallet.android.blockchain.includeLibs
import com.gemwallet.android.blockchain.services.SignService
import com.gemwallet.android.ext.asset
Expand All @@ -15,7 +17,6 @@ import com.wallet.core.primitives.AssetId
import com.wallet.core.primitives.AssetType
import com.wallet.core.primitives.Chain
import com.wallet.core.primitives.FeePriority
import com.wallet.core.primitives.SolanaTokenProgramId
import junit.framework.TestCase.assertEquals
import kotlinx.coroutines.runBlocking
import org.junit.Test
Expand Down Expand Up @@ -57,16 +58,17 @@ class TestSolanaSigner {
amount = BigInteger.valueOf(10_000_000)
)
.transfer(destination = DestinationAddress("4Yu2e1Wz5T1Ci2hAPswDqvMgSnJ1Ftw7ZZh8x7xKLx7S")) as ConfirmParams.TransferParams.Native
val chainData = SolanaChainData(
val metadata = GemTransactionLoadMetadata.Solana(
blockHash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
recipientTokenAddress = null,
senderTokenAddress = "",
tokenProgram = SolanaTokenProgramId.Token
tokenProgram = uniffi.gemstone.SolanaTokenProgramId.TOKEN,
nft = null
)
val result = runBlocking {
signer.signNativeTransfer(
params,
chainData,
metadata,
BigInteger.ZERO,
Fee.Solana(
amount = BigInteger("105005000"),
Expand Down Expand Up @@ -109,16 +111,17 @@ class TestSolanaSigner {
amount = BigInteger.valueOf(10_000_000)
)
.transfer(destination = DestinationAddress("AGkXQZ9qm99xukisDUHvspWHESrcjs8Y4AmQQgef3BRh")) as ConfirmParams.TransferParams.Token
val chainData = SolanaChainData(
val metadata = GemTransactionLoadMetadata.Solana(
blockHash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
recipientTokenAddress = "DVWPV7brSbPDkA7a3qdn6UJsVc3J3DyhQhjNaZeZqwzo",
senderTokenAddress = "DVWPV7brSbPDkA7a3qdn6UJsVc3J3DyhQhjNaZeZqwzo",
tokenProgram = SolanaTokenProgramId.Token
tokenProgram = uniffi.gemstone.SolanaTokenProgramId.TOKEN,
nft = null
)
val result = runBlocking {
signer.signTokenTransfer(
params,
chainData,
metadata,
BigInteger.ZERO,
Fee.Solana(
amount = BigInteger("105005000"),
Expand Down Expand Up @@ -162,16 +165,17 @@ class TestSolanaSigner {
amount = BigInteger.valueOf(10_000_000)
)
.transfer(destination = DestinationAddress("AGkXQZ9qm99xukisDUHvspWHESrcjs8Y4AmQQgef3BRh")) as ConfirmParams.TransferParams.Token
val chainData = SolanaChainData(
val metadata = GemTransactionLoadMetadata.Solana(
blockHash = "kiEPF6aKvEsj5nbi4FBvgRRm9ha36Y3cgDU9qnUKt32",
recipientTokenAddress = "87vTugUvkkepa84mBRfENnvkPQRj5EZSkiG8XyFAhbQQ",
senderTokenAddress = "87vTugUvkkepa84mBRfENnvkPQRj5EZSkiG8XyFAhbQQ",
tokenProgram = SolanaTokenProgramId.Token2022
tokenProgram = uniffi.gemstone.SolanaTokenProgramId.TOKEN2022,
nft = null
)
val result = runBlocking {
signer.signTokenTransfer(
params,
chainData,
metadata,
BigInteger.ZERO,
Fee.Solana(
amount = BigInteger("105005000"),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.gemwallet.android.blockchain.clients.Stellar

import com.gemwallet.android.blockchain.clients.stellar.StellarChainData
import uniffi.gemstone.GemTransactionLoadMetadata

import com.gemwallet.android.blockchain.includeLibs
import com.gemwallet.android.blockchain.services.SignService
import com.gemwallet.android.ext.asset
Expand Down Expand Up @@ -43,7 +44,7 @@ class TestStellarSigner {
BigInteger.valueOf(10_000),
DestinationAddress(from),
),
chainData = StellarChainData(
metadata = GemTransactionLoadMetadata.Stellar(
sequence = 1UL,
isDestinationAddressExist = true,
),
Expand Down
Loading
Loading