Browse Source

Merge pull request #132 from stakwork/fix-sign

Fix sign
jsc2 v1.2.10
Evan Feenstra 4 years ago
committed by GitHub
parent
commit
5b00822637
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      dist/src/controllers/index.js
  2. 2
      dist/src/controllers/index.js.map
  3. 39
      dist/src/controllers/messages.js
  4. 2
      dist/src/controllers/messages.js.map
  5. 2
      dist/src/controllers/queries.js.map
  6. 1
      dist/src/network/receive.js
  7. 2
      dist/src/network/receive.js.map
  8. 4
      dist/src/utils/lightning.js
  9. 2
      dist/src/utils/lightning.js.map
  10. 8
      dist/src/utils/macaroon.js
  11. 2
      dist/src/utils/macaroon.js.map
  12. 2
      dist/src/utils/signer.js
  13. 2
      dist/src/utils/signer.js.map
  14. 1
      src/controllers/index.ts
  15. 45
      src/controllers/messages.ts
  16. 142
      src/controllers/queries.ts
  17. 1
      src/network/receive.ts
  18. 12
      src/utils/lightning.ts
  19. 8
      src/utils/macaroon.ts
  20. 4
      src/utils/signer.ts

1
dist/src/controllers/index.js

@ -58,6 +58,7 @@ function set(app) {
app.post('/contacts/:id/keys', contacts.exchangeKeys);
app.post('/contacts', contacts.createContact);
app.delete('/contacts/:id', contacts.deleteContact);
app.get('/msgs', messages.getMsgs);
app.get('/allmessages', messages.getAllMessages);
app.get('/messages', messages.getMessages);
app.delete('/message/:id', messages.deleteMessage);

2
dist/src/controllers/index.js.map

File diff suppressed because one or more lines are too long

39
dist/src/controllers/messages.js

@ -108,6 +108,39 @@ exports.getAllMessages = (req, res) => __awaiter(void 0, void 0, void 0, functio
confirmed_messages: []
});
});
exports.getMsgs = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
const limit = (req.query.limit && parseInt(req.query.limit));
const offset = (req.query.offset && parseInt(req.query.offset));
const dateToReturn = req.query.date;
if (!dateToReturn) {
return exports.getAllMessages(req, res);
}
console.log(`=> getMsgs, limit: ${limit}, offset: ${offset}`);
const clause = {
order: [['id', 'asc']],
where: {
updated_at: { [sequelize_1.Op.gte]: dateToReturn },
}
};
if (limit) {
clause.limit = limit;
clause.offset = offset;
}
console.log('=> clause:', clause);
const messages = yield models_1.models.Message.findAll(clause);
console.log('=> got msgs', (messages && messages.length));
const chatIds = [];
messages.forEach((m) => {
if (m.chatId && !chatIds.includes(m.chatId)) {
chatIds.push(m.chatId);
}
});
let chats = chatIds.length > 0 ? yield models_1.models.Chat.findAll({ where: { deleted: false, id: chatIds } }) : [];
const chatsById = underscore_1.indexBy(chats, 'id');
res_1.success(res, {
new_messages: messages.map(message => jsonUtils.messageToJson(message, chatsById[parseInt(message.chatId)])),
});
});
function deleteMessage(req, res) {
return __awaiter(this, void 0, void 0, function* () {
const id = parseInt(req.params.id);
@ -365,7 +398,11 @@ exports.readMessages = (req, res) => __awaiter(void 0, void 0, void 0, function*
sender: {
[sequelize_1.Op.ne]: owner.id
},
chatId: chat_id
chatId: chat_id,
[sequelize_1.Op.or]: [
{ seen: false },
{ seen: null }
]
}
});
const chat = yield models_1.models.Chat.findOne({ where: { id: chat_id } });

2
dist/src/controllers/messages.js.map

File diff suppressed because one or more lines are too long

2
dist/src/controllers/queries.js.map

@ -1 +1 @@
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/controllers/queries.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/controllers/queries.ts"],"names":[],"mappings":"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"}

1
dist/src/network/receive.js

@ -332,6 +332,7 @@ function parseAndVerifyPayload(data) {
let v;
if (sig.length === 96 && payload.sender.pub_key) { // => RM THIS
v = yield signer.verifyAscii(msg, sig, payload.sender.pub_key);
console.log("VERIFY", v);
}
if (v && v.valid) {
return payload;

2
dist/src/network/receive.js.map

File diff suppressed because one or more lines are too long

4
dist/src/utils/lightning.js

@ -27,10 +27,10 @@ const SPHINX_CUSTOM_RECORD_KEY = 133773310;
exports.SPHINX_CUSTOM_RECORD_KEY = SPHINX_CUSTOM_RECORD_KEY;
var lightningClient = null;
var walletUnlocker = null;
const loadCredentials = () => {
const loadCredentials = (macName) => {
var lndCert = fs.readFileSync(config.tls_location);
var sslCreds = grpc.credentials.createSsl(lndCert);
var macaroon = macaroon_1.getMacaroon();
var macaroon = macaroon_1.getMacaroon(macName);
var metadata = new grpc.Metadata();
metadata.add('macaroon', macaroon);
var macaroonCreds = grpc.credentials.createFromMetadataGenerator((_args, callback) => {

2
dist/src/utils/lightning.js.map

File diff suppressed because one or more lines are too long

8
dist/src/utils/macaroon.js

@ -4,12 +4,16 @@ const fs = require("fs");
const config_1 = require("./config");
const config = config_1.loadConfig();
let inMemoryMacaroon = ''; // hex encoded
function getMacaroon() {
function getMacaroon(macName) {
if (config.unlock) {
return inMemoryMacaroon;
}
else {
const m = fs.readFileSync(config.macaroon_location);
let macLocation = config.macaroon_location;
if (macName) {
macLocation = macLocation.replace(/admin.macaroon/, macName);
}
const m = fs.readFileSync(macLocation);
return m.toString('hex');
}
}

2
dist/src/utils/macaroon.js.map

@ -1 +1 @@
{"version":3,"file":"macaroon.js","sourceRoot":"","sources":["../../../src/utils/macaroon.ts"],"names":[],"mappings":";;AAAA,yBAAwB;AACxB,qCAAmC;AAEnC,MAAM,MAAM,GAAG,mBAAU,EAAE,CAAA;AAE3B,IAAI,gBAAgB,GAAW,EAAE,CAAC,CAAC,cAAc;AAEjD,SAAgB,WAAW;IACzB,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,OAAO,gBAAgB,CAAA;KACxB;SAAM;QACL,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACnD,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC1B;AACH,CAAC;AAPD,kCAOC;AAED,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,gBAAgB,GAAG,GAAG,CAAA;AACxB,CAAC;AAFD,kDAEC"}
{"version":3,"file":"macaroon.js","sourceRoot":"","sources":["../../../src/utils/macaroon.ts"],"names":[],"mappings":";;AAAA,yBAAwB;AACxB,qCAAmC;AAEnC,MAAM,MAAM,GAAG,mBAAU,EAAE,CAAA;AAE3B,IAAI,gBAAgB,GAAW,EAAE,CAAC,CAAC,cAAc;AAEjD,SAAgB,WAAW,CAAC,OAAe;IACzC,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,OAAO,gBAAgB,CAAA;KACxB;SAAM;QACL,IAAI,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAA;QAC1C,IAAG,OAAO,EAAE;YACV,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;SAC7D;QACD,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QACtC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC1B;AACH,CAAC;AAXD,kCAWC;AAED,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,gBAAgB,GAAG,GAAG,CAAA;AACxB,CAAC;AAFD,kDAEC"}

2
dist/src/utils/signer.js

@ -23,7 +23,7 @@ exports.loadSigner = () => {
}
else {
try {
var credentials = lightning_1.loadCredentials();
var credentials = lightning_1.loadCredentials('signer.macaroon');
var lnrpcDescriptor = grpc.load("proto/signer.proto");
var signer = lnrpcDescriptor.signrpc;
signerClient = new signer.Signer(LND_IP + ':' + config.lnd_port, credentials);

2
dist/src/utils/signer.js.map

@ -1 +1 @@
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":"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"}

1
src/controllers/index.ts

@ -56,6 +56,7 @@ export async function set(app) {
app.post('/contacts', contacts.createContact)
app.delete('/contacts/:id', contacts.deleteContact)
app.get('/msgs', messages.getMsgs)
app.get('/allmessages', messages.getAllMessages)
app.get('/messages', messages.getMessages)
app.delete('/message/:id', messages.deleteMessage)

45
src/controllers/messages.ts

@ -93,6 +93,7 @@ export const getMessages = async (req, res) => {
export const getAllMessages = async (req, res) => {
const limit = (req.query.limit && parseInt(req.query.limit)) || 1000
const offset = (req.query.offset && parseInt(req.query.offset)) || 0
console.log(`=> getAllMessages, limit: ${limit}, offset: ${offset}`)
const messages = await models.Message.findAll({ order: [['id', 'asc']], limit, offset })
@ -116,6 +117,44 @@ export const getAllMessages = async (req, res) => {
})
};
export const getMsgs = async (req, res) => {
const limit = (req.query.limit && parseInt(req.query.limit))
const offset = (req.query.offset && parseInt(req.query.offset))
const dateToReturn = req.query.date;
if (!dateToReturn) {
return getAllMessages(req, res)
}
console.log(`=> getMsgs, limit: ${limit}, offset: ${offset}`)
const clause:{[k:string]:any} = {
order: [['id', 'asc']],
where: {
updated_at: { [Op.gte]: dateToReturn },
}
}
if(limit) {
clause.limit = limit
clause.offset = offset
}
console.log('=> clause:',clause)
const messages = await models.Message.findAll(clause)
console.log('=> got msgs', (messages && messages.length))
const chatIds: number[] = []
messages.forEach((m) => {
if (m.chatId && !chatIds.includes(m.chatId)) {
chatIds.push(m.chatId)
}
})
let chats = chatIds.length > 0 ? await models.Chat.findAll({ where: { deleted: false, id: chatIds } }) : []
const chatsById = indexBy(chats, 'id')
success(res, {
new_messages: messages.map(
message => jsonUtils.messageToJson(message, chatsById[parseInt(message.chatId)])
),
})
};
export async function deleteMessage(req, res) {
const id = parseInt(req.params.id)
@ -405,7 +444,11 @@ export const readMessages = async (req, res) => {
sender: {
[Op.ne]: owner.id
},
chatId: chat_id
chatId: chat_id,
[Op.or]: [
{ seen: false },
{ seen: null }
]
}
});
const chat = await models.Chat.findOne({ where: { id: chat_id } })

142
src/controllers/queries.ts

@ -4,7 +4,7 @@ import * as network from '../network'
import constants from '../constants'
import * as short from 'short-uuid'
import * as lightning from '../utils/lightning'
import {listUnspent,UTXO} from '../utils/wallet'
import { listUnspent, UTXO } from '../utils/wallet'
import * as jsonUtils from '../utils/json'
import { Op } from 'sequelize'
@ -22,11 +22,11 @@ const hub_pubkey = '023d70f2f76d283c6c4e58109ee3a2816eb9d8feb40b23d62469060a2b28
export async function listUTXOs(req, res) {
try {
const utxos:UTXO[] = await listUnspent() // at least 1 confg
const addys = utxos.map(utxo=> utxo.address)
const utxos: UTXO[] = await listUnspent() // at least 1 confg
const addys = utxos.map(utxo => utxo.address)
const accountings = await models.Accounting.findAll({
where:{
where: {
onchain_address: {
[Op.in]: addys
},
@ -35,18 +35,18 @@ export async function listUTXOs(req, res) {
})
const ret: any[] = []
accountings.forEach(a=>{
const acc = {...a.dataValues}
const utxo = utxos.find(u=>u.address===a.onchainAddress)
if(utxo) {
accountings.forEach(a => {
const acc = { ...a.dataValues }
const utxo = utxos.find(u => u.address === a.onchainAddress)
if (utxo) {
acc.amount = utxo.amount_sat
acc.confirmations = utxo.confirmations
ret.push(acc)
}
})
success(res, ret.map(acc=> jsonUtils.accountingToJson(acc)))
} catch(e) {
success(res, ret.map(acc => jsonUtils.accountingToJson(acc)))
} catch (e) {
failure(res, e)
}
}
@ -54,49 +54,49 @@ export async function listUTXOs(req, res) {
export async function queryOnchainAddress(req, res) {
console.log('=> queryOnchainAddress')
const uuid = short.generate()
const owner = await models.Contact.findOne({ where: { isOwner: true } })
const app = req.params.app;
const owner = await models.Contact.findOne({ where: { isOwner: true } })
const app = req.params.app;
const query:Query = {
type:'onchain_address',
const query: Query = {
type: 'onchain_address',
uuid,
app
}
const opts = {
amt: constants.min_sat_amount,
dest: hub_pubkey,
data: <network.Msg>{
type: constants.message_types.query,
message: {
const opts = {
amt: constants.min_sat_amount,
dest: hub_pubkey,
data: <network.Msg>{
type: constants.message_types.query,
message: {
content: JSON.stringify(query)
},
sender: { pub_key: owner.publicKey }
}
}
try {
await network.signAndSend(opts)
} catch (e) {
failure(res, e)
return
}
},
sender: { pub_key: owner.publicKey }
}
}
try {
await network.signAndSend(opts)
} catch (e) {
failure(res, e)
return
}
let i = 0
let interval = setInterval(() => {
if (i >= 15) {
clearInterval(interval)
delete queries[uuid]
failure(res, 'no response received')
return
}
if (queries[uuid]) {
success(res, queries[uuid].result)
clearInterval(interval)
delete queries[uuid]
return
}
i++
}, 1000)
let i = 0
let interval = setInterval(() => {
if (i >= 15) {
clearInterval(interval)
delete queries[uuid]
failure(res, 'no response received')
return
}
if (queries[uuid]) {
success(res, queries[uuid].result)
clearInterval(interval)
delete queries[uuid]
return
}
i++
}, 1000)
}
export const receiveQuery = async (payload) => {
@ -105,14 +105,14 @@ export const receiveQuery = async (payload) => {
const content = dat.message.content
const owner = await models.Contact.findOne({ where: { isOwner: true } })
if(!sender_pub_key || !content || !owner) {
if (!sender_pub_key || !content || !owner) {
return console.log('=> wrong query format')
}
let q:Query
let q: Query
try {
q = JSON.parse(content)
} catch(e) {
console.log("=> ERROR receiveQuery,",e)
} catch (e) {
console.log("=> ERROR receiveQuery,", e)
return
}
console.log('=> query received', q)
@ -126,35 +126,35 @@ export const receiveQuery = async (payload) => {
onchainAddress: addy,
amount: 0,
sourceApp: q.app,
status:constants.statuses.pending,
error:'',
status: constants.statuses.pending,
error: '',
}
await models.Accounting.create(acc)
result = addy
}
const ret:Query = {
const ret: Query = {
type: q.type,
uuid: q.uuid,
app: q.app,
result,
}
const opts = {
amt: constants.min_sat_amount,
dest: sender_pub_key,
data: <network.Msg>{
type: constants.message_types.query_response,
message: {
amt: constants.min_sat_amount,
dest: sender_pub_key,
data: <network.Msg>{
type: constants.message_types.query_response,
message: {
content: JSON.stringify(ret)
},
sender: { pub_key: owner.publicKey }
}
}
try {
await network.signAndSend(opts)
} catch (e) {
console.log("FAILED TO SEND QUERY_RESPONSE")
return
}
},
sender: { pub_key: owner.publicKey }
}
}
try {
await network.signAndSend(opts)
} catch (e) {
console.log("FAILED TO SEND QUERY_RESPONSE")
return
}
}
export const receiveQueryResponse = async (payload) => {
@ -163,9 +163,9 @@ export const receiveQueryResponse = async (payload) => {
// const sender_pub_key = dat.sender.pub_key
const content = dat.message.content
try {
const q:Query = JSON.parse(content)
const q: Query = JSON.parse(content)
queries[q.uuid] = q
} catch(e) {
console.log("=> ERROR receiveQueryResponse,",e)
} catch (e) {
console.log("=> ERROR receiveQueryResponse,", e)
}
}

1
src/network/receive.ts

@ -308,6 +308,7 @@ async function parseAndVerifyPayload(data) {
let v
if (sig.length === 96 && payload.sender.pub_key) { // => RM THIS
v = await signer.verifyAscii(msg, sig, payload.sender.pub_key)
console.log("VERIFY",v)
}
if (v && v.valid) {
return payload

12
src/utils/lightning.ts

@ -6,7 +6,7 @@ import * as sha from 'js-sha256'
import * as crypto from 'crypto'
import constants from '../constants'
import { getMacaroon } from './macaroon'
import {loadConfig} from './config'
import { loadConfig } from './config'
// var protoLoader = require('@grpc/proto-loader')
const config = loadConfig()
@ -18,10 +18,10 @@ const SPHINX_CUSTOM_RECORD_KEY = 133773310
var lightningClient = <any>null;
var walletUnlocker = <any>null;
const loadCredentials = () => {
const loadCredentials = (macName?: string) => {
var lndCert = fs.readFileSync(config.tls_location);
var sslCreds = grpc.credentials.createSsl(lndCert);
var macaroon = getMacaroon()
var macaroon = getMacaroon(macName)
var metadata = new grpc.Metadata()
metadata.add('macaroon', macaroon)
var macaroonCreds = grpc.credentials.createFromMetadataGenerator((_args, callback) => {
@ -140,8 +140,8 @@ export const WITNESS_PUBKEY_HASH = 0;
export const NESTED_PUBKEY_HASH = 1;
export const UNUSED_WITNESS_PUBKEY_HASH = 2;
export const UNUSED_NESTED_PUBKEY_HASH = 3;
export type NewAddressType = 0|1|2|3
export async function newAddress(type:NewAddressType=NESTED_PUBKEY_HASH): Promise<string> {
export type NewAddressType = 0 | 1 | 2 | 3
export async function newAddress(type: NewAddressType = NESTED_PUBKEY_HASH): Promise<string> {
return new Promise(async function (resolve, reject) {
let lightning = await loadLightning()
lightning.newAddress(
@ -151,7 +151,7 @@ export async function newAddress(type:NewAddressType=NESTED_PUBKEY_HASH): Promis
reject(err)
return
}
if(!(response && response.address)) {
if (!(response && response.address)) {
reject('no address')
return
}

8
src/utils/macaroon.ts

@ -5,11 +5,15 @@ const config = loadConfig()
let inMemoryMacaroon: string = ''; // hex encoded
export function getMacaroon() {
export function getMacaroon(macName?:string) {
if (config.unlock) {
return inMemoryMacaroon
} else {
const m = fs.readFileSync(config.macaroon_location)
let macLocation = config.macaroon_location
if(macName) {
macLocation = macLocation.replace(/admin.macaroon/, macName)
}
const m = fs.readFileSync(macLocation)
return m.toString('hex');
}
}

4
src/utils/signer.ts

@ -2,7 +2,7 @@
import * as grpc from 'grpc'
import { loadCredentials } from './lightning'
import * as ByteBuffer from 'bytebuffer'
import {loadConfig} from './config'
import { loadConfig } from './config'
// var protoLoader = require('@grpc/proto-loader')
const config = loadConfig()
@ -15,7 +15,7 @@ export const loadSigner = () => {
return signerClient
} else {
try {
var credentials = loadCredentials()
var credentials = loadCredentials('signer.macaroon')
var lnrpcDescriptor = grpc.load("proto/signer.proto");
var signer: any = lnrpcDescriptor.signrpc
signerClient = new signer.Signer(LND_IP + ':' + config.lnd_port, credentials);

Loading…
Cancel
Save