Skip to content

Commit 42f4734

Browse files
Added ParamToken to Python client
1 parent 25a1842 commit 42f4734

File tree

1 file changed

+21
-0
lines changed
  • client/src/ledger_app_clients/ethereum

1 file changed

+21
-0
lines changed

client/src/ledger_app_clients/ethereum/gcs.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ class ParamType(IntEnum):
8383
ENUM = 0x07
8484
TRUSTED_NAME = 0x08
8585
CALLDATA = 0x09
86+
TOKEN = 0x0a
8687

8788

8889
class TypeFamily(IntEnum):
@@ -452,6 +453,26 @@ def serialize(self) -> bytes:
452453
return payload
453454

454455

456+
class ParamToken(TlvSerializable):
457+
version: int
458+
addr: Value
459+
native_currency: Optional[list[bytes]]
460+
461+
def __init__(self, version, addr: Value, native_currency: Optional[list[bytes]] = None):
462+
self.version = version
463+
self.addr = addr
464+
self.native_currency = native_currency
465+
466+
def serialize(self) -> bytes:
467+
payload = bytearray()
468+
payload += self.serialize_field(0x00, self.version)
469+
payload += self.serialize_field(0x01, self.addr.serialize())
470+
if self.native_currency is not None:
471+
for nat_cur in self.native_currency:
472+
payload += self.serialize_field(0x02, nat_cur)
473+
return payload
474+
475+
455476
class Field(TlvSerializable):
456477
version: int
457478
name: str

0 commit comments

Comments
 (0)