public Builder(xdr.SetTrustLineFlagsOp op) { _asset = Asset.FromXdr(op.Asset); _trustor = KeyPair.FromXdrPublicKey(op.Trustor.InnerValue); _setFlags = op.SetFlags.InnerValue; _clearFlags = op.ClearFlags.InnerValue; }
public Builder(sdkxdr.PathPaymentStrictSendOp op) { _SendAsset = Asset.FromXdr(op.SendAsset); _SendAmount = FromXdrAmount(op.SendAmount.InnerValue); _Destination = KeyPair.FromXdrPublicKey(op.Destination.InnerValue); _DestAsset = Asset.FromXdr(op.DestAsset); _DestMin = FromXdrAmount(op.DestMin.InnerValue); _Path = new Asset[op.Path.Length]; for (var i = 0; i < op.Path.Length; i++) { _Path[i] = Asset.FromXdr(op.Path[i]); } }
public Builder(sdkxdr.SetOptionsOp op) { if (op.InflationDest != null) { inflationDestination = KeyPair.FromXdrPublicKey( op.InflationDest.InnerValue); } if (op.ClearFlags != null) { clearFlags = op.ClearFlags.InnerValue; } if (op.SetFlags != null) { setFlags = op.SetFlags.InnerValue; } if (op.MasterWeight != null) { masterKeyWeight = op.MasterWeight.InnerValue; } if (op.LowThreshold != null) { lowThreshold = op.LowThreshold.InnerValue; } if (op.MedThreshold != null) { mediumThreshold = op.MedThreshold.InnerValue; } if (op.HighThreshold != null) { highThreshold = op.HighThreshold.InnerValue; } if (op.HomeDomain != null) { homeDomain = op.HomeDomain.InnerValue; } if (op.Signer != null) { signer = op.Signer.Key; signerWeight = op.Signer.Weight.InnerValue & 0xFF; } }
/// <summary> /// Generates Asset object from a given XDR object /// </summary> /// <param name="thisXdr"></param> public static Asset FromXdr(xdr.Asset thisXdr) { switch (thisXdr.Discriminant.InnerValue) { case AssetType.AssetTypeEnum.ASSET_TYPE_NATIVE: return(new AssetTypeNative()); case AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM4: var assetCode4 = Util.PaddedByteArrayToString(thisXdr.AlphaNum4.AssetCode.InnerValue); var issuer4 = KeyPair.FromXdrPublicKey(thisXdr.AlphaNum4.Issuer.InnerValue); return(new AssetTypeCreditAlphaNum4(assetCode4, issuer4.AccountId)); case AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM12: var assetCode12 = Util.PaddedByteArrayToString(thisXdr.AlphaNum12.AssetCode.InnerValue); var issuer12 = KeyPair.FromXdrPublicKey(thisXdr.AlphaNum12.Issuer.InnerValue); return(new AssetTypeCreditAlphaNum12(assetCode12, issuer12.AccountId)); default: throw new ArgumentException("Unknown asset type " + thisXdr.Discriminant.InnerValue); } }
/// <summary> /// Builder to build the AllowTrust Operation given an XDR AllowTrustOp /// </summary> /// <param name="op"></param> /// <exception cref="Exception"></exception> public Builder(sdkxdr.AllowTrustOp op) { _trustor = KeyPair.FromXdrPublicKey(op.Trustor.InnerValue); switch (op.Asset.Discriminant.InnerValue) { case sdkxdr.AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM4: _assetCode = Encoding.UTF8.GetString(op.Asset.AssetCode4); break; case sdkxdr.AssetType.AssetTypeEnum.ASSET_TYPE_CREDIT_ALPHANUM12: _assetCode = Encoding.UTF8.GetString(op.Asset.AssetCode12); break; case sdkxdr.AssetType.AssetTypeEnum.ASSET_TYPE_NATIVE: break; default: throw new Exception("Unknown asset code"); } _authorize = op.Authorize; }
public static Transaction FromEnvelopeXdr(TransactionEnvelope envelope) { xdr.Transaction transactionXdr = envelope.Tx; var fee = transactionXdr.Fee.InnerValue; KeyPair sourceAccount = KeyPair.FromXdrPublicKey(transactionXdr.SourceAccount.InnerValue); long sequenceNumber = transactionXdr.SeqNum.InnerValue.InnerValue; Memo memo = Memo.FromXdr(transactionXdr.Memo); TimeBounds timeBounds = TimeBounds.FromXdr(transactionXdr.TimeBounds); Operation[] operations = new Operation[transactionXdr.Operations.Length]; for (int i = 0; i < transactionXdr.Operations.Length; i++) { operations[i] = Operation.FromXdr(transactionXdr.Operations[i]); } Transaction transaction = new Transaction(sourceAccount, fee, sequenceNumber, operations, memo, timeBounds); foreach (var signature in envelope.Signatures) { transaction.Signatures.Add(signature); } return(transaction); }
/// <summary> /// Construct a new BeginSponsoringFutureReserves builder from a BeginSponsoringFutureReservesOp XDR. /// </summary> /// <param name="op"></param> public Builder(xdr.RevokeSponsorshipOp.RevokeSponsorshipOpSigner op) { _accountId = KeyPair.FromXdrPublicKey(op.AccountID.InnerValue); _signerKey = op.SignerKey; }
///<summary> /// Construct a new PaymentOperation builder from a PaymentOp XDR. ///</summary> ///<param name="op"><see cref="PaymentOp"/></param> public Builder(PaymentOp op) { destination = KeyPair.FromXdrPublicKey(op.Destination.InnerValue); asset = Asset.FromXdr(op.Asset); amount = FromXdrAmount(op.Amount.InnerValue); }
/// <summary> /// Builder to build the AccountMerge Operation given an XDR OperationBody /// </summary> /// <param name="op"></param> public Builder(xdr.Operation.OperationBody op) { _destination = KeyPair.FromXdrPublicKey(op.Destination.InnerValue); }
public Builder(CreateAccountOp createAccountOp) { destination = KeyPair.FromXdrPublicKey(createAccountOp.Destination.InnerValue); startingBalance = FromXdrAmount(createAccountOp.StartingBalance.InnerValue); }
/// <summary> /// Construct a new BeginSponsoringFutureReserves builder from a BeginSponsoringFutureReservesOp XDR. /// </summary> /// <param name="beginSponsoringFutureReservesOp"></param> public Builder(BeginSponsoringFutureReservesOp beginSponsoringFutureReservesOp) { _sponsoredId = KeyPair.FromXdrPublicKey(beginSponsoringFutureReservesOp.SponsoredID.InnerValue); }