/// <summary> /// Generates Transaction XDR object. /// </summary> /// <returns></returns> public Generated.Transaction ToXDR() { // fee Generated.Uint32 fee = new Generated.Uint32((uint)mFee); // sequenceNumber Generated.Uint64 sequenceNumberUint = new Generated.Uint64((ulong)SequenceNumber); Generated.SequenceNumber sequenceNumber = new Generated.SequenceNumber(sequenceNumberUint); // sourceAccount Generated.AccountID sourceAccount = new Generated.AccountID(SourceAccount.AccountId.InnerValue); // operations Generated.Operation[] operations = mOperations.Select(tx => tx.ToXDR()).ToArray(); // ext Generated.Transaction.TransactionExt ext = new Generated.Transaction.TransactionExt() { Discriminant = 0 }; Generated.Transaction transaction = new Generated.Transaction() { Fee = fee, SeqNum = sequenceNumber, SourceAccount = sourceAccount, Operations = operations, Memo = Memo.ToXDR(), Ext = ext, //TimeBounds = null, }; return(transaction); }
/// <summary> /// Generates Transaction XDR object. /// </summary> /// <returns></returns> public Generated.Transaction ToXdr() { // fee Generated.Uint32 fee = new Generated.Uint32((uint)mFee); // sequenceNumber Generated.Uint64 sequenceNumberUint = new Generated.Uint64((ulong)SequenceNumber); Generated.SequenceNumber sequenceNumber = new Generated.SequenceNumber(sequenceNumberUint); // sourceAccount Generated.AccountID sourceAccount = new Generated.AccountID(SourceAccount.AccountId.InnerValue); // operations Generated.Operation[] operations = mOperations.Select(tx => tx.ToXdr()).ToArray(); // ext Generated.Transaction.TransactionExt ext = new Generated.Transaction.TransactionExt() { Discriminant = 0 }; Generated.Transaction transaction = new Generated.Transaction() { Fee = fee, SeqNum = sequenceNumber, SourceAccount = sourceAccount, Operations = operations, Memo = Memo, Ext = ext, //TimeBounds = null, }; return transaction; }
//public override OperationThreshold Threshold //{ // get => OperationThreshold.High; //} public override Generated.Operation.OperationBody ToOperationBody() { var op = new Generated.SetOptionsOp(); //if (InflationDestination != null) //{ // var inflationDestination = new Generated.AccountID(); // //inflationDestination.InnerValue = InflationDestination.XdrPublicKey; // op.InflationDest = inflationDestination; //} //if (ClearFlags != 0) //{ // var clearFlags = new Generated.Uint32(); // clearFlags.InnerValue = ClearFlags; // op.ClearFlags = clearFlags; //} //if (SetFlags != 0) //{ // var setFlags = new Generated.Uint32(); // setFlags.InnerValue = SetFlags; // op.SetFlags = setFlags; //} if (MasterKeyWeight != 0) { var uint32 = new Generated.Uint32(); uint32.InnerValue = MasterKeyWeight; op.MasterWeight = uint32; } if (LowThreshold != 0) { var uint32 = new Generated.Uint32(); uint32.InnerValue = LowThreshold; op.LowThreshold = uint32; } if (MediumThreshold != 0) { var uint32 = new Generated.Uint32(); uint32.InnerValue = MediumThreshold; op.MedThreshold = uint32; } if (HighThreshold != 0) { var uint32 = new Generated.Uint32(); uint32.InnerValue = HighThreshold; op.HighThreshold = uint32; } //if (HomeDomain != null) //{ // var homeDomain = new Generated.String32(); // homeDomain.InnerValue = HomeDomain; // op.HomeDomain = homeDomain; //} if (Signer != null) { var signer = new Generated.Signer(); var weight = new Generated.Uint32(); weight.InnerValue = SignerWeight & 0xFF; signer.Key = Signer; signer.Weight = weight; op.Signer = signer; } var body = new Generated.Operation.OperationBody(); body.Discriminant = Generated.OperationType.Create(Generated.OperationType.OperationTypeEnum.SET_OPTIONS); body.SetOptionsOp = op; return(body); }