protocol-solidity
protocol-solidity copied to clipboard
[TASK] Smart Contract Work for Delegatable Proof System
Related to #288
Smart Contract Work
- [ ] In the transact function:
-
keccak256
hash the transact proof. - Verify signature of the hash against $ak_{\alpha}$ (which is a public input to the transact proof) in Solidity before checking transact proof.
Potentially use this for verifying EdDSA sig in Solidity: https://github.com/HarryR/ethsnarks/blob/master/contracts/EdDSA.sol
TS Classes/Tests
- [ ] Sign proof with transactor's $sk_{\alpha}$ in
transact
class fn. Pass that signature into smart contract call. - [ ] Negative test: If not signed with transactor's $sk_{\alpha}$ should fail to verify sig.
- [ ] Negative test: If wrong $ak_{\alpha}$ in public input should fail to verify sig.
- [ ] Negative test: If wrong data signed (not proof hash), should fail to verify sig.
- [ ] Make sure existing tests for
transact
still work.