-
Notifications
You must be signed in to change notification settings - Fork 3
Workflow работы с multisig contract
Всё взаимодействие, как и в случае с токенами, осуществляется через специальное свойство транзакции:
multisig
Сформировать транзакцию на адрес multisig factory contract, установить свойство multisig
=> new_wallet:[0xaddr1, ... 0xaddrN]:K
, где N - количество адресов, K - количество подписей для совершения транзакции.
Сформировать транзакцию на адрес получателя (того адреса, куда надо перевести деньги), установить свойство multisig
=> 0xADDRESS:new_request
, где 0xADDRESS - это адрес multisig wallet contract.
При создании контракта фабрикой в логах контракта фабрики появятся лог Event:ContractInstantiation( где на первом месте будет адрес создателя нового смартконтракта(может не являться участником кошелька), на втором адрес созданного контракта multisig кошелька)
Перевод денег на SC
логи:
event Deposit(address indexed sender(адрес отправитель), uint value(Количество переведенных ETH));
SubmitTransaction передаваемые значения: адрес получателя, количество ETH, поле data
(Должен отправлять owner контракта иначе будет отклонена транзакция)
логи:
event Submission(uint indexed transactionId(индекс новой транзакции) );
event Confirmation(address indexed sender(адрес сздавшего транзакцию и подтвердившего ее), uint indexed transactionId (Номер подтверджаемой транзакции ));
confirmTransaction передаваемые значения номер транзакции необходимой подтверждение