To register a lambda, a user / an account would need to have to have been created ( Registration ) and have an associated session by going through the Authenticating with SDK flow. Once you have the required details you can call the sign method by instantiating a Passport instance from the SDK as shown below.
Copy import { Passport } from "@0xpass/passport" ;
import { WebauthnSigner } from "@0xpass/webauthn-signer" ;
const signer = new WebauthnSigner ({
rpId : window . location .hostname ,
rpName : "rpName" ,
});
const passport = new Passport ({
scopeId : "insert_your_scope_id" ,
signer : signer
});
const userInput {
username : "insert_username_here"
userDisplayName : "insert_user_display_name_here"
}
await passport .setupEncryption ();
await passport .authenticate (userInput);
const config = {
"authorization" : {
"type" : "none"
} ,
"verifications" : {
"count" : 1
} ,
"triggers" : [
{ "type" : "hook" } ,
] ,
"envs" : [] ,
"max_executions" : 0 ,
"conditions" : [
{
"type" : "code" ,
"code" : "if (Math.random() < 0.5) { return true; } else { return false; }" ,
"output_type" : "integer" ,
"substitution" : true
}
] ,
"actions" : {
"type" : "personal_sign" ,
"check" : "" ,
"data" : "0x000000" ,
"substitution" : true
} ,
"postHook" : []
}
// Generate a threshold signature
const lambda_uuid = await passport .createLambda ({data : config});
console .log (lambda_uuid);
A successful response will return a unique UUID required to execute the lambda function
Copy {
"jsonrpc" : "2.0" ,
"result" : "a23ef114-c5fb-41c6-b863-0781a3d10ee5" ,
"id" : 3
}