diff --git a/protocol-v2 b/protocol-v2 index 3eb3e315..983ac0ef 160000 --- a/protocol-v2 +++ b/protocol-v2 @@ -1 +1 @@ -Subproject commit 3eb3e31597401126b5827f041acafd2cc0a5781a +Subproject commit 983ac0efb65ec4593a5194caffb634719d135263 diff --git a/src/driftpy/decode/user.py b/src/driftpy/decode/user.py index da5035af..b45d35cd 100644 --- a/src/driftpy/decode/user.py +++ b/src/driftpy/decode/user.py @@ -364,7 +364,19 @@ def decode_user(buffer: bytes) -> UserAccount: margin_mode = MarginMode.HighLeverage() offset += 1 - padding = [0] * 21 + pool_id = read_uint8(buffer, offset) + offset += 1 + + padding1_bytes = [buffer[offset + i] for i in range(3)] + offset += 3 + + last_fuel_bonus_update_ts = read_int32_le(buffer, offset, signed=False) + offset += 4 + + final_padding_bytes = [buffer[offset + i] for i in range(12)] + offset += 12 + + user_account_padding = padding1_bytes + final_padding_bytes return UserAccount( authority, @@ -394,5 +406,7 @@ def decode_user(buffer: bytes) -> UserAccount: open_auctions, has_open_auction, margin_mode, - padding, + pool_id, + last_fuel_bonus_update_ts, + user_account_padding, ) diff --git a/src/driftpy/idl/drift.json b/src/driftpy/idl/drift.json index 689615e9..3e570f1b 100644 --- a/src/driftpy/idl/drift.json +++ b/src/driftpy/idl/drift.json @@ -1,5 +1,5 @@ { - "version": "2.120.0", + "version": "2.121.0", "name": "drift", "instructions": [ { diff --git a/src/driftpy/types.py b/src/driftpy/types.py index 43948fbd..802a8fef 100644 --- a/src/driftpy/types.py +++ b/src/driftpy/types.py @@ -927,7 +927,9 @@ class UserAccount: open_auctions: int has_open_auction: bool margin_mode: MarginMode - padding: list[int] = field(default_factory=lambda: [0] * 21) + pool_id: int + last_fuel_bonus_update_ts: int + padding: list[int] = field(default_factory=lambda: [0] * 15) @dataclass