nem: mosaics definitions are generated from trezor-common

pull/25/head
Tomas Susanka 6 years ago committed by Jan Pochyla
parent 0093d21bb6
commit 3422474811

@ -0,0 +1,15 @@
from .nem_mosaics import mosaics
def get_mosaic_definition(namespace_name: str, mosaic_name: str, network: int):
for m in mosaics:
if namespace_name == m["namespace"] and mosaic_name == m["mosaic"]:
if ("networks" not in m) or (network in m["networks"]):
return m
return None
def is_nem_xem_mosaic(namespace_name: str, mosaic_name: str):
if namespace_name == "nem" and mosaic_name == "xem":
return True
return False

@ -1,19 +1,4 @@
# todo move to common and generate via script
def get_mosaic_definition(namespace_name: str, mosaic_name: str, network: int):
for m in mosaics:
if namespace_name == m["namespace"] and mosaic_name == m["mosaic"]:
if ("networks" not in m) or (network in m["networks"]):
return m
return None
def is_nem_xem_mosaic(namespace_name: str, mosaic_name: str):
if namespace_name == "nem" and mosaic_name == "xem":
return True
return False
# generated using gen_nem_mosaics.py from trezor-common nem_mosaics.json - do not edit directly!
mosaics = [
{
@ -21,7 +6,7 @@ mosaics = [
"ticker": " XEM",
"namespace": "nem",
"mosaic": "xem",
"divisibility": 6
"divisibility": 6,
},
{
"name": "DIMCOIN",
@ -33,7 +18,7 @@ mosaics = [
"fee": 10,
"levy_namespace": "dim",
"levy_mosaic": "coin",
"networks": [ 104 ]
"networks": [104],
},
{
"name": "DIM TOKEN",
@ -41,7 +26,7 @@ mosaics = [
"namespace": "dim",
"mosaic": "token",
"divisibility": 6,
"networks": [ 104 ]
"networks": [104],
},
{
"name": "Breeze Token",
@ -49,7 +34,7 @@ mosaics = [
"namespace": "breeze",
"mosaic": "breeze-token",
"divisibility": 0,
"networks": [ 104 ]
"networks": [104],
},
{
"name": "PacNEM Game Credits",
@ -57,7 +42,7 @@ mosaics = [
"namespace": "pacnem",
"mosaic": "heart",
"divisibility": 0,
"networks": [ 104 ]
"networks": [104],
},
{
"name": "PacNEM Score Tokens",
@ -69,6 +54,6 @@ mosaics = [
"fee": 100,
"levy_namespace": "nem",
"levy_mosaic": "xem",
"networks": [ 104 ]
}
"networks": [104],
},
]

@ -1,5 +1,5 @@
from apps.nem.layout import *
from apps.nem.mosaic.definitions import *
from apps.nem.mosaic.helpers import *
from trezor.messages import NEMImportanceTransferMode
from trezor.messages import NEMTransfer
from trezor.messages import NEMImportanceTransfer

@ -1,6 +1,6 @@
from common import *
from apps.nem.transfer import *
from apps.nem.mosaic.definitions import get_mosaic_definition
from apps.nem.mosaic.helpers import get_mosaic_definition
class TestNemMosaic(unittest.TestCase):

@ -0,0 +1,46 @@
#!/usr/bin/env python3
import json
def format_str(value):
return '"' + value + '"'
def format_primitive(value):
if isinstance(value, int):
return value
elif isinstance(value, str):
return format_str(value)
elif isinstance(value, list):
return value
else:
raise TypeError
fields = [
'name',
'ticker',
'namespace',
'mosaic',
'divisibility',
'levy',
'fee',
'levy_namespace',
'levy_mosaic',
'networks',
]
mosaics = json.load(open('../../vendor/trezor-common/defs/nem/nem_mosaics.json', 'r'))
print('# generated using gen_nem_mosaics.py from trezor-common nem_mosaics.json - do not edit directly!')
print('')
print('mosaics = [')
for m in mosaics:
print(' {')
for name in fields:
if name in m:
print(' %s: %s,' % (format_str(name), format_primitive(m[name])))
# else:
# print(' %s: None,' % format_str(name))
print(' },')
print(']')
Loading…
Cancel
Save