예제 #1
0
        ///<summary>Private: Generate changeTrust transaction with given parameters.</summary>
        ///<param name="account">Stellar account</param>
        ///<param name="asset">Stellar asset</param>
        ///<returns>Returns transaction.</returns>
        private Stellar.Transaction Tx(Stellar.Account account, Stellar.Asset asset)
        {
            string assetXdr    = asset.ToXdr().ToString();
            string opXdrAmount = Stellar.Operation.ToXdrAmount(assetXdr).ToString();

            var operation = new Stellar.ChangeTrustOperation.Builder(asset, opXdrAmount).Build();

            return(new Stellar.Transaction.Builder(account).AddOperation(operation).Build());
        }
 public override xdr.Operation.OperationBody ToOperationBody()
 {
     return(new xdr.Operation.OperationBody
     {
         Discriminant = xdr.OperationType.Create(xdr.OperationType.OperationTypeEnum.CREATE_CLAIMABLE_BALANCE),
         CreateClaimableBalanceOp = new xdr.CreateClaimableBalanceOp
         {
             Amount = new xdr.Int64 {
                 InnerValue = ToXdrAmount(Amount)
             },
             Asset = Asset.ToXdr(),
             Claimants = Claimants.Select(claimant => claimant.ToXdr()).ToArray(),
         }
     });
 }
 public override xdr.Operation.OperationBody ToOperationBody()
 {
     return(new xdr.Operation.OperationBody
     {
         Discriminant = xdr.OperationType.Create(xdr.OperationType.OperationTypeEnum.CLAWBACK),
         ClawbackOp = new xdr.ClawbackOp
         {
             Amount = new xdr.Int64 {
                 InnerValue = ToXdrAmount(Amount)
             },
             Asset = Asset.ToXdr(),
             From = From.MuxedAccount
         }
     });
 }
        public override sdkxdr.Operation.OperationBody ToOperationBody()
        {
            var op = new sdkxdr.ChangeTrustOp();

            op.Line = Asset.ToXdr();
            var limit = new sdkxdr.Int64();

            limit.InnerValue = ToXdrAmount(Limit);
            op.Limit         = limit;

            var body = new sdkxdr.Operation.OperationBody();

            body.Discriminant  = sdkxdr.OperationType.Create(sdkxdr.OperationType.OperationTypeEnum.CHANGE_TRUST);
            body.ChangeTrustOp = op;
            return(body);
        }
 public override xdr.Operation.OperationBody ToOperationBody()
 {
     return(new xdr.Operation.OperationBody
     {
         Discriminant = xdr.OperationType.Create(xdr.OperationType.OperationTypeEnum.SET_TRUST_LINE_FLAGS),
         SetTrustLineFlagsOp = new xdr.SetTrustLineFlagsOp
         {
             Asset = Asset.ToXdr(),
             Trustor = new xdr.AccountID(Trustor.XdrPublicKey),
             SetFlags = new xdr.Uint32()
             {
                 InnerValue = SetFlags.Value
             },
             ClearFlags = new xdr.Uint32()
             {
                 InnerValue = ClearFlags.Value
             }
         }
     });
 }
예제 #6
0
        public override xdr.Operation.OperationBody ToOperationBody()
        {
            var op = new PaymentOp();

            // destination
            op.Destination = Destination.MuxedAccount;
            // asset
            op.Asset = Asset.ToXdr();
            // amount
            var amount = new Int64();

            amount.InnerValue = ToXdrAmount(Amount);
            op.Amount         = amount;

            var body = new xdr.Operation.OperationBody();

            body.Discriminant = OperationType.Create(OperationType.OperationTypeEnum.PAYMENT);
            body.PaymentOp    = op;
            return(body);
        }