/** * @param string $description * @param Binary $currency * @param Output $output * @param Signer $signer * @return Base */ public static function signedBase($description, Binary $currency, Output $output, Signer $signer) { return new Base($currency, $description, $output, $signer->getAddress(), $signer->sign([$currency, $description, $output])); }
/** * @param Binary $issuerAddress * @param Signer $signer * @return Authorization */ public static function signed(Binary $issuerAddress, Signer $signer) { return new Authorization($issuerAddress, $signer->getAddress(), $signer->sign($issuerAddress)); }
/** * @param Signer $currency * @param Binary $address * @param string $rules * @param null|RuleBook $previous * @return RuleBook */ public static function signed(Signer $currency, Binary $address, $rules, RuleBook $previous = null) { $previousHash = $previous ? $previous->hash() : null; return new RuleBook($address, $rules, $currency->sign([$address, $rules, $previousHash]), $previousHash); }
/** * @param Input[] $inputs * @param Output[] $outputs * @param Signer $signer * @return Transaction */ public static function signedTransaction($inputs, $outputs, Signer $signer) { return new Transaction($inputs, $outputs, $signer->sign([$inputs, $outputs])); }
/** * @param Base[] $bases * @param Output $output * @param Transaction $confirmed * @param Signer $signer * @return Confirmation */ public static function signedConfirmation($bases, Output $output, Transaction $confirmed, Signer $signer) { $hash = self::hash(Signer::squash($confirmed)); return new Confirmation($bases, $output, $hash, $signer->sign([$bases, $output, $hash])); }