@@ -1361,6 +1361,26 @@ function Home({ navigation }: Props) {
13611361 } else if ( result . data . action === 'enterprisevaultsign' ) {
13621362 try {
13631363 const vaultSignData = JSON . parse ( result . data . payload ) ;
1364+ // Defensively parse fields that may arrive as JSON strings instead of arrays
1365+ // (e.g. from older wallet versions that double-stringified the payload)
1366+ if ( typeof vaultSignData . recipients === 'string' ) {
1367+ vaultSignData . recipients = JSON . parse ( vaultSignData . recipients ) ;
1368+ }
1369+ if ( typeof vaultSignData . inputDetails === 'string' ) {
1370+ vaultSignData . inputDetails = JSON . parse (
1371+ vaultSignData . inputDetails ,
1372+ ) ;
1373+ }
1374+ if ( typeof vaultSignData . allSignerKeys === 'string' ) {
1375+ vaultSignData . allSignerKeys = JSON . parse (
1376+ vaultSignData . allSignerKeys ,
1377+ ) ;
1378+ }
1379+ if ( typeof vaultSignData . allSignerNonces === 'string' ) {
1380+ vaultSignData . allSignerNonces = JSON . parse (
1381+ vaultSignData . allSignerNonces ,
1382+ ) ;
1383+ }
13641384 setVaultSigningData ( vaultSignData ) ;
13651385 } catch {
13661386 displayMessage ( 'error' , t ( 'home:err_invalid_request' ) ) ;
@@ -2509,6 +2529,9 @@ function Home({ navigation }: Props) {
25092529 vaultName = { vaultSigningData . vaultName }
25102530 orgName = { vaultSigningData . orgName }
25112531 actionStatus = { handleVaultSigningRequestAction }
2532+ tokenContract = { vaultSigningData . tokenContract }
2533+ tokenSymbol = { vaultSigningData . tokenSymbol }
2534+ tokenDecimals = { vaultSigningData . tokenDecimals }
25122535 />
25132536 ) }
25142537 { txid && (
0 commit comments