This issue is about implementing a Digital Signatures verification host function.
It's derived from the SVM Transactions Signatures .
The exact Crypto algorithms should be defined (see the needs research label).
fn svm_sig_verify(env: &FuncEnv, msg_start: i32, msg_end: i32, sig_start: i32, pub_key: i32) -> i32 {
// The function returns a boolean (there is no `boolean` primitive for Wasm)
}
params
msg_start and msg_end
the data we'd like to digitally verify. The msg is laid-out in-memory at offsets: msg_start...msg_end)
of course, the signature can be defined as msg_start and msg_len instead
sig_start - the Memory Address pointing to the Signature. The Signature length is dictated by the algorithm already.
pub_key - the Memory Address pointing to the Pub Key. The Pub Key length is dictated by the algorithm already.
This issue is about implementing a Digital Signatures verification host function. It's derived from the SVM Transactions Signatures .
The exact Crypto algorithms should be defined (see the
needs research
label).params
msg_start
andmsg_end
the data we'd like to digitally verify. Themsg
is laid-out in-memory at offsets:msg_start...msg_end
) of course, the signature can be defined asmsg_start
andmsg_len
insteadsig_start
- the Memory Address pointing to theSignature
. TheSignature
length is dictated by the algorithm already.pub_key
- the Memory Address pointing to thePub Key
. ThePub Key
length is dictated by the algorithm already.