Skip to content

Commit a55bb86

Browse files
author
Alex Oakley
authored
Merge pull request #591 from soramitsu/master_2.0.7_from_staging
Master 2.0.7 from staging
2 parents a858d91 + 7c5240f commit a55bb86

File tree

22 files changed

+229
-24
lines changed

22 files changed

+229
-24
lines changed

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
buildscript {
22
ext {
33
// App version
4-
versionName = '2.0.6'
5-
versionCode = 67
4+
versionName = '2.0.7'
5+
versionCode = 68
66

77
// SDK and tools
88
compileSdkVersion = 31
@@ -43,7 +43,7 @@ buildscript {
4343

4444
bouncyCastleVersion = '1.60'
4545

46-
fearlessLibVersion = '1.0.104'
46+
fearlessLibVersion = '1.0.108'
4747

4848
gifVersion = '1.2.19'
4949

common/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ operations will appear here</string>
115115
<string name="choose_amount_asset">Asset</string>
116116
<string name="choose_amount_to">To</string>
117117
<string name="choose_amount_fee">Transfer fee</string>
118+
<string name="choose_amount_tip">Tip</string>
118119
<string name="common_continue">Continue</string>
119120
<string name="common_amount">Amount</string>
120121
<string name="wallet_send_confirm_transfer">Confirm transfer</string>

feature-account-api/src/main/java/jp/co/soramitsu/feature_account_api/data/extrinsic/ExtrinsicService.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,13 @@ class ExtrinsicService(
3636
chain: Chain,
3737
accountId: ByteArray,
3838
useBatchAll: Boolean = false,
39+
tip: BigInteger? = null,
3940
formExtrinsic: suspend ExtrinsicBuilder.() -> Unit,
4041
): Result<String> = runCatching {
4142
val metaAccount = accountRepository.findMetaAccount(accountId) ?: error("No meta account found accessing ${accountId.toHexString()}")
4243
val keypair = secretStoreV2.getKeypairFor(metaAccount, chain, accountId)
4344

44-
val extrinsicBuilder = extrinsicBuilderFactory.create(chain, keypair, metaAccount.cryptoType(chain))
45+
val extrinsicBuilder = extrinsicBuilderFactory.create(chain, keypair, metaAccount.cryptoType(chain), tip)
4546

4647
extrinsicBuilder.formExtrinsic()
4748

feature-crowdloan-impl/src/main/java/jp/co/soramitsu/feature_crowdloan_impl/domain/contribute/CrowdloanContributeInteractor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ class CrowdloanContributeInteractor(
137137
}
138138

139139
return runCatching {
140-
walletRepository.performTransfer(accountId, chain, transfer, fee, additional, batchAll)
140+
walletRepository.performTransfer(accountId, chain, transfer, fee, null, additional, batchAll)
141141
}
142142
}
143143

feature-wallet-api/src/main/java/jp/co/soramitsu/feature_wallet_api/domain/interfaces/WalletConstants.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ import java.math.BigInteger
66
interface WalletConstants {
77

88
suspend fun existentialDeposit(chainId: ChainId): BigInteger
9+
10+
suspend fun tip(chainId: ChainId): BigInteger?
911
}

feature-wallet-api/src/main/java/jp/co/soramitsu/feature_wallet_api/domain/interfaces/WalletInteractor.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import jp.co.soramitsu.runtime.multiNetwork.chain.model.ChainId
2020
import kotlinx.coroutines.flow.Flow
2121
import java.io.File
2222
import java.math.BigDecimal
23+
import java.math.BigInteger
2324

2425
class NotValidTransferStatus(val status: TransferValidityStatus) : Exception()
2526

@@ -63,7 +64,8 @@ interface WalletInteractor {
6364
suspend fun performTransfer(
6465
transfer: Transfer,
6566
fee: BigDecimal,
66-
maxAllowedLevel: TransferValidityLevel = TransferValidityLevel.Ok
67+
maxAllowedLevel: TransferValidityLevel = TransferValidityLevel.Ok,
68+
tipInPlanks: BigInteger?
6769
): Result<Unit>
6870

6971
suspend fun getSenderAddress(chainId: ChainId): String?

feature-wallet-api/src/main/java/jp/co/soramitsu/feature_wallet_api/domain/interfaces/WalletRepository.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ interface WalletRepository {
7171
chain: Chain,
7272
transfer: Transfer,
7373
fee: BigDecimal,
74+
tip: BigInteger?,
7475
additional: (suspend ExtrinsicBuilder.() -> Unit)? = null,
7576
batchAll: Boolean = false
7677
)

feature-wallet-api/src/main/java/jp/co/soramitsu/feature_wallet_api/domain/model/Transfer.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package jp.co.soramitsu.feature_wallet_api.domain.model
22

3+
import jp.co.soramitsu.common.utils.orZero
34
import jp.co.soramitsu.runtime.multiNetwork.chain.model.Chain
45
import java.math.BigDecimal
56
import java.math.BigInteger
@@ -17,9 +18,10 @@ class Transfer(
1718
senderTotal: BigDecimal,
1819
fee: BigDecimal,
1920
recipientBalance: BigDecimal,
20-
existentialDeposit: BigDecimal
21+
existentialDeposit: BigDecimal,
22+
tip: BigDecimal? = null,
2123
): TransferValidityStatus {
22-
val transactionTotal = fee + amount
24+
val transactionTotal = fee + amount + tip.orZero()
2325

2426
return when {
2527
transactionTotal > senderTransferable -> TransferValidityLevel.Error.Status.NotEnoughFunds

feature-wallet-impl/src/main/java/jp/co/soramitsu/feature_wallet_impl/data/network/blockchain/SubstrateRemoteSource.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ interface SubstrateRemoteSource {
3939
accountId: ByteArray,
4040
chain: Chain,
4141
transfer: Transfer,
42+
tip: BigInteger?,
4243
additional: (suspend ExtrinsicBuilder.() -> Unit)?,
4344
batchAll: Boolean
4445
): String

feature-wallet-impl/src/main/java/jp/co/soramitsu/feature_wallet_impl/data/network/blockchain/WssSubstrateSource.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,15 @@ class WssSubstrateSource(
8888
accountId: AccountId,
8989
chain: Chain,
9090
transfer: Transfer,
91+
tip: BigInteger?,
9192
additional: (suspend ExtrinsicBuilder.() -> Unit)?,
9293
batchAll: Boolean
9394
): String {
9495
return extrinsicService.submitExtrinsic(
9596
chain = chain,
9697
accountId = accountId,
9798
useBatchAll = batchAll,
99+
tip = tip,
98100
formExtrinsic = {
99101
transfer(chain, transfer, this.runtime.typeRegistry)
100102
additional?.invoke(this)

0 commit comments

Comments
 (0)