circle-developer-controlled-wallets 0.1.0b1__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 (95) hide show
  1. circle/__init__.py +0 -0
  2. circle/web3/__init__.py +0 -0
  3. circle/web3/developer_controlled_wallets/__init__.py +108 -0
  4. circle/web3/developer_controlled_wallets/api/__init__.py +9 -0
  5. circle/web3/developer_controlled_wallets/api/signing_api.py +356 -0
  6. circle/web3/developer_controlled_wallets/api/token_lookup_api.py +198 -0
  7. circle/web3/developer_controlled_wallets/api/transactions_api.py +1527 -0
  8. circle/web3/developer_controlled_wallets/api/wallet_sets_api.py +691 -0
  9. circle/web3/developer_controlled_wallets/api/wallets_api.py +1118 -0
  10. circle/web3/developer_controlled_wallets/api_client.py +789 -0
  11. circle/web3/developer_controlled_wallets/api_response.py +25 -0
  12. circle/web3/developer_controlled_wallets/configuration.py +455 -0
  13. circle/web3/developer_controlled_wallets/exceptions.py +162 -0
  14. circle/web3/developer_controlled_wallets/models/__init__.py +87 -0
  15. circle/web3/developer_controlled_wallets/models/abi_parameters_inner.py +168 -0
  16. circle/web3/developer_controlled_wallets/models/accelerate_transaction_for_developer_request.py +85 -0
  17. circle/web3/developer_controlled_wallets/models/accelerate_transaction_for_developer_response.py +83 -0
  18. circle/web3/developer_controlled_wallets/models/account_type.py +36 -0
  19. circle/web3/developer_controlled_wallets/models/balance.py +91 -0
  20. circle/web3/developer_controlled_wallets/models/blockchain.py +40 -0
  21. circle/web3/developer_controlled_wallets/models/cancel_transaction_for_developer_request.py +85 -0
  22. circle/web3/developer_controlled_wallets/models/cancel_transaction_for_developer_response.py +86 -0
  23. circle/web3/developer_controlled_wallets/models/create_contract_execution_transaction_for_developer_request.py +118 -0
  24. circle/web3/developer_controlled_wallets/models/create_contract_execution_transaction_for_developer_response.py +86 -0
  25. circle/web3/developer_controlled_wallets/models/create_developer_transaction_accelerate200_response.py +87 -0
  26. circle/web3/developer_controlled_wallets/models/create_developer_transaction_cancel200_response.py +87 -0
  27. circle/web3/developer_controlled_wallets/models/create_developer_transaction_contract_execution200_response.py +87 -0
  28. circle/web3/developer_controlled_wallets/models/create_developer_transaction_transfer200_response.py +87 -0
  29. circle/web3/developer_controlled_wallets/models/create_developer_wallet200_response.py +87 -0
  30. circle/web3/developer_controlled_wallets/models/create_developer_wallet_request.py +105 -0
  31. circle/web3/developer_controlled_wallets/models/create_developer_wallet_response.py +91 -0
  32. circle/web3/developer_controlled_wallets/models/create_developer_wallet_set_request.py +87 -0
  33. circle/web3/developer_controlled_wallets/models/create_developer_wallet_set_response.py +87 -0
  34. circle/web3/developer_controlled_wallets/models/create_transfer_estimate_fee200_response.py +87 -0
  35. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_request.py +112 -0
  36. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_response.py +86 -0
  37. circle/web3/developer_controlled_wallets/models/create_validate_address200_response.py +87 -0
  38. circle/web3/developer_controlled_wallets/models/create_wallet_set200_response.py +87 -0
  39. circle/web3/developer_controlled_wallets/models/custody_type.py +36 -0
  40. circle/web3/developer_controlled_wallets/models/error.py +85 -0
  41. circle/web3/developer_controlled_wallets/models/estimate_contract_execution_transaction_fee_request.py +106 -0
  42. circle/web3/developer_controlled_wallets/models/estimate_transaction_fee_response.py +103 -0
  43. circle/web3/developer_controlled_wallets/models/estimate_transfer_transaction_fee_request.py +97 -0
  44. circle/web3/developer_controlled_wallets/models/estimated_transaction_fee.py +91 -0
  45. circle/web3/developer_controlled_wallets/models/ext_get_all_wallets_response.py +91 -0
  46. circle/web3/developer_controlled_wallets/models/ext_get_wallet_by_id_response.py +87 -0
  47. circle/web3/developer_controlled_wallets/models/ext_update_wallet_metadata_request.py +85 -0
  48. circle/web3/developer_controlled_wallets/models/ext_wallet_response.py +87 -0
  49. circle/web3/developer_controlled_wallets/models/ext_wallet_response_wallet.py +111 -0
  50. circle/web3/developer_controlled_wallets/models/fee_level.py +37 -0
  51. circle/web3/developer_controlled_wallets/models/get_balances_response.py +91 -0
  52. circle/web3/developer_controlled_wallets/models/get_nfts_response.py +91 -0
  53. circle/web3/developer_controlled_wallets/models/get_token_by_id_response.py +87 -0
  54. circle/web3/developer_controlled_wallets/models/get_token_id200_response.py +87 -0
  55. circle/web3/developer_controlled_wallets/models/get_transaction200_response.py +87 -0
  56. circle/web3/developer_controlled_wallets/models/get_transaction_by_id_response.py +87 -0
  57. circle/web3/developer_controlled_wallets/models/get_transactions_response.py +91 -0
  58. circle/web3/developer_controlled_wallets/models/get_wallet200_response.py +87 -0
  59. circle/web3/developer_controlled_wallets/models/get_wallet_set200_response.py +87 -0
  60. circle/web3/developer_controlled_wallets/models/get_wallet_set_by_id_response.py +87 -0
  61. circle/web3/developer_controlled_wallets/models/get_wallet_sets_response.py +91 -0
  62. circle/web3/developer_controlled_wallets/models/list_transactions200_response.py +87 -0
  63. circle/web3/developer_controlled_wallets/models/list_wallet_ballance200_response.py +87 -0
  64. circle/web3/developer_controlled_wallets/models/list_wallet_nfts200_response.py +87 -0
  65. circle/web3/developer_controlled_wallets/models/list_wallet_sets200_response.py +87 -0
  66. circle/web3/developer_controlled_wallets/models/list_wallets200_response.py +87 -0
  67. circle/web3/developer_controlled_wallets/models/nft.py +95 -0
  68. circle/web3/developer_controlled_wallets/models/operation.py +37 -0
  69. circle/web3/developer_controlled_wallets/models/sign_developer_message200_response.py +87 -0
  70. circle/web3/developer_controlled_wallets/models/sign_developer_typed_data200_response.py +87 -0
  71. circle/web3/developer_controlled_wallets/models/sign_message_for_developer_request.py +91 -0
  72. circle/web3/developer_controlled_wallets/models/sign_message_for_developer_response.py +83 -0
  73. circle/web3/developer_controlled_wallets/models/sign_typed_data_for_developer_request.py +89 -0
  74. circle/web3/developer_controlled_wallets/models/sign_typed_data_for_developer_response.py +83 -0
  75. circle/web3/developer_controlled_wallets/models/token_response.py +103 -0
  76. circle/web3/developer_controlled_wallets/models/token_standard.py +37 -0
  77. circle/web3/developer_controlled_wallets/models/transaction.py +159 -0
  78. circle/web3/developer_controlled_wallets/models/transaction_state.py +43 -0
  79. circle/web3/developer_controlled_wallets/models/transaction_type.py +36 -0
  80. circle/web3/developer_controlled_wallets/models/update_wallet200_response.py +87 -0
  81. circle/web3/developer_controlled_wallets/models/update_wallet_set200_response.py +87 -0
  82. circle/web3/developer_controlled_wallets/models/update_wallet_set_metadata_request.py +83 -0
  83. circle/web3/developer_controlled_wallets/models/update_wallet_set_metadata_response.py +87 -0
  84. circle/web3/developer_controlled_wallets/models/validate_address_request.py +86 -0
  85. circle/web3/developer_controlled_wallets/models/validate_address_response.py +83 -0
  86. circle/web3/developer_controlled_wallets/models/wallet_metadata.py +85 -0
  87. circle/web3/developer_controlled_wallets/models/wallet_response.py +111 -0
  88. circle/web3/developer_controlled_wallets/models/wallet_set_response.py +94 -0
  89. circle/web3/developer_controlled_wallets/models/wallet_state.py +36 -0
  90. circle/web3/developer_controlled_wallets/py.typed +0 -0
  91. circle/web3/developer_controlled_wallets/rest.py +299 -0
  92. circle_developer_controlled_wallets-0.1.0b1.dist-info/METADATA +112 -0
  93. circle_developer_controlled_wallets-0.1.0b1.dist-info/RECORD +95 -0
  94. circle_developer_controlled_wallets-0.1.0b1.dist-info/WHEEL +5 -0
  95. circle_developer_controlled_wallets-0.1.0b1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,112 @@
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
+ from typing import List, Optional, Union
18
+ from pydantic import BaseModel, Field, StrictBytes, StrictStr, conlist
19
+ from circle.web3.developer_controlled_wallets.models.fee_level import FeeLevel
20
+
21
+ class CreateTransferTransactionForDeveloperRequest(BaseModel):
22
+ """
23
+ CreateTransferTransactionForDeveloperRequest
24
+ """
25
+ idempotency_key: StrictStr = Field(..., alias="idempotencyKey", description="Universally unique identifier (UUID v4) idempotency key. This key is utilized to ensure exactly-once execution of mutating requests. To create a UUIDv4 go to [uuidgenerator.net](https://www.uuidgenerator.net). If the same key is reused, it will be treated as the same request and the original response will be returned.")
26
+ 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).")
27
+ destination_address: StrictStr = Field(..., alias="destinationAddress", description="The destination blockchain address for the transaction.")
28
+ 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. ")
29
+ fee_level: Optional[FeeLevel] = Field(None, alias="feeLevel")
30
+ 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. ")
31
+ 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. ")
32
+ 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. ")
33
+ 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. ")
34
+ nft_token_ids: Optional[conlist(StrictStr)] = Field(None, alias="nftTokenIds", description="NftTokenIDs specify the nft ID list to be transferred/batchTransferred for NFT withdrawal. Note. Only erc1155 supports safeBatchTransferFrom.")
35
+ ref_id: Optional[StrictStr] = Field(None, alias="refId", description="Optional reference or description used to identify the transaction.")
36
+ token_id: Optional[StrictStr] = Field(None, alias="tokenId", description="System generated identifier of the token. Excluded with `tokenAddress` and `tokenBlockchain`.")
37
+ token_address: Optional[StrictStr] = Field(None, alias="tokenAddress", description="Blockchain address of the transferred token. Empty for native tokens. Excluded with `tokenId`.")
38
+ blockchain: Optional[StrictStr] = Field(None, description="Blockchain of the transferred token. Required if tokenId is not provided. Excluded with `tokenId`.")
39
+ 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.")
40
+ __properties = ["idempotencyKey", "amounts", "destinationAddress", "entitySecretCiphertext", "feeLevel", "gasLimit", "gasPrice", "maxFee", "priorityFee", "nftTokenIds", "refId", "tokenId", "tokenAddress", "blockchain", "walletId"]
41
+
42
+ def __init__(self, **kwargs):
43
+ if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
44
+ kwargs["idempotency_key"] = "#REFILL_PLACEHOLDER"
45
+
46
+ if "entitySecretCiphertext" in self.__properties and not kwargs.get("entity_secret_ciphertext"):
47
+ kwargs["entity_secret_ciphertext"] = "#REFILL_PLACEHOLDER"
48
+ super().__init__(**kwargs)
49
+
50
+
51
+ class Config:
52
+ """Pydantic configuration"""
53
+ allow_population_by_field_name = True
54
+ validate_assignment = True
55
+
56
+ def to_str(self) -> str:
57
+ """Returns the string representation of the model using alias"""
58
+ return pprint.pformat(self.dict(by_alias=True))
59
+
60
+ def to_json(self) -> str:
61
+ """Returns the JSON representation of the model using alias"""
62
+ return json.dumps(self.to_dict())
63
+
64
+ @classmethod
65
+ def from_json(cls, json_str: str) -> CreateTransferTransactionForDeveloperRequest:
66
+ """Create an instance of CreateTransferTransactionForDeveloperRequest from a JSON string"""
67
+ return cls.from_dict(json.loads(json_str))
68
+
69
+ def to_dict(self):
70
+ """Returns the dictionary representation of the model using alias"""
71
+ _dict = self.dict(by_alias=True,
72
+ exclude={
73
+ },
74
+ exclude_none=True)
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: dict) -> CreateTransferTransactionForDeveloperRequest:
79
+ """Create an instance of CreateTransferTransactionForDeveloperRequest from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return CreateTransferTransactionForDeveloperRequest.parse_obj(obj)
85
+
86
+ # fill idempotency_key and ciphertext with placeholder for auto_fill
87
+ if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
88
+ obj["idempotencyKey"] = "#REFILL_PLACEHOLDER"
89
+
90
+ if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
91
+ obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
92
+
93
+ _obj = CreateTransferTransactionForDeveloperRequest.parse_obj({
94
+ "idempotency_key": obj.get("idempotencyKey"),
95
+ "amounts": obj.get("amounts"),
96
+ "destination_address": obj.get("destinationAddress"),
97
+ "entity_secret_ciphertext": obj.get("entitySecretCiphertext"),
98
+ "fee_level": obj.get("feeLevel"),
99
+ "gas_limit": obj.get("gasLimit"),
100
+ "gas_price": obj.get("gasPrice"),
101
+ "max_fee": obj.get("maxFee"),
102
+ "priority_fee": obj.get("priorityFee"),
103
+ "nft_token_ids": obj.get("nftTokenIds"),
104
+ "ref_id": obj.get("refId"),
105
+ "token_id": obj.get("tokenId"),
106
+ "token_address": obj.get("tokenAddress"),
107
+ "blockchain": obj.get("blockchain"),
108
+ "wallet_id": obj.get("walletId")
109
+ })
110
+ return _obj
111
+
112
+
@@ -0,0 +1,86 @@
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, StrictStr
19
+ from circle.web3.developer_controlled_wallets.models.transaction_state import TransactionState
20
+
21
+ class CreateTransferTransactionForDeveloperResponse(BaseModel):
22
+ """
23
+ CreateTransferTransactionForDeveloperResponse
24
+ """
25
+ id: StrictStr = Field(..., description="Unique system generated identifier of the resource.")
26
+ state: TransactionState = Field(...)
27
+ __properties = ["id", "state"]
28
+
29
+ def __init__(self, **kwargs):
30
+ if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
31
+ kwargs["idempotency_key"] = "#REFILL_PLACEHOLDER"
32
+
33
+ if "entitySecretCiphertext" in self.__properties and not kwargs.get("entity_secret_ciphertext"):
34
+ kwargs["entity_secret_ciphertext"] = "#REFILL_PLACEHOLDER"
35
+ super().__init__(**kwargs)
36
+
37
+
38
+ class Config:
39
+ """Pydantic configuration"""
40
+ allow_population_by_field_name = True
41
+ validate_assignment = True
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.dict(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> CreateTransferTransactionForDeveloperResponse:
53
+ """Create an instance of CreateTransferTransactionForDeveloperResponse from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self):
57
+ """Returns the dictionary representation of the model using alias"""
58
+ _dict = self.dict(by_alias=True,
59
+ exclude={
60
+ },
61
+ exclude_none=True)
62
+ return _dict
63
+
64
+ @classmethod
65
+ def from_dict(cls, obj: dict) -> CreateTransferTransactionForDeveloperResponse:
66
+ """Create an instance of CreateTransferTransactionForDeveloperResponse from a dict"""
67
+ if obj is None:
68
+ return None
69
+
70
+ if not isinstance(obj, dict):
71
+ return CreateTransferTransactionForDeveloperResponse.parse_obj(obj)
72
+
73
+ # fill idempotency_key and ciphertext with placeholder for auto_fill
74
+ if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
75
+ obj["idempotencyKey"] = "#REFILL_PLACEHOLDER"
76
+
77
+ if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
78
+ obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
79
+
80
+ _obj = CreateTransferTransactionForDeveloperResponse.parse_obj({
81
+ "id": obj.get("id"),
82
+ "state": obj.get("state")
83
+ })
84
+ return _obj
85
+
86
+
@@ -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
+ from typing import Optional
18
+ from pydantic import BaseModel
19
+ from circle.web3.developer_controlled_wallets.models.validate_address_response import ValidateAddressResponse
20
+
21
+ class CreateValidateAddress200Response(BaseModel):
22
+ """
23
+ CreateValidateAddress200Response
24
+ """
25
+ data: Optional[ValidateAddressResponse] = None
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) -> CreateValidateAddress200Response:
52
+ """Create an instance of CreateValidateAddress200Response 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) -> CreateValidateAddress200Response:
68
+ """Create an instance of CreateValidateAddress200Response from a dict"""
69
+ if obj is None:
70
+ return None
71
+
72
+ if not isinstance(obj, dict):
73
+ return CreateValidateAddress200Response.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 = CreateValidateAddress200Response.parse_obj({
83
+ "data": ValidateAddressResponse.from_dict(obj.get("data")) if obj.get("data") is not None else None
84
+ })
85
+ return _obj
86
+
87
+
@@ -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
+ from typing import Optional
18
+ from pydantic import BaseModel
19
+ from circle.web3.developer_controlled_wallets.models.create_developer_wallet_set_response import CreateDeveloperWalletSetResponse
20
+
21
+ class CreateWalletSet200Response(BaseModel):
22
+ """
23
+ CreateWalletSet200Response
24
+ """
25
+ data: Optional[CreateDeveloperWalletSetResponse] = None
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) -> CreateWalletSet200Response:
52
+ """Create an instance of CreateWalletSet200Response 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) -> CreateWalletSet200Response:
68
+ """Create an instance of CreateWalletSet200Response from a dict"""
69
+ if obj is None:
70
+ return None
71
+
72
+ if not isinstance(obj, dict):
73
+ return CreateWalletSet200Response.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 = CreateWalletSet200Response.parse_obj({
83
+ "data": CreateDeveloperWalletSetResponse.from_dict(obj.get("data")) if obj.get("data") is not None else None
84
+ })
85
+ return _obj
86
+
87
+
@@ -0,0 +1,36 @@
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 CustodyType(str, Enum):
21
+ """
22
+ CustodyType
23
+ """
24
+
25
+ """
26
+ allowed enum values
27
+ """
28
+ DEVELOPER = 'DEVELOPER'
29
+ ENDUSER = 'ENDUSER'
30
+
31
+ @classmethod
32
+ def from_json(cls, json_str: str) -> CustodyType:
33
+ """Create an instance of CustodyType from a JSON string"""
34
+ return CustodyType(json.loads(json_str))
35
+
36
+
@@ -0,0 +1,85 @@
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
+ from typing import Optional
18
+ from pydantic import BaseModel, Field, StrictInt, StrictStr
19
+
20
+ class Error(BaseModel):
21
+ """
22
+ Error
23
+ """
24
+ code: Optional[StrictInt] = Field(None, description="Code is the error code")
25
+ message: Optional[StrictStr] = Field(None, description="Message is the error message")
26
+ __properties = ["code", "message"]
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) -> Error:
52
+ """Create an instance of Error 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
+ return _dict
62
+
63
+ @classmethod
64
+ def from_dict(cls, obj: dict) -> Error:
65
+ """Create an instance of Error from a dict"""
66
+ if obj is None:
67
+ return None
68
+
69
+ if not isinstance(obj, dict):
70
+ return Error.parse_obj(obj)
71
+
72
+ # fill idempotency_key and ciphertext with placeholder for auto_fill
73
+ if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
74
+ obj["idempotencyKey"] = "#REFILL_PLACEHOLDER"
75
+
76
+ if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
77
+ obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
78
+
79
+ _obj = Error.parse_obj({
80
+ "code": obj.get("code"),
81
+ "message": obj.get("message")
82
+ })
83
+ return _obj
84
+
85
+
@@ -0,0 +1,106 @@
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
+ from typing import List, Optional
18
+ from pydantic import BaseModel, Field, StrictStr, conlist
19
+ from circle.web3.developer_controlled_wallets.models.abi_parameters_inner import AbiParametersInner
20
+ from circle.web3.developer_controlled_wallets.models.blockchain import Blockchain
21
+
22
+ class EstimateContractExecutionTransactionFeeRequest(BaseModel):
23
+ """
24
+ EstimateContractExecutionTransactionFeeRequest
25
+ """
26
+ abi_function_signature: StrictStr = Field(..., 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)")
27
+ 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`.")
28
+ call_data: Optional[StrictStr] = Field(None, alias="callData", description="The raw transaction data, must be an even-length hexadecimal string with the `0x` prefix, to be executed. It is important to note that the usage of `callData` is mutually exclusive with the `abiFunctionSignature` and `abiParameters`. Therefore, `callData` cannot be utilized simultaneously with either `abiFunctionSignature` or `abiParameters`.")
29
+ amount: Optional[StrictStr] = Field(None, description="The amount of native token that will be sent to the contract abi execution. Optional field for payable api only, if not provided, no native token will be sent.")
30
+ blockchain: Optional[Blockchain] = None
31
+ contract_address: StrictStr = Field(..., alias="contractAddress", description="The blockchain address of the contract to be executed.")
32
+ 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.")
33
+ 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.")
34
+ __properties = ["abiFunctionSignature", "abiParameters", "callData", "amount", "blockchain", "contractAddress", "sourceAddress", "walletId"]
35
+
36
+ def __init__(self, **kwargs):
37
+ if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
38
+ kwargs["idempotency_key"] = "#REFILL_PLACEHOLDER"
39
+
40
+ if "entitySecretCiphertext" in self.__properties and not kwargs.get("entity_secret_ciphertext"):
41
+ kwargs["entity_secret_ciphertext"] = "#REFILL_PLACEHOLDER"
42
+ super().__init__(**kwargs)
43
+
44
+
45
+ class Config:
46
+ """Pydantic configuration"""
47
+ allow_population_by_field_name = True
48
+ validate_assignment = True
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.dict(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> EstimateContractExecutionTransactionFeeRequest:
60
+ """Create an instance of EstimateContractExecutionTransactionFeeRequest from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self):
64
+ """Returns the dictionary representation of the model using alias"""
65
+ _dict = self.dict(by_alias=True,
66
+ exclude={
67
+ },
68
+ exclude_none=True)
69
+ # override the default output from pydantic by calling `to_dict()` of each item in abi_parameters (list)
70
+ _items = []
71
+ if self.abi_parameters:
72
+ for _item in self.abi_parameters:
73
+ if _item:
74
+ _items.append(_item.to_dict())
75
+ _dict['abiParameters'] = _items
76
+ return _dict
77
+
78
+ @classmethod
79
+ def from_dict(cls, obj: dict) -> EstimateContractExecutionTransactionFeeRequest:
80
+ """Create an instance of EstimateContractExecutionTransactionFeeRequest from a dict"""
81
+ if obj is None:
82
+ return None
83
+
84
+ if not isinstance(obj, dict):
85
+ return EstimateContractExecutionTransactionFeeRequest.parse_obj(obj)
86
+
87
+ # fill idempotency_key and ciphertext with placeholder for auto_fill
88
+ if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
89
+ obj["idempotencyKey"] = "#REFILL_PLACEHOLDER"
90
+
91
+ if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
92
+ obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
93
+
94
+ _obj = EstimateContractExecutionTransactionFeeRequest.parse_obj({
95
+ "abi_function_signature": obj.get("abiFunctionSignature"),
96
+ "abi_parameters": [AbiParametersInner.from_dict(_item) for _item in obj.get("abiParameters")] if obj.get("abiParameters") is not None else None,
97
+ "call_data": obj.get("callData"),
98
+ "amount": obj.get("amount"),
99
+ "blockchain": obj.get("blockchain"),
100
+ "contract_address": obj.get("contractAddress"),
101
+ "source_address": obj.get("sourceAddress"),
102
+ "wallet_id": obj.get("walletId")
103
+ })
104
+ return _obj
105
+
106
+