Updated on 2026-08-14
This commit is contained in:
parent
e3b857b79a
commit
02e44033c9
18 changed files with 266 additions and 316 deletions
|
|
@ -25,17 +25,15 @@ class AccountNodeRecognizer(private val blockchain: Blockchain) {
|
|||
val nodesCount = derivationPath.nodes.size
|
||||
|
||||
val index = when {
|
||||
blockchain == Blockchain.Tezos -> {
|
||||
UTXO_BLOCKCHAIN_NODE_INDEX.takeIf { nodesCount == 4 }
|
||||
}
|
||||
blockchain == Blockchain.Quai || blockchain.isUTXO -> {
|
||||
UTXO_BLOCKCHAIN_NODE_INDEX.takeIf { nodesCount == 5 }
|
||||
}
|
||||
!blockchain.isUTXO -> {
|
||||
(nodesCount - 1).takeIf { nodesCount == 3 || nodesCount == 5 }
|
||||
}
|
||||
else -> null
|
||||
// region Ethereum-like blockchains
|
||||
blockchain == Blockchain.Tezos -> ACCOUNT_NODE_INDEX
|
||||
blockchain == Blockchain.Quai -> ACCOUNT_NODE_INDEX
|
||||
blockchain.isEvm() -> ADDRESS_INDEX_NODE_INDEX
|
||||
// endregion
|
||||
blockchain.isUTXO -> ACCOUNT_NODE_INDEX
|
||||
else -> ACCOUNT_NODE_INDEX
|
||||
}
|
||||
.takeIf { nodesCount >= it }
|
||||
|
||||
if (index == null) {
|
||||
Timber.e("Cannot determine account node index for ${blockchain.fullName}: ${derivationPath.rawPath}")
|
||||
|
|
@ -251,6 +249,7 @@ class AccountNodeRecognizer(private val blockchain: Blockchain) {
|
|||
}
|
||||
|
||||
private companion object {
|
||||
const val UTXO_BLOCKCHAIN_NODE_INDEX = 2
|
||||
const val ACCOUNT_NODE_INDEX = 2
|
||||
const val ADDRESS_INDEX_NODE_INDEX = 4
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue