circle-developer-controlled-wallets 1.1.1__py3-none-any.whl → 1.2.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.

Potentially problematic release.


This version of circle-developer-controlled-wallets might be problematic. Click here for more details.

Files changed (73) hide show
  1. circle/web3/developer_controlled_wallets/__init__.py +40 -33
  2. circle/web3/developer_controlled_wallets/api/signing_api.py +193 -38
  3. circle/web3/developer_controlled_wallets/api/token_lookup_api.py +8 -8
  4. circle/web3/developer_controlled_wallets/api/transactions_api.py +47 -47
  5. circle/web3/developer_controlled_wallets/api/wallet_sets_api.py +14 -14
  6. circle/web3/developer_controlled_wallets/api/wallets_api.py +30 -30
  7. circle/web3/developer_controlled_wallets/api_client.py +1 -1
  8. circle/web3/developer_controlled_wallets/configuration.py +1 -1
  9. circle/web3/developer_controlled_wallets/models/__init__.py +39 -32
  10. circle/web3/developer_controlled_wallets/models/{create_developer_transaction_cancel200_response.py → accelerate_transaction_for_developer.py} +11 -11
  11. circle/web3/developer_controlled_wallets/models/{accelerate_transaction_for_developer_response.py → accelerate_transaction_for_developer_data.py} +8 -8
  12. circle/web3/developer_controlled_wallets/models/balance.py +3 -3
  13. circle/web3/developer_controlled_wallets/models/{wallet_set2.py → balances.py} +11 -11
  14. circle/web3/developer_controlled_wallets/models/{get_balances_response.py → balances_data.py} +8 -8
  15. circle/web3/developer_controlled_wallets/models/base_screening_decision.py +88 -0
  16. circle/web3/developer_controlled_wallets/models/blockchain.py +2 -0
  17. circle/web3/developer_controlled_wallets/models/cancel_transaction_for_developer.py +87 -0
  18. circle/web3/developer_controlled_wallets/models/{create_developer_transaction_contract_execution200_response.py → create_contract_execution_transaction_for_developer.py} +13 -13
  19. circle/web3/developer_controlled_wallets/models/{create_contract_execution_transaction_for_developer_response.py → create_contract_execution_transaction_for_developer_data.py} +8 -8
  20. circle/web3/developer_controlled_wallets/models/create_contract_execution_transaction_for_developer_request.py +4 -4
  21. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_request.py +4 -4
  22. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_response.py +9 -8
  23. circle/web3/developer_controlled_wallets/models/{cancel_transaction_for_developer_response.py → create_transfer_transaction_for_developer_response_data.py} +8 -8
  24. circle/web3/developer_controlled_wallets/models/error.py +3 -3
  25. circle/web3/developer_controlled_wallets/models/estimate_contract_execution_transaction_fee_request.py +2 -2
  26. circle/web3/developer_controlled_wallets/models/estimate_contract_execution_transaction_fee_request_blockchain.py +2 -0
  27. circle/web3/developer_controlled_wallets/models/{get_transaction200_response.py → estimate_transaction_fee.py} +13 -13
  28. circle/web3/developer_controlled_wallets/models/{estimate_transaction_fee_response.py → estimate_transaction_fee_data.py} +15 -15
  29. circle/web3/developer_controlled_wallets/models/estimate_transfer_transaction_fee_request.py +1 -1
  30. circle/web3/developer_controlled_wallets/models/nft.py +5 -5
  31. circle/web3/developer_controlled_wallets/models/{wallet2.py → nfts.py} +11 -11
  32. circle/web3/developer_controlled_wallets/models/{get_nfts_response.py → nfts_data.py} +8 -8
  33. circle/web3/developer_controlled_wallets/models/risk_action.py +38 -0
  34. circle/web3/developer_controlled_wallets/models/risk_category.py +48 -0
  35. circle/web3/developer_controlled_wallets/models/risk_score.py +40 -0
  36. circle/web3/developer_controlled_wallets/models/risk_signal.py +101 -0
  37. circle/web3/developer_controlled_wallets/models/risk_type.py +37 -0
  38. circle/web3/developer_controlled_wallets/models/{sign_message_for_developer_request.py → sign_message_request.py} +9 -9
  39. circle/web3/developer_controlled_wallets/models/sign_transaction_request.py +89 -0
  40. circle/web3/developer_controlled_wallets/models/sign_transaction_response.py +87 -0
  41. circle/web3/developer_controlled_wallets/models/{sign_typed_data_for_developer_response.py → sign_transaction_response_data.py} +13 -11
  42. circle/web3/developer_controlled_wallets/models/{sign_typed_data_for_developer_request.py → sign_typed_data_request.py} +9 -9
  43. circle/web3/developer_controlled_wallets/models/{list_wallet_nfts200_response.py → signature_response.py} +13 -13
  44. circle/web3/developer_controlled_wallets/models/{sign_message_for_developer_response.py → signature_response_data.py} +8 -8
  45. circle/web3/developer_controlled_wallets/models/token.py +103 -0
  46. circle/web3/developer_controlled_wallets/models/token_blockchain.py +2 -0
  47. circle/web3/developer_controlled_wallets/models/token_response.py +9 -25
  48. circle/web3/developer_controlled_wallets/models/{get_token_by_id_response.py → token_response_data.py} +11 -11
  49. circle/web3/developer_controlled_wallets/models/token_standard.py +6 -0
  50. circle/web3/developer_controlled_wallets/models/transaction.py +12 -6
  51. circle/web3/developer_controlled_wallets/models/{estimated_transaction_fee.py → transaction_fee.py} +16 -14
  52. circle/web3/developer_controlled_wallets/models/{list_transactions200_response.py → transaction_response.py} +13 -13
  53. circle/web3/developer_controlled_wallets/models/{get_transaction_by_id_response.py → transaction_response_data.py} +8 -8
  54. circle/web3/developer_controlled_wallets/models/transaction_screening_decision.py +98 -0
  55. circle/web3/developer_controlled_wallets/models/{get_token_id200_response.py → transactions.py} +11 -11
  56. circle/web3/developer_controlled_wallets/models/{get_transactions_response.py → transactions_data.py} +8 -8
  57. circle/web3/developer_controlled_wallets/models/{list_wallet_ballance200_response.py → validate_address.py} +13 -13
  58. circle/web3/developer_controlled_wallets/models/{validate_address_response.py → validate_address_data.py} +8 -8
  59. circle/web3/developer_controlled_wallets/models/wallet_response.py +87 -0
  60. circle/web3/developer_controlled_wallets/models/{wallet2_data.py → wallet_response_data.py} +8 -8
  61. circle/web3/developer_controlled_wallets/models/wallet_set_response.py +87 -0
  62. circle/web3/developer_controlled_wallets/models/{wallet_set2_data.py → wallet_set_response_data.py} +8 -8
  63. {circle_developer_controlled_wallets-1.1.1.dist-info → circle_developer_controlled_wallets-1.2.1.dist-info}/METADATA +7 -7
  64. circle_developer_controlled_wallets-1.2.1.dist-info/RECORD +104 -0
  65. {circle_developer_controlled_wallets-1.1.1.dist-info → circle_developer_controlled_wallets-1.2.1.dist-info}/WHEEL +1 -1
  66. circle/web3/developer_controlled_wallets/models/create_developer_transaction_accelerate200_response.py +0 -87
  67. circle/web3/developer_controlled_wallets/models/create_developer_transaction_transfer200_response.py +0 -87
  68. circle/web3/developer_controlled_wallets/models/create_transfer_estimate_fee200_response.py +0 -87
  69. circle/web3/developer_controlled_wallets/models/create_validate_address200_response.py +0 -87
  70. circle/web3/developer_controlled_wallets/models/sign_developer_message200_response.py +0 -87
  71. circle/web3/developer_controlled_wallets/models/sign_developer_typed_data200_response.py +0 -87
  72. circle_developer_controlled_wallets-1.1.1.dist-info/RECORD +0 -97
  73. {circle_developer_controlled_wallets-1.1.1.dist-info → circle_developer_controlled_wallets-1.2.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,87 @@
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
+ from __future__ import annotations
12
+ import pprint
13
+ import re # noqa: F401
14
+ import json
15
+
16
+
17
+
18
+ from pydantic import BaseModel, Field
19
+ from circle.web3.developer_controlled_wallets.models.sign_transaction_response_data import SignTransactionResponseData
20
+
21
+ class SignTransactionResponse(BaseModel):
22
+ """
23
+ SignTransactionResponse
24
+ """
25
+ data: SignTransactionResponseData = Field(...)
26
+ __properties = ["data"]
27
+
28
+ def __init__(self, **kwargs):
29
+ if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
30
+ kwargs["idempotency_key"] = "#REFILL_PLACEHOLDER"
31
+
32
+ if "entitySecretCiphertext" in self.__properties and not kwargs.get("entity_secret_ciphertext"):
33
+ kwargs["entity_secret_ciphertext"] = "#REFILL_PLACEHOLDER"
34
+ super().__init__(**kwargs)
35
+
36
+
37
+ class Config:
38
+ """Pydantic configuration"""
39
+ allow_population_by_field_name = True
40
+ validate_assignment = True
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.dict(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> SignTransactionResponse:
52
+ """Create an instance of SignTransactionResponse from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self):
56
+ """Returns the dictionary representation of the model using alias"""
57
+ _dict = self.dict(by_alias=True,
58
+ exclude={
59
+ },
60
+ exclude_none=True)
61
+ # override the default output from pydantic by calling `to_dict()` of data
62
+ if self.data:
63
+ _dict['data'] = self.data.to_dict()
64
+ return _dict
65
+
66
+ @classmethod
67
+ def from_dict(cls, obj: dict) -> SignTransactionResponse:
68
+ """Create an instance of SignTransactionResponse from a dict"""
69
+ if obj is None:
70
+ return None
71
+
72
+ if not isinstance(obj, dict):
73
+ return SignTransactionResponse.parse_obj(obj)
74
+
75
+ # fill idempotency_key and ciphertext with placeholder for auto_fill
76
+ if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
77
+ obj["idempotencyKey"] = "#REFILL_PLACEHOLDER"
78
+
79
+ if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
80
+ obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
81
+
82
+ _obj = SignTransactionResponse.parse_obj({
83
+ "data": SignTransactionResponseData.from_dict(obj.get("data")) if obj.get("data") is not None else None
84
+ })
85
+ return _obj
86
+
87
+
@@ -17,12 +17,13 @@ import json
17
17
 
18
18
  from pydantic import BaseModel, Field, StrictStr
19
19
 
20
- class SignTypedDataForDeveloperResponse(BaseModel):
20
+ class SignTransactionResponseData(BaseModel):
21
21
  """
22
- SignTypedDataForDeveloperResponse
22
+ SignTransactionResponseData
23
23
  """
24
- signature: StrictStr = Field(..., description="Signature is a hex encoded 65 byte array starting with 0x.")
25
- __properties = ["signature"]
24
+ signature: StrictStr = Field(..., description="Signature is a base58 encoded 64 byte string for Solana.")
25
+ signed_transaction: StrictStr = Field(..., alias="signedTransaction", description="Signed transaction is a base64 encoded string for Solana.")
26
+ __properties = ["signature", "signedTransaction"]
26
27
 
27
28
  def __init__(self, **kwargs):
28
29
  if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
@@ -47,8 +48,8 @@ class SignTypedDataForDeveloperResponse(BaseModel):
47
48
  return json.dumps(self.to_dict())
48
49
 
49
50
  @classmethod
50
- def from_json(cls, json_str: str) -> SignTypedDataForDeveloperResponse:
51
- """Create an instance of SignTypedDataForDeveloperResponse from a JSON string"""
51
+ def from_json(cls, json_str: str) -> SignTransactionResponseData:
52
+ """Create an instance of SignTransactionResponseData from a JSON string"""
52
53
  return cls.from_dict(json.loads(json_str))
53
54
 
54
55
  def to_dict(self):
@@ -60,13 +61,13 @@ class SignTypedDataForDeveloperResponse(BaseModel):
60
61
  return _dict
61
62
 
62
63
  @classmethod
63
- def from_dict(cls, obj: dict) -> SignTypedDataForDeveloperResponse:
64
- """Create an instance of SignTypedDataForDeveloperResponse from a dict"""
64
+ def from_dict(cls, obj: dict) -> SignTransactionResponseData:
65
+ """Create an instance of SignTransactionResponseData from a dict"""
65
66
  if obj is None:
66
67
  return None
67
68
 
68
69
  if not isinstance(obj, dict):
69
- return SignTypedDataForDeveloperResponse.parse_obj(obj)
70
+ return SignTransactionResponseData.parse_obj(obj)
70
71
 
71
72
  # fill idempotency_key and ciphertext with placeholder for auto_fill
72
73
  if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
@@ -75,8 +76,9 @@ class SignTypedDataForDeveloperResponse(BaseModel):
75
76
  if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
76
77
  obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
77
78
 
78
- _obj = SignTypedDataForDeveloperResponse.parse_obj({
79
- "signature": obj.get("signature")
79
+ _obj = SignTransactionResponseData.parse_obj({
80
+ "signature": obj.get("signature"),
81
+ "signed_transaction": obj.get("signedTransaction")
80
82
  })
81
83
  return _obj
82
84
 
@@ -17,11 +17,11 @@ import json
17
17
  from typing import Optional, Union
18
18
  from pydantic import BaseModel, Field, StrictBytes, StrictStr
19
19
 
20
- class SignTypedDataForDeveloperRequest(BaseModel):
20
+ class SignTypedDataRequest(BaseModel):
21
21
  """
22
- SignTypedDataForDeveloperRequest
22
+ SignTypedDataRequest
23
23
  """
24
- wallet_id: StrictStr = Field(..., alias="walletId", description="Unique system generated identifier of the wallet. Required when source Address and blockchain is not provided. Mutually exclusive. For contract deploys this wallet ID will be used as the source.")
24
+ wallet_id: StrictStr = Field(..., alias="walletId", description="System-generated unique identifier of the resource.")
25
25
  data: StrictStr = Field(..., description="A string represents the typed structured data in EIP-712")
26
26
  memo: Optional[StrictStr] = Field(None, description="The human readable explanation for this sign action. Useful for presenting with extra information.")
27
27
  entity_secret_ciphertext: Union[StrictBytes, StrictStr] = Field(..., alias="entitySecretCiphertext", description="A base64 string expression of the entity secret ciphertext. The entity secret should be encrypted by the entity public key. Circle mandates that the entity secret ciphertext is unique for each API request. ")
@@ -50,8 +50,8 @@ class SignTypedDataForDeveloperRequest(BaseModel):
50
50
  return json.dumps(self.to_dict())
51
51
 
52
52
  @classmethod
53
- def from_json(cls, json_str: str) -> SignTypedDataForDeveloperRequest:
54
- """Create an instance of SignTypedDataForDeveloperRequest from a JSON string"""
53
+ def from_json(cls, json_str: str) -> SignTypedDataRequest:
54
+ """Create an instance of SignTypedDataRequest from a JSON string"""
55
55
  return cls.from_dict(json.loads(json_str))
56
56
 
57
57
  def to_dict(self):
@@ -63,13 +63,13 @@ class SignTypedDataForDeveloperRequest(BaseModel):
63
63
  return _dict
64
64
 
65
65
  @classmethod
66
- def from_dict(cls, obj: dict) -> SignTypedDataForDeveloperRequest:
67
- """Create an instance of SignTypedDataForDeveloperRequest from a dict"""
66
+ def from_dict(cls, obj: dict) -> SignTypedDataRequest:
67
+ """Create an instance of SignTypedDataRequest from a dict"""
68
68
  if obj is None:
69
69
  return None
70
70
 
71
71
  if not isinstance(obj, dict):
72
- return SignTypedDataForDeveloperRequest.parse_obj(obj)
72
+ return SignTypedDataRequest.parse_obj(obj)
73
73
 
74
74
  # fill idempotency_key and ciphertext with placeholder for auto_fill
75
75
  if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
@@ -78,7 +78,7 @@ class SignTypedDataForDeveloperRequest(BaseModel):
78
78
  if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
79
79
  obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
80
80
 
81
- _obj = SignTypedDataForDeveloperRequest.parse_obj({
81
+ _obj = SignTypedDataRequest.parse_obj({
82
82
  "wallet_id": obj.get("walletId"),
83
83
  "data": obj.get("data"),
84
84
  "memo": obj.get("memo"),
@@ -14,15 +14,15 @@ import re # noqa: F401
14
14
  import json
15
15
 
16
16
 
17
- from typing import Optional
18
- from pydantic import BaseModel
19
- from circle.web3.developer_controlled_wallets.models.get_nfts_response import GetNftsResponse
20
17
 
21
- class ListWalletNfts200Response(BaseModel):
18
+ from pydantic import BaseModel, Field
19
+ from circle.web3.developer_controlled_wallets.models.signature_response_data import SignatureResponseData
20
+
21
+ class SignatureResponse(BaseModel):
22
22
  """
23
- ListWalletNfts200Response
23
+ SignatureResponse
24
24
  """
25
- data: Optional[GetNftsResponse] = None
25
+ data: SignatureResponseData = Field(...)
26
26
  __properties = ["data"]
27
27
 
28
28
  def __init__(self, **kwargs):
@@ -48,8 +48,8 @@ class ListWalletNfts200Response(BaseModel):
48
48
  return json.dumps(self.to_dict())
49
49
 
50
50
  @classmethod
51
- def from_json(cls, json_str: str) -> ListWalletNfts200Response:
52
- """Create an instance of ListWalletNfts200Response from a JSON string"""
51
+ def from_json(cls, json_str: str) -> SignatureResponse:
52
+ """Create an instance of SignatureResponse from a JSON string"""
53
53
  return cls.from_dict(json.loads(json_str))
54
54
 
55
55
  def to_dict(self):
@@ -64,13 +64,13 @@ class ListWalletNfts200Response(BaseModel):
64
64
  return _dict
65
65
 
66
66
  @classmethod
67
- def from_dict(cls, obj: dict) -> ListWalletNfts200Response:
68
- """Create an instance of ListWalletNfts200Response from a dict"""
67
+ def from_dict(cls, obj: dict) -> SignatureResponse:
68
+ """Create an instance of SignatureResponse from a dict"""
69
69
  if obj is None:
70
70
  return None
71
71
 
72
72
  if not isinstance(obj, dict):
73
- return ListWalletNfts200Response.parse_obj(obj)
73
+ return SignatureResponse.parse_obj(obj)
74
74
 
75
75
  # fill idempotency_key and ciphertext with placeholder for auto_fill
76
76
  if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
@@ -79,8 +79,8 @@ class ListWalletNfts200Response(BaseModel):
79
79
  if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
80
80
  obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
81
81
 
82
- _obj = ListWalletNfts200Response.parse_obj({
83
- "data": GetNftsResponse.from_dict(obj.get("data")) if obj.get("data") is not None else None
82
+ _obj = SignatureResponse.parse_obj({
83
+ "data": SignatureResponseData.from_dict(obj.get("data")) if obj.get("data") is not None else None
84
84
  })
85
85
  return _obj
86
86
 
@@ -17,9 +17,9 @@ import json
17
17
 
18
18
  from pydantic import BaseModel, Field, StrictStr
19
19
 
20
- class SignMessageForDeveloperResponse(BaseModel):
20
+ class SignatureResponseData(BaseModel):
21
21
  """
22
- SignMessageForDeveloperResponse
22
+ SignatureResponseData
23
23
  """
24
24
  signature: StrictStr = Field(..., description="Signature is a hex encoded 65 byte array starting with 0x.")
25
25
  __properties = ["signature"]
@@ -47,8 +47,8 @@ class SignMessageForDeveloperResponse(BaseModel):
47
47
  return json.dumps(self.to_dict())
48
48
 
49
49
  @classmethod
50
- def from_json(cls, json_str: str) -> SignMessageForDeveloperResponse:
51
- """Create an instance of SignMessageForDeveloperResponse from a JSON string"""
50
+ def from_json(cls, json_str: str) -> SignatureResponseData:
51
+ """Create an instance of SignatureResponseData from a JSON string"""
52
52
  return cls.from_dict(json.loads(json_str))
53
53
 
54
54
  def to_dict(self):
@@ -60,13 +60,13 @@ class SignMessageForDeveloperResponse(BaseModel):
60
60
  return _dict
61
61
 
62
62
  @classmethod
63
- def from_dict(cls, obj: dict) -> SignMessageForDeveloperResponse:
64
- """Create an instance of SignMessageForDeveloperResponse from a dict"""
63
+ def from_dict(cls, obj: dict) -> SignatureResponseData:
64
+ """Create an instance of SignatureResponseData from a dict"""
65
65
  if obj is None:
66
66
  return None
67
67
 
68
68
  if not isinstance(obj, dict):
69
- return SignMessageForDeveloperResponse.parse_obj(obj)
69
+ return SignatureResponseData.parse_obj(obj)
70
70
 
71
71
  # fill idempotency_key and ciphertext with placeholder for auto_fill
72
72
  if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
@@ -75,7 +75,7 @@ class SignMessageForDeveloperResponse(BaseModel):
75
75
  if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
76
76
  obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
77
77
 
78
- _obj = SignMessageForDeveloperResponse.parse_obj({
78
+ _obj = SignatureResponseData.parse_obj({
79
79
  "signature": obj.get("signature")
80
80
  })
81
81
  return _obj
@@ -0,0 +1,103 @@
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
+ from __future__ import annotations
12
+ import pprint
13
+ import re # noqa: F401
14
+ import json
15
+
16
+ from datetime import datetime
17
+ from typing import Optional
18
+ from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr
19
+ from circle.web3.developer_controlled_wallets.models.blockchain import Blockchain
20
+ from circle.web3.developer_controlled_wallets.models.token_standard import TokenStandard
21
+
22
+ class Token(BaseModel):
23
+ """
24
+ Token
25
+ """
26
+ id: StrictStr = Field(..., description="System-generated unique identifier of the resource.")
27
+ name: Optional[StrictStr] = Field(None, description="Blockchain name of the specified token.")
28
+ standard: Optional[TokenStandard] = None
29
+ blockchain: Blockchain = Field(...)
30
+ decimals: Optional[StrictInt] = Field(None, description="Number of decimal places shown in the token amount.")
31
+ is_native: StrictBool = Field(..., alias="isNative", description="Defines if the token is a native token of the specified blockchain. If TRUE, the token is a native token.")
32
+ symbol: Optional[StrictStr] = Field(None, description="Blockchain symbol of the specified token.")
33
+ token_address: Optional[StrictStr] = Field(None, alias="tokenAddress", description="Blockchain address of the specified token.")
34
+ update_date: datetime = Field(..., alias="updateDate", description="Date and time the resource was last updated, in ISO-8601 UTC format.")
35
+ create_date: datetime = Field(..., alias="createDate", description="Date and time the resource was created, in ISO-8601 UTC format.")
36
+ __properties = ["id", "name", "standard", "blockchain", "decimals", "isNative", "symbol", "tokenAddress", "updateDate", "createDate"]
37
+
38
+ def __init__(self, **kwargs):
39
+ if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
40
+ kwargs["idempotency_key"] = "#REFILL_PLACEHOLDER"
41
+
42
+ if "entitySecretCiphertext" in self.__properties and not kwargs.get("entity_secret_ciphertext"):
43
+ kwargs["entity_secret_ciphertext"] = "#REFILL_PLACEHOLDER"
44
+ super().__init__(**kwargs)
45
+
46
+
47
+ class Config:
48
+ """Pydantic configuration"""
49
+ allow_population_by_field_name = True
50
+ validate_assignment = True
51
+
52
+ def to_str(self) -> str:
53
+ """Returns the string representation of the model using alias"""
54
+ return pprint.pformat(self.dict(by_alias=True))
55
+
56
+ def to_json(self) -> str:
57
+ """Returns the JSON representation of the model using alias"""
58
+ return json.dumps(self.to_dict())
59
+
60
+ @classmethod
61
+ def from_json(cls, json_str: str) -> Token:
62
+ """Create an instance of Token from a JSON string"""
63
+ return cls.from_dict(json.loads(json_str))
64
+
65
+ def to_dict(self):
66
+ """Returns the dictionary representation of the model using alias"""
67
+ _dict = self.dict(by_alias=True,
68
+ exclude={
69
+ },
70
+ exclude_none=True)
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: dict) -> Token:
75
+ """Create an instance of Token from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return Token.parse_obj(obj)
81
+
82
+ # fill idempotency_key and ciphertext with placeholder for auto_fill
83
+ if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
84
+ obj["idempotencyKey"] = "#REFILL_PLACEHOLDER"
85
+
86
+ if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
87
+ obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
88
+
89
+ _obj = Token.parse_obj({
90
+ "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")
100
+ })
101
+ return _obj
102
+
103
+
@@ -33,6 +33,8 @@ class TokenBlockchain(str, Enum):
33
33
  MATIC_MINUS_AMOY = 'MATIC-AMOY'
34
34
  SOL = 'SOL'
35
35
  SOL_MINUS_DEVNET = 'SOL-DEVNET'
36
+ ARB = 'ARB'
37
+ ARB_MINUS_SEPOLIA = 'ARB-SEPOLIA'
36
38
 
37
39
  @classmethod
38
40
  def from_json(cls, json_str: str) -> TokenBlockchain:
@@ -13,27 +13,17 @@ import pprint
13
13
  import re # noqa: F401
14
14
  import json
15
15
 
16
- from datetime import datetime
16
+
17
17
  from typing import Optional
18
- from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr
19
- from circle.web3.developer_controlled_wallets.models.blockchain import Blockchain
20
- from circle.web3.developer_controlled_wallets.models.token_standard import TokenStandard
18
+ from pydantic import BaseModel
19
+ from circle.web3.developer_controlled_wallets.models.token_response_data import TokenResponseData
21
20
 
22
21
  class TokenResponse(BaseModel):
23
22
  """
24
23
  TokenResponse
25
24
  """
26
- id: StrictStr = Field(..., description="System-generated unique identifier of the resource.")
27
- name: Optional[StrictStr] = Field(None, description="Blockchain name of the specified token.")
28
- standard: Optional[TokenStandard] = None
29
- blockchain: Blockchain = Field(...)
30
- decimals: Optional[StrictInt] = Field(None, description="Number of decimal places shown in the token amount.")
31
- is_native: StrictBool = Field(..., alias="isNative", description="Defines if the token is a native token of the specified blockchain. If TRUE, the token is a native token.")
32
- symbol: Optional[StrictStr] = Field(None, description="Blockchain symbol of the specified token.")
33
- token_address: Optional[StrictStr] = Field(None, alias="tokenAddress", description="Blockchain address of the specified token.")
34
- update_date: datetime = Field(..., alias="updateDate", description="Date and time the resource was last updated, in ISO-8601 UTC format.")
35
- create_date: datetime = Field(..., alias="createDate", description="Date and time the resource was created, in ISO-8601 UTC format.")
36
- __properties = ["id", "name", "standard", "blockchain", "decimals", "isNative", "symbol", "tokenAddress", "updateDate", "createDate"]
25
+ data: Optional[TokenResponseData] = None
26
+ __properties = ["data"]
37
27
 
38
28
  def __init__(self, **kwargs):
39
29
  if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
@@ -68,6 +58,9 @@ class TokenResponse(BaseModel):
68
58
  exclude={
69
59
  },
70
60
  exclude_none=True)
61
+ # override the default output from pydantic by calling `to_dict()` of data
62
+ if self.data:
63
+ _dict['data'] = self.data.to_dict()
71
64
  return _dict
72
65
 
73
66
  @classmethod
@@ -87,16 +80,7 @@ class TokenResponse(BaseModel):
87
80
  obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
88
81
 
89
82
  _obj = TokenResponse.parse_obj({
90
- "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")
83
+ "data": TokenResponseData.from_dict(obj.get("data")) if obj.get("data") is not None else None
100
84
  })
101
85
  return _obj
102
86
 
@@ -16,13 +16,13 @@ import json
16
16
 
17
17
  from typing import Optional
18
18
  from pydantic import BaseModel
19
- from circle.web3.developer_controlled_wallets.models.token_response import TokenResponse
19
+ from circle.web3.developer_controlled_wallets.models.token import Token
20
20
 
21
- class GetTokenByIDResponse(BaseModel):
21
+ class TokenResponseData(BaseModel):
22
22
  """
23
- GetTokenByIDResponse
23
+ TokenResponseData
24
24
  """
25
- token: Optional[TokenResponse] = None
25
+ token: Optional[Token] = None
26
26
  __properties = ["token"]
27
27
 
28
28
  def __init__(self, **kwargs):
@@ -48,8 +48,8 @@ class GetTokenByIDResponse(BaseModel):
48
48
  return json.dumps(self.to_dict())
49
49
 
50
50
  @classmethod
51
- def from_json(cls, json_str: str) -> GetTokenByIDResponse:
52
- """Create an instance of GetTokenByIDResponse from a JSON string"""
51
+ def from_json(cls, json_str: str) -> TokenResponseData:
52
+ """Create an instance of TokenResponseData from a JSON string"""
53
53
  return cls.from_dict(json.loads(json_str))
54
54
 
55
55
  def to_dict(self):
@@ -64,13 +64,13 @@ class GetTokenByIDResponse(BaseModel):
64
64
  return _dict
65
65
 
66
66
  @classmethod
67
- def from_dict(cls, obj: dict) -> GetTokenByIDResponse:
68
- """Create an instance of GetTokenByIDResponse from a dict"""
67
+ def from_dict(cls, obj: dict) -> TokenResponseData:
68
+ """Create an instance of TokenResponseData from a dict"""
69
69
  if obj is None:
70
70
  return None
71
71
 
72
72
  if not isinstance(obj, dict):
73
- return GetTokenByIDResponse.parse_obj(obj)
73
+ return TokenResponseData.parse_obj(obj)
74
74
 
75
75
  # fill idempotency_key and ciphertext with placeholder for auto_fill
76
76
  if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
@@ -79,8 +79,8 @@ class GetTokenByIDResponse(BaseModel):
79
79
  if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
80
80
  obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
81
81
 
82
- _obj = GetTokenByIDResponse.parse_obj({
83
- "token": TokenResponse.from_dict(obj.get("token")) if obj.get("token") is not None else None
82
+ _obj = TokenResponseData.parse_obj({
83
+ "token": Token.from_dict(obj.get("token")) if obj.get("token") is not None else None
84
84
  })
85
85
  return _obj
86
86
 
@@ -28,6 +28,12 @@ class TokenStandard(str, Enum):
28
28
  ERC20 = 'ERC20'
29
29
  ERC721 = 'ERC721'
30
30
  ERC1155 = 'ERC1155'
31
+ FUNGIBLE = 'Fungible'
32
+ FUNGIBLEASSET = 'FungibleAsset'
33
+ NONFUNGIBLE = 'NonFungible'
34
+ NONFUNGIBLEEDITION = 'NonFungibleEdition'
35
+ PROGRAMMABLENONFUNGIBLE = 'ProgrammableNonFungible'
36
+ PROGRAMMABLENONFUNGIBLEEDITION = 'ProgrammableNonFungibleEdition'
31
37
 
32
38
  @classmethod
33
39
  def from_json(cls, json_str: str) -> TokenStandard:
@@ -19,9 +19,10 @@ from pydantic import BaseModel, Field, StrictInt, StrictStr, conlist, constr
19
19
  from circle.web3.developer_controlled_wallets.models.abi_parameters_inner import AbiParametersInner
20
20
  from circle.web3.developer_controlled_wallets.models.blockchain import Blockchain
21
21
  from circle.web3.developer_controlled_wallets.models.custody_type import CustodyType
22
- from circle.web3.developer_controlled_wallets.models.estimated_transaction_fee import EstimatedTransactionFee
23
22
  from circle.web3.developer_controlled_wallets.models.fee_level import FeeLevel
24
23
  from circle.web3.developer_controlled_wallets.models.operation import Operation
24
+ from circle.web3.developer_controlled_wallets.models.transaction_fee import TransactionFee
25
+ from circle.web3.developer_controlled_wallets.models.transaction_screening_decision import TransactionScreeningDecision
25
26
  from circle.web3.developer_controlled_wallets.models.transaction_state import TransactionState
26
27
  from circle.web3.developer_controlled_wallets.models.transaction_type import TransactionType
27
28
 
@@ -43,7 +44,7 @@ class Transaction(BaseModel):
43
44
  destination_address: Optional[StrictStr] = Field(None, alias="destinationAddress", description="The destination blockchain address for the transaction.")
44
45
  error_reason: Optional[StrictStr] = Field(None, alias="errorReason", description="Description of the error. Only present for transactions in `FAILED` state.")
45
46
  error_details: Optional[StrictStr] = Field(None, alias="errorDetails", description="Additional detail associated with the corresponding transaction's error reason")
46
- estimated_fee: Optional[EstimatedTransactionFee] = Field(None, alias="estimatedFee")
47
+ estimated_fee: Optional[TransactionFee] = Field(None, alias="estimatedFee")
47
48
  fee_level: Optional[FeeLevel] = Field(None, alias="feeLevel")
48
49
  first_confirm_date: Optional[datetime] = Field(None, alias="firstConfirmDate", description="Date the transaction was first confirmed in a block. ISO-8601 UTC date/time.")
49
50
  network_fee: Optional[StrictStr] = Field(None, alias="networkFee", description="Gas fee, in native token, paid to the network for the transaction.")
@@ -51,7 +52,7 @@ class Transaction(BaseModel):
51
52
  nfts: Optional[conlist(StrictStr)] = Field(None, description="List of Nfts, in JSON string format, associated with the transaction.")
52
53
  operation: Optional[Operation] = None
53
54
  ref_id: Optional[StrictStr] = Field(None, alias="refId", description="Optional reference or description used to identify the transaction.")
54
- source_address: Optional[StrictStr] = Field(None, alias="sourceAddress", description="The source blockchain address of the transaction. Required if you don't provide `walletId`. The `sourceAddress` and `walletId` fields are mutually exclusive.")
55
+ source_address: Optional[StrictStr] = Field(None, alias="sourceAddress", description="The source address of the transaction.")
55
56
  state: TransactionState = Field(...)
56
57
  token_id: Optional[StrictStr] = Field(None, alias="tokenId", description="System generated identifier of the token. Excluded with `tokenAddress` and `tokenBlockchain`.")
57
58
  transaction_type: TransactionType = Field(..., alias="transactionType")
@@ -59,7 +60,8 @@ class Transaction(BaseModel):
59
60
  update_date: datetime = Field(..., alias="updateDate", description="Date and time the resource was last updated, in ISO-8601 UTC format.")
60
61
  user_id: Optional[constr(strict=True, max_length=50, min_length=5)] = Field(None, alias="userId", description="Unique system generated identifier for the user.")
61
62
  wallet_id: Optional[StrictStr] = Field(None, alias="walletId", description="Unique system generated identifier of the wallet. Required when source Address and blockchain is not provided. Mutually exclusive. For contract deploys this wallet ID will be used as the source.")
62
- __properties = ["id", "abiFunctionSignature", "abiParameters", "amounts", "amountInUSD", "blockHash", "blockHeight", "blockchain", "contractAddress", "createDate", "custodyType", "destinationAddress", "errorReason", "errorDetails", "estimatedFee", "feeLevel", "firstConfirmDate", "networkFee", "networkFeeInUSD", "nfts", "operation", "refId", "sourceAddress", "state", "tokenId", "transactionType", "txHash", "updateDate", "userId", "walletId"]
63
+ transaction_screening_evaluation: Optional[TransactionScreeningDecision] = Field(None, alias="transactionScreeningEvaluation")
64
+ __properties = ["id", "abiFunctionSignature", "abiParameters", "amounts", "amountInUSD", "blockHash", "blockHeight", "blockchain", "contractAddress", "createDate", "custodyType", "destinationAddress", "errorReason", "errorDetails", "estimatedFee", "feeLevel", "firstConfirmDate", "networkFee", "networkFeeInUSD", "nfts", "operation", "refId", "sourceAddress", "state", "tokenId", "transactionType", "txHash", "updateDate", "userId", "walletId", "transactionScreeningEvaluation"]
63
65
 
64
66
  def __init__(self, **kwargs):
65
67
  if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
@@ -104,6 +106,9 @@ class Transaction(BaseModel):
104
106
  # override the default output from pydantic by calling `to_dict()` of estimated_fee
105
107
  if self.estimated_fee:
106
108
  _dict['estimatedFee'] = self.estimated_fee.to_dict()
109
+ # override the default output from pydantic by calling `to_dict()` of transaction_screening_evaluation
110
+ if self.transaction_screening_evaluation:
111
+ _dict['transactionScreeningEvaluation'] = self.transaction_screening_evaluation.to_dict()
107
112
  return _dict
108
113
 
109
114
  @classmethod
@@ -137,7 +142,7 @@ class Transaction(BaseModel):
137
142
  "destination_address": obj.get("destinationAddress"),
138
143
  "error_reason": obj.get("errorReason"),
139
144
  "error_details": obj.get("errorDetails"),
140
- "estimated_fee": EstimatedTransactionFee.from_dict(obj.get("estimatedFee")) if obj.get("estimatedFee") is not None else None,
145
+ "estimated_fee": TransactionFee.from_dict(obj.get("estimatedFee")) if obj.get("estimatedFee") is not None else None,
141
146
  "fee_level": obj.get("feeLevel"),
142
147
  "first_confirm_date": obj.get("firstConfirmDate"),
143
148
  "network_fee": obj.get("networkFee"),
@@ -152,7 +157,8 @@ class Transaction(BaseModel):
152
157
  "tx_hash": obj.get("txHash"),
153
158
  "update_date": obj.get("updateDate"),
154
159
  "user_id": obj.get("userId"),
155
- "wallet_id": obj.get("walletId")
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
156
162
  })
157
163
  return _obj
158
164