mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 12:15:51 +00:00
@@ -1,52 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
/* eslint-disable no-var */
|
|
||||||
'use strict';
|
|
||||||
var SerializedObject = require('..').SerializedObject;
|
|
||||||
|
|
||||||
function main() {
|
|
||||||
var argv = process.argv.slice(2);
|
|
||||||
var blob = argv.shift();
|
|
||||||
|
|
||||||
if (blob === '-') {
|
|
||||||
read_input(ready);
|
|
||||||
} else {
|
|
||||||
ready(blob);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function read_input(callback) {
|
|
||||||
var tx_json = '';
|
|
||||||
process.stdin.on('data', function(data) {
|
|
||||||
tx_json += data;
|
|
||||||
});
|
|
||||||
process.stdin.on('end', callback);
|
|
||||||
process.stdin.resume();
|
|
||||||
}
|
|
||||||
|
|
||||||
function ready(blob) {
|
|
||||||
var valid_arguments = blob;
|
|
||||||
|
|
||||||
if (!valid_arguments) {
|
|
||||||
console.error('Invalid arguments\n');
|
|
||||||
print_usage();
|
|
||||||
} else {
|
|
||||||
decode(blob);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function print_usage() {
|
|
||||||
/* eslint-disable max-len */
|
|
||||||
console.log(
|
|
||||||
'Usage: decode_binary.js <hex_blob>\n\n',
|
|
||||||
'Example: decode_binary.js 120000240000000161D6871AFD498D00000000000000000000000000005553440000000000550FC62003E785DC231A1058A05E56E3F09CF4E668400000000000000A732102AE75B908F0A95F740A7BFA96057637E5C2170BC8DAD13B2F7B52AE75FAEBEFCF811450F97A072F1C4357F1AD84566A609479D927C9428314550FC62003E785DC231A1058A05E56E3F09CF4E6'
|
|
||||||
);
|
|
||||||
/* eslint-enable max-len */
|
|
||||||
}
|
|
||||||
|
|
||||||
function decode(blob) {
|
|
||||||
var buffer = new SerializedObject(blob);
|
|
||||||
console.log(buffer.to_json());
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
||||||
// vim:sw=2:sts=2:ts=8:et
|
|
||||||
97
bin/rsign.js
97
bin/rsign.js
@@ -1,97 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
/* eslint-disable no-var */
|
|
||||||
'use strict';
|
|
||||||
var Transaction = require('..').Transaction;
|
|
||||||
|
|
||||||
function read_input(callback) {
|
|
||||||
var stdin = '';
|
|
||||||
process.stdin.on('data', function(data) {
|
|
||||||
stdin += data;
|
|
||||||
});
|
|
||||||
process.stdin.on('end', function() {
|
|
||||||
callback(stdin);
|
|
||||||
});
|
|
||||||
process.stdin.resume();
|
|
||||||
}
|
|
||||||
|
|
||||||
function print_usage() {
|
|
||||||
console.log(
|
|
||||||
'Usage: rsign.js <secret> <json>\n\n',
|
|
||||||
'Example: rsign.js ssq55ueDob4yV3kPVnNQLHB6icwpC', '\'' +
|
|
||||||
JSON.stringify({
|
|
||||||
TransactionType: 'Payment',
|
|
||||||
Account: 'r3P9vH81KBayazSTrQj6S25jW6kDb779Gi',
|
|
||||||
Destination: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV',
|
|
||||||
Amount: '200000000',
|
|
||||||
Fee: '10',
|
|
||||||
Sequence: 1
|
|
||||||
}) + '\''
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function sign_transaction(tx_json_object, secret, verbose) {
|
|
||||||
var tx = new Transaction();
|
|
||||||
|
|
||||||
tx.tx_json = tx_json_object;
|
|
||||||
tx._secret = secret;
|
|
||||||
tx.complete();
|
|
||||||
|
|
||||||
var unsigned_blob = tx.serialize().to_hex();
|
|
||||||
var unsigned_hash = tx.signingHash();
|
|
||||||
tx.sign();
|
|
||||||
|
|
||||||
if (verbose) {
|
|
||||||
var sim = { };
|
|
||||||
sim.tx_blob = tx.serialize().to_hex();
|
|
||||||
sim.tx_json = tx.tx_json;
|
|
||||||
sim.tx_signing_hash = unsigned_hash;
|
|
||||||
sim.tx_unsigned = unsigned_blob;
|
|
||||||
console.log(JSON.stringify(sim, null, 2));
|
|
||||||
} else {
|
|
||||||
console.log(tx.serialize().to_hex());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function ready(tx_json, secret, verbose) {
|
|
||||||
if (!(tx_json && secret)) {
|
|
||||||
console.error('Invalid arguments\n');
|
|
||||||
print_usage();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var tx_json_object;
|
|
||||||
try {
|
|
||||||
tx_json_object = JSON.parse(tx_json);
|
|
||||||
} catch(exception) {
|
|
||||||
console.error('Invalid JSON\n');
|
|
||||||
print_usage();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
sign_transaction(tx_json_object, secret, verbose);
|
|
||||||
}
|
|
||||||
|
|
||||||
function main() {
|
|
||||||
var argv = process.argv.slice(2);
|
|
||||||
var verbose;
|
|
||||||
var secret;
|
|
||||||
var tx_json;
|
|
||||||
|
|
||||||
if (~argv.indexOf('-v')) {
|
|
||||||
argv.splice(argv.indexOf('-v'), 1);
|
|
||||||
verbose = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
secret = argv.shift();
|
|
||||||
tx_json = argv.shift();
|
|
||||||
|
|
||||||
if (tx_json === '-') {
|
|
||||||
read_input(function(stdin) {
|
|
||||||
ready(stdin, secret, verbose);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
ready(tx_json, secret, verbose);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
||||||
// vim:sw=2:sts=2:ts=8:et
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
/* eslint-disable no-var */
|
|
||||||
'use strict';
|
|
||||||
var UInt160 = require('..').UInt160;
|
|
||||||
|
|
||||||
function main() {
|
|
||||||
var address = process.argv[2];
|
|
||||||
|
|
||||||
if (address === '-') {
|
|
||||||
readInput(validateAddress);
|
|
||||||
} else {
|
|
||||||
validateAddress(address);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function readInput(callback) {
|
|
||||||
var result = '';
|
|
||||||
process.stdin.resume();
|
|
||||||
process.stdin.setEncoding('utf8');
|
|
||||||
process.stdin.on('data', function(data) {
|
|
||||||
result += data;
|
|
||||||
});
|
|
||||||
process.stdin.on('end', function() {
|
|
||||||
callback(result);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function validateAddress(address) {
|
|
||||||
process.stdout.write((UInt160.is_valid(address.trim()) ? '0' : '1') + '\r\n');
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
||||||
@@ -3,5 +3,5 @@ machine:
|
|||||||
version: 0.12.0
|
version: 0.12.0
|
||||||
test:
|
test:
|
||||||
override:
|
override:
|
||||||
- bin/ci.sh "$CIRCLE_NODE_INDEX" "$CIRCLE_NODE_TOTAL":
|
- scripts/ci.sh "$CIRCLE_NODE_INDEX" "$CIRCLE_NODE_TOTAL":
|
||||||
parallel: true
|
parallel: true
|
||||||
|
|||||||
Reference in New Issue
Block a user