circle-developer-controlled-wallets 6.0.0__py3-none-any.whl → 8.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- circle/web3/developer_controlled_wallets/__init__.py +6 -1
- circle/web3/developer_controlled_wallets/api/signing_api.py +65 -31
- circle/web3/developer_controlled_wallets/api/transactions_api.py +299 -58
- circle/web3/developer_controlled_wallets/api/wallet_sets_api.py +16 -8
- circle/web3/developer_controlled_wallets/api/wallets_api.py +62 -30
- circle/web3/developer_controlled_wallets/api_client.py +1 -1
- circle/web3/developer_controlled_wallets/configuration.py +9 -2
- circle/web3/developer_controlled_wallets/models/__init__.py +5 -0
- circle/web3/developer_controlled_wallets/models/abi_parameters_inner.py +5 -5
- circle/web3/developer_controlled_wallets/models/accelerate_transaction_for_developer.py +10 -2
- circle/web3/developer_controlled_wallets/models/accelerate_transaction_for_developer_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/accelerate_transaction_for_developer_request.py +11 -3
- circle/web3/developer_controlled_wallets/models/account_type.py +1 -1
- circle/web3/developer_controlled_wallets/models/bad_request_response.py +11 -3
- circle/web3/developer_controlled_wallets/models/balance.py +12 -4
- circle/web3/developer_controlled_wallets/models/balances.py +10 -2
- circle/web3/developer_controlled_wallets/models/balances_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/base_screening_decision.py +12 -4
- circle/web3/developer_controlled_wallets/models/blockchain.py +3 -0
- circle/web3/developer_controlled_wallets/models/cancel_transaction_for_developer.py +10 -2
- circle/web3/developer_controlled_wallets/models/cancel_transaction_for_developer_request.py +11 -3
- circle/web3/developer_controlled_wallets/models/contract_execution_blockchain.py +2 -1
- circle/web3/developer_controlled_wallets/models/create_contract_execution_transaction_for_developer.py +10 -2
- circle/web3/developer_controlled_wallets/models/create_contract_execution_transaction_for_developer_request.py +34 -21
- circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_request.py +37 -24
- circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_request_blockchain.py +130 -0
- circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_response.py +10 -2
- circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_response_data.py +11 -3
- circle/web3/developer_controlled_wallets/models/create_wallet_request.py +16 -8
- circle/web3/developer_controlled_wallets/models/create_wallet_set_request.py +12 -4
- circle/web3/developer_controlled_wallets/models/create_wallet_upgrade_transaction_for_developer.py +10 -2
- circle/web3/developer_controlled_wallets/models/create_wallet_upgrade_transaction_for_developer_request.py +24 -16
- circle/web3/developer_controlled_wallets/models/derive_wallet_request.py +10 -2
- circle/web3/developer_controlled_wallets/models/developer_wallet_set.py +13 -5
- circle/web3/developer_controlled_wallets/models/end_user_wallet_set.py +14 -6
- circle/web3/developer_controlled_wallets/models/eoa_wallet.py +23 -15
- circle/web3/developer_controlled_wallets/models/eoa_wallet_with_balances.py +24 -16
- circle/web3/developer_controlled_wallets/models/error.py +11 -3
- circle/web3/developer_controlled_wallets/models/estimate_contract_execution_transaction_fee_request.py +18 -10
- circle/web3/developer_controlled_wallets/models/estimate_transaction_fee.py +10 -2
- circle/web3/developer_controlled_wallets/models/estimate_transaction_fee_data.py +15 -7
- circle/web3/developer_controlled_wallets/models/estimate_transfer_transaction_fee_request.py +18 -10
- circle/web3/developer_controlled_wallets/models/evm_blockchain.py +2 -0
- circle/web3/developer_controlled_wallets/models/fee_level.py +1 -1
- circle/web3/developer_controlled_wallets/models/get_lowest_nonce_transaction_response.py +95 -0
- circle/web3/developer_controlled_wallets/models/get_lowest_nonce_transaction_response_data.py +101 -0
- circle/web3/developer_controlled_wallets/models/lowest_nonce_transaction_fee_info.py +97 -0
- circle/web3/developer_controlled_wallets/models/nft.py +14 -6
- circle/web3/developer_controlled_wallets/models/nfts.py +10 -2
- circle/web3/developer_controlled_wallets/models/nfts_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/not_authorized_response.py +11 -3
- circle/web3/developer_controlled_wallets/models/not_found_response.py +11 -3
- circle/web3/developer_controlled_wallets/models/risk_signal.py +14 -6
- circle/web3/developer_controlled_wallets/models/sca_wallet.py +24 -16
- circle/web3/developer_controlled_wallets/models/sca_wallet_with_balances.py +25 -17
- circle/web3/developer_controlled_wallets/models/sign_delegate_action_request.py +12 -4
- circle/web3/developer_controlled_wallets/models/sign_delegate_action_response.py +10 -2
- circle/web3/developer_controlled_wallets/models/sign_delegate_action_response_data.py +11 -3
- circle/web3/developer_controlled_wallets/models/sign_message_request.py +21 -8
- circle/web3/developer_controlled_wallets/models/sign_transaction_request.py +21 -8
- circle/web3/developer_controlled_wallets/models/sign_transaction_response.py +10 -2
- circle/web3/developer_controlled_wallets/models/sign_transaction_response_data.py +12 -4
- circle/web3/developer_controlled_wallets/models/sign_typed_data_request.py +20 -7
- circle/web3/developer_controlled_wallets/models/signature_response.py +10 -2
- circle/web3/developer_controlled_wallets/models/signature_response_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/token.py +19 -11
- circle/web3/developer_controlled_wallets/models/token_blockchain.py +3 -0
- circle/web3/developer_controlled_wallets/models/token_response.py +10 -2
- circle/web3/developer_controlled_wallets/models/token_response_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/transaction.py +41 -33
- circle/web3/developer_controlled_wallets/models/transaction_fee.py +24 -12
- circle/web3/developer_controlled_wallets/models/transaction_response.py +10 -2
- circle/web3/developer_controlled_wallets/models/transaction_response_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/transaction_screening_decision.py +13 -5
- circle/web3/developer_controlled_wallets/models/transaction_state.py +2 -1
- circle/web3/developer_controlled_wallets/models/transactions.py +10 -2
- circle/web3/developer_controlled_wallets/models/transactions_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/transfer_blockchain.py +53 -0
- circle/web3/developer_controlled_wallets/models/update_wallet_request.py +11 -3
- circle/web3/developer_controlled_wallets/models/update_wallet_set_request.py +10 -2
- circle/web3/developer_controlled_wallets/models/validate_address.py +10 -2
- circle/web3/developer_controlled_wallets/models/validate_address_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/validate_address_request.py +11 -3
- circle/web3/developer_controlled_wallets/models/wallet.py +21 -13
- circle/web3/developer_controlled_wallets/models/wallet_metadata.py +11 -3
- circle/web3/developer_controlled_wallets/models/wallet_response.py +10 -2
- circle/web3/developer_controlled_wallets/models/wallet_response_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/wallet_set.py +12 -4
- circle/web3/developer_controlled_wallets/models/wallet_set_response.py +10 -2
- circle/web3/developer_controlled_wallets/models/wallet_set_response_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/wallet_sets.py +10 -2
- circle/web3/developer_controlled_wallets/models/wallet_sets_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/wallets.py +10 -2
- circle/web3/developer_controlled_wallets/models/wallets_data.py +10 -2
- circle/web3/developer_controlled_wallets/models/wallets_with_balances.py +10 -2
- circle/web3/developer_controlled_wallets/models/wallets_with_balances_data.py +10 -2
- {circle_developer_controlled_wallets-6.0.0.dist-info → circle_developer_controlled_wallets-8.1.1.dist-info}/METADATA +4 -4
- {circle_developer_controlled_wallets-6.0.0.dist-info → circle_developer_controlled_wallets-8.1.1.dist-info}/RECORD +100 -95
- {circle_developer_controlled_wallets-6.0.0.dist-info → circle_developer_controlled_wallets-8.1.1.dist-info}/WHEEL +1 -1
- {circle_developer_controlled_wallets-6.0.0.dist-info → circle_developer_controlled_wallets-8.1.1.dist-info}/top_level.txt +0 -0
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
|
|
17
22
|
|
|
18
23
|
from pydantic import BaseModel, Field
|
|
@@ -44,8 +49,10 @@ class SignatureResponse(BaseModel):
|
|
|
44
49
|
return pprint.pformat(self.dict(by_alias=True))
|
|
45
50
|
|
|
46
51
|
def to_json(self) -> str:
|
|
47
|
-
"""
|
|
48
|
-
|
|
52
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
53
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
54
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
55
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
49
56
|
|
|
50
57
|
@classmethod
|
|
51
58
|
def from_json(cls, json_str: str) -> SignatureResponse:
|
|
@@ -81,6 +88,7 @@ class SignatureResponse(BaseModel):
|
|
|
81
88
|
|
|
82
89
|
_obj = SignatureResponse.parse_obj({
|
|
83
90
|
"data": SignatureResponseData.from_dict(obj.get("data")) if obj.get("data") is not None else None
|
|
91
|
+
|
|
84
92
|
})
|
|
85
93
|
return _obj
|
|
86
94
|
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
|
|
17
22
|
|
|
18
23
|
from pydantic import BaseModel, Field, StrictStr
|
|
@@ -43,8 +48,10 @@ class SignatureResponseData(BaseModel):
|
|
|
43
48
|
return pprint.pformat(self.dict(by_alias=True))
|
|
44
49
|
|
|
45
50
|
def to_json(self) -> str:
|
|
46
|
-
"""
|
|
47
|
-
|
|
51
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
52
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
53
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
54
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
48
55
|
|
|
49
56
|
@classmethod
|
|
50
57
|
def from_json(cls, json_str: str) -> SignatureResponseData:
|
|
@@ -77,6 +84,7 @@ class SignatureResponseData(BaseModel):
|
|
|
77
84
|
|
|
78
85
|
_obj = SignatureResponseData.parse_obj({
|
|
79
86
|
"signature": obj.get("signature")
|
|
87
|
+
|
|
80
88
|
})
|
|
81
89
|
return _obj
|
|
82
90
|
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
from datetime import datetime
|
|
17
22
|
from typing import Optional
|
|
18
23
|
from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr
|
|
@@ -54,8 +59,10 @@ class Token(BaseModel):
|
|
|
54
59
|
return pprint.pformat(self.dict(by_alias=True))
|
|
55
60
|
|
|
56
61
|
def to_json(self) -> str:
|
|
57
|
-
"""
|
|
58
|
-
|
|
62
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
63
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
64
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
65
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
59
66
|
|
|
60
67
|
@classmethod
|
|
61
68
|
def from_json(cls, json_str: str) -> Token:
|
|
@@ -88,15 +95,16 @@ class Token(BaseModel):
|
|
|
88
95
|
|
|
89
96
|
_obj = Token.parse_obj({
|
|
90
97
|
"id": obj.get("id"),
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
"name": obj.get("name"),
|
|
99
|
+
"standard": obj.get("standard"),
|
|
100
|
+
"blockchain": obj.get("blockchain"),
|
|
101
|
+
"decimals": obj.get("decimals"),
|
|
102
|
+
"is_native": obj.get("isNative"),
|
|
103
|
+
"symbol": obj.get("symbol"),
|
|
104
|
+
"token_address": obj.get("tokenAddress"),
|
|
105
|
+
"update_date": obj.get("updateDate"),
|
|
106
|
+
"create_date": obj.get("createDate")
|
|
107
|
+
|
|
100
108
|
})
|
|
101
109
|
return _obj
|
|
102
110
|
|
|
@@ -41,6 +41,9 @@ class TokenBlockchain(str, Enum):
|
|
|
41
41
|
BASE_MINUS_SEPOLIA = 'BASE-SEPOLIA'
|
|
42
42
|
OP = 'OP'
|
|
43
43
|
OP_MINUS_SEPOLIA = 'OP-SEPOLIA'
|
|
44
|
+
APTOS = 'APTOS'
|
|
45
|
+
APTOS_MINUS_TESTNET = 'APTOS-TESTNET'
|
|
46
|
+
ARC_MINUS_TESTNET = 'ARC-TESTNET'
|
|
44
47
|
|
|
45
48
|
@classmethod
|
|
46
49
|
def from_json(cls, json_str: str) -> TokenBlockchain:
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
|
|
17
22
|
from typing import Optional
|
|
18
23
|
from pydantic import BaseModel
|
|
@@ -44,8 +49,10 @@ class TokenResponse(BaseModel):
|
|
|
44
49
|
return pprint.pformat(self.dict(by_alias=True))
|
|
45
50
|
|
|
46
51
|
def to_json(self) -> str:
|
|
47
|
-
"""
|
|
48
|
-
|
|
52
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
53
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
54
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
55
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
49
56
|
|
|
50
57
|
@classmethod
|
|
51
58
|
def from_json(cls, json_str: str) -> TokenResponse:
|
|
@@ -81,6 +88,7 @@ class TokenResponse(BaseModel):
|
|
|
81
88
|
|
|
82
89
|
_obj = TokenResponse.parse_obj({
|
|
83
90
|
"data": TokenResponseData.from_dict(obj.get("data")) if obj.get("data") is not None else None
|
|
91
|
+
|
|
84
92
|
})
|
|
85
93
|
return _obj
|
|
86
94
|
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
|
|
17
22
|
from typing import Optional
|
|
18
23
|
from pydantic import BaseModel
|
|
@@ -44,8 +49,10 @@ class TokenResponseData(BaseModel):
|
|
|
44
49
|
return pprint.pformat(self.dict(by_alias=True))
|
|
45
50
|
|
|
46
51
|
def to_json(self) -> str:
|
|
47
|
-
"""
|
|
48
|
-
|
|
52
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
53
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
54
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
55
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
49
56
|
|
|
50
57
|
@classmethod
|
|
51
58
|
def from_json(cls, json_str: str) -> TokenResponseData:
|
|
@@ -81,6 +88,7 @@ class TokenResponseData(BaseModel):
|
|
|
81
88
|
|
|
82
89
|
_obj = TokenResponseData.parse_obj({
|
|
83
90
|
"token": Token.from_dict(obj.get("token")) if obj.get("token") is not None else None
|
|
91
|
+
|
|
84
92
|
})
|
|
85
93
|
return _obj
|
|
86
94
|
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
from datetime import datetime
|
|
17
22
|
from typing import List, Optional
|
|
18
23
|
from pydantic import BaseModel, Field, StrictInt, StrictStr, conlist, constr
|
|
@@ -33,7 +38,7 @@ class Transaction(BaseModel):
|
|
|
33
38
|
id: StrictStr = Field(..., description="System-generated unique identifier of the resource.")
|
|
34
39
|
abi_function_signature: Optional[StrictStr] = Field(None, alias="abiFunctionSignature", description="The contract ABI function signature or `callData` field is required for interacting with the smart contract. The ABI function signature cannot be used simultaneously with `callData`. e.g. burn(uint256)")
|
|
35
40
|
abi_parameters: Optional[conlist(AbiParametersInner)] = Field(None, alias="abiParameters", description="The contract ABI function signature parameters for executing the contract interaction. Supported parameter types include string, integer, boolean, and array. These parameters should be used exclusively with the abiFunctionSignature and cannot be used with `callData`.")
|
|
36
|
-
amounts: Optional[conlist(StrictStr
|
|
41
|
+
amounts: Optional[conlist(StrictStr)] = Field(None, description="Transfer amounts in decimal number format, at least one element is required for transfer. For ERC721 token transfer, the amounts field is required to be [\"1\"] (array with \"1\" as the only element).")
|
|
37
42
|
amount_in_usd: Optional[StrictStr] = Field(None, alias="amountInUSD", description="Transaction amount in USD decimal format.")
|
|
38
43
|
block_hash: Optional[StrictStr] = Field(None, alias="blockHash", description="Identifier for the block that includes the transaction.")
|
|
39
44
|
block_height: Optional[StrictInt] = Field(None, alias="blockHeight", description="Block height of the transaction, representing the number of blockchain confirmations.")
|
|
@@ -82,8 +87,10 @@ class Transaction(BaseModel):
|
|
|
82
87
|
return pprint.pformat(self.dict(by_alias=True))
|
|
83
88
|
|
|
84
89
|
def to_json(self) -> str:
|
|
85
|
-
"""
|
|
86
|
-
|
|
90
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
91
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
92
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
93
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
87
94
|
|
|
88
95
|
@classmethod
|
|
89
96
|
def from_json(cls, json_str: str) -> Transaction:
|
|
@@ -129,36 +136,37 @@ class Transaction(BaseModel):
|
|
|
129
136
|
|
|
130
137
|
_obj = Transaction.parse_obj({
|
|
131
138
|
"id": obj.get("id"),
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
139
|
+
"abi_function_signature": obj.get("abiFunctionSignature"),
|
|
140
|
+
"abi_parameters": [AbiParametersInner.from_dict(_item) for _item in obj.get("abiParameters")] if obj.get("abiParameters") is not None else None,
|
|
141
|
+
"amounts": obj.get("amounts"),
|
|
142
|
+
"amount_in_usd": obj.get("amountInUSD"),
|
|
143
|
+
"block_hash": obj.get("blockHash"),
|
|
144
|
+
"block_height": obj.get("blockHeight"),
|
|
145
|
+
"blockchain": obj.get("blockchain"),
|
|
146
|
+
"contract_address": obj.get("contractAddress"),
|
|
147
|
+
"create_date": obj.get("createDate"),
|
|
148
|
+
"custody_type": obj.get("custodyType"),
|
|
149
|
+
"destination_address": obj.get("destinationAddress"),
|
|
150
|
+
"error_reason": obj.get("errorReason"),
|
|
151
|
+
"error_details": obj.get("errorDetails"),
|
|
152
|
+
"estimated_fee": TransactionFee.from_dict(obj.get("estimatedFee")) if obj.get("estimatedFee") is not None else None,
|
|
153
|
+
"fee_level": obj.get("feeLevel"),
|
|
154
|
+
"first_confirm_date": obj.get("firstConfirmDate"),
|
|
155
|
+
"network_fee": obj.get("networkFee"),
|
|
156
|
+
"network_fee_in_usd": obj.get("networkFeeInUSD"),
|
|
157
|
+
"nfts": obj.get("nfts"),
|
|
158
|
+
"operation": obj.get("operation"),
|
|
159
|
+
"ref_id": obj.get("refId"),
|
|
160
|
+
"source_address": obj.get("sourceAddress"),
|
|
161
|
+
"state": obj.get("state"),
|
|
162
|
+
"token_id": obj.get("tokenId"),
|
|
163
|
+
"transaction_type": obj.get("transactionType"),
|
|
164
|
+
"tx_hash": obj.get("txHash"),
|
|
165
|
+
"update_date": obj.get("updateDate"),
|
|
166
|
+
"user_id": obj.get("userId"),
|
|
167
|
+
"wallet_id": obj.get("walletId"),
|
|
168
|
+
"transaction_screening_evaluation": TransactionScreeningDecision.from_dict(obj.get("transactionScreeningEvaluation")) if obj.get("transactionScreeningEvaluation") is not None else None
|
|
169
|
+
|
|
162
170
|
})
|
|
163
171
|
return _obj
|
|
164
172
|
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
|
|
17
22
|
from typing import Optional
|
|
18
23
|
from pydantic import BaseModel, Field, StrictStr
|
|
@@ -21,13 +26,15 @@ class TransactionFee(BaseModel):
|
|
|
21
26
|
"""
|
|
22
27
|
TransactionFee
|
|
23
28
|
"""
|
|
24
|
-
gas_limit: Optional[StrictStr] = Field(None, alias="gasLimit", description="The maximum units of gas to use for the transaction. Required if `feeLevel` is not provided. Estimates for this limit can be obtained through the `POST /transactions/transfer/estimateFee` API. GasLimit override (only supported for EOA wallets): Using `gasLimit` together with `feeLevel`, the provided `gasLimit` is required to be greater or equal to `feeLevel` estimation and will override the estimation's gasLimit. ")
|
|
25
|
-
gas_price: Optional[StrictStr] = Field(None, alias="gasPrice", description="For blockchains without EIP-1559 support, the maximum price of gas, in gwei, to use per each unit of gas (see `gasLimit`). Requires `gasLimit`. Cannot be used with `feeLevel`, `priorityFee`, or `maxFee`. Estimates for this fee can be obtained through the `POST /transactions/transfer/estimateFee` API. ")
|
|
26
|
-
max_fee: Optional[StrictStr] = Field(None, alias="maxFee", description="For blockchains with EIP-1559 support, the maximum price per unit of gas (see `gasLimit`), in gwei. Requires `priorityFee`, and `gasLimit` to be present. Cannot be used with `feeLevel` or `gasPrice`. Estimates for this fee can be obtained through the `POST /transactions/transfer/estimateFee` API. ")
|
|
27
|
-
priority_fee: Optional[StrictStr] = Field(None, alias="priorityFee", description="For blockchains with EIP-1559 support, the “tip”, in gwei, to add to the base fee as an incentive for validators. Please note that the `maxFee` and `gasLimit` parameters are required alongside the `priorityFee`. The `feeLevel` and `gasPrice` parameters cannot be used with the `priorityFee`. Estimations for this fee can be obtained through the `POST /transactions/transfer/estimateFee` API. ")
|
|
29
|
+
gas_limit: Optional[StrictStr] = Field(None, alias="gasLimit", description="The maximum units of gas to use for the transaction. Required if `feeLevel` is not provided. Estimates for this limit can be obtained through the [`POST /transactions/transfer/estimateFee`](/api-reference/w3s/developer-controlled-wallets/create-transfer-estimate-fee) API. GasLimit override (only supported for EOA wallets): Using `gasLimit` together with `feeLevel`, the provided `gasLimit` is required to be greater or equal to `feeLevel` estimation and will override the estimation's gasLimit. ")
|
|
30
|
+
gas_price: Optional[StrictStr] = Field(None, alias="gasPrice", description="For blockchains without EIP-1559 support, the maximum price of gas, in gwei, to use per each unit of gas (see `gasLimit`). Requires `gasLimit`. Cannot be used with `feeLevel`, `priorityFee`, or `maxFee`. Estimates for this fee can be obtained through the [`POST /transactions/transfer/estimateFee`](/api-reference/w3s/developer-controlled-wallets/create-transfer-estimate-fee) API. ")
|
|
31
|
+
max_fee: Optional[StrictStr] = Field(None, alias="maxFee", description="For blockchains with EIP-1559 support, the maximum price per unit of gas (see `gasLimit`), in gwei. Requires `priorityFee`, and `gasLimit` to be present. Cannot be used with `feeLevel` or `gasPrice`. Estimates for this fee can be obtained through the [`POST /transactions/transfer/estimateFee`](/api-reference/w3s/developer-controlled-wallets/create-transfer-estimate-fee) API. ")
|
|
32
|
+
priority_fee: Optional[StrictStr] = Field(None, alias="priorityFee", description="For blockchains with EIP-1559 support, the “tip”, in gwei, to add to the base fee as an incentive for validators. Please note that the `maxFee` and `gasLimit` parameters are required alongside the `priorityFee`. The `feeLevel` and `gasPrice` parameters cannot be used with the `priorityFee`. Estimations for this fee can be obtained through the [`POST /transactions/transfer/estimateFee`](/api-reference/w3s/developer-controlled-wallets/create-transfer-estimate-fee) API. ")
|
|
28
33
|
base_fee: Optional[StrictStr] = Field(None, alias="baseFee", description="For blockchains with EIP-1559 support, the estimated base fee represents the minimum fee required for a transaction to be included in a block on the blockchain. It is measured in gwei and compensates for the computational resources validators consume to process the transaction. The base fee is supplemented by a separate \"tip\" called the priority fee, which acts as an extra incentive for validators to prioritize the transaction. The priority fee is added to the base fee to calculate the final transaction fee. ")
|
|
29
34
|
network_fee: Optional[StrictStr] = Field(None, alias="networkFee", description="The estimated network fee is the maximum amount of cryptocurrency (such as ETH, ARB, or SOL) that you will pay for your transaction. This fee depends on the parameters you set, including Gas Limit, Priority Fee, and Max Fee. It compensates for the computational resources that validators consume to process the transaction. It is measured in native token such as ETH, SOL. For blockchains with L1 data fees such as OP/BASE, the network fee is a combination of the Execution Gas Fee and the L1 Data Fee. Each blockchain might use different formula for network fee. Refer to each specific blockchain's documentation to understand how `networkFee` is calculated. ")
|
|
30
|
-
|
|
35
|
+
network_fee_raw: Optional[StrictStr] = Field(None, alias="networkFeeRaw", description="Similar to `networkFee`, `networkFeeRaw` is an estimation with lower buffer and thus should be closer to the actual on-chain expense. This field will only be returned in the estimation response. ")
|
|
36
|
+
l1_fee: Optional[StrictStr] = Field(None, alias="l1Fee", description="This fee represents the Layer 1 (L1) rollup charge associated with transactions on Layer 2 blockchains. The amount is expressed in the native currency, such as ETH. This field is relevant for Layer 2 blockchains utilizing a rollup mechanism and for specific account types, such as externally owned accounts (EOAs) on the Optimism (OP) blockchain. ")
|
|
37
|
+
__properties = ["gasLimit", "gasPrice", "maxFee", "priorityFee", "baseFee", "networkFee", "networkFeeRaw", "l1Fee"]
|
|
31
38
|
|
|
32
39
|
def __init__(self, **kwargs):
|
|
33
40
|
if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
|
|
@@ -48,8 +55,10 @@ class TransactionFee(BaseModel):
|
|
|
48
55
|
return pprint.pformat(self.dict(by_alias=True))
|
|
49
56
|
|
|
50
57
|
def to_json(self) -> str:
|
|
51
|
-
"""
|
|
52
|
-
|
|
58
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
59
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
60
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
61
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
53
62
|
|
|
54
63
|
@classmethod
|
|
55
64
|
def from_json(cls, json_str: str) -> TransactionFee:
|
|
@@ -82,11 +91,14 @@ class TransactionFee(BaseModel):
|
|
|
82
91
|
|
|
83
92
|
_obj = TransactionFee.parse_obj({
|
|
84
93
|
"gas_limit": obj.get("gasLimit"),
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
94
|
+
"gas_price": obj.get("gasPrice"),
|
|
95
|
+
"max_fee": obj.get("maxFee"),
|
|
96
|
+
"priority_fee": obj.get("priorityFee"),
|
|
97
|
+
"base_fee": obj.get("baseFee"),
|
|
98
|
+
"network_fee": obj.get("networkFee"),
|
|
99
|
+
"network_fee_raw": obj.get("networkFeeRaw"),
|
|
100
|
+
"l1_fee": obj.get("l1Fee")
|
|
101
|
+
|
|
90
102
|
})
|
|
91
103
|
return _obj
|
|
92
104
|
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
|
|
17
22
|
|
|
18
23
|
from pydantic import BaseModel, Field
|
|
@@ -44,8 +49,10 @@ class TransactionResponse(BaseModel):
|
|
|
44
49
|
return pprint.pformat(self.dict(by_alias=True))
|
|
45
50
|
|
|
46
51
|
def to_json(self) -> str:
|
|
47
|
-
"""
|
|
48
|
-
|
|
52
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
53
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
54
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
55
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
49
56
|
|
|
50
57
|
@classmethod
|
|
51
58
|
def from_json(cls, json_str: str) -> TransactionResponse:
|
|
@@ -81,6 +88,7 @@ class TransactionResponse(BaseModel):
|
|
|
81
88
|
|
|
82
89
|
_obj = TransactionResponse.parse_obj({
|
|
83
90
|
"data": TransactionResponseData.from_dict(obj.get("data")) if obj.get("data") is not None else None
|
|
91
|
+
|
|
84
92
|
})
|
|
85
93
|
return _obj
|
|
86
94
|
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
|
|
17
22
|
from typing import Optional
|
|
18
23
|
from pydantic import BaseModel
|
|
@@ -44,8 +49,10 @@ class TransactionResponseData(BaseModel):
|
|
|
44
49
|
return pprint.pformat(self.dict(by_alias=True))
|
|
45
50
|
|
|
46
51
|
def to_json(self) -> str:
|
|
47
|
-
"""
|
|
48
|
-
|
|
52
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
53
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
54
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
55
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
49
56
|
|
|
50
57
|
@classmethod
|
|
51
58
|
def from_json(cls, json_str: str) -> TransactionResponseData:
|
|
@@ -81,6 +88,7 @@ class TransactionResponseData(BaseModel):
|
|
|
81
88
|
|
|
82
89
|
_obj = TransactionResponseData.parse_obj({
|
|
83
90
|
"transaction": Transaction.from_dict(obj.get("transaction")) if obj.get("transaction") is not None else None
|
|
91
|
+
|
|
84
92
|
})
|
|
85
93
|
return _obj
|
|
86
94
|
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
from datetime import datetime
|
|
17
22
|
from typing import List, Optional
|
|
18
23
|
from pydantic import BaseModel, Field, StrictStr, conlist
|
|
@@ -48,8 +53,10 @@ class TransactionScreeningDecision(BaseModel):
|
|
|
48
53
|
return pprint.pformat(self.dict(by_alias=True))
|
|
49
54
|
|
|
50
55
|
def to_json(self) -> str:
|
|
51
|
-
"""
|
|
52
|
-
|
|
56
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
57
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
58
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
59
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
53
60
|
|
|
54
61
|
@classmethod
|
|
55
62
|
def from_json(cls, json_str: str) -> TransactionScreeningDecision:
|
|
@@ -89,9 +96,10 @@ class TransactionScreeningDecision(BaseModel):
|
|
|
89
96
|
|
|
90
97
|
_obj = TransactionScreeningDecision.parse_obj({
|
|
91
98
|
"rule_name": obj.get("ruleName"),
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
99
|
+
"actions": obj.get("actions"),
|
|
100
|
+
"screening_date": obj.get("screeningDate"),
|
|
101
|
+
"reasons": [RiskSignal.from_dict(_item) for _item in obj.get("reasons")] if obj.get("reasons") is not None else None
|
|
102
|
+
|
|
95
103
|
})
|
|
96
104
|
return _obj
|
|
97
105
|
|
|
@@ -31,9 +31,10 @@ class TransactionState(str, Enum):
|
|
|
31
31
|
DENIED = 'DENIED'
|
|
32
32
|
FAILED = 'FAILED'
|
|
33
33
|
INITIATED = 'INITIATED'
|
|
34
|
-
|
|
34
|
+
CLEARED = 'CLEARED'
|
|
35
35
|
QUEUED = 'QUEUED'
|
|
36
36
|
SENT = 'SENT'
|
|
37
|
+
STUCK = 'STUCK'
|
|
37
38
|
|
|
38
39
|
@classmethod
|
|
39
40
|
def from_json(cls, json_str: str) -> TransactionState:
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
|
|
17
22
|
from typing import Optional
|
|
18
23
|
from pydantic import BaseModel
|
|
@@ -44,8 +49,10 @@ class Transactions(BaseModel):
|
|
|
44
49
|
return pprint.pformat(self.dict(by_alias=True))
|
|
45
50
|
|
|
46
51
|
def to_json(self) -> str:
|
|
47
|
-
"""
|
|
48
|
-
|
|
52
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
53
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
54
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
55
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
49
56
|
|
|
50
57
|
@classmethod
|
|
51
58
|
def from_json(cls, json_str: str) -> Transactions:
|
|
@@ -81,6 +88,7 @@ class Transactions(BaseModel):
|
|
|
81
88
|
|
|
82
89
|
_obj = Transactions.parse_obj({
|
|
83
90
|
"data": TransactionsData.from_dict(obj.get("data")) if obj.get("data") is not None else None
|
|
91
|
+
|
|
84
92
|
})
|
|
85
93
|
return _obj
|
|
86
94
|
|
|
@@ -13,6 +13,11 @@ import pprint
|
|
|
13
13
|
import re # noqa: F401
|
|
14
14
|
import json
|
|
15
15
|
|
|
16
|
+
# CUSTOMIZED: Added pydantic_encoder import (not in default OpenAPI Generator template)
|
|
17
|
+
# pydantic_encoder is needed to address serialization issues with datetime and other non-primitive fields,
|
|
18
|
+
# which are not handled by the default JSON encoder.
|
|
19
|
+
from pydantic.json import pydantic_encoder
|
|
20
|
+
|
|
16
21
|
|
|
17
22
|
from typing import List, Optional
|
|
18
23
|
from pydantic import BaseModel, conlist
|
|
@@ -44,8 +49,10 @@ class TransactionsData(BaseModel):
|
|
|
44
49
|
return pprint.pformat(self.dict(by_alias=True))
|
|
45
50
|
|
|
46
51
|
def to_json(self) -> str:
|
|
47
|
-
"""
|
|
48
|
-
|
|
52
|
+
"""Return JSON string of the model (handles datetime/UUID/Decimal/Enum, etc.)"""
|
|
53
|
+
# CUSTOMIZED: Added default=pydantic_encoder to handle complex types (datetime, UUID, Enum, etc.)
|
|
54
|
+
# This differs from the default OpenAPI Generator template which doesn't handle these types properly
|
|
55
|
+
return json.dumps(self.to_dict(), default=pydantic_encoder)
|
|
49
56
|
|
|
50
57
|
@classmethod
|
|
51
58
|
def from_json(cls, json_str: str) -> TransactionsData:
|
|
@@ -85,6 +92,7 @@ class TransactionsData(BaseModel):
|
|
|
85
92
|
|
|
86
93
|
_obj = TransactionsData.parse_obj({
|
|
87
94
|
"transactions": [Transaction.from_dict(_item) for _item in obj.get("transactions")] if obj.get("transactions") is not None else None
|
|
95
|
+
|
|
88
96
|
})
|
|
89
97
|
return _obj
|
|
90
98
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
The version of the OpenAPI document: 1.0
|
|
5
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
6
|
+
|
|
7
|
+
Do not edit the class manually.
|
|
8
|
+
""" # noqa: E501
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
import json
|
|
12
|
+
import pprint
|
|
13
|
+
import re # noqa: F401
|
|
14
|
+
from aenum import Enum, no_arg
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class TransferBlockchain(str, Enum):
|
|
21
|
+
"""
|
|
22
|
+
Blockchain associated with the transfer transaction. Required when either of `walletAddress` or `tokenAddress` is provided.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
"""
|
|
26
|
+
allowed enum values
|
|
27
|
+
"""
|
|
28
|
+
ETH = 'ETH'
|
|
29
|
+
ETH_MINUS_SEPOLIA = 'ETH-SEPOLIA'
|
|
30
|
+
AVAX = 'AVAX'
|
|
31
|
+
AVAX_MINUS_FUJI = 'AVAX-FUJI'
|
|
32
|
+
MATIC = 'MATIC'
|
|
33
|
+
MATIC_MINUS_AMOY = 'MATIC-AMOY'
|
|
34
|
+
SOL = 'SOL'
|
|
35
|
+
SOL_MINUS_DEVNET = 'SOL-DEVNET'
|
|
36
|
+
ARB = 'ARB'
|
|
37
|
+
ARB_MINUS_SEPOLIA = 'ARB-SEPOLIA'
|
|
38
|
+
UNI = 'UNI'
|
|
39
|
+
UNI_MINUS_SEPOLIA = 'UNI-SEPOLIA'
|
|
40
|
+
BASE = 'BASE'
|
|
41
|
+
BASE_MINUS_SEPOLIA = 'BASE-SEPOLIA'
|
|
42
|
+
OP = 'OP'
|
|
43
|
+
OP_MINUS_SEPOLIA = 'OP-SEPOLIA'
|
|
44
|
+
APTOS = 'APTOS'
|
|
45
|
+
APTOS_MINUS_TESTNET = 'APTOS-TESTNET'
|
|
46
|
+
ARC_MINUS_TESTNET = 'ARC-TESTNET'
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_json(cls, json_str: str) -> TransferBlockchain:
|
|
50
|
+
"""Create an instance of TransferBlockchain from a JSON string"""
|
|
51
|
+
return TransferBlockchain(json.loads(json_str))
|
|
52
|
+
|
|
53
|
+
|