private void AppendMultisig(Connectivity.Connection con, ImportanceTransferData data) { if (data.MultisigAccount == null) { return; } var multisig = new MultiSigTransaction(con, data.DelegatedAccount, data.Deadline, ImportanceBytes.Length); ImportanceBytes = ByteUtils.ConcatonatetBytes(multisig.GetBytes(), ImportanceBytes); }
internal ImportanceTransfer(Connectivity.Connection con, PublicKey sender, ImportanceTransferData data) : base(con, data.MultisigAccount ?? sender, data.Deadline) { if (!StringUtils.OnlyHexInString(data.DelegatedAccount.Raw) || data.DelegatedAccount.Raw.Length != 64) { throw new ArgumentNullException(nameof(con)); } TransferMode = data.Activate ? DefaultBytes.Activate : DefaultBytes.Deactivate; Serialize(data.DelegatedAccount); TransferBytes = ByteUtils.TruncateByteArray(Serializer.GetBytes(), StructureLength.ImportnaceTransfer); finalize(); AppendMultisig(con, data); }