protocol-solidity icon indicating copy to clipboard operation
protocol-solidity copied to clipboard

[TASK] Smart Contract Work for Delegatable Proof System

Open akileshtangella opened this issue 1 year ago • 0 comments

Related to #288

Smart Contract Work

  • [ ] In the transact function:
  1. keccak256 hash the transact proof.
  2. 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.

akileshtangella avatar Mar 06 '23 18:03 akileshtangella