@@ -11,6 +11,8 @@ import { sleep } from 'src/utils/time';
11
11
import { computed , defineComponent , onMounted , ref } from ' vue' ;
12
12
import JsonViewer from ' vue-json-viewer' ;
13
13
import { useRoute , useRouter } from ' vue-router' ;
14
+ import { TableIndexType } from ' src/types/Api' ;
15
+ import { PackedTransaction , Checksum256 } from ' @wharfkit/antelope/lib/eosio-core' ;
14
16
15
17
export default defineComponent ({
16
18
name: ' ProposalItem' ,
@@ -29,6 +31,7 @@ export default defineComponent({
29
31
const isLoading = ref (true );
30
32
31
33
const proposer = ref (' ' );
34
+ const proposalhash = ref <Checksum256 >();
32
35
const approvalStatus = ref (' ' );
33
36
const expirationDate = ref (' ' );
34
37
@@ -273,6 +276,34 @@ export default defineComponent({
273
276
return ;
274
277
}
275
278
279
+ const proposalRows = await api .getTableRows ({
280
+ code: ' eosio.msig' ,
281
+ scope: proposal .proposer ,
282
+ table: ' proposal' ,
283
+ lower_bound: proposal .proposal_name as unknown as TableIndexType ,
284
+ upper_bound: proposal .proposal_name as unknown as TableIndexType ,
285
+ limit: 1 ,
286
+ }) as { rows: { packed_transaction: string }[] };
287
+
288
+ if (proposalRows .rows .length === 0 ) {
289
+ handleError (null , ' Proposal not found' );
290
+ await router .push (' /proposal' );
291
+ return ;
292
+ }
293
+
294
+ const proposalRow: { packed_transaction: string } = proposalRows .rows [0 ];
295
+
296
+ const packed = PackedTransaction .from ({
297
+ compression: false ,
298
+ signatures: [],
299
+ packed_trx: proposalRow .packed_transaction ,
300
+ packed_context_free_data: [],
301
+ });
302
+
303
+ const transaction = packed .getTransaction ();
304
+
305
+ proposalhash .value = transaction .id ;
306
+
276
307
proposer .value = proposal .proposer ;
277
308
278
309
const totalRequestedApprovals = proposal .provided_approvals .length + proposal .requested_approvals .length ;
@@ -365,6 +396,7 @@ export default defineComponent({
365
396
actor: account .value ,
366
397
permission: accountStore .accountPermission ,
367
398
},
399
+ proposal_hash: proposalhash .value ,
368
400
},
369
401
});
370
402
await sleep ();
0 commit comments