Skip to content

Commit 1e8b0a1

Browse files
committed
Pass source tag during send
1 parent 2b8338a commit 1e8b0a1

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

merkleiokit/src/main/java/io/horizontalsystems/merkleiokit/MerkleRpcBlockchain.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import io.horizontalsystems.ethereumkit.api.core.IRpcSyncer
44
import io.horizontalsystems.ethereumkit.api.jsonrpc.GetTransactionByHashJsonRpc
55
import io.horizontalsystems.ethereumkit.api.jsonrpc.GetTransactionCountJsonRpc
66
import io.horizontalsystems.ethereumkit.api.jsonrpc.JsonRpc
7-
import io.horizontalsystems.ethereumkit.api.jsonrpc.SendRawTransactionJsonRpc
87
import io.horizontalsystems.ethereumkit.api.jsonrpc.models.RpcTransaction
98
import io.horizontalsystems.ethereumkit.core.INonceProvider
109
import io.horizontalsystems.ethereumkit.core.TransactionBuilder
@@ -32,11 +31,11 @@ class MerkleRpcBlockchain(
3231
return syncer.single(GetTransactionCountJsonRpc(address, defaultBlockParameter))
3332
}
3433

35-
fun send(rawTransaction: RawTransaction, signature: Signature): Single<Transaction> {
34+
fun send(rawTransaction: RawTransaction, signature: Signature, sourceTag: String): Single<Transaction> {
3635
val tx = transactionBuilder.transaction(rawTransaction, signature)
3736
val encoded = transactionBuilder.encode(rawTransaction, signature)
3837

39-
return syncer.single(SendRawTransactionJsonRpc(encoded))
38+
return syncer.single(MerkleSendRawTransactionJsonRpc(encoded, sourceTag))
4039
.doOnSuccess { txHash ->
4140
manager.save(MerkleTransactionHash(txHash))
4241
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package io.horizontalsystems.merkleiokit
2+
3+
import io.horizontalsystems.ethereumkit.api.jsonrpc.DataJsonRpc
4+
5+
class MerkleSendRawTransactionJsonRpc(
6+
@Transient val signedTransaction: ByteArray,
7+
@Transient val sourceTag: String
8+
) : DataJsonRpc(
9+
method = "eth_sendRawTransaction",
10+
params = listOf(signedTransaction, sourceTag)
11+
)

merkleiokit/src/main/java/io/horizontalsystems/merkleiokit/MerkleTransactionAdapter.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ class MerkleTransactionAdapter(
1919
val blockchain: MerkleRpcBlockchain,
2020
val syncer: MerkleTransactionSyncer,
2121
private val transactionManager: TransactionManager,
22+
private val sourceTag: String,
2223
) {
2324
fun send(rawTransaction: RawTransaction, signature: Signature): Single<FullTransaction> {
24-
return blockchain.send(rawTransaction, signature)
25+
return blockchain.send(rawTransaction, signature, sourceTag)
2526
.map { transactionManager.handle(listOf(it)).first() }
2627
}
2728

@@ -51,6 +52,7 @@ class MerkleTransactionAdapter(
5152
context: Context,
5253
walletId: String,
5354
transactionManager: TransactionManager,
55+
sourceTag: String,
5456
): MerkleTransactionAdapter? {
5557
val baseUrl = "https://mempool.merkle.io/rpc/"
5658
val blockchainPath = blockchainPathMap[chain] ?: return null
@@ -82,7 +84,7 @@ class MerkleTransactionAdapter(
8284
transactionManager = transactionManager
8385
)
8486

85-
return MerkleTransactionAdapter(blockchain, syncer, transactionManager)
87+
return MerkleTransactionAdapter(blockchain, syncer, transactionManager, sourceTag)
8688
}
8789
}
8890
}

0 commit comments

Comments
 (0)