register_command('createrawtransaction',False,True,False,['inputs','outputs'],[],'Create an unsigned transaction. The syntax is similar to bitcoind.')
register_command('deseed',False,True,False,[],[],'Remove seed from wallet, creating a seedless, watching-only wallet.')
register_command('decoderawtransaction',False,False,False,['raw_tx'],[],'Decode raw transaction')
register_command('getprivatekeys',False,True,True,['address'],[],'Get the private keys of a given address')
register_command('dumpprivkeys',False,True,True,[],[],'Dump private keys from your wallet')
register_command('freeze',False,True,True,['address'],[],'Freeze the funds at one of your wallet\'s addresses')
register_command('getbalance',True,True,False,[],[],'Return the balance of your wallet, or of one account in your wallet')
register_command('getservers',True,False,False,[],[],'Return the list of available servers')
register_command('getaddressbalance',True,False,False,['address'],[],'Return the balance of an address')
register_command('getaddresshistory',True,False,False,['address'],[],'Return the transaction history of a wallet address')
register_command('getconfig',False,False,False,['key'],[],'Return a configuration variable')
register_command('getpubkeys',False,True,False,['address'],[],'Return the public keys for a wallet address')
register_command('getrawtransaction',True,False,False,['txid'],[],'Retrieve a transaction')
register_command('getseed',False,True,True,[],[],'Print the generation seed of your wallet.')
register_command('getmpk',False,True,False,[],[],'Return your wallet\'s master public key')
register_command('help',False,False,False,[],[],'Print help on a command.')
register_command('history',True,True,False,[],[],'Returns the transaction history of your wallet')
register_command('importprivkey',False,True,True,['privatekey'],[],'Import a private key')
register_command('ismine',False,True,False,['address'],[],'Return true if and only if address is in wallet')
register_command('listaddresses',False,True,False,[],['show_all','show_labels'],'Returns your list of addresses.')
register_command('listunspent',True,True,False,[],[],'Returns the list of unspent inputs in your wallet.')
register_command('getaddressunspent',True,False,False,['address'],[],'Returns the list of unspent inputs for an address.')
register_command('mktx',False,True,True,['recipient','amount'],['tx_fee','from_addr','change_addr'],'Create a signed transaction')
register_command('payto',True,True,True,['recipient','amount'],['tx_fee','from_addr','change_addr'],'Create and broadcast a transaction.')
register_command('password',False,True,True,[],[],'Change your password')
register_command('restore',True,True,False,[],['gap_limit','mpk','concealed'],'Restore a wallet')
register_command('searchcontacts',False,True,False,['query'],[],'Search through contacts, return matching entries')
register_command('setconfig',False,False,False,['key','value'],[],'Set a configuration variable')
register_command('setlabel',False,True,False,['txid','label'],[],'Assign a label to an item')
register_command('sendrawtransaction',True,False,False,['raw_tx'],[],'Broadcast a transaction to the network.')
register_command('signtxwithkey',False,False,False,['raw_tx','key'],[],'Sign a serialized transaction with a key')
register_command('signtxwithwallet',False,True,True,['raw_tx'],[],'Sign a serialized transaction with a wallet')
register_command('signmessage',False,True,True,['address','message'],[],'Sign a message with a key')
register_command('unfreeze',False,True,False,['address'],[],'Unfreeze the funds at one of your wallet\'s address')
register_command('validateaddress',False,False,False,['address'],[],'Check that the address is valid')
register_command('verifymessage',False,False,False,['address','message'],[],'Verify a signature')
register_command('version',False,False,False,[],[],'Return the version of your client')
register_command('encrypt',False,False,False,['pubkey','message'],[],'Encrypt a message with a public key')
register_command('decrypt',False,True,True,['pubkey','message'],[],'Decrypt a message encrypted with a public key')
register_command('getmerkle',True,False,False,['txid','height'],[],'Get Merkle branch of a transaction included in a block')
register_command('getproof',True,False,False,['address'],[],'Get Merkle branch of an address in the UTXO set')
register_command('getutxoaddress',True,False,False,['txid','pos'],[],'Get the address of an unspent transaction output')
register_command('sweep',True,False,False,['privkey','destination_address'],['tx_fee'],'Sweep a private key.')
register_command('make_seed',False,False,False,[],['nbits','entropy','language'],'Create a seed.')
register_command('check_seed',False,False,False,['seed'],['entropy'],'Check that a seed was generated with external entropy.')
#register_command('mksendmanytx', False, True, True, 'Create a signed transaction', mksendmany_syntax, payto_options)
#register_command('paytomany', True, True, True, 'Create and broadcast a transaction.', paytomany_syntax, payto_options)
command_options={
'password':("-W","--password",None,"Password"),
'concealed':("-C","--concealed",False,"Don't echo seed to console when restoring"),
'show_all':("-a","--all",False,"Show all addresses"),
'show_labels':("-l","--labels",False,"Show the labels of listed addresses"),
'tx_fee':("-f","--fee",None,"set tx fee"),
'from_addr':("-F","--fromaddr",None,"set source address for payto/mktx. if it isn't in the wallet, it will ask for the private key unless supplied in the format public_key:private_key. It's not saved in the wallet."),
'change_addr':("-c","--changeaddr",None,"set the change address for payto/mktx. default is a spare address, or the source address if it's not in the wallet"),
'nbits':(None,"--nbits","128","Number of bits of entropy"),