Skip to content

Instantly share code, notes, and snippets.

@AdvaithD
Created April 14, 2022 16:30
Show Gist options
  • Save AdvaithD/c903bce61f2de140cce0490e3d515a6c to your computer and use it in GitHub Desktop.
Save AdvaithD/c903bce61f2de140cce0490e3d515a6c to your computer and use it in GitHub Desktop.
func register_voter{
syscall_ptr : felt*, range_check_ptr, pedersen_ptr : HashBuiltin*,
ecdsa_ptr : SignatureBuiltin*}(poll_id : felt, voter_public_key : felt, r : felt, s : felt):
let (owner_pubkey) = poll_owner_public_key.read(poll_id=poll_id)
# verify valid poll
assert_not_zero(owner_pubkey)
# verify signature
let (message) = hash2{hash_ptr=pedersen_ptr}(x=poll_id, y=voter_public_key)
verify_ecdsa_signature(message=message, public_key=owner_pubkey, signature_r=r, signature_s=s)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment