49 changed files with 2563 additions and 1256 deletions
@ -0,0 +1,137 @@ |
|||
|
|||
import * as grpc from 'grpc' |
|||
import {loadCredentials} from './lightning' |
|||
import * as path from 'path' |
|||
import * as ByteBuffer from 'bytebuffer' |
|||
|
|||
// var protoLoader = require('@grpc/proto-loader')
|
|||
const env = process.env.NODE_ENV || 'development'; |
|||
const config = require(path.join(__dirname,'../../config/app.json'))[env] |
|||
|
|||
var signerClient = <any> null; |
|||
function urlBase64FromHex(ascii){ |
|||
return Buffer.from(ascii,'hex').toString('base64').replace(/\//g, '_').replace(/\+/g, '-') |
|||
} |
|||
export async function testSigner(){ |
|||
try{ |
|||
console.log("TEST SIGNER") |
|||
const sig:any = await signAscii("hello") |
|||
console.log("SIG",sig) |
|||
const pubkey = '02df97eb735e185e066fd617f813aed25babd03eb0a06ee58424e67e3d036a8897' |
|||
const v = await verifyAscii("hello", sig, pubkey) |
|||
console.log("VERIFY",v) |
|||
|
|||
const b64 = urlBase64FromHex(pubkey) |
|||
console.log(b64.length) |
|||
|
|||
}catch(e){ |
|||
console.log("ERROR",e) |
|||
} |
|||
} |
|||
|
|||
export const loadSigner = () => { |
|||
console.log("LOAD SIGNER RRRRRR",signerClient?true:false) |
|||
if (signerClient) { |
|||
return signerClient |
|||
} else { |
|||
console.log("LOAD SIGNER AGAIN!!!!") |
|||
try{ |
|||
var credentials = loadCredentials() |
|||
var lnrpcDescriptor = grpc.load("signer.proto"); |
|||
var signer: any = lnrpcDescriptor.signrpc |
|||
signerClient = new signer.Signer(config.node_ip + ':' + config.lnd_port, credentials); |
|||
console.log("SIGNER CLIENT",signerClient) |
|||
return signerClient |
|||
} catch(e) { |
|||
throw e |
|||
} |
|||
} |
|||
} |
|||
|
|||
export const signMessage = (msg) => { |
|||
return new Promise(async(resolve, reject)=> { |
|||
let signer = await loadSigner() |
|||
try { |
|||
const options = { |
|||
msg:ByteBuffer.fromHex(msg), |
|||
key_loc:{key_family:6, key_index:0}, |
|||
} |
|||
signer.signMessage(options, function(err,sig){ |
|||
if(err || !sig.signature) { |
|||
reject(err) |
|||
} else { |
|||
resolve(sig.signature) |
|||
} |
|||
}) |
|||
} catch(e) { |
|||
reject(e) |
|||
} |
|||
}) |
|||
} |
|||
|
|||
export const signBuffer = (msg) => { |
|||
return new Promise(async (resolve, reject)=> { |
|||
let signer = await loadSigner() |
|||
try { |
|||
const options = {msg} |
|||
signer.signMessage(options, function(err,sig){ |
|||
if(err || !sig.signature) { |
|||
reject(err) |
|||
} else { |
|||
resolve(sig.signature) |
|||
} |
|||
}) |
|||
} catch(e) { |
|||
reject(e) |
|||
} |
|||
}) |
|||
} |
|||
|
|||
function verifyMessage(msg,sig,pubkey): Promise<{[k:string]:any}> { |
|||
return new Promise(async(resolve, reject)=> { |
|||
let signer = await loadSigner() |
|||
try { |
|||
const options = { |
|||
msg:ByteBuffer.fromHex(msg), |
|||
signature:sig, |
|||
pubkey:ByteBuffer.fromHex(pubkey), |
|||
} |
|||
signer.verifyMessage(options, function(err,res){ |
|||
if(err) { |
|||
reject(err) |
|||
} else { |
|||
resolve(res) |
|||
} |
|||
}) |
|||
} catch(e) { |
|||
reject(e) |
|||
} |
|||
}) |
|||
} |
|||
|
|||
export async function signAscii(ascii) { |
|||
try { |
|||
const sig = await signMessage(ascii_to_hexa(ascii)) |
|||
return sig |
|||
} catch(e) { |
|||
throw e |
|||
} |
|||
} |
|||
|
|||
export async function verifyAscii(ascii:string,sig:Buffer,pubkey:string): Promise<{[k:string]:any}>{ |
|||
try { |
|||
const r = await verifyMessage(ascii_to_hexa(ascii),sig,pubkey) |
|||
return r |
|||
} catch(e) { |
|||
throw e |
|||
} |
|||
} |
|||
|
|||
function ascii_to_hexa(str){ |
|||
var arr1 = <string[]> []; |
|||
for (var n = 0, l = str.length; n < l; n ++) { |
|||
var hex = Number(str.charCodeAt(n)).toString(16); |
|||
arr1.push(hex); |
|||
} |
|||
return arr1.join(''); |
|||
} |
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../api/grpc/index.ts"],"names":[],"mappings":"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"} |
|||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../api/grpc/index.ts"],"names":[],"mappings":"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"} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
{"version":3,"file":"nodeinfo.js","sourceRoot":"","sources":["../../../api/utils/nodeinfo.ts"],"names":[],"mappings":"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"} |
|||
{"version":3,"file":"nodeinfo.js","sourceRoot":"","sources":["../../../api/utils/nodeinfo.ts"],"names":[],"mappings":"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"} |
@ -0,0 +1,157 @@ |
|||
"use strict"; |
|||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { |
|||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } |
|||
return new (P || (P = Promise))(function (resolve, reject) { |
|||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } |
|||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } |
|||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } |
|||
step((generator = generator.apply(thisArg, _arguments || [])).next()); |
|||
}); |
|||
}; |
|||
Object.defineProperty(exports, "__esModule", { value: true }); |
|||
const grpc = require("grpc"); |
|||
const lightning_1 = require("./lightning"); |
|||
const path = require("path"); |
|||
const ByteBuffer = require("bytebuffer"); |
|||
// var protoLoader = require('@grpc/proto-loader')
|
|||
const env = process.env.NODE_ENV || 'development'; |
|||
const config = require(path.join(__dirname, '../../config/app.json'))[env]; |
|||
var signerClient = null; |
|||
function urlBase64FromHex(ascii) { |
|||
return Buffer.from(ascii, 'hex').toString('base64').replace(/\//g, '_').replace(/\+/g, '-'); |
|||
} |
|||
function testSigner() { |
|||
return __awaiter(this, void 0, void 0, function* () { |
|||
try { |
|||
console.log("TEST SIGNER"); |
|||
const sig = yield signAscii("hello"); |
|||
console.log("SIG", sig); |
|||
const pubkey = '02df97eb735e185e066fd617f813aed25babd03eb0a06ee58424e67e3d036a8897'; |
|||
const v = yield verifyAscii("hello", sig, pubkey); |
|||
console.log("VERIFY", v); |
|||
const b64 = urlBase64FromHex(pubkey); |
|||
console.log(b64.length); |
|||
} |
|||
catch (e) { |
|||
console.log("ERROR", e); |
|||
} |
|||
}); |
|||
} |
|||
exports.testSigner = testSigner; |
|||
exports.loadSigner = () => { |
|||
console.log("LOAD SIGNER RRRRRR", signerClient ? true : false); |
|||
if (signerClient) { |
|||
return signerClient; |
|||
} |
|||
else { |
|||
console.log("LOAD SIGNER AGAIN!!!!"); |
|||
try { |
|||
var credentials = lightning_1.loadCredentials(); |
|||
var lnrpcDescriptor = grpc.load("signer.proto"); |
|||
var signer = lnrpcDescriptor.signrpc; |
|||
signerClient = new signer.Signer(config.node_ip + ':' + config.lnd_port, credentials); |
|||
console.log("SIGNER CLIENT", signerClient); |
|||
return signerClient; |
|||
} |
|||
catch (e) { |
|||
throw e; |
|||
} |
|||
} |
|||
}; |
|||
exports.signMessage = (msg) => { |
|||
return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () { |
|||
let signer = yield exports.loadSigner(); |
|||
try { |
|||
const options = { |
|||
msg: ByteBuffer.fromHex(msg), |
|||
key_loc: { key_family: 6, key_index: 0 }, |
|||
}; |
|||
signer.signMessage(options, function (err, sig) { |
|||
if (err || !sig.signature) { |
|||
reject(err); |
|||
} |
|||
else { |
|||
resolve(sig.signature); |
|||
} |
|||
}); |
|||
} |
|||
catch (e) { |
|||
reject(e); |
|||
} |
|||
})); |
|||
}; |
|||
exports.signBuffer = (msg) => { |
|||
return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () { |
|||
let signer = yield exports.loadSigner(); |
|||
try { |
|||
const options = { msg }; |
|||
signer.signMessage(options, function (err, sig) { |
|||
if (err || !sig.signature) { |
|||
reject(err); |
|||
} |
|||
else { |
|||
resolve(sig.signature); |
|||
} |
|||
}); |
|||
} |
|||
catch (e) { |
|||
reject(e); |
|||
} |
|||
})); |
|||
}; |
|||
function verifyMessage(msg, sig, pubkey) { |
|||
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { |
|||
let signer = yield exports.loadSigner(); |
|||
try { |
|||
const options = { |
|||
msg: ByteBuffer.fromHex(msg), |
|||
signature: sig, |
|||
pubkey: ByteBuffer.fromHex(pubkey), |
|||
}; |
|||
signer.verifyMessage(options, function (err, res) { |
|||
if (err) { |
|||
reject(err); |
|||
} |
|||
else { |
|||
resolve(res); |
|||
} |
|||
}); |
|||
} |
|||
catch (e) { |
|||
reject(e); |
|||
} |
|||
})); |
|||
} |
|||
function signAscii(ascii) { |
|||
return __awaiter(this, void 0, void 0, function* () { |
|||
try { |
|||
const sig = yield exports.signMessage(ascii_to_hexa(ascii)); |
|||
return sig; |
|||
} |
|||
catch (e) { |
|||
throw e; |
|||
} |
|||
}); |
|||
} |
|||
exports.signAscii = signAscii; |
|||
function verifyAscii(ascii, sig, pubkey) { |
|||
return __awaiter(this, void 0, void 0, function* () { |
|||
try { |
|||
const r = yield verifyMessage(ascii_to_hexa(ascii), sig, pubkey); |
|||
return r; |
|||
} |
|||
catch (e) { |
|||
throw e; |
|||
} |
|||
}); |
|||
} |
|||
exports.verifyAscii = verifyAscii; |
|||
function ascii_to_hexa(str) { |
|||
var arr1 = []; |
|||
for (var n = 0, l = str.length; n < l; n++) { |
|||
var hex = Number(str.charCodeAt(n)).toString(16); |
|||
arr1.push(hex); |
|||
} |
|||
return arr1.join(''); |
|||
} |
|||
//# sourceMappingURL=signer.js.map
|
@ -0,0 +1 @@ |
|||
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../api/utils/signer.ts"],"names":[],"mappings":"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"} |
@ -1 +1 @@ |
|||
{"version":3,"file":"app.js","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":"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"} |
|||
{"version":3,"file":"app.js","sourceRoot":"","sources":["../app.ts"],"names":[],"mappings":"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"} |
@ -0,0 +1,5 @@ |
|||
#!/bin/bash |
|||
|
|||
alias lncli='command lncli --lnddir=/relay/.lnd/ "$@"' |
|||
alias lnd='command lnd --lnddir=/relay/.lnd/ "$@"' |
|||
|
@ -0,0 +1,38 @@ |
|||
#!/usr/bin/expect -f |
|||
|
|||
set WALLET_PASSWORD [lindex $argv 0] |
|||
set WALLET_PASSPHRASE [lindex $argv 1] |
|||
|
|||
set force_conservative 0 ;# set to 1 to force conservative mode even if |
|||
;# script wasn't run conservatively originally |
|||
if {$force_conservative} { |
|||
set send_slow {1 .1} |
|||
proc send {ignore arg} { |
|||
sleep .1 |
|||
exp_send -s -- $arg |
|||
} |
|||
} |
|||
|
|||
set timeout -1 |
|||
spawn lncli --lnddir=/relay/.lnd/ create |
|||
match_max 100000 |
|||
expect -exact "Input wallet password: " |
|||
send -- "$WALLET_PASSWORD\r" |
|||
expect -exact "\r |
|||
Confirm password:\r |
|||
" |
|||
send -- "$WALLET_PASSWORD\r" |
|||
expect -exact "\r |
|||
\r |
|||
Do you have an existing cipher seed mnemonic you want to use? (Enter y/n): " |
|||
send -- "n\r" |
|||
expect -exact "n\r |
|||
\r |
|||
Your cipher seed can optionally be encrypted.\r |
|||
Input your passphrase if you wish to encrypt it (or press enter to proceed without a cipher seed passphrase): " |
|||
send -- "$WALLET_PASSPHRASE\r" |
|||
expect -exact "\r |
|||
Confirm password:\r |
|||
" |
|||
send -- "$WALLET_PASSPHRASE\r" |
|||
expect eof |
@ -0,0 +1,54 @@ |
|||
#!/bin/bash |
|||
|
|||
# turn on bash's job control |
|||
set -m |
|||
|
|||
echo "Setting ENV vars..." |
|||
|
|||
if [ ! -z ${ECS_CONTAINER_METADATA_URI+x} ]; then |
|||
echo "ECS environment found, setting domain..." |
|||
export NODE_DOMAIN=$(curl $ECS_CONTAINER_METADATA_URI | echo $(jq -r .DockerName).$NODE_DOMAIN) |
|||
fi |
|||
|
|||
# For dev purposes only |
|||
# export NODE_DOMAIN=lvh.me |
|||
|
|||
export NODE_ALIAS=$HOSTNAME |
|||
export NODE_IP=$NODE_SCHEME://$NODE_DOMAIN |
|||
|
|||
if [[ ! -f "/var/run/docker.sock" ]]; then |
|||
echo "Docker socket found, pulling LND port..." |
|||
export NODE_LND_PORT=$(curl --unix-socket /var/run/docker.sock http://localhost/containers/$HOSTNAME/json | jq -r '.NetworkSettings.Ports."9735/tcp"[0].HostPort') |
|||
fi |
|||
|
|||
echo "Starting supervisor..." |
|||
# Start the primary process and put it in the background |
|||
/usr/bin/supervisord & |
|||
|
|||
sleep 5 |
|||
|
|||
if [[ -f "/relay/.lnd/.lndpwd" ]]; then |
|||
echo "Wallet file found..." |
|||
else |
|||
echo "Creating wallet..." |
|||
WALLET_PASSWORD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c20) |
|||
WALLET_PASSPHRASE=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c20) |
|||
|
|||
echo $WALLET_PASSWORD >> /relay/.lnd/.lndpwd |
|||
echo $WALLET_PASSPHRASE >> /relay/.lnd/.lndpwd |
|||
|
|||
expect /relay/docker/create_wallet.sh $WALLET_PASSWORD $WALLET_PASSPHRASE >> /relay/.lnd/.tempseed |
|||
|
|||
sed -e '2,14d' < /relay/.lnd/.tempseed >> /relay/.lnd/.lndseed |
|||
|
|||
rm /relay/.lnd/.tempseed |
|||
|
|||
sleep 5 |
|||
fi |
|||
|
|||
echo "Starting relay..." |
|||
supervisorctl start relay |
|||
|
|||
# now we bring the primary process back into the foreground |
|||
# and leave it there |
|||
fg %1 |
@ -0,0 +1,3 @@ |
|||
#!/bin/bash |
|||
|
|||
alias nodessh='_nodessh(){ docker exec -it "$1" /bin/bash;}; _nodessh' |
@ -1,12 +1,14 @@ |
|||
listen=0.0.0.0:9735 |
|||
rpclisten=0.0.0.0:10009 |
|||
|
|||
bitcoin.mainnet=1 |
|||
bitcoin.active=1 |
|||
bitcoin.node=neutrino |
|||
accept-keysend=1 |
|||
|
|||
listen=0.0.0.0:9735 |
|||
rpclisten=0.0.0.0:10009 |
|||
|
|||
ignore-historical-gossip-filters=true |
|||
nobootstrap=true |
|||
numgraphsyncpeers=1 |
|||
routing.assumechanvalid=1 |
|||
autopilot.active=false |
|||
|
@ -0,0 +1,10 @@ |
|||
[program:lnd] |
|||
user=root |
|||
command=sh -c 'lnd --lnddir=/relay/.lnd/ --alias=$HOSTNAME --tlsextradomain=$NODE_DOMAIN --externalip=$NODE_DOMAIN' |
|||
startretries=999999999999999999999999999 |
|||
autostart=true |
|||
autorestart=true |
|||
stdout_logfile=/var/log/supervisor/%(program_name)s.log |
|||
stderr_logfile=/var/log/supervisor/%(program_name)s.log |
|||
stdout_logfile_maxbytes=10MB |
|||
stdout_logfile_backups=10 |
@ -0,0 +1,10 @@ |
|||
[program:relay] |
|||
user=root |
|||
command=sh -c 'npm run start-ecs --prefix /relay/' |
|||
startretries=999999999999999999999999999 |
|||
autostart=false |
|||
autorestart=true |
|||
stdout_logfile=/var/log/supervisor/%(program_name)s.log |
|||
stderr_logfile=/var/log/supervisor/%(program_name)s.log |
|||
stdout_logfile_maxbytes=10MB |
|||
stdout_logfile_backups=10 |
@ -1,2 +0,0 @@ |
|||
NODE_IP=$(curl http://169.254.170.2/v4/e52231f4-0246-4fc5-bc3e-ac20df1b118e | echo $(jq -r .DockerName).$NODE_DOMAIN) |
|||
NODE_ALIAS=$(curl http://169.254.170.2/v4/e52231f4-0246-4fc5-bc3e-ac20df1b118e | echo $(jq -r .DockerName)) |
@ -1,6 +0,0 @@ |
|||
[program:lnd] |
|||
user=root |
|||
command=lnd --lnddir=/relay/.lnd/ |
|||
startretries=999999999999999999999999999 |
|||
autostart=true |
|||
autorestart=true |
@ -1,6 +0,0 @@ |
|||
[program:relay] |
|||
user=root |
|||
command=npm start --prefix /relay/ |
|||
startretries=999999999999999999999999999 |
|||
autostart=true |
|||
autorestart=true |
File diff suppressed because it is too large
@ -0,0 +1,228 @@ |
|||
syntax = "proto3"; |
|||
|
|||
package signrpc; |
|||
|
|||
option go_package = "github.com/lightningnetwork/lnd/lnrpc/signrpc"; |
|||
|
|||
// Signer is a service that gives access to the signing functionality of the |
|||
// daemon's wallet. |
|||
service Signer { |
|||
/* |
|||
SignOutputRaw is a method that can be used to generated a signature for a |
|||
set of inputs/outputs to a transaction. Each request specifies details |
|||
concerning how the outputs should be signed, which keys they should be |
|||
signed with, and also any optional tweaks. The return value is a fixed |
|||
64-byte signature (the same format as we use on the wire in Lightning). |
|||
|
|||
If we are unable to sign using the specified keys, then an error will be |
|||
returned. |
|||
*/ |
|||
rpc SignOutputRaw (SignReq) returns (SignResp); |
|||
|
|||
/* |
|||
ComputeInputScript generates a complete InputIndex for the passed |
|||
transaction with the signature as defined within the passed SignDescriptor. |
|||
This method should be capable of generating the proper input script for |
|||
both regular p2wkh output and p2wkh outputs nested within a regular p2sh |
|||
output. |
|||
|
|||
Note that when using this method to sign inputs belonging to the wallet, |
|||
the only items of the SignDescriptor that need to be populated are pkScript |
|||
in the TxOut field, the value in that same field, and finally the input |
|||
index. |
|||
*/ |
|||
rpc ComputeInputScript (SignReq) returns (InputScriptResp); |
|||
|
|||
/* |
|||
SignMessage signs a message with the key specified in the key locator. The |
|||
returned signature is fixed-size LN wire format encoded. |
|||
|
|||
The main difference to SignMessage in the main RPC is that a specific key is |
|||
used to sign the message instead of the node identity private key. |
|||
*/ |
|||
rpc SignMessage (SignMessageReq) returns (SignMessageResp); |
|||
|
|||
/* |
|||
VerifyMessage verifies a signature over a message using the public key |
|||
provided. The signature must be fixed-size LN wire format encoded. |
|||
|
|||
The main difference to VerifyMessage in the main RPC is that the public key |
|||
used to sign the message does not have to be a node known to the network. |
|||
*/ |
|||
rpc VerifyMessage (VerifyMessageReq) returns (VerifyMessageResp); |
|||
|
|||
/* |
|||
DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key |
|||
derivation between the ephemeral public key in the request and the node's |
|||
key specified in the key_loc parameter (or the node's identity private key |
|||
if no key locator is specified): |
|||
P_shared = privKeyNode * ephemeralPubkey |
|||
The resulting shared public key is serialized in the compressed format and |
|||
hashed with sha256, resulting in the final key length of 256bit. |
|||
*/ |
|||
rpc DeriveSharedKey (SharedKeyRequest) returns (SharedKeyResponse); |
|||
} |
|||
|
|||
message KeyLocator { |
|||
// The family of key being identified. |
|||
int32 key_family = 1; |
|||
|
|||
// The precise index of the key being identified. |
|||
int32 key_index = 2; |
|||
} |
|||
|
|||
message KeyDescriptor { |
|||
/* |
|||
The raw bytes of the key being identified. Either this or the KeyLocator |
|||
must be specified. |
|||
*/ |
|||
bytes raw_key_bytes = 1; |
|||
|
|||
/* |
|||
The key locator that identifies which key to use for signing. Either this |
|||
or the raw bytes of the target key must be specified. |
|||
*/ |
|||
KeyLocator key_loc = 2; |
|||
} |
|||
|
|||
message TxOut { |
|||
// The value of the output being spent. |
|||
int64 value = 1; |
|||
|
|||
// The script of the output being spent. |
|||
bytes pk_script = 2; |
|||
} |
|||
|
|||
message SignDescriptor { |
|||
/* |
|||
A descriptor that precisely describes *which* key to use for signing. This |
|||
may provide the raw public key directly, or require the Signer to re-derive |
|||
the key according to the populated derivation path. |
|||
*/ |
|||
KeyDescriptor key_desc = 1; |
|||
|
|||
/* |
|||
A scalar value that will be added to the private key corresponding to the |
|||
above public key to obtain the private key to be used to sign this input. |
|||
This value is typically derived via the following computation: |
|||
|
|||
* derivedKey = privkey + sha256(perCommitmentPoint || pubKey) mod N |
|||
*/ |
|||
bytes single_tweak = 2; |
|||
|
|||
/* |
|||
A private key that will be used in combination with its corresponding |
|||
private key to derive the private key that is to be used to sign the target |
|||
input. Within the Lightning protocol, this value is typically the |
|||
commitment secret from a previously revoked commitment transaction. This |
|||
value is in combination with two hash values, and the original private key |
|||
to derive the private key to be used when signing. |
|||
|
|||
* k = (privKey*sha256(pubKey || tweakPub) + |
|||
tweakPriv*sha256(tweakPub || pubKey)) mod N |
|||
*/ |
|||
bytes double_tweak = 3; |
|||
|
|||
/* |
|||
The full script required to properly redeem the output. This field will |
|||
only be populated if a p2wsh or a p2sh output is being signed. |
|||
*/ |
|||
bytes witness_script = 4; |
|||
|
|||
/* |
|||
A description of the output being spent. The value and script MUST be |
|||
provided. |
|||
*/ |
|||
TxOut output = 5; |
|||
|
|||
/* |
|||
The target sighash type that should be used when generating the final |
|||
sighash, and signature. |
|||
*/ |
|||
uint32 sighash = 7; |
|||
|
|||
/* |
|||
The target input within the transaction that should be signed. |
|||
*/ |
|||
int32 input_index = 8; |
|||
} |
|||
|
|||
message SignReq { |
|||
// The raw bytes of the transaction to be signed. |
|||
bytes raw_tx_bytes = 1; |
|||
|
|||
// A set of sign descriptors, for each input to be signed. |
|||
repeated SignDescriptor sign_descs = 2; |
|||
} |
|||
|
|||
message SignResp { |
|||
/* |
|||
A set of signatures realized in a fixed 64-byte format ordered in ascending |
|||
input order. |
|||
*/ |
|||
repeated bytes raw_sigs = 1; |
|||
} |
|||
|
|||
message InputScript { |
|||
// The serializes witness stack for the specified input. |
|||
repeated bytes witness = 1; |
|||
|
|||
/* |
|||
The optional sig script for the specified witness that will only be set if |
|||
the input specified is a nested p2sh witness program. |
|||
*/ |
|||
bytes sig_script = 2; |
|||
} |
|||
|
|||
message InputScriptResp { |
|||
// The set of fully valid input scripts requested. |
|||
repeated InputScript input_scripts = 1; |
|||
} |
|||
|
|||
message SignMessageReq { |
|||
// The message to be signed. |
|||
bytes msg = 1; |
|||
|
|||
// The key locator that identifies which key to use for signing. |
|||
KeyLocator key_loc = 2; |
|||
} |
|||
message SignMessageResp { |
|||
/* |
|||
The signature for the given message in the fixed-size LN wire format. |
|||
*/ |
|||
bytes signature = 1; |
|||
} |
|||
|
|||
message VerifyMessageReq { |
|||
// The message over which the signature is to be verified. |
|||
bytes msg = 1; |
|||
|
|||
/* |
|||
The fixed-size LN wire encoded signature to be verified over the given |
|||
message. |
|||
*/ |
|||
bytes signature = 2; |
|||
|
|||
// The public key the signature has to be valid for. |
|||
bytes pubkey = 3; |
|||
} |
|||
message VerifyMessageResp { |
|||
// Whether the signature was valid over the given message. |
|||
bool valid = 1; |
|||
} |
|||
|
|||
message SharedKeyRequest { |
|||
// The ephemeral public key to use for the DH key derivation. |
|||
bytes ephemeral_pubkey = 1; |
|||
|
|||
/* |
|||
The optional key locator of the local key that should be used. If this |
|||
parameter is not set then the node's identity private key will be used. |
|||
*/ |
|||
KeyLocator key_loc = 2; |
|||
} |
|||
|
|||
message SharedKeyResponse { |
|||
// The shared public key, hashed with sha256. |
|||
bytes shared_key = 1; |
|||
} |
Loading…
Reference in new issue