const proposer = await eoslime.Account.createRandom();
const onBehalfAccounts = await eoslime.Account.createRandoms(2);
await proposer.addOnBehalfAccount(onBehalfAccounts[0].name);
await proposer.addOnBehalfAccount(onBehalfAccounts[1].name);
await proposer.increaseThreshold(2);
const multiSigAccount = eoslime.MultiSigAccount.load(proposer.name, proposer.privateKey);
multiSigAccount.loadAccounts(onBehalfAccounts);
const proposalId = await multiSigAccount.propose(faucetContract.actions.produce, [account.name, "100.0000 TKNS", account.name, "memo"]);
await multiSigAccount.approve(multiSigAccount.accounts[0].publicKey, proposalId);
By doing propose, the proposer approves the transaction
In order the transaction to be executed it requires 2 signatures
because of the treshold. That is why we need only one approve
const txReceipt = await multiSigAccount.processProposal(proposalId);