示例#1
0
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])
示例#2
0
    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()
示例#3
0
 class Player(Model):
     key = MyUuid(default=uuid4)
     name = fields.Tuple(str, str)
     age = fields.Int()
     rating = fields.Float()
示例#4
0
 class SubExample(Example):
     b = fields.Float()
示例#5
0
 class Example2(Example):
     b = fields.Float()
     c = fields.Float()