name: subkey
author: "Parity Team <admin@parity.io>"
about: Utility for generating and restoring with Substrate keys
args:
  - ed25519:
      short: e
      long: ed25519
      help: Use Ed25519/BIP39 cryptography
      takes_value: false
  - sr25519:
      short: s
      long: sr25519
      help: Use Schnorr/Ristretto x25519/BIP39 cryptography
      takes_value: false
  - password:
      short: p
      long: password
      takes_value: true
      required: false
      help: The password for the key
subcommands:
  - generate:
      about: Generate a random account
  - inspect:
      about: Gets a public key and a SS58 address from the provided Secret URI
      args:
        - uri:
            index: 1
            required: true
            help: A Key URI to be inspected. May be a secret seed, secret URI (with derivation paths and password), SS58 or public URI.
  - sign:
      about: Sign a message, provided on STDIN, with a given (secret) key
      args:
        - suri:
            index: 1
            required: true
            help: The secret key URI.
        - hex:
            short: h
            long: hex
            help: The message on STDIN is hex-encoded data
            takes_value: false
  - transfer:
      about: Author and sign a Node balances::Transfer transaction with a given (secret) key
      args:
        - from:
            index: 1
            required: true
            help: The signing secret key URI.
        - to:
            index: 2
            required: true
            help: The destination account public key URI.
        - amount:
            index: 3
            required: true
            help: The number of units to transfer.
        - index:
            index: 4
            required: true
            help: The signing account's transaction index.
        - genesis:
            short: g
            long: genesis
            help: The genesis hash or a recognised chain identifier (dev, elm, alex).
            takes_value: true
  - verify:
      about: Verify a signature for a message, provided on STDIN, with a given (public or secret) key
      args:
        - sig:
            index: 1
            required: true
            help: Signature, hex-encoded.
        - uri:
            index: 2
            required: true
            help: The public or secret key URI.
        - hex:
            short: h
            long: hex
            help: The message on STDIN is hex-encoded data
            takes_value: false
  - vanity:
      about: Generate a seed that provides a vanity address
      args:
        - pattern:
            index: 1
            help: Desired pattern
        - number:
            short: n
            long: number
            help: Number of keys to generate
            takes_value: true
            default_value: "1"
  - sign-transaction:
      about: Sign transaction from encoded Call. Returns a signed and encoded UncheckedMortalCompactExtrinsic as hex.
      args:
        - call:
            short: c
            long: call
            help: The call, hex-encoded.
            takes_value: true
            required: true
        - nonce:
            short: n
            long: nonce
            help: The nonce.
            takes_value: true
            required: true
        - suri:
            long: suri
            short: s
            help: The secret key URI.
            takes_value: true
            required: true
        - password:
            short: p
            long: password
            takes_value: true
            help: The password for the key.
            required: true
        - prior-block-hash:
            short: h
            long: prior-block-hash
            help: The prior block hash, hex-encoded.
            takes_value: true
            required: true
