-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathCreateNodeWalletAddressOutput.py
More file actions
75 lines (61 loc) · 2.63 KB
/
CreateNodeWalletAddressOutput.py
File metadata and controls
75 lines (61 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Copyright ©, 2022-present, Lightspark Group, Inc. - All Rights Reserved
from dataclasses import dataclass
from typing import Any, Mapping, Optional
from lightspark.requests.requester import Requester
from .MultiSigAddressValidationParameters import MultiSigAddressValidationParameters
from .MultiSigAddressValidationParameters import (
from_json as MultiSigAddressValidationParameters_from_json,
)
@dataclass
class CreateNodeWalletAddressOutput:
requester: Requester
node_id: str
wallet_address: str
multisig_wallet_address_validation_parameters: Optional[
MultiSigAddressValidationParameters
]
"""Vaildation parameters for the 2-of-2 multisig address. None if the address is not a 2-of-2 multisig address."""
def to_json(self) -> Mapping[str, Any]:
return {
"create_node_wallet_address_output_node": {"id": self.node_id},
"create_node_wallet_address_output_wallet_address": self.wallet_address,
"create_node_wallet_address_output_multisig_wallet_address_validation_parameters": (
self.multisig_wallet_address_validation_parameters.to_json()
if self.multisig_wallet_address_validation_parameters
else None
),
}
FRAGMENT = """
fragment CreateNodeWalletAddressOutputFragment on CreateNodeWalletAddressOutput {
__typename
create_node_wallet_address_output_node: node {
id
}
create_node_wallet_address_output_wallet_address: wallet_address
create_node_wallet_address_output_multisig_wallet_address_validation_parameters: multisig_wallet_address_validation_parameters {
__typename
multi_sig_address_validation_parameters_counterparty_funding_pubkey: counterparty_funding_pubkey
multi_sig_address_validation_parameters_funding_pubkey_derivation_path: funding_pubkey_derivation_path
}
}
"""
def from_json(
requester: Requester, obj: Mapping[str, Any]
) -> CreateNodeWalletAddressOutput:
return CreateNodeWalletAddressOutput(
requester=requester,
node_id=obj["create_node_wallet_address_output_node"]["id"],
wallet_address=obj["create_node_wallet_address_output_wallet_address"],
multisig_wallet_address_validation_parameters=(
MultiSigAddressValidationParameters_from_json(
requester,
obj[
"create_node_wallet_address_output_multisig_wallet_address_validation_parameters"
],
)
if obj[
"create_node_wallet_address_output_multisig_wallet_address_validation_parameters"
]
else None
),
)