from copy import deepcopy from lbrynet.schema.proto2 import fee_pb2 as fee_pb from lbrynet.schema.baseschema import Schema from lbrynet.schema.legacy_schema_v1 import VERSION_MAP from lbrynet.schema.constants import CURRENCY_MAP class Fee(Schema): @classmethod def load(cls, message): _fee = deepcopy(message) currency = CURRENCY_MAP[_fee.pop('currency')] _message_pb = fee_pb.Fee() _message_pb.version = VERSION_MAP[_fee.pop("version")] _message_pb.currency = currency _message_pb.address = _fee.pop('address') return cls._load(_fee, _message_pb)