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);