3

To send ethers is very simple: // Submit transfer operation const receipt = await multisig.submitTransaction(recipient, amount, "").send(); // Obtain transactId from receipt const transactionId = ...; // When confirmed by owners majority it will execute To send ERC20 is slightly more complicated // Encode ERC20 transfer operation const data = token....


2

For Gnosis MultiSigWallet, I use the following: function submitTransaction(options, msWalletAddr, contractAddr, contractAbi, functionName, functionArgs, privateKey) { return sign(options, msWalletAddr, "submitTransaction", [contractAddr, "0", encode(contractAbi, functionName, functionArgs)], privateKey); } function confirmTransaction(options, ...


2

https://ethos.dev/beacon-chain/ Validators are rewarded when they make attestations (LMD GHOST and FFG votes) that the majority of other validators agree with. ... Validators are penalized for not attesting or if they attest to a block that does not get finalized. ... If a validator stands to make 10% in a year on rewards, a (honest) ...


2

Yes. You can achieve this by using signatures of the member keys instead of transactions. To achieve this, each members of the multisig can sign a message attesting that they approve of the transaction. They can then give their signatures to a single entity who broadcasts the transaction that includes all the signatures as data. On-chain, the smart contract ...


1

There's Simple Multisig, by Christian Lundkvist, that requires sending all signatures in a single transaction. It has a execute function that validates the signatures and executes the operation requested: function execute( uint8[] sigV, bytes32[] sigR, bytes32[] sigS, address destination, uint value, bytes data, address ...


1

Instead of deterministic payment addresses, you might want to use a smart contract for the payment. There is only a single smart contract (address) where the payments go in (you can also deploy multiple contracts e.g. one per store, but this is a different question) Each payment comes with a reference message in the Data field Smart contract can ...


1

Correct. You need to pay transaction fee for each transaction and one transaction can only tranfer assets from one account. Or if the origin account is actually a smart contract then it can transfer to multiple accounts in the same transaction. Ethereum is not meant for such use - if you need similar (UTXO) functionality you should write a smart contract ...


1

As you noticed, there is no way to send a single from multiple addresses. There is always just one sender. For Ether transfers the Ether value is always taken from the sender's balance and you can't take it from other accounts (that would be a rather big security hole). You can't take them in one transaction even if you have their private keys. But what you ...


1

You need to have ABI files for the smart contract. Then you can use Node.js console, JavaScript or TypeScript to generate a payload for Data to trigger a smart contract function call with the transaction. Steps to make such a call Get ABI files needed for the smart contracts, usually from Github Create a snippet that is pasted in Node.js console for the ...


1

Function submitTransaction doesn't have the ownerExists requirement. But it calls function confirmTransaction which does.


1

Contract MultiSigWallet implements a payable fallback function, so you can transfer ether to it. Contract MultiSigWalletFactory does not implement a payable fallback function, and neither does its base (contract Factory), so you can transfer ether to it.


1

Is there any difference if I compile everytime I want to deploy another multisig wallet. No, provided you haven't changed anything in the contract. In case if you haven't changed anything in the contract and try compiling it again, truffle returns the below result > truffle compile Compiling your contracts... =========================== > Everything ...


Only top voted, non community-wiki answers of a minimum length are eligible