Example #1
0
        public static Receipt FromDto(JObject dto)
        {
            var type = ReceiptTypeExtension.GetRawValue(dto["type"].ToObject <int>());

            switch (type)
            {
            case ReceiptType.Harvest_Fee:
            case ReceiptType.LockHash_Created:
            case ReceiptType.LockHash_Completed:
            case ReceiptType.LockHash_Expired:
            case ReceiptType.LockSecret_Created:
            case ReceiptType.LockSecret_Completed:
            case ReceiptType.LockSecret_Expired:
                return(new Receipt(ReceiptVersion.BALANCE_CHANGE, type, null));

            case ReceiptType.Mosaic_Levy:
            case ReceiptType.Mosaic_Rental_Fee:
            case ReceiptType.Namespace_Rental_Fee:
                return(new Receipt(ReceiptVersion.BALANCE_TRANSFER, type, null));

            case ReceiptType.Mosaic_Expired:
            case ReceiptType.Namespace_Expired:
                return(new Receipt(ReceiptVersion.ARTIFACT_EXPIRY, type, null));

            case ReceiptType.Inflation:
                return(new Receipt(ReceiptVersion.INFLATION_RECEIPT, type, null));
            }

            throw new Exception("Unsupport Receipt");
        }
Example #2
0
        public static BalanceChangeReceipt FromDto(JObject dto, NetworkType networkType)
        {
            var type     = ReceiptTypeExtension.GetRawValue(dto["type"].ToObject <int>());
            var account  = PublicAccount.CreateFromPublicKey(dto["account"].ToObject <string>(), networkType);
            var mosaicId = dto["mosaicId"].ToObject <UInt64DTO>().ToUInt64();
            var amount   = dto["amount"].ToObject <UInt64DTO>().ToUInt64();

            return(new BalanceChangeReceipt(account, new MosaicId(mosaicId), amount, ReceiptVersion.BALANCE_CHANGE, type, null));
        }
        public static InflationReceipt FromDto(JObject dto)
        {
            var type = ReceiptTypeExtension.GetRawValue(dto["type"].ToObject <int>());

            var mosaicId = dto["mosaicId"].ToObject <UInt64DTO>().ToUInt64();
            var amount   = dto["amount"].ToObject <UInt64DTO>().ToUInt64();

            return(new InflationReceipt(new MosaicId(mosaicId), amount, ReceiptVersion.INFLATION_RECEIPT, type, null));
        }
        public static ArtifactExpiryReceipt FromDto(JObject dto)
        {
            var type = ReceiptTypeExtension.GetRawValue(dto["type"].ToObject <int>());

            switch (type)
            {
            case ReceiptType.Mosaic_Expired:     //Mosaic_Expired
                var mosaicId = dto["mosaicId"].ToObject <UInt64DTO>().ToUInt64();
                return(new ArtifactExpiryReceipt(new MosaicId(mosaicId), ReceiptVersion.ARTIFACT_EXPIRY, type, null));

            case ReceiptType.Namespace_Expired:     //Namespace_Expired
                var namespaceId = dto["namespaceId"].ToObject <UInt64DTO>().ToUInt64();
                return(new ArtifactExpiryReceipt(new NamespaceId(namespaceId), ReceiptVersion.ARTIFACT_EXPIRY, type, null));

            default:
                throw new Exception("Reciept Type is not support");
            }
        }