class Config(Model): # misc mode: fields.Str() log_level: fields.Str() logger_name: fields.Optional(fields.Str) sleep_interval: fields.Float(normalizers=[float]) keys_base_path: fields.Str() path_to_keys: fields.Optional(fields.Str) # Only used in tests # db stuff db_name: fields.Str() db_uri: fields.Optional(fields.Str) db_host: fields.Optional(fields.Str) db_password: fields.Optional(fields.Str) db_username: fields.Optional(fields.Str) # multisig stuff signatures_threshold: fields.Int(normalizers=[int]) signatures_threshold_eth: fields.Optional(fields.Int(normalizers=[int])) multisig_wallet_address: fields.Str() # Ethereum address multisig_acc_addr: fields.Str() # SN address multisig_key_name: fields.Str() secret_signers: fields.Str() # ethereum stuff eth_node: fields.Str() network: fields.Str() eth_start_block: fields.Int(normalizers=[int]) eth_confirmations: fields.Int(normalizers=[int]) # eth account stuff eth_address: fields.Optional(fields.Str) eth_private_key: fields.Optional(fields.Str) pkcs11_module: fields.Optional(fields.Str) token: fields.Optional(fields.Str) user_pin: fields.Optional(fields.Str) label: fields.Optional(fields.Str) # oracle stuff ethgastation_api_key: fields.Optional(fields.Str) # secret network stuff secretcli_home: fields.Str() secret_node: fields.Str() enclave_key: fields.Str() chain_id: fields.Str() scrt_swap_address: fields.Str() swap_code_hash: fields.Str() # scrt account stuff secret_key_file: fields.Str() secret_key_name: fields.Str() secret_key_password: fields.Optional(fields.Str) # warnings eth_funds_warning_threshold: fields.Float(normalizers=[float]) scrt_funds_warning_threshold: fields.Float(normalizers=[float])
def test___new___subclassed_overriding_fields(self): # Subclassed Models with Fields of the same name should override the # parent Fields. class Example(Model): a = fields.Int() b = fields.Int() class Example2(Example): b = fields.Float() c = fields.Float() assert Example2.__fields__.a == fields.Int() assert Example2.__fields__.b == fields.Float() assert Example2.__fields__.c == fields.Float()
class Player(Model): key = MyUuid(default=uuid4) name = fields.Tuple(str, str) age = fields.Int() rating = fields.Float()
class SubExample(Example): b = fields.Float()
class Example2(Example): b = fields.Float() c = fields.Float()