mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-22 18:25:50 +00:00
e716e6e277
The previous commit reused MultisigPendingOperationsService, but that service only syncs accounts formally registered as a MultisigMetaAccount in this wallet - it silently returns an empty NoOpSyncer for every other account type. The bridge's 5 signatories (Serok etc.) use their own regular wallets to approve calls against the bridge's separate, hardcoded multisig (BridgeMultisigConstants) - they never "are" that multisig account, so the feature was structurally guaranteed to show nothing, not just empty by coincidence. Fix queries the bridge's own multisig accounts directly, mirroring the exact pattern this screen's existing renewal-signing code already uses (BridgeMultisigRuntimeApi's runtime-metadata accessors, a local mirror of feature-account-impl's off-chain call-data indexer client - same module-boundary reasoning already documented in that file) rather than the generic, differently-scoped service: - BridgeMultisigInteractor.getPendingApprovals(): enumerates Multisig.Multisigs entries for both bridge multisig accounts via QueryableStorageEntry2.keys()/entries() (a general runtime-storage capability, not multisig-feature-specific), fetches real call content from the same off-chain indexer the generic feature uses (also general-purpose, keyed by address+hashes - never required the account to be a MultisigMetaAccount either), and filters to calls this signatory hasn't approved yet. - BridgeMultisigInteractor.submitApproval(): reuses composeBridgeMultisigAsMulti generalized to an arbitrary call+ timepoint (previously only used for the renewal call) - refuses to proceed if the call content is unknown, never blind-signs. - BridgeViewModel formats the real parsed transfer (amount+destination) via AssetSourceRegistry.tryParseTransfer, already used elsewhere for the exact same "decode a transfer call" job - no fabricated preview data. Reverts the feature-multisig:operations cross-feature dependency and FeatureApi wiring added in the previous commit - no longer needed since everything now lives in this screen's own existing self-contained domain layer, matching how the rest of BridgeMultisigInteractor already works (and already explains, in its own doc comments, why a synthetic MultisigMetaAccount was deliberately avoided for exactly this reason).
105 lines
2.7 KiB
Groovy
105 lines
2.7 KiB
Groovy
apply plugin: 'kotlin-parcelize'
|
|
apply from: '../tests.gradle'
|
|
apply from: '../scripts/secrets.gradle'
|
|
|
|
android {
|
|
|
|
defaultConfig {
|
|
|
|
|
|
|
|
buildConfigField "String", "PEZKUWI_CARD_WIDGET_ID", "\"4ce98182-ed76-4933-ba1b-b85e4a51d75a\""
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
namespace 'io.novafoundation.nova.feature_assets'
|
|
|
|
packagingOptions {
|
|
resources.excludes.add("META-INF/NOTICE.md")
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding true
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':core-db')
|
|
implementation project(':common')
|
|
implementation project(':feature-wallet-api')
|
|
implementation project(':feature-account-api')
|
|
implementation project(':feature-nft-api')
|
|
implementation project(':feature-currency-api')
|
|
implementation project(':feature-crowdloan-api')
|
|
implementation project(':feature-wallet-connect-api')
|
|
implementation project(':feature-staking-api')
|
|
implementation project(':feature-swap-api')
|
|
implementation project(':web3names')
|
|
implementation project(':runtime')
|
|
implementation project(':feature-buy-api')
|
|
implementation project(':feature-xcm:api')
|
|
implementation project(':feature-banners-api')
|
|
implementation project(':feature-deep-linking')
|
|
implementation project(':feature-ahm-api')
|
|
implementation project(':feature-gift-api')
|
|
|
|
implementation kotlinDep
|
|
|
|
implementation androidDep
|
|
implementation swipeRefershLayout
|
|
implementation materialDep
|
|
implementation cardViewDep
|
|
implementation constraintDep
|
|
|
|
implementation permissionsDep
|
|
|
|
implementation coroutinesDep
|
|
implementation coroutinesAndroidDep
|
|
implementation viewModelKtxDep
|
|
implementation liveDataKtxDep
|
|
implementation lifeCycleKtxDep
|
|
|
|
implementation daggerDep
|
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
|
ksp daggerCompiler
|
|
|
|
implementation roomDep
|
|
ksp roomCompiler
|
|
|
|
implementation lifecycleDep
|
|
ksp lifecycleCompiler
|
|
|
|
implementation androidxWebKit
|
|
|
|
implementation bouncyCastleDep
|
|
|
|
testImplementation jUnitDep
|
|
testImplementation mockitoDep
|
|
|
|
implementation substrateSdkDep
|
|
|
|
implementation gsonDep
|
|
implementation retrofitDep
|
|
|
|
implementation wsDep
|
|
|
|
implementation zXingCoreDep
|
|
implementation zXingEmbeddedDep
|
|
|
|
implementation insetterDep
|
|
|
|
implementation shimmerDep
|
|
api flexBoxDep
|
|
|
|
implementation chartsDep
|
|
|
|
androidTestImplementation androidTestRunnerDep
|
|
androidTestImplementation androidTestRulesDep
|
|
androidTestImplementation androidJunitDep
|
|
} |