code: func AlterPowerTx(inputAddress crypto.Address, id crypto.Addressable, power uint64) *payload.GovTx {
  	return AlterBalanceTx(inputAddress, id, balance.New().Power(power))
  }
docs: // TODO:
  // - Set validator power
  // - Set account amount(s)
  // - Set account permissions
  // - Set global permissions
  // - Set ConsensusParams
  // Future considerations:
  // - Handle network forks/termination/merging/replacement ?
  // - Provide transaction in stasis/sudo (voting?)
  // - Handle bonding by other means (e.g. pre-shared key permitting n bondings)
  // - Network administered proxies (i.e. instead of keys have password authentication for identities - allow calls to originate as if from address without key?)
  // Subject to:
  // - Less than 1/3 validator power change per block
  // Creates a GovTx that alters the validator power of id to the power passed