-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add signing and verifying message docs (#84)
* Add signing and verifying message docs * Apply review feedback
- Loading branch information
Showing
13 changed files
with
520 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
using Breez.Sdk.Liquid; | ||
|
||
public class MessagesSnippets | ||
{ | ||
public void SignMessage(BindingLiquidSdk sdk) | ||
{ | ||
// ANCHOR: sign-message | ||
var message = "<message to sign>"; | ||
try | ||
{ | ||
var signMessageRequest = new SignMessageRequest(message); | ||
var signMessageResponse = sdk.SignMessage(signMessageRequest); | ||
|
||
// Get the wallet info for your pubkey | ||
var info = sdk.GetInfo(); | ||
|
||
var signature = signMessageResponse?.signature; | ||
var pubkey = info?.walletInfo?.pubkey; | ||
|
||
Console.WriteLine($"Pubkey: {pubkey}"); | ||
Console.WriteLine($"Signature: {signature}"); | ||
} | ||
catch (Exception) | ||
{ | ||
// Handle error | ||
} | ||
// ANCHOR_END: sign-message | ||
} | ||
|
||
public void CheckMessage(BindingLiquidSdk sdk) | ||
{ | ||
// ANCHOR: check-message | ||
var message = "<message>"; | ||
var pubkey = "<pubkey of signer>"; | ||
var signature = "<message signature>"; | ||
try | ||
{ | ||
var checkMessageRequest = new CheckMessageRequest(message, pubkey, signature); | ||
var checkMessageResponse = sdk.CheckMessage(checkMessageRequest); | ||
|
||
var isValid = checkMessageResponse?.isValid; | ||
|
||
Console.WriteLine($"Signature valid: {isValid}"); | ||
} | ||
catch (Exception) | ||
{ | ||
// Handle error | ||
} | ||
// ANCHOR_END: check-message | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import 'package:dart_snippets/sdk_instance.dart'; | ||
import 'package:flutter_breez_liquid/flutter_breez_liquid.dart'; | ||
|
||
Future<SignMessageResponse> signMessage() async { | ||
// ANCHOR: sign-message | ||
SignMessageRequest signMessageRequest = SignMessageRequest( | ||
message: "<message to sign>", | ||
); | ||
SignMessageResponse signMessageResponse = breezSDKLiquid.instance!.signMessage( | ||
req: signMessageRequest, | ||
); | ||
|
||
// Get the wallet info for your pubkey | ||
GetInfoResponse? info = await breezSDKLiquid.instance!.getInfo(); | ||
|
||
String signature = signMessageResponse.signature; | ||
String pubkey = info.walletInfo.pubkey; | ||
|
||
print("Pubkey: $pubkey"); | ||
print("Signature: $signature"); | ||
// ANCHOR_END: sign-message | ||
return signMessageResponse; | ||
} | ||
|
||
Future<CheckMessageResponse> checkMessage() async { | ||
// ANCHOR: check-message | ||
CheckMessageRequest checkMessageRequest = CheckMessageRequest( | ||
message: "<message>", | ||
pubkey: "<pubkey of signer>", | ||
signature: "<message signature>", | ||
); | ||
CheckMessageResponse checkMessageResponse = breezSDKLiquid.instance!.checkMessage( | ||
req: checkMessageRequest, | ||
); | ||
|
||
bool isValid = checkMessageResponse.isValid; | ||
|
||
print("Signature valid: $isValid"); | ||
// ANCHOR_END: check-message | ||
return checkMessageResponse; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
package example | ||
|
||
import ( | ||
"log" | ||
|
||
"github.com/breez/breez-sdk-liquid-go/breez_sdk_liquid" | ||
) | ||
|
||
func SignMessage(sdk *breez_sdk_liquid.BindingLiquidSdk) { | ||
// ANCHOR: sign-message | ||
message := "<message to sign>" | ||
|
||
signMessageRequest := breez_sdk_liquid.SignMessageRequest{ | ||
Message: message, | ||
} | ||
signMessageResponse, err := sdk.SignMessage(signMessageRequest) | ||
if err != nil { | ||
log.Printf("Error: %#v", err) | ||
return | ||
} | ||
|
||
// Get the wallet info for your pubkey | ||
info, err := sdk.GetInfo() | ||
if err != nil { | ||
log.Printf("Error: %#v", err) | ||
return | ||
} | ||
|
||
signature := signMessageResponse.Signature | ||
pubkey := info.WalletInfo.Pubkey | ||
|
||
log.Printf("Pubkey: %v", pubkey) | ||
log.Printf("Signature: %v", signature) | ||
// ANCHOR_END: sign-message | ||
} | ||
|
||
func CheckMessage(sdk *breez_sdk_liquid.BindingLiquidSdk) { | ||
// ANCHOR: check-message | ||
message := "<message>" | ||
pubkey := "<pubkey of signer>" | ||
signature := "<message signature>" | ||
|
||
checkMessageRequest := breez_sdk_liquid.CheckMessageRequest{ | ||
Message: message, | ||
Pubkey: pubkey, | ||
Signature: signature, | ||
} | ||
checkMessageResponse, err := sdk.CheckMessage(checkMessageRequest) | ||
if err != nil { | ||
log.Printf("Error: %#v", err) | ||
return | ||
} | ||
|
||
isValid := checkMessageResponse.IsValid | ||
|
||
log.Printf("Signature valid: %v", isValid) | ||
// ANCHOR_END: check-message | ||
} |
45 changes: 45 additions & 0 deletions
45
snippets/kotlin_mpp_lib/shared/src/commonMain/kotlin/com/example/kotlinmpplib/Messages.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
package com.example.kotlinmpplib | ||
|
||
import breez_sdk_liquid.* | ||
|
||
class Messages { | ||
fun signMessage(sdk: BindingLiquidSdk) { | ||
// ANCHOR: sign-message | ||
val message = "<message to sign>" | ||
try { | ||
val signMessageRequest = SignMessageRequest(message) | ||
val signMessageResponse = sdk.signMessage(signMessageRequest) | ||
|
||
// Get the wallet info for your pubkey | ||
val info = sdk.getInfo() | ||
|
||
val signature = signMessageResponse?.signature | ||
val pubkey = info?.walletInfo?.pubkey | ||
|
||
// Log.v("Breez", "Pubkey: ${pubkey}") | ||
// Log.v("Breez", "Signature: ${signature}") | ||
} catch (e: Exception) { | ||
// handle error | ||
} | ||
// ANCHOR_END: sign-message | ||
} | ||
|
||
fun checkMessage(sdk: BindingLiquidSdk) { | ||
// ANCHOR: check-message | ||
val message = "<message>" | ||
val pubkey = "<pubkey of signer>" | ||
val signature = "<message signature>" | ||
try { | ||
val checkMessageRequest = CheckMessageRequest(message, pubkey, signature) | ||
val checkMessageResponse = sdk.checkMessage(checkMessageRequest) | ||
|
||
val isValid = checkMessageResponse?.isValid | ||
|
||
// Log.v("Breez", "Signature valid: ${isValid}") | ||
} catch (e: Exception) { | ||
// handle error | ||
} | ||
// ANCHOR_END: check-message | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
import logging | ||
from breez_sdk_liquid import BindingLiquidSdk, CheckMessageRequest, SignMessageRequest | ||
|
||
|
||
def sign_message(sdk: BindingLiquidSdk): | ||
# ANCHOR: sign-message | ||
message = "<message to sign>" | ||
try: | ||
sign_message_request = SignMessageRequest(message) | ||
sign_message_response = sdk.sign_message(sign_message_request) | ||
|
||
# Get the wallet info for your pubkey | ||
info = sdk.get_info() | ||
|
||
signature = sign_message_response.signature | ||
pubkey = info.wallet_info.pubkey | ||
|
||
logging.debug(f"Pubkey: {pubkey}") | ||
logging.debug(f"Signature: {signature}") | ||
except Exception as error: | ||
logging.error(error) | ||
raise | ||
# ANCHOR_END: sign-message | ||
|
||
def check_message(sdk: BindingLiquidSdk): | ||
# ANCHOR: check-message | ||
message = "<message>" | ||
pubkey = "<pubkey of signer>" | ||
signature = "<message signature>" | ||
try: | ||
check_message_request = CheckMessageRequest(message, pubkey, signature) | ||
check_message_response = sdk.check_message(check_message_request) | ||
|
||
is_valid = check_message_response.is_valid | ||
|
||
logging.debug(f"Signature valid: {is_valid}") | ||
except Exception as error: | ||
logging.error(error) | ||
raise | ||
# ANCHOR_END: check-message |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
import { | ||
checkMessage, | ||
getInfo, | ||
signMessage | ||
} from '@breeztech/react-native-breez-sdk-liquid' | ||
|
||
const exampleSignMessage = async () => { | ||
// ANCHOR: sign-message | ||
const signMessageResponse = await signMessage({ | ||
message: '<message to sign>' | ||
}) | ||
|
||
// Get the wallet info for your pubkey | ||
const info = await getInfo() | ||
|
||
const signature = signMessageResponse.signature | ||
const pubkey = info.walletInfo.pubkey | ||
|
||
console.log(`Pubkey: ${pubkey}`) | ||
console.log(`Signature: ${signature}`) | ||
// ANCHOR_END: sign-message | ||
} | ||
|
||
const exampleCheckMessage = async () => { | ||
// ANCHOR: check-message | ||
const checkMessageResponse = await checkMessage({ | ||
message: '<message>', | ||
pubkey: '<pubkey of signer>', | ||
signature: '<message signature>' | ||
}) | ||
const isValid = checkMessageResponse.isValid | ||
|
||
console.log(`Signature valid: ${isValid}`) | ||
// ANCHOR_END: check-message | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
use std::sync::Arc; | ||
|
||
use anyhow::Result; | ||
use breez_sdk_liquid::prelude::*; | ||
use log::info; | ||
|
||
async fn sign_message(sdk: Arc<LiquidSdk>) -> Result<()> { | ||
// ANCHOR: sign-message | ||
let sign_message_request = SignMessageRequest { | ||
message: "<message to sign>".to_string(), | ||
}; | ||
let sign_message_response = sdk | ||
.sign_message(&sign_message_request)?; | ||
|
||
// Get the wallet info for your pubkey | ||
let info = sdk.get_info().await?; | ||
|
||
let signature = sign_message_response.signature; | ||
let pubkey = info.wallet_info.pubkey; | ||
|
||
info!("Pubkey: {}", pubkey); | ||
info!("Signature: {}", signature); | ||
// ANCHOR_END: sign-message | ||
Ok(()) | ||
} | ||
|
||
fn check_message(sdk: Arc<LiquidSdk>) -> Result<()> { | ||
// ANCHOR: check-message | ||
let check_message_request = CheckMessageRequest { | ||
message: "<message>".to_string(), | ||
pubkey: "<pubkey of signer>".to_string(), | ||
signature: "<message signature>".to_string(), | ||
}; | ||
let check_message_response = sdk | ||
.check_message(&check_message_request)?; | ||
|
||
let is_valid = check_message_response.is_valid; | ||
|
||
info!("Signature valid: {}", is_valid); | ||
// ANCHOR_END: check-message | ||
Ok(()) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
import BreezSDKLiquid | ||
|
||
func signMessage(sdk: BindingLiquidSdk) -> SignMessageResponse? { | ||
// ANCHOR: sign-message | ||
let signMessageRequest = SignMessageRequest( | ||
message: "<message to sign>" | ||
) | ||
let signMessageResponse = try? sdk | ||
.signMessage(req: signMessageRequest) | ||
|
||
// Get the wallet info for your pubkey | ||
let info = try? sdk.getInfo() | ||
|
||
let signature = signMessageResponse!.signature | ||
let pubkey = info!.walletInfo.pubkey | ||
|
||
print("Pubkey: {}", pubkey); | ||
print("Signature: {}", signature); | ||
// ANCHOR_END: sign-message | ||
return signMessageResponse | ||
} | ||
|
||
func checkMessage(sdk: BindingLiquidSdk) -> CheckMessageResponse? { | ||
// ANCHOR: check-message | ||
let checkMessageRequest = CheckMessageRequest( | ||
message: "<message>", | ||
pubkey: "<pubkey of signer>", | ||
signature: "<message signature>" | ||
) | ||
let checkMessageResponse = try? sdk | ||
.checkMessage(req: checkMessageRequest) | ||
|
||
let isValid = checkMessageResponse!.isValid | ||
|
||
print("Signature valid: {}", isValid); | ||
// ANCHOR_END: check-message | ||
return checkMessageResponse | ||
} |
Oops, something went wrong.