To cancel a multi-sig transaction, submit a transaction to the cancel
action of the eosio.msig
account.
In the example shown below useraaaaaaaa
cancels the changeowner
proposal, previously proposed by useraaaaaaaa
.
(async () => {
await api.transact({
actions: [{
account: 'eosio.msig',
name: 'cancel',
authorization: [{
actor: 'useraaaaaaaa',
permission: 'active',
}],
data: {
proposer: 'useraaaaaaaa',
proposal_name: 'changeowner',
canceler: 'useraaaaaaaa'
},
}]
}, {
blocksBehind: 3,
expireSeconds: 30,
broadcast: true,
sign: true
});
})();
Note that if a previously proposed transaction has yet to expire, only the proposer of the transaction can cancel it.