Skip to content

Commit

Permalink
Merge pull request #102 from paytaca/improvements/slp-nft1-images
Browse files Browse the repository at this point in the history
Improvements/slp nft1 images
  • Loading branch information
joemarct authored Feb 23, 2023
2 parents faa6926 + 225dde9 commit 9ef1877
Show file tree
Hide file tree
Showing 10 changed files with 567 additions and 157 deletions.
9 changes: 9 additions & 0 deletions main/management/commands/bchd_grpc_stream.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,15 @@ def run():
message = platform[1]
chat_id = platform[2]
send_telegram_message(message, chat_id)

if output.slp_token.is_mint_baton:
token_obj = Token.objects.filter(tokenid=token_id).first()
if token_obj:
token_obj.save_minting_baton_info({
"txid": tx_hash,
"index": output.index,
"address": slp_address,
})
msg = f"{source}: {tx_hash} | {slp_address} | {amount} | {token_id}"
LOGGER.info(msg)

Expand Down
18 changes: 18 additions & 0 deletions main/migrations/0057_token_mint_amount.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 3.0.14 on 2023-02-20 06:01

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('main', '0056_transactionmetaattribute'),
]

operations = [
migrations.AddField(
model_name='token',
name='mint_amount',
field=models.BigIntegerField(null=True),
),
]
16 changes: 16 additions & 0 deletions main/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ class Token(PostgresModel):
date_created = models.DateTimeField(default=timezone.now)
date_updated = models.DateTimeField(null=True, blank=True)

mint_amount = models.BigIntegerField(null=True)

class Meta:
unique_together = ('name', 'tokenid',)

Expand All @@ -49,6 +51,20 @@ def __str__(self):
else:
return str(self.name)

@property
def is_nft(self):
if self.token_type == 65:
return True
elif self.token_type == 1 and self.decimals == 0 and self.mint_amount == 1:
return True
return False

def save_minting_baton_info(self, minting_baton, save=True):
self.nft_token_group_details = self.nft_token_group_details or dict()
self.nft_token_group_details["minting_baton"] = minting_baton
if save:
self.save()

@property
def info_id(self):
if self.token_type:
Expand Down
14 changes: 14 additions & 0 deletions main/serializers/serializer_token.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,17 @@ class Meta:
'image_url',
'success',
]


class WalletTokenSerializer(serializers.Serializer):
token_id = serializers.CharField(required=False, allow_blank=True)
name = serializers.CharField(required=False, allow_blank=True)
symbol = serializers.CharField(required=False, allow_blank=True)
type = serializers.IntegerField(required=False)
nft_token_group = serializers.CharField(required=False)
original_image_url = serializers.CharField(required=False, allow_blank=True)
medium_image_url = serializers.CharField(required=False, allow_blank=True)
thumbnail_image_url = serializers.CharField(required=False, allow_blank=True)
txid = serializers.CharField(required=False, allow_blank=True)
date_acquired = serializers.DateTimeField(required=False)
count = serializers.IntegerField(required=False)
Loading

0 comments on commit 9ef1877

Please sign in to comment.