circle-developer-controlled-wallets 0.1.0b1__py3-none-any.whl → 1.1.0__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 (61) hide show
  1. circle/web3/developer_controlled_wallets/__init__.py +26 -24
  2. circle/web3/developer_controlled_wallets/api/signing_api.py +2 -2
  3. circle/web3/developer_controlled_wallets/api/token_lookup_api.py +1 -1
  4. circle/web3/developer_controlled_wallets/api/transactions_api.py +25 -23
  5. circle/web3/developer_controlled_wallets/api/wallet_sets_api.py +118 -80
  6. circle/web3/developer_controlled_wallets/api/wallets_api.py +240 -209
  7. circle/web3/developer_controlled_wallets/api_client.py +1 -1
  8. circle/web3/developer_controlled_wallets/configuration.py +3 -3
  9. circle/web3/developer_controlled_wallets/models/__init__.py +25 -23
  10. circle/web3/developer_controlled_wallets/models/accelerate_transaction_for_developer_response.py +1 -1
  11. circle/web3/developer_controlled_wallets/models/account_type.py +1 -1
  12. circle/web3/developer_controlled_wallets/models/bad_request_response.py +85 -0
  13. circle/web3/developer_controlled_wallets/models/balance.py +1 -1
  14. circle/web3/developer_controlled_wallets/models/blockchain.py +3 -1
  15. circle/web3/developer_controlled_wallets/models/cancel_transaction_for_developer_response.py +1 -1
  16. circle/web3/developer_controlled_wallets/models/create_contract_execution_transaction_for_developer_request.py +4 -4
  17. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_request.py +6 -5
  18. circle/web3/developer_controlled_wallets/models/create_transfer_transaction_for_developer_response.py +1 -1
  19. circle/web3/developer_controlled_wallets/models/{create_developer_wallet_request.py → create_wallet_request.py} +9 -9
  20. circle/web3/developer_controlled_wallets/models/{create_developer_wallet_set_request.py → create_wallet_set_request.py} +11 -11
  21. circle/web3/developer_controlled_wallets/models/custody_type.py +1 -1
  22. circle/web3/developer_controlled_wallets/models/{update_wallet_set_metadata_response.py → developer_wallet_set.py} +26 -17
  23. circle/web3/developer_controlled_wallets/models/{wallet_set_response.py → end_user_wallet_set.py} +24 -20
  24. circle/web3/developer_controlled_wallets/models/{ext_wallet_response_wallet.py → eoa_wallet.py} +29 -25
  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 +40 -0
  27. circle/web3/developer_controlled_wallets/models/estimate_transfer_transaction_fee_request.py +2 -1
  28. circle/web3/developer_controlled_wallets/models/nft.py +1 -1
  29. circle/web3/developer_controlled_wallets/models/not_authorized_response.py +85 -0
  30. circle/web3/developer_controlled_wallets/models/not_found_response.py +85 -0
  31. circle/web3/developer_controlled_wallets/models/sca_wallet.py +117 -0
  32. circle/web3/developer_controlled_wallets/models/token_blockchain.py +42 -0
  33. circle/web3/developer_controlled_wallets/models/token_response.py +3 -3
  34. circle/web3/developer_controlled_wallets/models/transaction.py +3 -3
  35. circle/web3/developer_controlled_wallets/models/{ext_update_wallet_metadata_request.py → update_wallet_request.py} +9 -9
  36. circle/web3/developer_controlled_wallets/models/{update_wallet_set_metadata_request.py → update_wallet_set_request.py} +8 -8
  37. circle/web3/developer_controlled_wallets/models/{wallet_response.py → wallet.py} +17 -22
  38. circle/web3/developer_controlled_wallets/models/{update_wallet200_response.py → wallet2.py} +13 -13
  39. circle/web3/developer_controlled_wallets/models/{ext_wallet_response.py → wallet2_data.py} +13 -13
  40. circle/web3/developer_controlled_wallets/models/wallet_metadata.py +1 -1
  41. circle/web3/developer_controlled_wallets/models/wallet_set.py +87 -0
  42. circle/web3/developer_controlled_wallets/models/{get_wallet200_response.py → wallet_set2.py} +13 -13
  43. circle/web3/developer_controlled_wallets/models/{get_wallet_set_by_id_response.py → wallet_set2_data.py} +12 -12
  44. circle/web3/developer_controlled_wallets/models/{list_wallets200_response.py → wallet_sets.py} +13 -13
  45. circle/web3/developer_controlled_wallets/models/{get_wallet_sets_response.py → wallet_sets_data.py} +12 -12
  46. circle/web3/developer_controlled_wallets/models/wallet_sets_data_wallet_sets_inner.py +140 -0
  47. circle/web3/developer_controlled_wallets/models/wallet_state.py +1 -1
  48. circle/web3/developer_controlled_wallets/models/{get_wallet_set200_response.py → wallets.py} +13 -13
  49. circle/web3/developer_controlled_wallets/models/{ext_get_all_wallets_response.py → wallets_data.py} +13 -13
  50. circle/web3/developer_controlled_wallets/models/wallets_data_wallets_inner.py +140 -0
  51. {circle_developer_controlled_wallets-0.1.0b1.dist-info → circle_developer_controlled_wallets-1.1.0.dist-info}/METADATA +4 -4
  52. {circle_developer_controlled_wallets-0.1.0b1.dist-info → circle_developer_controlled_wallets-1.1.0.dist-info}/RECORD +54 -52
  53. circle/web3/developer_controlled_wallets/models/create_developer_wallet200_response.py +0 -87
  54. circle/web3/developer_controlled_wallets/models/create_developer_wallet_response.py +0 -91
  55. circle/web3/developer_controlled_wallets/models/create_developer_wallet_set_response.py +0 -87
  56. circle/web3/developer_controlled_wallets/models/create_wallet_set200_response.py +0 -87
  57. circle/web3/developer_controlled_wallets/models/ext_get_wallet_by_id_response.py +0 -87
  58. circle/web3/developer_controlled_wallets/models/list_wallet_sets200_response.py +0 -87
  59. circle/web3/developer_controlled_wallets/models/update_wallet_set200_response.py +0 -87
  60. {circle_developer_controlled_wallets-0.1.0b1.dist-info → circle_developer_controlled_wallets-1.1.0.dist-info}/WHEEL +0 -0
  61. {circle_developer_controlled_wallets-0.1.0b1.dist-info → circle_developer_controlled_wallets-1.1.0.dist-info}/top_level.txt +0 -0
@@ -77,7 +77,7 @@ class ApiClient(object):
77
77
  self.default_headers[header_name] = header_value
78
78
  self.cookie = cookie
79
79
  # Set default User-Agent.
80
- self.user_agent = (user_agent + ' / ' if user_agent else '') + 'CircleWeb3PythonSDK / DeveloperControlledWallets / 0.1.0b1'
80
+ self.user_agent = (user_agent + ' / ' if user_agent else '') + 'CircleWeb3PythonSDK / DeveloperControlledWallets / 1.1.0'
81
81
  self.client_side_validation = configuration.client_side_validation
82
82
 
83
83
  def __enter__(self):
@@ -68,7 +68,7 @@ class Configuration(object):
68
68
  ):
69
69
  """Constructor
70
70
  """
71
- self._base_path = "https://api.circle.com/v1/w3s" if host is None else host
71
+ self._base_path = "https://api.circle.com" if host is None else host
72
72
  """Default Base url
73
73
  """
74
74
  self.server_index = 0 if server_index is None and host is None else server_index
@@ -383,7 +383,7 @@ class Configuration(object):
383
383
  "OS: {env}\n"\
384
384
  "Python Version: {pyversion}\n"\
385
385
  "Version of the API: 1.0\n"\
386
- "SDK Package Version: 0.1.0b1".\
386
+ "SDK Package Version: 1.1.0".\
387
387
  format(env=sys.platform, pyversion=sys.version)
388
388
 
389
389
  def get_host_settings(self):
@@ -393,7 +393,7 @@ class Configuration(object):
393
393
  """
394
394
  return [
395
395
  {
396
- 'url': "https://api.circle.com/v1/w3s",
396
+ 'url': "https://api.circle.com",
397
397
  'description': "No description provided",
398
398
  }
399
399
  ]
@@ -14,6 +14,7 @@ from circle.web3.developer_controlled_wallets.models.abi_parameters_inner import
14
14
  from circle.web3.developer_controlled_wallets.models.accelerate_transaction_for_developer_request import AccelerateTransactionForDeveloperRequest
15
15
  from circle.web3.developer_controlled_wallets.models.accelerate_transaction_for_developer_response import AccelerateTransactionForDeveloperResponse
16
16
  from circle.web3.developer_controlled_wallets.models.account_type import AccountType
17
+ from circle.web3.developer_controlled_wallets.models.bad_request_response import BadRequestResponse
17
18
  from circle.web3.developer_controlled_wallets.models.balance import Balance
18
19
  from circle.web3.developer_controlled_wallets.models.blockchain import Blockchain
19
20
  from circle.web3.developer_controlled_wallets.models.cancel_transaction_for_developer_request import CancelTransactionForDeveloperRequest
@@ -24,27 +25,22 @@ from circle.web3.developer_controlled_wallets.models.create_developer_transactio
24
25
  from circle.web3.developer_controlled_wallets.models.create_developer_transaction_cancel200_response import CreateDeveloperTransactionCancel200Response
25
26
  from circle.web3.developer_controlled_wallets.models.create_developer_transaction_contract_execution200_response import CreateDeveloperTransactionContractExecution200Response
26
27
  from circle.web3.developer_controlled_wallets.models.create_developer_transaction_transfer200_response import CreateDeveloperTransactionTransfer200Response
27
- from circle.web3.developer_controlled_wallets.models.create_developer_wallet200_response import CreateDeveloperWallet200Response
28
- from circle.web3.developer_controlled_wallets.models.create_developer_wallet_request import CreateDeveloperWalletRequest
29
- from circle.web3.developer_controlled_wallets.models.create_developer_wallet_response import CreateDeveloperWalletResponse
30
- from circle.web3.developer_controlled_wallets.models.create_developer_wallet_set_request import CreateDeveloperWalletSetRequest
31
- from circle.web3.developer_controlled_wallets.models.create_developer_wallet_set_response import CreateDeveloperWalletSetResponse
32
28
  from circle.web3.developer_controlled_wallets.models.create_transfer_estimate_fee200_response import CreateTransferEstimateFee200Response
33
29
  from circle.web3.developer_controlled_wallets.models.create_transfer_transaction_for_developer_request import CreateTransferTransactionForDeveloperRequest
34
30
  from circle.web3.developer_controlled_wallets.models.create_transfer_transaction_for_developer_response import CreateTransferTransactionForDeveloperResponse
35
31
  from circle.web3.developer_controlled_wallets.models.create_validate_address200_response import CreateValidateAddress200Response
36
- from circle.web3.developer_controlled_wallets.models.create_wallet_set200_response import CreateWalletSet200Response
32
+ from circle.web3.developer_controlled_wallets.models.create_wallet_request import CreateWalletRequest
33
+ from circle.web3.developer_controlled_wallets.models.create_wallet_set_request import CreateWalletSetRequest
37
34
  from circle.web3.developer_controlled_wallets.models.custody_type import CustodyType
35
+ from circle.web3.developer_controlled_wallets.models.developer_wallet_set import DeveloperWalletSet
36
+ from circle.web3.developer_controlled_wallets.models.eoa_wallet import EOAWallet
37
+ from circle.web3.developer_controlled_wallets.models.end_user_wallet_set import EndUserWalletSet
38
38
  from circle.web3.developer_controlled_wallets.models.error import Error
39
39
  from circle.web3.developer_controlled_wallets.models.estimate_contract_execution_transaction_fee_request import EstimateContractExecutionTransactionFeeRequest
40
+ from circle.web3.developer_controlled_wallets.models.estimate_contract_execution_transaction_fee_request_blockchain import EstimateContractExecutionTransactionFeeRequestBlockchain
40
41
  from circle.web3.developer_controlled_wallets.models.estimate_transaction_fee_response import EstimateTransactionFeeResponse
41
42
  from circle.web3.developer_controlled_wallets.models.estimate_transfer_transaction_fee_request import EstimateTransferTransactionFeeRequest
42
43
  from circle.web3.developer_controlled_wallets.models.estimated_transaction_fee import EstimatedTransactionFee
43
- from circle.web3.developer_controlled_wallets.models.ext_get_all_wallets_response import ExtGetAllWalletsResponse
44
- from circle.web3.developer_controlled_wallets.models.ext_get_wallet_by_id_response import ExtGetWalletByIDResponse
45
- from circle.web3.developer_controlled_wallets.models.ext_update_wallet_metadata_request import ExtUpdateWalletMetadataRequest
46
- from circle.web3.developer_controlled_wallets.models.ext_wallet_response import ExtWalletResponse
47
- from circle.web3.developer_controlled_wallets.models.ext_wallet_response_wallet import ExtWalletResponseWallet
48
44
  from circle.web3.developer_controlled_wallets.models.fee_level import FeeLevel
49
45
  from circle.web3.developer_controlled_wallets.models.get_balances_response import GetBalancesResponse
50
46
  from circle.web3.developer_controlled_wallets.models.get_nfts_response import GetNftsResponse
@@ -53,35 +49,41 @@ from circle.web3.developer_controlled_wallets.models.get_token_id200_response im
53
49
  from circle.web3.developer_controlled_wallets.models.get_transaction200_response import GetTransaction200Response
54
50
  from circle.web3.developer_controlled_wallets.models.get_transaction_by_id_response import GetTransactionByIDResponse
55
51
  from circle.web3.developer_controlled_wallets.models.get_transactions_response import GetTransactionsResponse
56
- from circle.web3.developer_controlled_wallets.models.get_wallet200_response import GetWallet200Response
57
- from circle.web3.developer_controlled_wallets.models.get_wallet_set200_response import GetWalletSet200Response
58
- from circle.web3.developer_controlled_wallets.models.get_wallet_set_by_id_response import GetWalletSetByIDResponse
59
- from circle.web3.developer_controlled_wallets.models.get_wallet_sets_response import GetWalletSetsResponse
60
52
  from circle.web3.developer_controlled_wallets.models.list_transactions200_response import ListTransactions200Response
61
53
  from circle.web3.developer_controlled_wallets.models.list_wallet_ballance200_response import ListWalletBallance200Response
62
54
  from circle.web3.developer_controlled_wallets.models.list_wallet_nfts200_response import ListWalletNfts200Response
63
- from circle.web3.developer_controlled_wallets.models.list_wallet_sets200_response import ListWalletSets200Response
64
- from circle.web3.developer_controlled_wallets.models.list_wallets200_response import ListWallets200Response
65
55
  from circle.web3.developer_controlled_wallets.models.nft import Nft
56
+ from circle.web3.developer_controlled_wallets.models.not_authorized_response import NotAuthorizedResponse
57
+ from circle.web3.developer_controlled_wallets.models.not_found_response import NotFoundResponse
66
58
  from circle.web3.developer_controlled_wallets.models.operation import Operation
59
+ from circle.web3.developer_controlled_wallets.models.sca_wallet import SCAWallet
67
60
  from circle.web3.developer_controlled_wallets.models.sign_developer_message200_response import SignDeveloperMessage200Response
68
61
  from circle.web3.developer_controlled_wallets.models.sign_developer_typed_data200_response import SignDeveloperTypedData200Response
69
62
  from circle.web3.developer_controlled_wallets.models.sign_message_for_developer_request import SignMessageForDeveloperRequest
70
63
  from circle.web3.developer_controlled_wallets.models.sign_message_for_developer_response import SignMessageForDeveloperResponse
71
64
  from circle.web3.developer_controlled_wallets.models.sign_typed_data_for_developer_request import SignTypedDataForDeveloperRequest
72
65
  from circle.web3.developer_controlled_wallets.models.sign_typed_data_for_developer_response import SignTypedDataForDeveloperResponse
66
+ from circle.web3.developer_controlled_wallets.models.token_blockchain import TokenBlockchain
73
67
  from circle.web3.developer_controlled_wallets.models.token_response import TokenResponse
74
68
  from circle.web3.developer_controlled_wallets.models.token_standard import TokenStandard
75
69
  from circle.web3.developer_controlled_wallets.models.transaction import Transaction
76
70
  from circle.web3.developer_controlled_wallets.models.transaction_state import TransactionState
77
71
  from circle.web3.developer_controlled_wallets.models.transaction_type import TransactionType
78
- from circle.web3.developer_controlled_wallets.models.update_wallet200_response import UpdateWallet200Response
79
- from circle.web3.developer_controlled_wallets.models.update_wallet_set200_response import UpdateWalletSet200Response
80
- from circle.web3.developer_controlled_wallets.models.update_wallet_set_metadata_request import UpdateWalletSetMetadataRequest
81
- from circle.web3.developer_controlled_wallets.models.update_wallet_set_metadata_response import UpdateWalletSetMetadataResponse
72
+ from circle.web3.developer_controlled_wallets.models.update_wallet_request import UpdateWalletRequest
73
+ from circle.web3.developer_controlled_wallets.models.update_wallet_set_request import UpdateWalletSetRequest
82
74
  from circle.web3.developer_controlled_wallets.models.validate_address_request import ValidateAddressRequest
83
75
  from circle.web3.developer_controlled_wallets.models.validate_address_response import ValidateAddressResponse
76
+ from circle.web3.developer_controlled_wallets.models.wallet import Wallet
77
+ from circle.web3.developer_controlled_wallets.models.wallet2 import Wallet2
78
+ from circle.web3.developer_controlled_wallets.models.wallet2_data import Wallet2Data
84
79
  from circle.web3.developer_controlled_wallets.models.wallet_metadata import WalletMetadata
85
- from circle.web3.developer_controlled_wallets.models.wallet_response import WalletResponse
86
- from circle.web3.developer_controlled_wallets.models.wallet_set_response import WalletSetResponse
80
+ from circle.web3.developer_controlled_wallets.models.wallet_set import WalletSet
81
+ from circle.web3.developer_controlled_wallets.models.wallet_set2 import WalletSet2
82
+ from circle.web3.developer_controlled_wallets.models.wallet_set2_data import WalletSet2Data
83
+ from circle.web3.developer_controlled_wallets.models.wallet_sets import WalletSets
84
+ from circle.web3.developer_controlled_wallets.models.wallet_sets_data import WalletSetsData
85
+ from circle.web3.developer_controlled_wallets.models.wallet_sets_data_wallet_sets_inner import WalletSetsDataWalletSetsInner
87
86
  from circle.web3.developer_controlled_wallets.models.wallet_state import WalletState
87
+ from circle.web3.developer_controlled_wallets.models.wallets import Wallets
88
+ from circle.web3.developer_controlled_wallets.models.wallets_data import WalletsData
89
+ from circle.web3.developer_controlled_wallets.models.wallets_data_wallets_inner import WalletsDataWalletsInner
@@ -21,7 +21,7 @@ class AccelerateTransactionForDeveloperResponse(BaseModel):
21
21
  """
22
22
  AccelerateTransactionForDeveloperResponse
23
23
  """
24
- id: Optional[StrictStr] = Field(None, description="Unique system generated identifier of the resource.")
24
+ id: Optional[StrictStr] = Field(None, description="System-generated unique identifier of the resource.")
25
25
  __properties = ["id"]
26
26
 
27
27
  def __init__(self, **kwargs):
@@ -19,7 +19,7 @@ from aenum import Enum, no_arg
19
19
 
20
20
  class AccountType(str, Enum):
21
21
  """
22
- An Account can be a Smart Contract Account (SCA) or an Externally Owned Account (EOA). To learn more about account types and the differences between the two, see the [account types guide](https://developers.circle.com/w3s/docs/programmable-wallets-account-types). If an account type is not specified during the creation of a wallet, it will default to `EOA` (Externally Owned Account).
22
+ An account can be a Smart Contract Account (SCA) or an Externally Owned Account (EOA). To learn more, see the [account types guide](https://developers.circle.com/w3s/docs/programmable-wallets-account-types). If an account type is not specified during the creation of a wallet, it defaults to `EOA` (Externally Owned Account). Note that Solana doesn't support Smart Contract Account (SCA).
23
23
  """
24
24
 
25
25
  """
@@ -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
+
18
+ from pydantic import BaseModel, Field, StrictInt, StrictStr
19
+
20
+ class BadRequestResponse(BaseModel):
21
+ """
22
+ BadRequestResponse
23
+ """
24
+ code: StrictInt = Field(..., description="Code that corresponds to the error.")
25
+ message: StrictStr = Field(..., description="Message that describes the error.")
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) -> BadRequestResponse:
52
+ """Create an instance of BadRequestResponse 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) -> BadRequestResponse:
65
+ """Create an instance of BadRequestResponse from a dict"""
66
+ if obj is None:
67
+ return None
68
+
69
+ if not isinstance(obj, dict):
70
+ return BadRequestResponse.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 = BadRequestResponse.parse_obj({
80
+ "code": obj.get("code"),
81
+ "message": obj.get("message")
82
+ })
83
+ return _obj
84
+
85
+
@@ -24,7 +24,7 @@ class Balance(BaseModel):
24
24
  """
25
25
  amount: StrictStr = Field(..., description="List of token balances for each token on the wallet(s).")
26
26
  token: TokenResponse = Field(...)
27
- update_date: datetime = Field(..., alias="updateDate", description="Last update date of the resource. ISO-8601 UTC date/time.")
27
+ update_date: datetime = Field(..., alias="updateDate", description="Date and time the resource was last updated, in ISO-8601 UTC format.")
28
28
  __properties = ["amount", "token", "updateDate"]
29
29
 
30
30
  def __init__(self, **kwargs):
@@ -19,7 +19,7 @@ from aenum import Enum, no_arg
19
19
 
20
20
  class Blockchain(str, Enum):
21
21
  """
22
- The blockchain network the resource will be created on or is currently on.
22
+ The blockchain network that the resource is to be created on or is currently on.
23
23
  """
24
24
 
25
25
  """
@@ -31,6 +31,8 @@ class Blockchain(str, Enum):
31
31
  AVAX_MINUS_FUJI = 'AVAX-FUJI'
32
32
  MATIC = 'MATIC'
33
33
  MATIC_MINUS_AMOY = 'MATIC-AMOY'
34
+ SOL = 'SOL'
35
+ SOL_MINUS_DENVET = 'SOL-DENVET'
34
36
 
35
37
  @classmethod
36
38
  def from_json(cls, json_str: str) -> Blockchain:
@@ -22,7 +22,7 @@ class CancelTransactionForDeveloperResponse(BaseModel):
22
22
  """
23
23
  CancelTransactionForDeveloperResponse
24
24
  """
25
- id: StrictStr = Field(..., description="Unique system generated identifier of the resource.")
25
+ id: StrictStr = Field(..., description="System-generated unique identifier of the resource.")
26
26
  state: TransactionState = Field(...)
27
27
  __properties = ["id", "state"]
28
28
 
@@ -31,10 +31,10 @@ class CreateContractExecutionTransactionForDeveloperRequest(BaseModel):
31
31
  contract_address: StrictStr = Field(..., alias="contractAddress", description="The blockchain address of the contract to be executed.")
32
32
  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. ")
33
33
  fee_level: Optional[FeeLevel] = Field(None, alias="feeLevel")
34
- 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. ")
35
- 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. ")
36
- 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. ")
37
- 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
+ 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. Note that this field is optional for Solana, which defaults to a gas limit of 200,000 micro-lamport. Estimates for this limit can be obtained through the `POST /transactions/transfer/estimateFee` API. ")
35
+ 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`. Note that `gasPrice` is not supported for Solana. Estimates for this fee can be obtained through the `POST /transactions/transfer/estimateFee` API. ")
36
+ 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`. Note that `maxFee` is not supported for Solana. Estimates for this fee can be obtained through the `POST /transactions/transfer/estimateFee` API. ")
37
+ 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. For Solana, the gas fee mechanism is similar to EIP-1559, where you can specify the `priority fee` to incentivize miners to include your transaction in a block. 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. ")
38
38
  ref_id: Optional[StrictStr] = Field(None, alias="refId", description="Optional reference or description used to identify the transaction.")
39
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
40
  __properties = ["idempotencyKey", "abiFunctionSignature", "abiParameters", "callData", "amount", "contractAddress", "entitySecretCiphertext", "feeLevel", "gasLimit", "gasPrice", "maxFee", "priorityFee", "refId", "walletId"]
@@ -17,6 +17,7 @@ import json
17
17
  from typing import List, Optional, Union
18
18
  from pydantic import BaseModel, Field, StrictBytes, StrictStr, conlist
19
19
  from circle.web3.developer_controlled_wallets.models.fee_level import FeeLevel
20
+ from circle.web3.developer_controlled_wallets.models.token_blockchain import TokenBlockchain
20
21
 
21
22
  class CreateTransferTransactionForDeveloperRequest(BaseModel):
22
23
  """
@@ -27,15 +28,15 @@ class CreateTransferTransactionForDeveloperRequest(BaseModel):
27
28
  destination_address: StrictStr = Field(..., alias="destinationAddress", description="The destination blockchain address for the transaction.")
28
29
  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
30
  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. ")
31
+ 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. Note that this field is optional for Solana, which defaults to a gas limit of 200,000 micro-lamport. Estimates for this limit can be obtained through the `POST /transactions/transfer/estimateFee` API. ")
32
+ 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`. Note that `gasPrice` is not supported for Solana. Estimates for this fee can be obtained through the `POST /transactions/transfer/estimateFee` API. ")
33
+ 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`. Note that `maxFee` is not supported for Solana. Estimates for this fee can be obtained through the `POST /transactions/transfer/estimateFee` API. ")
34
+ 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. For Solana, the gas fee mechanism is similar to EIP-1559, where you can specify the `priority fee` to incentivize miners to include your transaction in a block. 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
35
  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
36
  ref_id: Optional[StrictStr] = Field(None, alias="refId", description="Optional reference or description used to identify the transaction.")
36
37
  token_id: Optional[StrictStr] = Field(None, alias="tokenId", description="System generated identifier of the token. Excluded with `tokenAddress` and `tokenBlockchain`.")
37
38
  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
+ blockchain: Optional[TokenBlockchain] = None
39
40
  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
41
  __properties = ["idempotencyKey", "amounts", "destinationAddress", "entitySecretCiphertext", "feeLevel", "gasLimit", "gasPrice", "maxFee", "priorityFee", "nftTokenIds", "refId", "tokenId", "tokenAddress", "blockchain", "walletId"]
41
42
 
@@ -22,7 +22,7 @@ class CreateTransferTransactionForDeveloperResponse(BaseModel):
22
22
  """
23
23
  CreateTransferTransactionForDeveloperResponse
24
24
  """
25
- id: StrictStr = Field(..., description="Unique system generated identifier of the resource.")
25
+ id: StrictStr = Field(..., description="System-generated unique identifier of the resource.")
26
26
  state: TransactionState = Field(...)
27
27
  __properties = ["id", "state"]
28
28
 
@@ -20,9 +20,9 @@ from circle.web3.developer_controlled_wallets.models.account_type import Account
20
20
  from circle.web3.developer_controlled_wallets.models.blockchain import Blockchain
21
21
  from circle.web3.developer_controlled_wallets.models.wallet_metadata import WalletMetadata
22
22
 
23
- class CreateDeveloperWalletRequest(BaseModel):
23
+ class CreateWalletRequest(BaseModel):
24
24
  """
25
- CreateDeveloperWalletRequest
25
+ CreateWalletRequest
26
26
  """
27
27
  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.")
28
28
  account_type: Optional[AccountType] = Field(None, alias="accountType")
@@ -30,7 +30,7 @@ class CreateDeveloperWalletRequest(BaseModel):
30
30
  count: Optional[conint(strict=True, le=200, ge=1)] = Field(None, description="Number of wallets that will be created per specified blockchain.")
31
31
  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. ")
32
32
  metadata: Optional[conlist(WalletMetadata)] = Field(None, description="List of metadata fields to associate with the corresponding wallet. If count is specified, the amount of items in the array should match the count field.")
33
- wallet_set_id: StrictStr = Field(..., alias="walletSetId", description="Unique system generated identifier of the wallet's parent wallet set. under.")
33
+ wallet_set_id: StrictStr = Field(..., alias="walletSetId", description="System-generated unique identifier of the resource.")
34
34
  __properties = ["idempotencyKey", "accountType", "blockchains", "count", "entitySecretCiphertext", "metadata", "walletSetId"]
35
35
 
36
36
  def __init__(self, **kwargs):
@@ -56,8 +56,8 @@ class CreateDeveloperWalletRequest(BaseModel):
56
56
  return json.dumps(self.to_dict())
57
57
 
58
58
  @classmethod
59
- def from_json(cls, json_str: str) -> CreateDeveloperWalletRequest:
60
- """Create an instance of CreateDeveloperWalletRequest from a JSON string"""
59
+ def from_json(cls, json_str: str) -> CreateWalletRequest:
60
+ """Create an instance of CreateWalletRequest from a JSON string"""
61
61
  return cls.from_dict(json.loads(json_str))
62
62
 
63
63
  def to_dict(self):
@@ -76,13 +76,13 @@ class CreateDeveloperWalletRequest(BaseModel):
76
76
  return _dict
77
77
 
78
78
  @classmethod
79
- def from_dict(cls, obj: dict) -> CreateDeveloperWalletRequest:
80
- """Create an instance of CreateDeveloperWalletRequest from a dict"""
79
+ def from_dict(cls, obj: dict) -> CreateWalletRequest:
80
+ """Create an instance of CreateWalletRequest from a dict"""
81
81
  if obj is None:
82
82
  return None
83
83
 
84
84
  if not isinstance(obj, dict):
85
- return CreateDeveloperWalletRequest.parse_obj(obj)
85
+ return CreateWalletRequest.parse_obj(obj)
86
86
 
87
87
  # fill idempotency_key and ciphertext with placeholder for auto_fill
88
88
  if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
@@ -91,7 +91,7 @@ class CreateDeveloperWalletRequest(BaseModel):
91
91
  if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
92
92
  obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
93
93
 
94
- _obj = CreateDeveloperWalletRequest.parse_obj({
94
+ _obj = CreateWalletRequest.parse_obj({
95
95
  "idempotency_key": obj.get("idempotencyKey"),
96
96
  "account_type": obj.get("accountType"),
97
97
  "blockchains": obj.get("blockchains"),
@@ -17,14 +17,14 @@ import json
17
17
  from typing import Optional, Union
18
18
  from pydantic import BaseModel, Field, StrictBytes, StrictStr
19
19
 
20
- class CreateDeveloperWalletSetRequest(BaseModel):
20
+ class CreateWalletSetRequest(BaseModel):
21
21
  """
22
- CreateDeveloperWalletSetRequest
22
+ CreateWalletSetRequest
23
23
  """
24
- 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.")
25
24
  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. ")
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
26
  name: Optional[StrictStr] = None
27
- __properties = ["idempotencyKey", "entitySecretCiphertext", "name"]
27
+ __properties = ["entitySecretCiphertext", "idempotencyKey", "name"]
28
28
 
29
29
  def __init__(self, **kwargs):
30
30
  if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
@@ -49,8 +49,8 @@ class CreateDeveloperWalletSetRequest(BaseModel):
49
49
  return json.dumps(self.to_dict())
50
50
 
51
51
  @classmethod
52
- def from_json(cls, json_str: str) -> CreateDeveloperWalletSetRequest:
53
- """Create an instance of CreateDeveloperWalletSetRequest from a JSON string"""
52
+ def from_json(cls, json_str: str) -> CreateWalletSetRequest:
53
+ """Create an instance of CreateWalletSetRequest from a JSON string"""
54
54
  return cls.from_dict(json.loads(json_str))
55
55
 
56
56
  def to_dict(self):
@@ -62,13 +62,13 @@ class CreateDeveloperWalletSetRequest(BaseModel):
62
62
  return _dict
63
63
 
64
64
  @classmethod
65
- def from_dict(cls, obj: dict) -> CreateDeveloperWalletSetRequest:
66
- """Create an instance of CreateDeveloperWalletSetRequest from a dict"""
65
+ def from_dict(cls, obj: dict) -> CreateWalletSetRequest:
66
+ """Create an instance of CreateWalletSetRequest from a dict"""
67
67
  if obj is None:
68
68
  return None
69
69
 
70
70
  if not isinstance(obj, dict):
71
- return CreateDeveloperWalletSetRequest.parse_obj(obj)
71
+ return CreateWalletSetRequest.parse_obj(obj)
72
72
 
73
73
  # fill idempotency_key and ciphertext with placeholder for auto_fill
74
74
  if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
@@ -77,9 +77,9 @@ class CreateDeveloperWalletSetRequest(BaseModel):
77
77
  if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
78
78
  obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
79
79
 
80
- _obj = CreateDeveloperWalletSetRequest.parse_obj({
81
- "idempotency_key": obj.get("idempotencyKey"),
80
+ _obj = CreateWalletSetRequest.parse_obj({
82
81
  "entity_secret_ciphertext": obj.get("entitySecretCiphertext"),
82
+ "idempotency_key": obj.get("idempotencyKey"),
83
83
  "name": obj.get("name")
84
84
  })
85
85
  return _obj
@@ -19,7 +19,7 @@ from aenum import Enum, no_arg
19
19
 
20
20
  class CustodyType(str, Enum):
21
21
  """
22
- CustodyType
22
+ Describes who controls the digital assets in a wallet: either the end-user or the developer.
23
23
  """
24
24
 
25
25
  """
@@ -13,17 +13,19 @@ 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
19
- from circle.web3.developer_controlled_wallets.models.wallet_set_response import WalletSetResponse
18
+ from pydantic import BaseModel, Field, StrictStr, validator
20
19
 
21
- class UpdateWalletSetMetadataResponse(BaseModel):
20
+ class DeveloperWalletSet(BaseModel):
22
21
  """
23
- UpdateWalletSetMetadataResponse
22
+ DeveloperWalletSet
24
23
  """
25
- wallet_set: Optional[WalletSetResponse] = Field(None, alias="walletSet")
26
- __properties = ["walletSet"]
24
+ id: StrictStr = Field(..., description="System-generated unique identifier of the resource.")
25
+ create_date: datetime = Field(..., alias="createDate", description="Date and time the resource was created, in ISO-8601 UTC format.")
26
+ update_date: datetime = Field(..., alias="updateDate", description="Date and time the resource was last updated, in ISO-8601 UTC format.")
27
+ custody_type: StrictStr = Field(..., alias="custodyType")
28
+ __properties = ["id", "createDate", "updateDate", "custodyType"]
27
29
 
28
30
  def __init__(self, **kwargs):
29
31
  if "idempotencyKey" in self.__properties and not kwargs.get("idempotency_key"):
@@ -34,6 +36,13 @@ class UpdateWalletSetMetadataResponse(BaseModel):
34
36
  super().__init__(**kwargs)
35
37
 
36
38
 
39
+ @validator('custody_type')
40
+ def custody_type_validate_enum(cls, value):
41
+ """Validates the enum"""
42
+ if value not in ('DEVELOPER'):
43
+ raise ValueError("must be one of enum values ('DEVELOPER')")
44
+ return value
45
+
37
46
  class Config:
38
47
  """Pydantic configuration"""
39
48
  allow_population_by_field_name = True
@@ -48,8 +57,8 @@ class UpdateWalletSetMetadataResponse(BaseModel):
48
57
  return json.dumps(self.to_dict())
49
58
 
50
59
  @classmethod
51
- def from_json(cls, json_str: str) -> UpdateWalletSetMetadataResponse:
52
- """Create an instance of UpdateWalletSetMetadataResponse from a JSON string"""
60
+ def from_json(cls, json_str: str) -> DeveloperWalletSet:
61
+ """Create an instance of DeveloperWalletSet from a JSON string"""
53
62
  return cls.from_dict(json.loads(json_str))
54
63
 
55
64
  def to_dict(self):
@@ -58,19 +67,16 @@ class UpdateWalletSetMetadataResponse(BaseModel):
58
67
  exclude={
59
68
  },
60
69
  exclude_none=True)
61
- # override the default output from pydantic by calling `to_dict()` of wallet_set
62
- if self.wallet_set:
63
- _dict['walletSet'] = self.wallet_set.to_dict()
64
70
  return _dict
65
71
 
66
72
  @classmethod
67
- def from_dict(cls, obj: dict) -> UpdateWalletSetMetadataResponse:
68
- """Create an instance of UpdateWalletSetMetadataResponse from a dict"""
73
+ def from_dict(cls, obj: dict) -> DeveloperWalletSet:
74
+ """Create an instance of DeveloperWalletSet from a dict"""
69
75
  if obj is None:
70
76
  return None
71
77
 
72
78
  if not isinstance(obj, dict):
73
- return UpdateWalletSetMetadataResponse.parse_obj(obj)
79
+ return DeveloperWalletSet.parse_obj(obj)
74
80
 
75
81
  # fill idempotency_key and ciphertext with placeholder for auto_fill
76
82
  if "idempotencyKey" in cls.__properties and not obj.get("idempotencyKey"):
@@ -79,8 +85,11 @@ class UpdateWalletSetMetadataResponse(BaseModel):
79
85
  if "entitySecretCiphertext" in cls.__properties and not obj.get("entitySecretCiphertext"):
80
86
  obj["entitySecretCiphertext"] = "#REFILL_PLACEHOLDER"
81
87
 
82
- _obj = UpdateWalletSetMetadataResponse.parse_obj({
83
- "wallet_set": WalletSetResponse.from_dict(obj.get("walletSet")) if obj.get("walletSet") is not None else None
88
+ _obj = DeveloperWalletSet.parse_obj({
89
+ "id": obj.get("id"),
90
+ "create_date": obj.get("createDate"),
91
+ "update_date": obj.get("updateDate"),
92
+ "custody_type": obj.get("custodyType")
84
93
  })
85
94
  return _obj
86
95