You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
2 years ago
|
const main = require('../contracts/main');
|
||
|
const subcommand = require('subcommand');
|
||
|
const {Address} = require("ton");
|
||
|
const {keyPairFromSeed, getSecureRandomBytes} = require("ton-crypto");
|
||
|
|
||
|
|
||
|
const argv = process.argv.slice(2);
|
||
|
let commands = [
|
||
|
{
|
||
|
name: 'sign-message',
|
||
|
options: [ // cliclopts options
|
||
|
// {
|
||
|
// name: 'loud',
|
||
|
// boolean: true,
|
||
|
// default: false,
|
||
|
// abbr: 'v',
|
||
|
// help: 'print out all output loudly'
|
||
|
// }
|
||
|
{
|
||
|
name: 'domain'
|
||
|
},
|
||
|
{
|
||
|
name: 'collection'
|
||
|
},
|
||
|
{
|
||
|
name: 'buyer',
|
||
|
help: 'Buyer\'s address'
|
||
|
},
|
||
|
{
|
||
|
name: 'key',
|
||
|
help: 'Secret key, hex-encoded'
|
||
|
}
|
||
|
],
|
||
|
command: function sign_message(args) {
|
||
|
let key = Buffer.from(args.key, 'hex');
|
||
|
let collection = Address.parse(args.collection);
|
||
|
let buyer = Address.parse(args.buyer);
|
||
|
let signature = main.signBuy(args.domain, collection, buyer, key);
|
||
|
console.log(signature);
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
name: 'keygen',
|
||
|
command: async function keygen(args) {
|
||
|
let keypair = keyPairFromSeed(await getSecureRandomBytes(32));
|
||
|
console.log(keypair.secretKey.toString('hex'));
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
|
||
|
let match = subcommand(commands);
|
||
|
let opts = match(argv);
|