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.
Files changed (100) hide show
  1. circle/web3/developer_controlled_wallets/__init__.py +6 -1
  2. circle/web3/developer_controlled_wallets/api/signing_api.py +65 -31
  3. circle/web3/developer_controlled_wallets/api/transactions_api.py +299 -58
  4. circle/web3/developer_controlled_wallets/api/wallet_sets_api.py +16 -8
  5. circle/web3/developer_controlled_wallets/api/wallets_api.py +62 -30
  6. circle/web3/developer_controlled_wallets/api_client.py +1 -1
  7. circle/web3/developer_controlled_wallets/configuration.py +9 -2
  8. circle/web3/developer_controlled_wallets/models/__init__.py +5 -0
  9. circle/web3/developer_controlled_wallets/models/abi_parameters_inner.py +5 -5
  10. circle/web3/developer_controlled_wallets/models/accelerate_transaction_for_developer.py +10 -2
  11. circle/web3/developer_controlled_wallets/models/accelerate_transaction_for_developer_data.py +10 -2
  12. circle/web3/developer_controlled_wallets/models/accelerate_transaction_for_developer_request.py +11 -3
  13. circle/web3/developer_controlled_wallets/models/account_type.py +1 -1
  14. circle/web3/developer_controlled_wallets/models/bad_request_response.py +11 -3
  15. circle/web3/developer_controlled_wallets/models/balance.py +12 -4
  16. circle/web3/developer_controlled_wallets/models/balances.py +10 -2
  17. circle/web3/developer_controlled_wallets/models/balances_data.py +10 -2
  18. circle/web3/developer_controlled_wallets/models/base_screening_decision.py +12 -4
  19. circle/web3/developer_controlled_wallets/models/blockchain.py +3 -0
  20. circle/web3/developer_controlled_wallets/models/cancel_transaction_for_developer.py +10 -2
  21. circle/web3/developer_controlled_wallets/models/cancel_transaction_for_developer_request.py +11 -3
  22. circle/web3/developer_controlled_wallets/models/contract_execution_blockchain.py +2 -1
  23. circle/web3/developer_controlled_wallets/models/create_contract_execution_transaction_for_developer.py +10 -2
  24. circle/web3/developer_controlled_wallets/models/create_contract_execution_transaction_for_developer_request.py +34 -21
  25. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_request.py +37 -24
  26. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_request_blockchain.py +130 -0
  27. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_response.py +10 -2
  28. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_response_data.py +11 -3
  29. circle/web3/developer_controlled_wallets/models/create_wallet_request.py +16 -8
  30. circle/web3/developer_controlled_wallets/models/create_wallet_set_request.py +12 -4
  31. circle/web3/developer_controlled_wallets/models/create_wallet_upgrade_transaction_for_developer.py +10 -2
  32. circle/web3/developer_controlled_wallets/models/create_wallet_upgrade_transaction_for_developer_request.py +24 -16
  33. circle/web3/developer_controlled_wallets/models/derive_wallet_request.py +10 -2
  34. circle/web3/developer_controlled_wallets/models/developer_wallet_set.py +13 -5
  35. circle/web3/developer_controlled_wallets/models/end_user_wallet_set.py +14 -6
  36. circle/web3/developer_controlled_wallets/models/eoa_wallet.py +23 -15
  37. circle/web3/developer_controlled_wallets/models/eoa_wallet_with_balances.py +24 -16
  38. circle/web3/developer_controlled_wallets/models/error.py +11 -3
  39. circle/web3/developer_controlled_wallets/models/estimate_contract_execution_transaction_fee_request.py +18 -10
  40. circle/web3/developer_controlled_wallets/models/estimate_transaction_fee.py +10 -2
  41. circle/web3/developer_controlled_wallets/models/estimate_transaction_fee_data.py +15 -7
  42. circle/web3/developer_controlled_wallets/models/estimate_transfer_transaction_fee_request.py +18 -10
  43. circle/web3/developer_controlled_wallets/models/evm_blockchain.py +2 -0
  44. circle/web3/developer_controlled_wallets/models/fee_level.py +1 -1
  45. circle/web3/developer_controlled_wallets/models/get_lowest_nonce_transaction_response.py +95 -0
  46. circle/web3/developer_controlled_wallets/models/get_lowest_nonce_transaction_response_data.py +101 -0
  47. circle/web3/developer_controlled_wallets/models/lowest_nonce_transaction_fee_info.py +97 -0
  48. circle/web3/developer_controlled_wallets/models/nft.py +14 -6
  49. circle/web3/developer_controlled_wallets/models/nfts.py +10 -2
  50. circle/web3/developer_controlled_wallets/models/nfts_data.py +10 -2
  51. circle/web3/developer_controlled_wallets/models/not_authorized_response.py +11 -3
  52. circle/web3/developer_controlled_wallets/models/not_found_response.py +11 -3
  53. circle/web3/developer_controlled_wallets/models/risk_signal.py +14 -6
  54. circle/web3/developer_controlled_wallets/models/sca_wallet.py +24 -16
  55. circle/web3/developer_controlled_wallets/models/sca_wallet_with_balances.py +25 -17
  56. circle/web3/developer_controlled_wallets/models/sign_delegate_action_request.py +12 -4
  57. circle/web3/developer_controlled_wallets/models/sign_delegate_action_response.py +10 -2
  58. circle/web3/developer_controlled_wallets/models/sign_delegate_action_response_data.py +11 -3
  59. circle/web3/developer_controlled_wallets/models/sign_message_request.py +21 -8
  60. circle/web3/developer_controlled_wallets/models/sign_transaction_request.py +21 -8
  61. circle/web3/developer_controlled_wallets/models/sign_transaction_response.py +10 -2
  62. circle/web3/developer_controlled_wallets/models/sign_transaction_response_data.py +12 -4
  63. circle/web3/developer_controlled_wallets/models/sign_typed_data_request.py +20 -7
  64. circle/web3/developer_controlled_wallets/models/signature_response.py +10 -2
  65. circle/web3/developer_controlled_wallets/models/signature_response_data.py +10 -2
  66. circle/web3/developer_controlled_wallets/models/token.py +19 -11
  67. circle/web3/developer_controlled_wallets/models/token_blockchain.py +3 -0
  68. circle/web3/developer_controlled_wallets/models/token_response.py +10 -2
  69. circle/web3/developer_controlled_wallets/models/token_response_data.py +10 -2
  70. circle/web3/developer_controlled_wallets/models/transaction.py +41 -33
  71. circle/web3/developer_controlled_wallets/models/transaction_fee.py +24 -12
  72. circle/web3/developer_controlled_wallets/models/transaction_response.py +10 -2
  73. circle/web3/developer_controlled_wallets/models/transaction_response_data.py +10 -2
  74. circle/web3/developer_controlled_wallets/models/transaction_screening_decision.py +13 -5
  75. circle/web3/developer_controlled_wallets/models/transaction_state.py +2 -1
  76. circle/web3/developer_controlled_wallets/models/transactions.py +10 -2
  77. circle/web3/developer_controlled_wallets/models/transactions_data.py +10 -2
  78. circle/web3/developer_controlled_wallets/models/transfer_blockchain.py +53 -0
  79. circle/web3/developer_controlled_wallets/models/update_wallet_request.py +11 -3
  80. circle/web3/developer_controlled_wallets/models/update_wallet_set_request.py +10 -2
  81. circle/web3/developer_controlled_wallets/models/validate_address.py +10 -2
  82. circle/web3/developer_controlled_wallets/models/validate_address_data.py +10 -2
  83. circle/web3/developer_controlled_wallets/models/validate_address_request.py +11 -3
  84. circle/web3/developer_controlled_wallets/models/wallet.py +21 -13
  85. circle/web3/developer_controlled_wallets/models/wallet_metadata.py +11 -3
  86. circle/web3/developer_controlled_wallets/models/wallet_response.py +10 -2
  87. circle/web3/developer_controlled_wallets/models/wallet_response_data.py +10 -2
  88. circle/web3/developer_controlled_wallets/models/wallet_set.py +12 -4
  89. circle/web3/developer_controlled_wallets/models/wallet_set_response.py +10 -2
  90. circle/web3/developer_controlled_wallets/models/wallet_set_response_data.py +10 -2
  91. circle/web3/developer_controlled_wallets/models/wallet_sets.py +10 -2
  92. circle/web3/developer_controlled_wallets/models/wallet_sets_data.py +10 -2
  93. circle/web3/developer_controlled_wallets/models/wallets.py +10 -2
  94. circle/web3/developer_controlled_wallets/models/wallets_data.py +10 -2
  95. circle/web3/developer_controlled_wallets/models/wallets_with_balances.py +10 -2
  96. circle/web3/developer_controlled_wallets/models/wallets_with_balances_data.py +10 -2
  97. {circle_developer_controlled_wallets-6.0.0.dist-info → circle_developer_controlled_wallets-8.1.1.dist-info}/METADATA +4 -4
  98. {circle_developer_controlled_wallets-6.0.0.dist-info → circle_developer_controlled_wallets-8.1.1.dist-info}/RECORD +100 -95
  99. {circle_developer_controlled_wallets-6.0.0.dist-info → circle_developer_controlled_wallets-8.1.1.dist-info}/WHEEL +1 -1
  100. {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
- """Returns the JSON representation of the model using alias"""
48
- return json.dumps(self.to_dict())
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
- """Returns the JSON representation of the model using alias"""
47
- return json.dumps(self.to_dict())
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
- """Returns the JSON representation of the model using alias"""
58
- return json.dumps(self.to_dict())
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
- "name": obj.get("name"),
92
- "standard": obj.get("standard"),
93
- "blockchain": obj.get("blockchain"),
94
- "decimals": obj.get("decimals"),
95
- "is_native": obj.get("isNative"),
96
- "symbol": obj.get("symbol"),
97
- "token_address": obj.get("tokenAddress"),
98
- "update_date": obj.get("updateDate"),
99
- "create_date": obj.get("createDate")
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
- """Returns the JSON representation of the model using alias"""
48
- return json.dumps(self.to_dict())
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
- """Returns the JSON representation of the model using alias"""
48
- return json.dumps(self.to_dict())
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, min_items=1)] = 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).")
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
- """Returns the JSON representation of the model using alias"""
86
- return json.dumps(self.to_dict())
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
- "abi_function_signature": obj.get("abiFunctionSignature"),
133
- "abi_parameters": [AbiParametersInner.from_dict(_item) for _item in obj.get("abiParameters")] if obj.get("abiParameters") is not None else None,
134
- "amounts": obj.get("amounts"),
135
- "amount_in_usd": obj.get("amountInUSD"),
136
- "block_hash": obj.get("blockHash"),
137
- "block_height": obj.get("blockHeight"),
138
- "blockchain": obj.get("blockchain"),
139
- "contract_address": obj.get("contractAddress"),
140
- "create_date": obj.get("createDate"),
141
- "custody_type": obj.get("custodyType"),
142
- "destination_address": obj.get("destinationAddress"),
143
- "error_reason": obj.get("errorReason"),
144
- "error_details": obj.get("errorDetails"),
145
- "estimated_fee": TransactionFee.from_dict(obj.get("estimatedFee")) if obj.get("estimatedFee") is not None else None,
146
- "fee_level": obj.get("feeLevel"),
147
- "first_confirm_date": obj.get("firstConfirmDate"),
148
- "network_fee": obj.get("networkFee"),
149
- "network_fee_in_usd": obj.get("networkFeeInUSD"),
150
- "nfts": obj.get("nfts"),
151
- "operation": obj.get("operation"),
152
- "ref_id": obj.get("refId"),
153
- "source_address": obj.get("sourceAddress"),
154
- "state": obj.get("state"),
155
- "token_id": obj.get("tokenId"),
156
- "transaction_type": obj.get("transactionType"),
157
- "tx_hash": obj.get("txHash"),
158
- "update_date": obj.get("updateDate"),
159
- "user_id": obj.get("userId"),
160
- "wallet_id": obj.get("walletId"),
161
- "transaction_screening_evaluation": TransactionScreeningDecision.from_dict(obj.get("transactionScreeningEvaluation")) if obj.get("transactionScreeningEvaluation") is not None else None
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
- __properties = ["gasLimit", "gasPrice", "maxFee", "priorityFee", "baseFee", "networkFee"]
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
- """Returns the JSON representation of the model using alias"""
52
- return json.dumps(self.to_dict())
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
- "gas_price": obj.get("gasPrice"),
86
- "max_fee": obj.get("maxFee"),
87
- "priority_fee": obj.get("priorityFee"),
88
- "base_fee": obj.get("baseFee"),
89
- "network_fee": obj.get("networkFee")
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
- """Returns the JSON representation of the model using alias"""
48
- return json.dumps(self.to_dict())
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
- """Returns the JSON representation of the model using alias"""
48
- return json.dumps(self.to_dict())
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
- """Returns the JSON representation of the model using alias"""
52
- return json.dumps(self.to_dict())
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
- "actions": obj.get("actions"),
93
- "screening_date": obj.get("screeningDate"),
94
- "reasons": [RiskSignal.from_dict(_item) for _item in obj.get("reasons")] if obj.get("reasons") is not None else None
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
- PENDING_RISK_SCREENING = 'PENDING_RISK_SCREENING'
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
- """Returns the JSON representation of the model using alias"""
48
- return json.dumps(self.to_dict())
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
- """Returns the JSON representation of the model using alias"""
48
- return json.dumps(self.to_dict())
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
+