mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-22 13:45:48 +00:00
68a5b3ed9e
The pending-operation model assumed a call already exists on-chain (Multisig.Multisigs entry with a Timepoint) before it could be reviewed or signed. A signatory who is the first to see a brand-new call - reachable via the deep link before anyone has submitted anything - hit "operation not found" and the screen refused to open, even though the deep link already carried the call's data in its callData param (previously decoded only to format Executed/Rejected dialog text, then discarded for the Active case that needed it). - PendingMultisigOperation.timePoint/depositor are now nullable to represent "not yet submitted"; composeMultisigAsMulti's maybeTimePoint parameter already accepted null (used for ordinary first-time multisig-origin submissions via MultisigSigner), so the pallet-call layer needed no changes. - New PendingMultisigOperation.notYetSubmitted(...) factory and MultisigOperationDetailsInteractor.buildNotYetSubmittedOperation() build a synthetic operation from the deep link's callData, hash verified against the URL's callHash rather than trusted blindly. - OperationIsStillPendingValidation now skips its on-chain "still pending" check for a not-yet-submitted operation, since it would otherwise always fail and block the very first submission. - MultisigOperationPayload carries the callData through so both the details screen and the full-details screen (independently reachable via "Call Details", since that button is available whenever call data is known) can construct the synthetic operation.