Change ecverify into verify_sig and then add an actual ecverify
This commit is contained in:
@@ -120,7 +120,7 @@ compilable_contracts() ->
|
||||
{"complex_types", "filter_some", ["[Some(11), Some(12), None]"]},
|
||||
{"complex_types", "init", ["ct_Ez6MyeTMm17YnTnDdHTSrzMEBKmy7Uz2sXu347bTDPgVH2ifJ"]},
|
||||
{"__call" "init", []},
|
||||
{"bitcoin_auth", "authorize", ["1", "#0102030405060708090a0b0c0d0e0f101718192021222324252627282930313233343536373839401a1b1c1d1e1f202122232425262728293031323334353637"]},
|
||||
{"bitcoin_auth", "authorize", ["1", "#0102030405060708090a0b0c0d0e0f101718192021222324252627282930313233343536373839401a1b1c1d1e1f20212223242526272829303132333435363738"]},
|
||||
{"bitcoin_auth", "to_sign", ["#0102030405060708090a0b0c0d0e0f1017181920212223242526272829303132", "2"]},
|
||||
{"stub", "foo", ["42"]},
|
||||
{"stub", "foo", ["-42"]},
|
||||
|
||||
@@ -10,7 +10,7 @@ contract BasicAuth =
|
||||
put(state{ nonce = n + 1 })
|
||||
switch(Auth.tx_hash)
|
||||
None => abort("Not in Auth context")
|
||||
Some(tx_hash) => Crypto.ecverify(to_sign(tx_hash, n), state.owner, s)
|
||||
Some(tx_hash) => Crypto.verify_sig(to_sign(tx_hash, n), state.owner, s)
|
||||
|
||||
entrypoint to_sign(h : hash, n : int) =
|
||||
Crypto.blake2b((h, n))
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
contract BitcoinAuth =
|
||||
record state = { nonce : int, owner : bytes(64) }
|
||||
record state = { nonce : int, owner : bytes(20) }
|
||||
|
||||
entrypoint init(owner' : bytes(64)) = { nonce = 1, owner = owner' }
|
||||
entrypoint init(owner' : bytes(20)) = { nonce = 1, owner = owner' }
|
||||
|
||||
stateful entrypoint authorize(n : int, s : signature) : bool =
|
||||
stateful entrypoint authorize(n : int, s : bytes(65)) : bool =
|
||||
require(n >= state.nonce, "Nonce too low")
|
||||
require(n =< state.nonce, "Nonce too high")
|
||||
put(state{ nonce = n + 1 })
|
||||
|
||||
Reference in New Issue
Block a user