public static LedgerEntryChange Decode(XdrDataInputStream stream)
        {
            var decodedLedgerEntryChange = new LedgerEntryChange();
            var discriminant             = LedgerEntryChangeType.Decode(stream);

            decodedLedgerEntryChange.Discriminant = discriminant;
            switch (decodedLedgerEntryChange.Discriminant.InnerValue)
            {
            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_CREATED:
                decodedLedgerEntryChange.Created = LedgerEntry.Decode(stream);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_UPDATED:
                decodedLedgerEntryChange.Updated = LedgerEntry.Decode(stream);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_REMOVED:
                decodedLedgerEntryChange.Removed = LedgerKey.Decode(stream);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_STATE:
                decodedLedgerEntryChange.State = LedgerEntry.Decode(stream);
                break;
            }
            return(decodedLedgerEntryChange);
        }
Esempio n. 2
0
        public static void Encode(XdrDataOutputStream stream, LedgerKey encodedLedgerKey)
        {
            stream.WriteInt((int)encodedLedgerKey.Discriminant.InnerValue);
            switch (encodedLedgerKey.Discriminant.InnerValue)
            {
            case LedgerEntryType.LedgerEntryTypeEnum.ACCOUNT:
                LedgerKeyAccount.Encode(stream, encodedLedgerKey.Account);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.TRUSTLINE:
                LedgerKeyTrustLine.Encode(stream, encodedLedgerKey.TrustLine);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.OFFER:
                LedgerKeyOffer.Encode(stream, encodedLedgerKey.Offer);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.DATA:
                LedgerKeyData.Encode(stream, encodedLedgerKey.Data);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.CLAIMABLE_BALANCE:
                LedgerKeyClaimableBalance.Encode(stream, encodedLedgerKey.ClaimableBalance);
                break;
            }
        }
Esempio n. 3
0
        public static LedgerKey Decode(XdrDataInputStream stream)
        {
            var decodedLedgerKey = new LedgerKey();
            var discriminant     = LedgerEntryType.Decode(stream);

            decodedLedgerKey.Discriminant = discriminant;
            switch (decodedLedgerKey.Discriminant.InnerValue)
            {
            case LedgerEntryType.LedgerEntryTypeEnum.ACCOUNT:
                decodedLedgerKey.Account = LedgerKeyAccount.Decode(stream);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.TRUSTLINE:
                decodedLedgerKey.TrustLine = LedgerKeyTrustLine.Decode(stream);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.OFFER:
                decodedLedgerKey.Offer = LedgerKeyOffer.Decode(stream);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.DATA:
                decodedLedgerKey.Data = LedgerKeyData.Decode(stream);
                break;
            }
            return(decodedLedgerKey);
        }
        public void TestLedgerKeyClaimableBalance()
        {
            var balanceId = Util.HexToBytes("c582697b67cbec7f9ce64f4dc67bfb2bfd26318bb9f964f4d70e3f41f650b1e6");
            var ledgerKey = LedgerKey.ClaimableBalance(balanceId);
            var xdr       = ledgerKey.ToXdr();
            var back      = LedgerKey.FromXdr(xdr);

            var claimableBalance = (LedgerKeyClaimableBalance)back;

            Assert.IsNotNull(claimableBalance);
            Assert.AreEqual(balanceId, claimableBalance.BalanceId);
        }
        public void TestLedgerKeyAccount()
        {
            var keypair   = KeyPair.FromAccountId("GCFRHRU5YRI3IN3IMRMYGWWEG2PX2B6MYH2RJW7NEDE2PTYPISPT3RU7");
            var ledgerKey = LedgerKey.Account(keypair);
            var xdr       = ledgerKey.ToXdr();
            var back      = LedgerKey.FromXdr(xdr);

            var account = (LedgerKeyAccount)back;

            Assert.IsNotNull(account);
            Assert.AreEqual(keypair.AccountId, account.Account.AccountId);
        }
        public void TestLedgerKeyOffer()
        {
            var keypair   = KeyPair.FromAccountId("GCFRHRU5YRI3IN3IMRMYGWWEG2PX2B6MYH2RJW7NEDE2PTYPISPT3RU7");
            var ledgerKey = LedgerKey.Offer(keypair, 1234);
            var xdr       = ledgerKey.ToXdr();
            var back      = LedgerKey.FromXdr(xdr);

            var offer = (LedgerKeyOffer)back;

            Assert.IsNotNull(offer);
            Assert.AreEqual(1234, offer.OfferId);
            Assert.AreEqual(keypair.AccountId, offer.Seller.AccountId);
        }
        public void TestLedgerKeyData()
        {
            var keypair   = KeyPair.FromAccountId("GCFRHRU5YRI3IN3IMRMYGWWEG2PX2B6MYH2RJW7NEDE2PTYPISPT3RU7");
            var ledgerKey = LedgerKey.Data(keypair, "Test Data");
            var xdr       = ledgerKey.ToXdr();
            var back      = LedgerKey.FromXdr(xdr);

            var data = (LedgerKeyData)back;

            Assert.IsNotNull(data);
            Assert.AreEqual("Test Data", data.DataName);
            Assert.AreEqual(keypair.AccountId, data.Account.AccountId);
        }
Esempio n. 8
0
        public static void Encode(XdrDataOutputStream stream, BucketEntry encodedBucketEntry)
        {
            stream.WriteInt((int)encodedBucketEntry.Discriminant.InnerValue);
            switch (encodedBucketEntry.Discriminant.InnerValue)
            {
            case BucketEntryType.BucketEntryTypeEnum.LIVEENTRY:
                LedgerEntry.Encode(stream, encodedBucketEntry.LiveEntry);
                break;

            case BucketEntryType.BucketEntryTypeEnum.DEADENTRY:
                LedgerKey.Encode(stream, encodedBucketEntry.DeadEntry);
                break;
            }
        }
        public static void Encode(XdrDataOutputStream stream, RevokeSponsorshipOp encodedRevokeSponsorshipOp)
        {
            stream.WriteInt((int)encodedRevokeSponsorshipOp.Discriminant.InnerValue);
            switch (encodedRevokeSponsorshipOp.Discriminant.InnerValue)
            {
            case RevokeSponsorshipType.RevokeSponsorshipTypeEnum.REVOKE_SPONSORSHIP_LEDGER_ENTRY:
                LedgerKey.Encode(stream, encodedRevokeSponsorshipOp.LedgerKey);
                break;

            case RevokeSponsorshipType.RevokeSponsorshipTypeEnum.REVOKE_SPONSORSHIP_SIGNER:
                RevokeSponsorshipOpSigner.Encode(stream, encodedRevokeSponsorshipOp.Signer);
                break;
            }
        }
        public static void Encode(IByteWriter stream, BucketEntry encodedBucketEntry)
        {
            XdrEncoding.EncodeInt32((int)encodedBucketEntry.Discriminant.InnerValue, stream);
            switch (encodedBucketEntry.Discriminant.InnerValue)
            {
            case BucketEntryType.BucketEntryTypeEnum.LIVEENTRY:
                LedgerEntry.Encode(stream, encodedBucketEntry.LiveEntry);
                break;

            case BucketEntryType.BucketEntryTypeEnum.DEADENTRY:
                LedgerKey.Encode(stream, encodedBucketEntry.DeadEntry);
                break;
            }
        }
        public void TestLedgerKeyTrustline()
        {
            var keypair   = KeyPair.FromAccountId("GCFRHRU5YRI3IN3IMRMYGWWEG2PX2B6MYH2RJW7NEDE2PTYPISPT3RU7");
            var issuer    = KeyPair.FromAccountId("GB24C27VKWCBG7NTCT4J2L4MXJGYC3K3SQ4JOTCSPOVVEN7EZEB43XNE");
            var asset     = Asset.CreateNonNativeAsset("ABCD", issuer.AccountId);
            var ledgerKey = LedgerKey.Trustline(keypair, asset);
            var xdr       = ledgerKey.ToXdr();
            var back      = LedgerKey.FromXdr(xdr);

            var trustline = (LedgerKeyTrustline)back;

            Assert.IsNotNull(trustline);
            Assert.AreEqual("ABCD:GB24C27VKWCBG7NTCT4J2L4MXJGYC3K3SQ4JOTCSPOVVEN7EZEB43XNE", trustline.Asset.CanonicalName());
            Assert.AreEqual(keypair.AccountId, trustline.Account.AccountId);
        }
        public static BucketEntry Decode(IByteReader stream)
        {
            BucketEntry decodedBucketEntry = new BucketEntry();

            decodedBucketEntry.Discriminant = BucketEntryType.Decode(stream);
            switch (decodedBucketEntry.Discriminant.InnerValue)
            {
            case BucketEntryType.BucketEntryTypeEnum.LIVEENTRY:
                decodedBucketEntry.LiveEntry = LedgerEntry.Decode(stream);
                break;

            case BucketEntryType.BucketEntryTypeEnum.DEADENTRY:
                decodedBucketEntry.DeadEntry = LedgerKey.Decode(stream);
                break;
            }
            return(decodedBucketEntry);
        }
 public static void Encode(IByteWriter stream, LedgerKey encodedLedgerKey) {
 XdrEncoding.EncodeInt32((int)encodedLedgerKey.Discriminant.InnerValue, stream);
 switch (encodedLedgerKey.Discriminant.InnerValue) {
 case LedgerEntryType.LedgerEntryTypeEnum.ACCOUNT:
 LedgerKeyAccount.Encode(stream, encodedLedgerKey.Account);
 break;
 case LedgerEntryType.LedgerEntryTypeEnum.TRUSTLINE:
 LedgerKeyTrustLine.Encode(stream, encodedLedgerKey.TrustLine);
 break;
 case LedgerEntryType.LedgerEntryTypeEnum.OFFER:
 LedgerKeyOffer.Encode(stream, encodedLedgerKey.Offer);
 break;
 case LedgerEntryType.LedgerEntryTypeEnum.DATA:
 LedgerKeyData.Encode(stream, encodedLedgerKey.Data);
 break;
 }
 }
        public static RevokeSponsorshipOp Decode(XdrDataInputStream stream)
        {
            RevokeSponsorshipOp   decodedRevokeSponsorshipOp = new RevokeSponsorshipOp();
            RevokeSponsorshipType discriminant = RevokeSponsorshipType.Decode(stream);

            decodedRevokeSponsorshipOp.Discriminant = discriminant;
            switch (decodedRevokeSponsorshipOp.Discriminant.InnerValue)
            {
            case RevokeSponsorshipType.RevokeSponsorshipTypeEnum.REVOKE_SPONSORSHIP_LEDGER_ENTRY:
                decodedRevokeSponsorshipOp.LedgerKey = LedgerKey.Decode(stream);
                break;

            case RevokeSponsorshipType.RevokeSponsorshipTypeEnum.REVOKE_SPONSORSHIP_SIGNER:
                decodedRevokeSponsorshipOp.Signer = RevokeSponsorshipOpSigner.Decode(stream);
                break;
            }
            return(decodedRevokeSponsorshipOp);
        }
Esempio n. 15
0
        public static BucketEntry Decode(XdrDataInputStream stream)
        {
            var decodedBucketEntry = new BucketEntry();
            var discriminant       = BucketEntryType.Decode(stream);

            decodedBucketEntry.Discriminant = discriminant;
            switch (decodedBucketEntry.Discriminant.InnerValue)
            {
            case BucketEntryType.BucketEntryTypeEnum.LIVEENTRY:
                decodedBucketEntry.LiveEntry = LedgerEntry.Decode(stream);
                break;

            case BucketEntryType.BucketEntryTypeEnum.DEADENTRY:
                decodedBucketEntry.DeadEntry = LedgerKey.Decode(stream);
                break;
            }
            return(decodedBucketEntry);
        }
 public static LedgerKey Decode(IByteReader stream) {
   LedgerKey decodedLedgerKey = new LedgerKey();
 decodedLedgerKey.Discriminant = LedgerEntryType.Decode(stream);
 switch (decodedLedgerKey.Discriminant.InnerValue) {
 case LedgerEntryType.LedgerEntryTypeEnum.ACCOUNT:
 decodedLedgerKey.Account = LedgerKeyAccount.Decode(stream);
 break;
 case LedgerEntryType.LedgerEntryTypeEnum.TRUSTLINE:
 decodedLedgerKey.TrustLine = LedgerKeyTrustLine.Decode(stream);
 break;
 case LedgerEntryType.LedgerEntryTypeEnum.OFFER:
 decodedLedgerKey.Offer = LedgerKeyOffer.Decode(stream);
 break;
 case LedgerEntryType.LedgerEntryTypeEnum.DATA:
 decodedLedgerKey.Data = LedgerKeyData.Decode(stream);
 break;
 }
   return decodedLedgerKey;
 }
Esempio n. 17
0
        public static void Encode(IByteWriter stream, LedgerKey encodedLedgerKey)
        {
            XdrEncoding.EncodeInt32((int)encodedLedgerKey.Discriminant.InnerValue, stream);
            switch (encodedLedgerKey.Discriminant.InnerValue)
            {
            case LedgerEntryType.LedgerEntryTypeEnum.ACCOUNT:
                LedgerKeyAccount.Encode(stream, encodedLedgerKey.Account);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.TRUSTLINE:
                LedgerKeyTrustLine.Encode(stream, encodedLedgerKey.TrustLine);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.OFFER:
                LedgerKeyOffer.Encode(stream, encodedLedgerKey.Offer);
                break;

            case LedgerEntryType.LedgerEntryTypeEnum.DATA:
                LedgerKeyData.Encode(stream, encodedLedgerKey.Data);
                break;
            }
        }
Esempio n. 18
0
        public static void Encode(IByteWriter stream, LedgerEntryChange encodedLedgerEntryChange)
        {
            XdrEncoding.EncodeInt32((int)encodedLedgerEntryChange.Discriminant.InnerValue, stream);
            switch (encodedLedgerEntryChange.Discriminant.InnerValue)
            {
            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_CREATED:
                LedgerEntry.Encode(stream, encodedLedgerEntryChange.Created);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_UPDATED:
                LedgerEntry.Encode(stream, encodedLedgerEntryChange.Updated);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_REMOVED:
                LedgerKey.Encode(stream, encodedLedgerEntryChange.Removed);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_STATE:
                LedgerEntry.Encode(stream, encodedLedgerEntryChange.State);
                break;
            }
        }
Esempio n. 19
0
        public static void Encode(XdrDataOutputStream stream, LedgerEntryChange encodedLedgerEntryChange)
        {
            stream.WriteInt((int)encodedLedgerEntryChange.Discriminant.InnerValue);
            switch (encodedLedgerEntryChange.Discriminant.InnerValue)
            {
            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_CREATED:
                LedgerEntry.Encode(stream, encodedLedgerEntryChange.Created);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_UPDATED:
                LedgerEntry.Encode(stream, encodedLedgerEntryChange.Updated);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_REMOVED:
                LedgerKey.Encode(stream, encodedLedgerEntryChange.Removed);
                break;

            case LedgerEntryChangeType.LedgerEntryChangeTypeEnum.LEDGER_ENTRY_STATE:
                LedgerEntry.Encode(stream, encodedLedgerEntryChange.State);
                break;
            }
        }