-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cli: implement transfer from multisig accounts #706
Conversation
Codecov Report
@@ Coverage Diff @@
## master #706 +/- ##
==========================================
+ Coverage 64.03% 64.52% +0.48%
==========================================
Files 132 134 +2
Lines 11695 11869 +174
==========================================
+ Hits 7489 7658 +169
+ Misses 3913 3901 -12
- Partials 293 310 +17
Continue to review full report at Codecov.
|
) | ||
|
||
// ParameterContext represents smartcontract parameter's context. | ||
type ParameterContext struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This type name bugs me, context.ParameterContext
seems wrong, but context.Parameter
is also questionable because of smartcontract.Parameter
.
Address is marshaled in base58 and needs to be decoded accordingly.
Both verification and invocation scripts need to be unmarshaled from hex. Also fix failing RPC tests: block contains non-pointer `transaction.Witness` field and (*Witness).MarshalJSON method is not called.
It contains no information so it doesn't matter anyway.
When creating witness for a multisig contract, it is needed to extract the order of public keys from it.
It is needed to be able to create Contracts from the outside.
When transferring assets from multisig accounts, it is useful to export tx into a file, so that other participants can sign it too.
After all signatures were accumulated it should be possible to extract Witness for the verifiable item.
Implement ability to sign transactions with multisig address. This should be done in several steps: 1. Create TX with `wallet transfer --out <file>` 2. Sign TX with `wallet multisign sign --in <file> --out <file2>`. 3. Repeat 2 for every party. Input file contains transaction with possibly incomplete set of the signatures. Output file will contain the same tx with updated signature set. When --rpc flag is provided, result transaction is sent via `sendrawtransaction`.
Done as follows: