I am trying to programatically construct the hash as used for multisig transactions, basically the approveAsMulti which taking a call hash.
So my code is along the following form,
/* create the tx */
const inner = api.tx.balances.transfer('1G...', 100000000)
/* generate the hash */
const hash = inner.hash
/* generate the approval */
const multi = api.tx.multisig.approveAsMulti(2, ['1G...', ...], null, hash, weight)
/* send it here ... */
...
However the hash I generate is not the same hash as what I can see in the UI, so right at the end I cannot actually seem to approve the final step via the UI. So I'm not sure what goes wrong, the hashes should match?