diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 66f2f7c..e89f326 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -489,18 +489,37 @@ docs/TransferPeerPathSubType.md docs/TransferPeerPathType.md docs/TransferValidationFailure.md docs/TravelRuleAddress.md -docs/TravelRuleBetaApi.md +docs/TravelRuleApi.md docs/TravelRuleCreateTransactionRequest.md +docs/TravelRuleDateAndPlaceOfBirth.md +docs/TravelRuleGeographicAddress.md docs/TravelRuleGetAllVASPsResponse.md docs/TravelRuleIssuer.md docs/TravelRuleIssuers.md +docs/TravelRuleLegalPerson.md +docs/TravelRuleLegalPersonNameIdentifier.md +docs/TravelRuleNationalIdentification.md +docs/TravelRuleNaturalNameIdentifier.md +docs/TravelRuleNaturalPerson.md +docs/TravelRuleNaturalPersonNameIdentifier.md docs/TravelRuleOwnershipProof.md +docs/TravelRulePerson.md docs/TravelRulePiiIVMS.md docs/TravelRulePolicyRuleResponse.md docs/TravelRuleTransactionBlockchainInfo.md docs/TravelRuleUpdateVASPDetails.md docs/TravelRuleVASP.md +docs/TravelRuleValidateDateAndPlaceOfBirth.md docs/TravelRuleValidateFullTransactionRequest.md +docs/TravelRuleValidateGeographicAddress.md +docs/TravelRuleValidateLegalPerson.md +docs/TravelRuleValidateLegalPersonNameIdentifier.md +docs/TravelRuleValidateNationalIdentification.md +docs/TravelRuleValidateNaturalNameIdentifier.md +docs/TravelRuleValidateNaturalPerson.md +docs/TravelRuleValidateNaturalPersonNameIdentifier.md +docs/TravelRuleValidatePerson.md +docs/TravelRuleValidatePiiIVMS.md docs/TravelRuleValidateTransactionRequest.md docs/TravelRuleValidateTransactionResponse.md docs/TravelRuleVaspForVault.md @@ -592,7 +611,7 @@ fireblocks/api/smart_transfer_api.py fireblocks/api/staking_api.py fireblocks/api/tokenization_api.py fireblocks/api/transactions_api.py -fireblocks/api/travel_rule_beta_api.py +fireblocks/api/travel_rule_api.py fireblocks/api/user_groups_beta_api.py fireblocks/api/users_api.py fireblocks/api/vaults_api.py @@ -1065,15 +1084,34 @@ fireblocks/models/transfer_peer_path_type.py fireblocks/models/transfer_validation_failure.py fireblocks/models/travel_rule_address.py fireblocks/models/travel_rule_create_transaction_request.py +fireblocks/models/travel_rule_date_and_place_of_birth.py +fireblocks/models/travel_rule_geographic_address.py fireblocks/models/travel_rule_get_all_vasps_response.py fireblocks/models/travel_rule_issuer.py fireblocks/models/travel_rule_issuers.py +fireblocks/models/travel_rule_legal_person.py +fireblocks/models/travel_rule_legal_person_name_identifier.py +fireblocks/models/travel_rule_national_identification.py +fireblocks/models/travel_rule_natural_name_identifier.py +fireblocks/models/travel_rule_natural_person.py +fireblocks/models/travel_rule_natural_person_name_identifier.py fireblocks/models/travel_rule_ownership_proof.py +fireblocks/models/travel_rule_person.py fireblocks/models/travel_rule_pii_ivms.py fireblocks/models/travel_rule_policy_rule_response.py fireblocks/models/travel_rule_transaction_blockchain_info.py fireblocks/models/travel_rule_update_vasp_details.py +fireblocks/models/travel_rule_validate_date_and_place_of_birth.py fireblocks/models/travel_rule_validate_full_transaction_request.py +fireblocks/models/travel_rule_validate_geographic_address.py +fireblocks/models/travel_rule_validate_legal_person.py +fireblocks/models/travel_rule_validate_legal_person_name_identifier.py +fireblocks/models/travel_rule_validate_national_identification.py +fireblocks/models/travel_rule_validate_natural_name_identifier.py +fireblocks/models/travel_rule_validate_natural_person.py +fireblocks/models/travel_rule_validate_natural_person_name_identifier.py +fireblocks/models/travel_rule_validate_person.py +fireblocks/models/travel_rule_validate_pii_ivms.py fireblocks/models/travel_rule_validate_transaction_request.py fireblocks/models/travel_rule_validate_transaction_response.py fireblocks/models/travel_rule_vasp.py @@ -1632,17 +1670,36 @@ test/test_transfer_peer_path_sub_type.py test/test_transfer_peer_path_type.py test/test_transfer_validation_failure.py test/test_travel_rule_address.py -test/test_travel_rule_beta_api.py +test/test_travel_rule_api.py test/test_travel_rule_create_transaction_request.py +test/test_travel_rule_date_and_place_of_birth.py +test/test_travel_rule_geographic_address.py test/test_travel_rule_get_all_vasps_response.py test/test_travel_rule_issuer.py test/test_travel_rule_issuers.py +test/test_travel_rule_legal_person.py +test/test_travel_rule_legal_person_name_identifier.py +test/test_travel_rule_national_identification.py +test/test_travel_rule_natural_name_identifier.py +test/test_travel_rule_natural_person.py +test/test_travel_rule_natural_person_name_identifier.py test/test_travel_rule_ownership_proof.py +test/test_travel_rule_person.py test/test_travel_rule_pii_ivms.py test/test_travel_rule_policy_rule_response.py test/test_travel_rule_transaction_blockchain_info.py test/test_travel_rule_update_vasp_details.py +test/test_travel_rule_validate_date_and_place_of_birth.py test/test_travel_rule_validate_full_transaction_request.py +test/test_travel_rule_validate_geographic_address.py +test/test_travel_rule_validate_legal_person.py +test/test_travel_rule_validate_legal_person_name_identifier.py +test/test_travel_rule_validate_national_identification.py +test/test_travel_rule_validate_natural_name_identifier.py +test/test_travel_rule_validate_natural_person.py +test/test_travel_rule_validate_natural_person_name_identifier.py +test/test_travel_rule_validate_person.py +test/test_travel_rule_validate_pii_ivms.py test/test_travel_rule_validate_transaction_request.py test/test_travel_rule_validate_transaction_response.py test/test_travel_rule_vasp.py diff --git a/README.md b/README.md index 1846576..b14f1eb 100644 --- a/README.md +++ b/README.md @@ -439,13 +439,12 @@ Class | Method | HTTP request | Description *TransactionsApi* | [**set_transaction_confirmation_threshold**](docs/TransactionsApi.md#set_transaction_confirmation_threshold) | **POST** /transactions/{txId}/set_confirmation_threshold | Set confirmation threshold by transaction ID *TransactionsApi* | [**unfreeze_transaction**](docs/TransactionsApi.md#unfreeze_transaction) | **POST** /transactions/{txId}/unfreeze | Unfreeze a transaction *TransactionsApi* | [**validate_address**](docs/TransactionsApi.md#validate_address) | **GET** /transactions/validate_address/{assetId}/{address} | Validate destination address -*TravelRuleBetaApi* | [**get_vasp_for_vault**](docs/TravelRuleBetaApi.md#get_vasp_for_vault) | **GET** /screening/travel_rule/vault/{vaultAccountId}/vasp | Get assigned VASP to vault -*TravelRuleBetaApi* | [**get_vaspby_did**](docs/TravelRuleBetaApi.md#get_vaspby_did) | **GET** /screening/travel_rule/vasp/{did} | Get VASP details -*TravelRuleBetaApi* | [**get_vasps**](docs/TravelRuleBetaApi.md#get_vasps) | **GET** /screening/travel_rule/vasp | Get All VASPs -*TravelRuleBetaApi* | [**set_vasp_for_vault**](docs/TravelRuleBetaApi.md#set_vasp_for_vault) | **POST** /screening/travel_rule/vault/{vaultAccountId}/vasp | Assign VASP to vault -*TravelRuleBetaApi* | [**update_vasp**](docs/TravelRuleBetaApi.md#update_vasp) | **PUT** /screening/travel_rule/vasp/update | Add jsonDidKey to VASP details -*TravelRuleBetaApi* | [**validate_full_travel_rule_transaction**](docs/TravelRuleBetaApi.md#validate_full_travel_rule_transaction) | **POST** /screening/travel_rule/transaction/validate/full | Validate Full Travel Rule Transaction -*TravelRuleBetaApi* | [**validate_travel_rule_transaction**](docs/TravelRuleBetaApi.md#validate_travel_rule_transaction) | **POST** /screening/travel_rule/transaction/validate | Validate Travel Rule Transaction +*TravelRuleApi* | [**get_vasp_for_vault**](docs/TravelRuleApi.md#get_vasp_for_vault) | **GET** /screening/travel_rule/vault/{vaultAccountId}/vasp | Get assigned VASP to vault +*TravelRuleApi* | [**get_vaspby_did**](docs/TravelRuleApi.md#get_vaspby_did) | **GET** /screening/travel_rule/vasp/{did} | Get VASP details +*TravelRuleApi* | [**get_vasps**](docs/TravelRuleApi.md#get_vasps) | **GET** /screening/travel_rule/vasp | Get All VASPs +*TravelRuleApi* | [**set_vasp_for_vault**](docs/TravelRuleApi.md#set_vasp_for_vault) | **POST** /screening/travel_rule/vault/{vaultAccountId}/vasp | Assign VASP to vault +*TravelRuleApi* | [**update_vasp**](docs/TravelRuleApi.md#update_vasp) | **PUT** /screening/travel_rule/vasp/update | Add jsonDidKey to VASP details +*TravelRuleApi* | [**validate_full_travel_rule_transaction**](docs/TravelRuleApi.md#validate_full_travel_rule_transaction) | **POST** /screening/travel_rule/transaction/validate/full | Validate Full Travel Rule Transaction *UserGroupsBetaApi* | [**create_user_group**](docs/UserGroupsBetaApi.md#create_user_group) | **POST** /management/user_groups | Create user group *UserGroupsBetaApi* | [**delete_user_group**](docs/UserGroupsBetaApi.md#delete_user_group) | **DELETE** /management/user_groups/{groupId} | Delete user group *UserGroupsBetaApi* | [**get_user_group**](docs/UserGroupsBetaApi.md#get_user_group) | **GET** /management/user_groups/{groupId} | Get user group @@ -952,16 +951,35 @@ Class | Method | HTTP request | Description - [TransferValidationFailure](docs/TransferValidationFailure.md) - [TravelRuleAddress](docs/TravelRuleAddress.md) - [TravelRuleCreateTransactionRequest](docs/TravelRuleCreateTransactionRequest.md) + - [TravelRuleDateAndPlaceOfBirth](docs/TravelRuleDateAndPlaceOfBirth.md) + - [TravelRuleGeographicAddress](docs/TravelRuleGeographicAddress.md) - [TravelRuleGetAllVASPsResponse](docs/TravelRuleGetAllVASPsResponse.md) - [TravelRuleIssuer](docs/TravelRuleIssuer.md) - [TravelRuleIssuers](docs/TravelRuleIssuers.md) + - [TravelRuleLegalPerson](docs/TravelRuleLegalPerson.md) + - [TravelRuleLegalPersonNameIdentifier](docs/TravelRuleLegalPersonNameIdentifier.md) + - [TravelRuleNationalIdentification](docs/TravelRuleNationalIdentification.md) + - [TravelRuleNaturalNameIdentifier](docs/TravelRuleNaturalNameIdentifier.md) + - [TravelRuleNaturalPerson](docs/TravelRuleNaturalPerson.md) + - [TravelRuleNaturalPersonNameIdentifier](docs/TravelRuleNaturalPersonNameIdentifier.md) - [TravelRuleOwnershipProof](docs/TravelRuleOwnershipProof.md) + - [TravelRulePerson](docs/TravelRulePerson.md) - [TravelRulePiiIVMS](docs/TravelRulePiiIVMS.md) - [TravelRulePolicyRuleResponse](docs/TravelRulePolicyRuleResponse.md) - [TravelRuleTransactionBlockchainInfo](docs/TravelRuleTransactionBlockchainInfo.md) - [TravelRuleUpdateVASPDetails](docs/TravelRuleUpdateVASPDetails.md) - [TravelRuleVASP](docs/TravelRuleVASP.md) + - [TravelRuleValidateDateAndPlaceOfBirth](docs/TravelRuleValidateDateAndPlaceOfBirth.md) - [TravelRuleValidateFullTransactionRequest](docs/TravelRuleValidateFullTransactionRequest.md) + - [TravelRuleValidateGeographicAddress](docs/TravelRuleValidateGeographicAddress.md) + - [TravelRuleValidateLegalPerson](docs/TravelRuleValidateLegalPerson.md) + - [TravelRuleValidateLegalPersonNameIdentifier](docs/TravelRuleValidateLegalPersonNameIdentifier.md) + - [TravelRuleValidateNationalIdentification](docs/TravelRuleValidateNationalIdentification.md) + - [TravelRuleValidateNaturalNameIdentifier](docs/TravelRuleValidateNaturalNameIdentifier.md) + - [TravelRuleValidateNaturalPerson](docs/TravelRuleValidateNaturalPerson.md) + - [TravelRuleValidateNaturalPersonNameIdentifier](docs/TravelRuleValidateNaturalPersonNameIdentifier.md) + - [TravelRuleValidatePerson](docs/TravelRuleValidatePerson.md) + - [TravelRuleValidatePiiIVMS](docs/TravelRuleValidatePiiIVMS.md) - [TravelRuleValidateTransactionRequest](docs/TravelRuleValidateTransactionRequest.md) - [TravelRuleValidateTransactionResponse](docs/TravelRuleValidateTransactionResponse.md) - [TravelRuleVaspForVault](docs/TravelRuleVaspForVault.md) diff --git a/docs/TravelRuleAddress.md b/docs/TravelRuleAddress.md index 0d71bcb..9c3263e 100644 --- a/docs/TravelRuleAddress.md +++ b/docs/TravelRuleAddress.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**street** | **str** | Street address | -**city** | **str** | City | -**state** | **str** | State or province | -**postal_code** | **str** | Postal or ZIP code | +**street** | **str** | Street address | [optional] +**city** | **str** | City | [optional] +**state** | **str** | State or province | [optional] +**postal_code** | **str** | Postal or ZIP code | [optional] ## Example diff --git a/docs/TravelRuleBetaApi.md b/docs/TravelRuleApi.md similarity index 60% rename from docs/TravelRuleBetaApi.md rename to docs/TravelRuleApi.md index fe1d785..59c4ca6 100644 --- a/docs/TravelRuleBetaApi.md +++ b/docs/TravelRuleApi.md @@ -1,16 +1,15 @@ -# fireblocks.TravelRuleBetaApi +# fireblocks.TravelRuleApi All URIs are relative to *https://api.fireblocks.io/v1* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_vasp_for_vault**](TravelRuleBetaApi.md#get_vasp_for_vault) | **GET** /screening/travel_rule/vault/{vaultAccountId}/vasp | Get assigned VASP to vault -[**get_vaspby_did**](TravelRuleBetaApi.md#get_vaspby_did) | **GET** /screening/travel_rule/vasp/{did} | Get VASP details -[**get_vasps**](TravelRuleBetaApi.md#get_vasps) | **GET** /screening/travel_rule/vasp | Get All VASPs -[**set_vasp_for_vault**](TravelRuleBetaApi.md#set_vasp_for_vault) | **POST** /screening/travel_rule/vault/{vaultAccountId}/vasp | Assign VASP to vault -[**update_vasp**](TravelRuleBetaApi.md#update_vasp) | **PUT** /screening/travel_rule/vasp/update | Add jsonDidKey to VASP details -[**validate_full_travel_rule_transaction**](TravelRuleBetaApi.md#validate_full_travel_rule_transaction) | **POST** /screening/travel_rule/transaction/validate/full | Validate Full Travel Rule Transaction -[**validate_travel_rule_transaction**](TravelRuleBetaApi.md#validate_travel_rule_transaction) | **POST** /screening/travel_rule/transaction/validate | Validate Travel Rule Transaction +[**get_vasp_for_vault**](TravelRuleApi.md#get_vasp_for_vault) | **GET** /screening/travel_rule/vault/{vaultAccountId}/vasp | Get assigned VASP to vault +[**get_vaspby_did**](TravelRuleApi.md#get_vaspby_did) | **GET** /screening/travel_rule/vasp/{did} | Get VASP details +[**get_vasps**](TravelRuleApi.md#get_vasps) | **GET** /screening/travel_rule/vasp | Get All VASPs +[**set_vasp_for_vault**](TravelRuleApi.md#set_vasp_for_vault) | **POST** /screening/travel_rule/vault/{vaultAccountId}/vasp | Assign VASP to vault +[**update_vasp**](TravelRuleApi.md#update_vasp) | **PUT** /screening/travel_rule/vasp/update | Add jsonDidKey to VASP details +[**validate_full_travel_rule_transaction**](TravelRuleApi.md#validate_full_travel_rule_transaction) | **POST** /screening/travel_rule/transaction/validate/full | Validate Full Travel Rule Transaction # **get_vasp_for_vault** @@ -49,11 +48,11 @@ with Fireblocks(configuration) as fireblocks: try: # Get assigned VASP to vault - api_response = fireblocks.travel_rule_beta.get_vasp_for_vault(vault_account_id).result() - print("The response of TravelRuleBetaApi->get_vasp_for_vault:\n") + api_response = fireblocks.travel_rule.get_vasp_for_vault(vault_account_id).result() + print("The response of TravelRuleApi->get_vasp_for_vault:\n") pprint(api_response) except Exception as e: - print("Exception when calling TravelRuleBetaApi->get_vasp_for_vault: %s\n" % e) + print("Exception when calling TravelRuleApi->get_vasp_for_vault: %s\n" % e) ``` @@ -92,7 +91,7 @@ No authorization required Get VASP details -Get VASP Details. Returns information about a VASP that has the specified DID. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). +Get VASP Details. Returns information about a VASP that has the specified DID. ### Example @@ -120,15 +119,15 @@ configuration = ClientConfiguration( # Enter a context with an instance of the API client with Fireblocks(configuration) as fireblocks: did = 'did_example' # str | - fields = 'fields_example' # str | CSV of fields to return (all, \"blank\" or see list of all field names below) (optional) + fields = ['fields_example'] # List[str] | A CSV of fields to return. Choose from the following options: (optional) try: # Get VASP details - api_response = fireblocks.travel_rule_beta.get_vaspby_did(did, fields=fields).result() - print("The response of TravelRuleBetaApi->get_vaspby_did:\n") + api_response = fireblocks.travel_rule.get_vaspby_did(did, fields=fields).result() + print("The response of TravelRuleApi->get_vaspby_did:\n") pprint(api_response) except Exception as e: - print("Exception when calling TravelRuleBetaApi->get_vaspby_did: %s\n" % e) + print("Exception when calling TravelRuleApi->get_vaspby_did: %s\n" % e) ``` @@ -139,7 +138,7 @@ with Fireblocks(configuration) as fireblocks: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **did** | **str**| | - **fields** | **str**| CSV of fields to return (all, \"blank\" or see list of all field names below) | [optional] + **fields** | [**List[str]**](str.md)| A CSV of fields to return. Choose from the following options: | [optional] ### Return type @@ -165,11 +164,11 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_vasps** -> TravelRuleGetAllVASPsResponse get_vasps(order=order, per_page=per_page, page=page, fields=fields) +> TravelRuleGetAllVASPsResponse get_vasps(order=order, page_size=page_size, fields=fields, search=search, review_value=review_value, page_cursor=page_cursor) Get All VASPs -Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted and results are paginated. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). +Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted. ### Example @@ -196,18 +195,20 @@ configuration = ClientConfiguration( # Enter a context with an instance of the API client with Fireblocks(configuration) as fireblocks: - order = 'order_example' # str | Field to order by (optional) - per_page = 3.4 # float | Records per page (optional) - page = 3.4 # float | Page number (optional) - fields = 'fields_example' # str | CSV of fields to return (all, \"blank\" or see list of all field names below) (optional) + order = 'ASC' # str | Field to order by (optional) + page_size = 500 # float | Records per page (optional) (default to 500) + fields = ['fields_example'] # List[str] | CSV of fields to return (all, \"blank\" or see list of all field names below) (optional) + search = 'Fireblocks' # str | Search query (optional) + review_value = 'TRUSTED' # str | Filter by the VASP's review status. Possible values include: \"TRUSTED\", \"BLOCKED\", \"MANUAL\", or \"NULL\". When provided, only VASPs that match the specified reviewValue will be returned (i.e., VASPs that have already been reviewed to this status). (optional) + page_cursor = '100' # str | Cursor for pagination. When provided, the response will include the next page of results. (optional) try: # Get All VASPs - api_response = fireblocks.travel_rule_beta.get_vasps(order=order, per_page=per_page, page=page, fields=fields).result() - print("The response of TravelRuleBetaApi->get_vasps:\n") + api_response = fireblocks.travel_rule.get_vasps(order=order, page_size=page_size, fields=fields, search=search, review_value=review_value, page_cursor=page_cursor).result() + print("The response of TravelRuleApi->get_vasps:\n") pprint(api_response) except Exception as e: - print("Exception when calling TravelRuleBetaApi->get_vasps: %s\n" % e) + print("Exception when calling TravelRuleApi->get_vasps: %s\n" % e) ``` @@ -218,9 +219,11 @@ with Fireblocks(configuration) as fireblocks: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **order** | **str**| Field to order by | [optional] - **per_page** | **float**| Records per page | [optional] - **page** | **float**| Page number | [optional] - **fields** | **str**| CSV of fields to return (all, \"blank\" or see list of all field names below) | [optional] + **page_size** | **float**| Records per page | [optional] [default to 500] + **fields** | [**List[str]**](str.md)| CSV of fields to return (all, \"blank\" or see list of all field names below) | [optional] + **search** | **str**| Search query | [optional] + **review_value** | **str**| Filter by the VASP's review status. Possible values include: \"TRUSTED\", \"BLOCKED\", \"MANUAL\", or \"NULL\". When provided, only VASPs that match the specified reviewValue will be returned (i.e., VASPs that have already been reviewed to this status). | [optional] + **page_cursor** | **str**| Cursor for pagination. When provided, the response will include the next page of results. | [optional] ### Return type @@ -240,6 +243,7 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | Get all VASPs | - | +**0** | Error Response | * X-Request-ID -
| [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -281,11 +285,11 @@ with Fireblocks(configuration) as fireblocks: try: # Assign VASP to vault - api_response = fireblocks.travel_rule_beta.set_vasp_for_vault(vault_account_id, travel_rule_vasp_for_vault, idempotency_key=idempotency_key).result() - print("The response of TravelRuleBetaApi->set_vasp_for_vault:\n") + api_response = fireblocks.travel_rule.set_vasp_for_vault(vault_account_id, travel_rule_vasp_for_vault, idempotency_key=idempotency_key).result() + print("The response of TravelRuleApi->set_vasp_for_vault:\n") pprint(api_response) except Exception as e: - print("Exception when calling TravelRuleBetaApi->set_vasp_for_vault: %s\n" % e) + print("Exception when calling TravelRuleApi->set_vasp_for_vault: %s\n" % e) ``` @@ -326,7 +330,7 @@ No authorization required Add jsonDidKey to VASP details -Update VASP Details. Updates a VASP with the provided parameters. Use this endpoint to add your public jsonDIDkey generated by Notabene. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). +Update VASP Details. Updates a VASP with the provided parameters. Use this endpoint to add your public jsonDIDkey generated by Notabene. ### Example @@ -358,11 +362,11 @@ with Fireblocks(configuration) as fireblocks: try: # Add jsonDidKey to VASP details - api_response = fireblocks.travel_rule_beta.update_vasp(travel_rule_update_vasp_details, idempotency_key=idempotency_key).result() - print("The response of TravelRuleBetaApi->update_vasp:\n") + api_response = fireblocks.travel_rule.update_vasp(travel_rule_update_vasp_details, idempotency_key=idempotency_key).result() + print("The response of TravelRuleApi->update_vasp:\n") pprint(api_response) except Exception as e: - print("Exception when calling TravelRuleBetaApi->update_vasp: %s\n" % e) + print("Exception when calling TravelRuleApi->update_vasp: %s\n" % e) ``` @@ -399,11 +403,11 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **validate_full_travel_rule_transaction** -> TravelRuleValidateTransactionResponse validate_full_travel_rule_transaction(travel_rule_validate_full_transaction_request, idempotency_key=idempotency_key) +> TravelRuleValidateTransactionResponse validate_full_travel_rule_transaction(travel_rule_validate_full_transaction_request, notation=notation, idempotency_key=idempotency_key) Validate Full Travel Rule Transaction -Validate Full Travel Rule transactions. Checks for all required information on the originator and beneficiary VASPs. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). +Validate Full Travel Rule transactions. Checks for all required information on the originator and beneficiary VASPs. ### Example @@ -432,15 +436,16 @@ configuration = ClientConfiguration( # Enter a context with an instance of the API client with Fireblocks(configuration) as fireblocks: travel_rule_validate_full_transaction_request = fireblocks.TravelRuleValidateFullTransactionRequest() # TravelRuleValidateFullTransactionRequest | + notation = ['notation_example'] # List[str] | Specifies the notation of the transaction. Possible values are: - `notabene`: Uses Notabene notation (default behavior). - `fireblocks`: Uses Fireblocks notation, with automatic translation of asset tickers and amounts. - ``: Defaults to `notabene` for backward compatibility. **Note:** The default value for the `notation` parameter will change from `notabene` to `fireblocks` Update your integrations accordingly. (optional) idempotency_key = 'idempotency_key_example' # str | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) try: # Validate Full Travel Rule Transaction - api_response = fireblocks.travel_rule_beta.validate_full_travel_rule_transaction(travel_rule_validate_full_transaction_request, idempotency_key=idempotency_key).result() - print("The response of TravelRuleBetaApi->validate_full_travel_rule_transaction:\n") + api_response = fireblocks.travel_rule.validate_full_travel_rule_transaction(travel_rule_validate_full_transaction_request, notation=notation, idempotency_key=idempotency_key).result() + print("The response of TravelRuleApi->validate_full_travel_rule_transaction:\n") pprint(api_response) except Exception as e: - print("Exception when calling TravelRuleBetaApi->validate_full_travel_rule_transaction: %s\n" % e) + print("Exception when calling TravelRuleApi->validate_full_travel_rule_transaction: %s\n" % e) ``` @@ -451,6 +456,7 @@ with Fireblocks(configuration) as fireblocks: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **travel_rule_validate_full_transaction_request** | [**TravelRuleValidateFullTransactionRequest**](TravelRuleValidateFullTransactionRequest.md)| | + **notation** | [**List[str]**](str.md)| Specifies the notation of the transaction. Possible values are: - `notabene`: Uses Notabene notation (default behavior). - `fireblocks`: Uses Fireblocks notation, with automatic translation of asset tickers and amounts. - `<none>`: Defaults to `notabene` for backward compatibility. **Note:** The default value for the `notation` parameter will change from `notabene` to `fireblocks` Update your integrations accordingly. | [optional] **idempotency_key** | **str**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] ### Return type @@ -471,86 +477,7 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | Transaction validated successfully | - | -**400** | Invalid request body | - | -**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **validate_travel_rule_transaction** -> TravelRuleValidateTransactionResponse validate_travel_rule_transaction(travel_rule_validate_transaction_request, idempotency_key=idempotency_key) - -Validate Travel Rule Transaction - -Validate Travel Rule transactions. Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). - -### Example - - -```python -from fireblocks.models.travel_rule_validate_transaction_request import TravelRuleValidateTransactionRequest -from fireblocks.models.travel_rule_validate_transaction_response import TravelRuleValidateTransactionResponse -from fireblocks.client import Fireblocks -from fireblocks.client_configuration import ClientConfiguration -from fireblocks.exceptions import ApiException -from fireblocks.base_path import BasePath -from pprint import pprint - -# load the secret key content from a file -with open('your_secret_key_file_path', 'r') as file: - secret_key_value = file.read() - -# build the configuration -configuration = ClientConfiguration( - api_key="your_api_key", - secret_key=secret_key_value, - base_path=BasePath.Sandbox, # or set it directly to a string "https://sandbox-api.fireblocks.io/v1" -) - - -# Enter a context with an instance of the API client -with Fireblocks(configuration) as fireblocks: - travel_rule_validate_transaction_request = fireblocks.TravelRuleValidateTransactionRequest() # TravelRuleValidateTransactionRequest | - idempotency_key = 'idempotency_key_example' # str | A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. (optional) - - try: - # Validate Travel Rule Transaction - api_response = fireblocks.travel_rule_beta.validate_travel_rule_transaction(travel_rule_validate_transaction_request, idempotency_key=idempotency_key).result() - print("The response of TravelRuleBetaApi->validate_travel_rule_transaction:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling TravelRuleBetaApi->validate_travel_rule_transaction: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **travel_rule_validate_transaction_request** | [**TravelRuleValidateTransactionRequest**](TravelRuleValidateTransactionRequest.md)| | - **idempotency_key** | **str**| A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. | [optional] - -### Return type - -[**TravelRuleValidateTransactionResponse**](TravelRuleValidateTransactionResponse.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | Transaction validated successfully | - | -**400** | Invalid request body | - | -**500** | Internal server error | - | +**0** | Error Response | * X-Request-ID -
| [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/TravelRuleCreateTransactionRequest.md b/docs/TravelRuleCreateTransactionRequest.md index 7587130..3ac5501 100644 --- a/docs/TravelRuleCreateTransactionRequest.md +++ b/docs/TravelRuleCreateTransactionRequest.md @@ -5,19 +5,26 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**originator_vas_pdid** | **str** | The VASP ID of the transaction originator | [optional] -**beneficiary_vas_pdid** | **str** | The VASP ID of the transaction beneficiary | [optional] -**beneficiary_vas_pname** | **str** | The name of the VASP acting as the beneficiary | [optional] -**transaction_blockchain_info** | [**TravelRuleTransactionBlockchainInfo**](TravelRuleTransactionBlockchainInfo.md) | Information about the blockchain transaction | [optional] -**originator** | [**TravelRulePiiIVMS**](TravelRulePiiIVMS.md) | Information about the originator of the transaction | -**beneficiary** | [**TravelRulePiiIVMS**](TravelRulePiiIVMS.md) | Information about the beneficiary of the transaction | -**encrypted** | **str** | Encrypted data related to the transaction | [optional] -**protocol** | **str** | The protocol used to perform the travel rule | [optional] -**skip_beneficiary_data_validation** | **bool** | Whether to skip validation of beneficiary data | [optional] -**travel_rule_behavior** | **bool** | Whether to check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction | [optional] -**originator_proof** | [**TravelRuleOwnershipProof**](TravelRuleOwnershipProof.md) | Ownership proof related to the originator of the transaction | [optional] -**beneficiary_proof** | [**TravelRuleOwnershipProof**](TravelRuleOwnershipProof.md) | Ownership proof related to the beneficiary of the transaction | [optional] -**pii** | [**TravelRulePiiIVMS**](TravelRulePiiIVMS.md) | Personal identifiable information related to the transaction | [optional] +**originator_vas_pdid** | **str** | The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. | [optional] +**beneficiary_vas_pdid** | **str** | The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. | [optional] +**originator_vas_pname** | **str** | The name of the VASP acting as the transaction originator. | [optional] +**beneficiary_vas_pname** | **str** | The name of the VASP acting as the transaction beneficiary. | [optional] +**beneficiary_vas_pwebsite** | **str** | The website of the VASP acting as the transaction beneficiary. | [optional] +**transaction_blockchain_info** | [**TravelRuleTransactionBlockchainInfo**](TravelRuleTransactionBlockchainInfo.md) | | [optional] +**originator** | [**TravelRulePiiIVMS**](TravelRulePiiIVMS.md) | | +**beneficiary** | [**TravelRulePiiIVMS**](TravelRulePiiIVMS.md) | | +**encrypted** | **str** | Encrypted data related to the transaction. | [optional] +**protocol** | **str** | The protocol used to perform the travel rule. | [optional] +**skip_beneficiary_data_validation** | **bool** | Whether to skip validation of beneficiary data. | [optional] +**travel_rule_behavior** | **bool** | Whether to check if the transaction complies with the travel rule in the beneficiary VASP's jurisdiction. | [optional] +**originator_ref** | **str** | A reference ID related to the originator of the transaction. | [optional] +**beneficiary_ref** | **str** | A reference ID related to the beneficiary of the transaction. | [optional] +**travel_rule_behavior_ref** | **str** | A reference ID related to the travel rule behavior. | [optional] +**originator_proof** | [**TravelRuleOwnershipProof**](TravelRuleOwnershipProof.md) | | [optional] +**beneficiary_proof** | [**TravelRuleOwnershipProof**](TravelRuleOwnershipProof.md) | | [optional] +**beneficiary_did** | **str** | The Decentralized Identifier (DID) of the person at the receiving exchange (VASP). This identifier is generated when the customer is registered in the Notabene network, or automatically created based on the `beneficiaryRef`. - If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction. | [optional] +**originator_did** | **str** | The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting the withdrawal. This identifier is generated when the customer is registered in the Notabene network or automatically created based on the `originatorRef`. - If neither `originatorRef` nor `originatorDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction. | [optional] +**is_non_custodial** | **bool** | Indicates if the transaction involves a non-custodial wallet. | [optional] ## Example diff --git a/docs/TravelRuleDateAndPlaceOfBirth.md b/docs/TravelRuleDateAndPlaceOfBirth.md new file mode 100644 index 0000000..8dec0b6 --- /dev/null +++ b/docs/TravelRuleDateAndPlaceOfBirth.md @@ -0,0 +1,31 @@ +# TravelRuleDateAndPlaceOfBirth + +Represents the date and place of birth for a natural person + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**date_of_birth** | **str** | Date of birth. The value must be encrypted. | [optional] +**place_of_birth** | **str** | Place of birth. The value must be encrypted. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_date_and_place_of_birth import TravelRuleDateAndPlaceOfBirth + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleDateAndPlaceOfBirth from a JSON string +travel_rule_date_and_place_of_birth_instance = TravelRuleDateAndPlaceOfBirth.from_json(json) +# print the JSON string representation of the object +print(TravelRuleDateAndPlaceOfBirth.to_json()) + +# convert the object into a dict +travel_rule_date_and_place_of_birth_dict = travel_rule_date_and_place_of_birth_instance.to_dict() +# create an instance of TravelRuleDateAndPlaceOfBirth from a dict +travel_rule_date_and_place_of_birth_from_dict = TravelRuleDateAndPlaceOfBirth.from_dict(travel_rule_date_and_place_of_birth_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleGeographicAddress.md b/docs/TravelRuleGeographicAddress.md new file mode 100644 index 0000000..aefb368 --- /dev/null +++ b/docs/TravelRuleGeographicAddress.md @@ -0,0 +1,44 @@ +# TravelRuleGeographicAddress + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**street_name** | **str** | Name of a street or thoroughfare. The value must be encrypted. | [optional] +**town_name** | **str** | Name of a built-up area, with defined boundaries, and a local government. The value must be encrypted. | [optional] +**country** | **str** | Nation with its own government (ISO-3166 Alpha-2 country code). The value must be encrypted. | [optional] +**building_number** | **str** | Number that identifies the position of a building on a street. The value must be encrypted. | [optional] +**post_code** | **str** | Identifier consisting of a group of letters and/or numbers added to a postal address to assist the sorting of mail. The value must be encrypted. | [optional] +**address_type** | **str** | Specifies the type of address. Acceptable values are: - 'HOME': Residential, the home address - 'BIZZ': Business, the business address - 'GEOG': Geographic, an unspecified physical (geographical) address The value must be encrypted. | [optional] +**department** | **str** | Identification of a division of a large organisation or building. The value must be encrypted. | [optional] +**sub_department** | **str** | Identification of a sub-division of a large organisation or building. The value must be encrypted. | [optional] +**building_name** | **str** | Name of the building or house. The value must be encrypted. | [optional] +**floor** | **str** | Floor or storey within a building. The value must be encrypted. | [optional] +**post_box** | **str** | Numbered box in a post office. The value must be encrypted. | [optional] +**room** | **str** | Building room number. The value must be encrypted. | [optional] +**town_location_name** | **str** | Specific location name within the town. The value must be encrypted. | [optional] +**district_name** | **str** | Identifies a subdivision within a country subdivision. The value must be encrypted. | [optional] +**country_sub_division** | **str** | Identifies a subdivision of a country such as state, region, or province. The value must be encrypted. | [optional] +**address_line** | **List[str]** | Information that locates and identifies a specific address, presented in free format text. Each item must be encrypted. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_geographic_address import TravelRuleGeographicAddress + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleGeographicAddress from a JSON string +travel_rule_geographic_address_instance = TravelRuleGeographicAddress.from_json(json) +# print the JSON string representation of the object +print(TravelRuleGeographicAddress.to_json()) + +# convert the object into a dict +travel_rule_geographic_address_dict = travel_rule_geographic_address_instance.to_dict() +# create an instance of TravelRuleGeographicAddress from a dict +travel_rule_geographic_address_from_dict = TravelRuleGeographicAddress.from_dict(travel_rule_geographic_address_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleGetAllVASPsResponse.md b/docs/TravelRuleGetAllVASPsResponse.md index 3a42e9f..9749dff 100644 --- a/docs/TravelRuleGetAllVASPsResponse.md +++ b/docs/TravelRuleGetAllVASPsResponse.md @@ -5,7 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**vasps** | [**List[TravelRuleVASP]**](TravelRuleVASP.md) | | +**data** | [**List[TravelRuleVASP]**](TravelRuleVASP.md) | An array of VASP objects, referencing the TravelRuleVASP schema. | +**total** | **int** | The total number of VASPs. | [optional] +**next** | **str** | The URL for the next page of results. | [optional] ## Example diff --git a/docs/TravelRuleLegalPerson.md b/docs/TravelRuleLegalPerson.md new file mode 100644 index 0000000..bab23d6 --- /dev/null +++ b/docs/TravelRuleLegalPerson.md @@ -0,0 +1,34 @@ +# TravelRuleLegalPerson + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | [**TravelRuleLegalPersonNameIdentifier**](TravelRuleLegalPersonNameIdentifier.md) | | [optional] +**geographic_address** | [**List[TravelRuleGeographicAddress]**](TravelRuleGeographicAddress.md) | The array of geographic addresses associated with the legal person. | [optional] +**national_identification** | [**TravelRuleNationalIdentification**](TravelRuleNationalIdentification.md) | | [optional] +**customer_identification** | **str** | A unique identifier that identifies the customer in the organization's context. The value must be encrypted. | [optional] +**customer_number** | **str** | A distinct identifier that uniquely identifies the customer within the organization. The value must be encrypted. | [optional] +**country_of_registration** | **str** | The ISO-3166 Alpha-2 country code where the legal person is registered. The value must be encrypted. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_legal_person import TravelRuleLegalPerson + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleLegalPerson from a JSON string +travel_rule_legal_person_instance = TravelRuleLegalPerson.from_json(json) +# print the JSON string representation of the object +print(TravelRuleLegalPerson.to_json()) + +# convert the object into a dict +travel_rule_legal_person_dict = travel_rule_legal_person_instance.to_dict() +# create an instance of TravelRuleLegalPerson from a dict +travel_rule_legal_person_from_dict = TravelRuleLegalPerson.from_dict(travel_rule_legal_person_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleLegalPersonNameIdentifier.md b/docs/TravelRuleLegalPersonNameIdentifier.md new file mode 100644 index 0000000..cdeabd2 --- /dev/null +++ b/docs/TravelRuleLegalPersonNameIdentifier.md @@ -0,0 +1,30 @@ +# TravelRuleLegalPersonNameIdentifier + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**legal_person_name** | **str** | Name by which the legal person is known. The value must be encrypted. | [optional] +**legal_person_name_identifier_type** | **str** | Specifies the type of name for a legal person. Acceptable values are: - 'REGISTERED': The official registered name. - 'TRADE': A trading name or DBA (Doing Business As) name. - 'OTHER': Any other type of name. The value must be encrypted. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_legal_person_name_identifier import TravelRuleLegalPersonNameIdentifier + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleLegalPersonNameIdentifier from a JSON string +travel_rule_legal_person_name_identifier_instance = TravelRuleLegalPersonNameIdentifier.from_json(json) +# print the JSON string representation of the object +print(TravelRuleLegalPersonNameIdentifier.to_json()) + +# convert the object into a dict +travel_rule_legal_person_name_identifier_dict = travel_rule_legal_person_name_identifier_instance.to_dict() +# create an instance of TravelRuleLegalPersonNameIdentifier from a dict +travel_rule_legal_person_name_identifier_from_dict = TravelRuleLegalPersonNameIdentifier.from_dict(travel_rule_legal_person_name_identifier_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleNationalIdentification.md b/docs/TravelRuleNationalIdentification.md new file mode 100644 index 0000000..9bef13c --- /dev/null +++ b/docs/TravelRuleNationalIdentification.md @@ -0,0 +1,33 @@ +# TravelRuleNationalIdentification + +Represents a national identifier for a person or entity + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**country_of_issue** | **str** | Country that issued the national identifier (ISO-3166 Alpha-2 country code). The value must be encrypted. | [optional] +**national_identifier** | **str** | National identifier (max 35 characters). The value must be encrypted. | [optional] +**national_identifier_type** | **str** | Type of national identifier. Acceptable values include: - 'PASSPORT': Passport number - 'NATIONAL_ID': National identification number - 'TAX_ID': Tax identification number - 'SOCIAL_SECURITY': Social security number The value must be encrypted. | [optional] +**registration_authority** | **str** | Registration authority (format -> RA followed by 6 digits). The value must be encrypted. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_national_identification import TravelRuleNationalIdentification + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleNationalIdentification from a JSON string +travel_rule_national_identification_instance = TravelRuleNationalIdentification.from_json(json) +# print the JSON string representation of the object +print(TravelRuleNationalIdentification.to_json()) + +# convert the object into a dict +travel_rule_national_identification_dict = travel_rule_national_identification_instance.to_dict() +# create an instance of TravelRuleNationalIdentification from a dict +travel_rule_national_identification_from_dict = TravelRuleNationalIdentification.from_dict(travel_rule_national_identification_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleNaturalNameIdentifier.md b/docs/TravelRuleNaturalNameIdentifier.md new file mode 100644 index 0000000..265df50 --- /dev/null +++ b/docs/TravelRuleNaturalNameIdentifier.md @@ -0,0 +1,31 @@ +# TravelRuleNaturalNameIdentifier + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**primary_identifier** | **str** | The primary identifier of the name. The value must be encrypted. | [optional] +**secondary_identifier** | **str** | The secondary identifier of the name. The value must be encrypted. | [optional] +**name_identifier_type** | **str** | The type of the name identifier. The value must be encrypted. The value must be one of the following: [LEGL, DBA, TRAD, NICK, ALIA, MAID, FORM, PREV, BORN, OTHR]. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_natural_name_identifier import TravelRuleNaturalNameIdentifier + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleNaturalNameIdentifier from a JSON string +travel_rule_natural_name_identifier_instance = TravelRuleNaturalNameIdentifier.from_json(json) +# print the JSON string representation of the object +print(TravelRuleNaturalNameIdentifier.to_json()) + +# convert the object into a dict +travel_rule_natural_name_identifier_dict = travel_rule_natural_name_identifier_instance.to_dict() +# create an instance of TravelRuleNaturalNameIdentifier from a dict +travel_rule_natural_name_identifier_from_dict = TravelRuleNaturalNameIdentifier.from_dict(travel_rule_natural_name_identifier_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleNaturalPerson.md b/docs/TravelRuleNaturalPerson.md new file mode 100644 index 0000000..8d6fdf6 --- /dev/null +++ b/docs/TravelRuleNaturalPerson.md @@ -0,0 +1,35 @@ +# TravelRuleNaturalPerson + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | [**List[TravelRuleNaturalPersonNameIdentifier]**](TravelRuleNaturalPersonNameIdentifier.md) | An array of structured name identifiers for the natural person, referencing the TravelRuleNaturalPersonNameIdentifier schema. | [optional] +**geographic_address** | [**List[TravelRuleGeographicAddress]**](TravelRuleGeographicAddress.md) | An array of geographic addresses associated with the natural person, referencing the TravelRuleGeographicAddress schema. | [optional] +**national_identification** | [**TravelRuleNationalIdentification**](TravelRuleNationalIdentification.md) | | [optional] +**date_and_place_of_birth** | [**TravelRuleDateAndPlaceOfBirth**](TravelRuleDateAndPlaceOfBirth.md) | | [optional] +**customer_identification** | **str** | A unique identifier for the customer within the organization's context. The value must be encrypted. | [optional] +**country_of_residence** | **str** | The ISO-3166 Alpha-2 country code of the natural person's residence. The value must be encrypted. | [optional] +**customer_number** | **str** | A distinct identifier that uniquely identifies the customer within the organization. The value must be encrypted. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_natural_person import TravelRuleNaturalPerson + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleNaturalPerson from a JSON string +travel_rule_natural_person_instance = TravelRuleNaturalPerson.from_json(json) +# print the JSON string representation of the object +print(TravelRuleNaturalPerson.to_json()) + +# convert the object into a dict +travel_rule_natural_person_dict = travel_rule_natural_person_instance.to_dict() +# create an instance of TravelRuleNaturalPerson from a dict +travel_rule_natural_person_from_dict = TravelRuleNaturalPerson.from_dict(travel_rule_natural_person_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleNaturalPersonNameIdentifier.md b/docs/TravelRuleNaturalPersonNameIdentifier.md new file mode 100644 index 0000000..5768a16 --- /dev/null +++ b/docs/TravelRuleNaturalPersonNameIdentifier.md @@ -0,0 +1,31 @@ +# TravelRuleNaturalPersonNameIdentifier + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name_identifier** | [**List[TravelRuleNaturalNameIdentifier]**](TravelRuleNaturalNameIdentifier.md) | | [optional] +**local_name_identifier** | [**List[TravelRuleNaturalNameIdentifier]**](TravelRuleNaturalNameIdentifier.md) | | [optional] +**phonetic_name_identifier** | [**List[TravelRuleNaturalNameIdentifier]**](TravelRuleNaturalNameIdentifier.md) | | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_natural_person_name_identifier import TravelRuleNaturalPersonNameIdentifier + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleNaturalPersonNameIdentifier from a JSON string +travel_rule_natural_person_name_identifier_instance = TravelRuleNaturalPersonNameIdentifier.from_json(json) +# print the JSON string representation of the object +print(TravelRuleNaturalPersonNameIdentifier.to_json()) + +# convert the object into a dict +travel_rule_natural_person_name_identifier_dict = travel_rule_natural_person_name_identifier_instance.to_dict() +# create an instance of TravelRuleNaturalPersonNameIdentifier from a dict +travel_rule_natural_person_name_identifier_from_dict = TravelRuleNaturalPersonNameIdentifier.from_dict(travel_rule_natural_person_name_identifier_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleOwnershipProof.md b/docs/TravelRuleOwnershipProof.md index 6e3a24f..753ae5b 100644 --- a/docs/TravelRuleOwnershipProof.md +++ b/docs/TravelRuleOwnershipProof.md @@ -1,12 +1,18 @@ # TravelRuleOwnershipProof +Ownership proof related to the originator of the transaction. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**type** | **str** | Type of ownership proof | [optional] -**proof** | **str** | Identification number | [optional] +**type** | **str** | The type of ownership proof. Example values: - `eip-191`: Ethereum signature proof - `eip-712`: Ethereum typed data signature proof - `bip-137`: Bitcoin signature proof - `microtransfer`: Microtransaction (Satoshi test) - `screenshot`: Uploaded screenshot of the wallet - `self-declaration`: Checkbox attestation of ownership | [optional] +**proof** | **str** | The cryptographic signature, transaction hash, or other proof depending on the type. Examples: - For `eip-191`: `0x3dd4a17a...ce4a2bcd1b` - For `microtransfer`: The transaction hash `H3V8GXBy39Dz...tr3TSTkY=` | [optional] +**attestation** | **str** | A human-readable statement of wallet ownership. Required for signature proofs and self-declarations. Examples: - `I certify that ETH account 0x896B...0b9b belongs to me.` - `I hereby declare that the blockchain address 0xa437bEed902AF9338B7DEB23848e195d85019510 is under my control.` | [optional] +**address** | **str** | The wallet address being verified. Examples: - For Ethereum: `0x896B...0b9b` - For Bitcoin: `1442...dxhsQ` | [optional] +**wallet_provider** | **str** | The wallet provider or method used for verification. Examples: - For Metamask: `Metamask` - For manual signature: `manual` | [optional] +**url** | **str** | The URL for the uploaded screenshot (for `screenshot` proof types only). Example: `https://example.com/uploaded_image.png` | [optional] +**confirmed** | **bool** | Whether the user confirmed ownership of the wallet (for `self-declaration` proofs). Example: `true` | [optional] ## Example diff --git a/docs/TravelRulePerson.md b/docs/TravelRulePerson.md new file mode 100644 index 0000000..5d69e74 --- /dev/null +++ b/docs/TravelRulePerson.md @@ -0,0 +1,30 @@ +# TravelRulePerson + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**natural_person** | [**TravelRuleNaturalPerson**](TravelRuleNaturalPerson.md) | | [optional] +**legal_person** | [**TravelRuleLegalPerson**](TravelRuleLegalPerson.md) | | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_person import TravelRulePerson + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRulePerson from a JSON string +travel_rule_person_instance = TravelRulePerson.from_json(json) +# print the JSON string representation of the object +print(TravelRulePerson.to_json()) + +# convert the object into a dict +travel_rule_person_dict = travel_rule_person_instance.to_dict() +# create an instance of TravelRulePerson from a dict +travel_rule_person_from_dict = TravelRulePerson.from_dict(travel_rule_person_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRulePiiIVMS.md b/docs/TravelRulePiiIVMS.md index 571f0f7..1b9c15c 100644 --- a/docs/TravelRulePiiIVMS.md +++ b/docs/TravelRulePiiIVMS.md @@ -1,19 +1,14 @@ # TravelRulePiiIVMS +Personal identifiable information related to the transaction ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**full_name** | **str** | | [optional] -**date_of_birth** | **str** | | [optional] -**place_of_birth** | **str** | | [optional] -**address** | **str** | | [optional] -**identification_number** | **str** | | [optional] -**nationality** | **str** | | [optional] -**country_of_residence** | **str** | | [optional] -**tax_identification_number** | **str** | | [optional] -**customer_number** | **str** | | [optional] +**originator_persons** | [**List[TravelRulePerson]**](TravelRulePerson.md) | Information about the originator of the transaction | [optional] +**beneficiary_persons** | [**List[TravelRulePerson]**](TravelRulePerson.md) | Information about the beneficiary of the transaction | [optional] +**account_number** | **List[str]** | Beneficiary account number. The value must be encrypted. | [optional] ## Example diff --git a/docs/TravelRuleTransactionBlockchainInfo.md b/docs/TravelRuleTransactionBlockchainInfo.md index aa3aca6..9885718 100644 --- a/docs/TravelRuleTransactionBlockchainInfo.md +++ b/docs/TravelRuleTransactionBlockchainInfo.md @@ -1,13 +1,14 @@ # TravelRuleTransactionBlockchainInfo +Information about the blockchain transaction. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**tx_hash** | **str** | | [optional] -**origin** | **str** | | [optional] -**destination** | **str** | | [optional] +**tx_hash** | **str** | The hash of the transaction | [optional] +**origin** | **str** | The origin address of the transaction | [optional] +**destination** | **str** | The destination address of the transaction | [optional] ## Example diff --git a/docs/TravelRuleVASP.md b/docs/TravelRuleVASP.md index 622b676..818540b 100644 --- a/docs/TravelRuleVASP.md +++ b/docs/TravelRuleVASP.md @@ -5,51 +5,51 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**did** | **str** | | -**name** | **str** | | -**verification_status** | **str** | | -**address_line1** | **str** | | -**address_line2** | **str** | | -**city** | **str** | | -**country** | **str** | | -**email_domains** | **str** | | -**website** | **str** | | -**logo** | **str** | | -**legal_structure** | **str** | | -**legal_name** | **str** | | -**year_founded** | **str** | | -**incorporation_country** | **str** | | -**is_regulated** | **str** | | -**other_names** | **str** | | -**identification_type** | **str** | | -**identification_country** | **str** | | -**business_number** | **str** | | -**regulatory_authorities** | **str** | | -**jurisdictions** | **str** | | -**street** | **str** | | -**number** | **str** | | -**unit** | **str** | | -**post_code** | **str** | | -**state** | **str** | | -**certificates** | **str** | | -**description** | **str** | | -**travel_rule_openvasp** | **str** | | -**travel_rule_sygna** | **str** | | -**travel_rule_trisa** | **str** | | -**travel_rule_trlight** | **str** | | -**travel_rule_email** | **str** | | -**travel_rule_trp** | **str** | | -**travel_rule_shyft** | **str** | | -**travel_rule_ustravelrulewg** | **str** | | -**created_at** | **str** | | -**created_by** | **str** | | -**updated_at** | **str** | | -**updated_by** | **str** | | -**last_sent_date** | **str** | | -**last_received_date** | **str** | | -**documents** | **str** | | -**has_admin** | **bool** | | -**is_notifiable** | **bool** | | +**did** | **str** | The Decentralized Identifier (DID) of the VASP. | +**name** | **str** | The name of the VASP. | +**verification_status** | **str** | The current verification status of the VASP. | +**address_line1** | **str** | The first line of the VASP's address. | +**address_line2** | **str** | The second line of the VASP's address (if applicable). | [optional] +**city** | **str** | The city where the VASP is located. | +**country** | **str** | The country where the VASP is registered (ISO-3166 Alpha-2 code). | +**email_domains** | **str** | Comma-separated list of email domains associated with the VASP. | +**website** | **str** | The official website of the VASP. | +**logo** | **str** | URL to the logo of the VASP. | [optional] +**legal_structure** | **str** | The legal structure of the VASP (e.g., Corporation, LLC). | +**legal_name** | **str** | The legal name of the VASP. | +**year_founded** | **str** | The year the VASP was founded. | +**incorporation_country** | **str** | The country where the VASP is incorporated (ISO-3166 Alpha-2 code). | +**is_regulated** | **str** | Indicates whether the VASP is regulated. | +**other_names** | **str** | Other names the VASP is known by. | [optional] +**identification_type** | **str** | The type of identification used by the VASP. | [optional] +**identification_country** | **str** | The country of identification for the VASP (ISO-3166 Alpha-2 code). | [optional] +**business_number** | **str** | The business registration number of the VASP. | [optional] +**regulatory_authorities** | **str** | The regulatory authorities overseeing the VASP. | [optional] +**jurisdictions** | **str** | The jurisdictions where the VASP operates. | +**street** | **str** | The street name where the VASP is located. | [optional] +**number** | **str** | The building number of the VASP's address. | [optional] +**unit** | **str** | The unit or suite number of the VASP's address. | [optional] +**post_code** | **str** | The postal code of the VASP's location. | [optional] +**state** | **str** | The state or region where the VASP is located. | [optional] +**certificates** | **str** | Certificates or licenses held by the VASP. | [optional] +**description** | **str** | A brief description of the VASP. | [optional] +**travel_rule_openvasp** | **str** | Travel rule compliance status for OpenVASP. | [optional] +**travel_rule_sygna** | **str** | Travel rule compliance status for Sygna. | [optional] +**travel_rule_trisa** | **str** | Travel rule compliance status for TRISA. | [optional] +**travel_rule_trlight** | **str** | Travel rule compliance status for TRLight. | +**travel_rule_email** | **str** | Travel rule compliance status for EMAIL. | [optional] +**travel_rule_trp** | **str** | Travel rule compliance status for TRP. | [optional] +**travel_rule_shyft** | **str** | Travel rule compliance status for Shyft. | [optional] +**travel_rule_ustravelrulewg** | **str** | Travel rule compliance status for US Travel Rule WG. | [optional] +**created_at** | **str** | Timestamp when the VASP record was created. | +**created_by** | **str** | User or system that created the VASP record. | [optional] +**updated_at** | **str** | Timestamp of the last update to the VASP record. | [optional] +**updated_by** | **str** | User or system that last updated the VASP record. | [optional] +**last_sent_date** | **str** | The last date a transaction was sent by the VASP. | [optional] +**last_received_date** | **str** | The last date a transaction was received by the VASP. | [optional] +**documents** | **str** | Documents associated with the VASP. | [optional] +**has_admin** | **bool** | Indicates if the VASP has an admin. | +**is_notifiable** | **bool** | Indicates if the VASP is notifiable for compliance reasons. | **issuers** | [**TravelRuleIssuers**](TravelRuleIssuers.md) | | ## Example diff --git a/docs/TravelRuleValidateDateAndPlaceOfBirth.md b/docs/TravelRuleValidateDateAndPlaceOfBirth.md new file mode 100644 index 0000000..aff1c59 --- /dev/null +++ b/docs/TravelRuleValidateDateAndPlaceOfBirth.md @@ -0,0 +1,31 @@ +# TravelRuleValidateDateAndPlaceOfBirth + +Represents the date and place of birth for a natural person + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**date_of_birth** | **str** | Date of birth in ISO 8601 format (YYYY-MM-DD) | [optional] +**place_of_birth** | **str** | Place of birth | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_date_and_place_of_birth import TravelRuleValidateDateAndPlaceOfBirth + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidateDateAndPlaceOfBirth from a JSON string +travel_rule_validate_date_and_place_of_birth_instance = TravelRuleValidateDateAndPlaceOfBirth.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidateDateAndPlaceOfBirth.to_json()) + +# convert the object into a dict +travel_rule_validate_date_and_place_of_birth_dict = travel_rule_validate_date_and_place_of_birth_instance.to_dict() +# create an instance of TravelRuleValidateDateAndPlaceOfBirth from a dict +travel_rule_validate_date_and_place_of_birth_from_dict = TravelRuleValidateDateAndPlaceOfBirth.from_dict(travel_rule_validate_date_and_place_of_birth_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidateFullTransactionRequest.md b/docs/TravelRuleValidateFullTransactionRequest.md index f354bd6..fae8e27 100644 --- a/docs/TravelRuleValidateFullTransactionRequest.md +++ b/docs/TravelRuleValidateFullTransactionRequest.md @@ -5,24 +5,30 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**transaction_asset** | **str** | The asset involved in the transaction | [optional] -**transaction_amount** | **str** | The amount of the transaction | [optional] -**originator_did** | **str** | The DID of the transaction originator | [optional] -**beneficiary_did** | **str** | The DID of the transaction beneficiary | [optional] -**originator_vas_pdid** | **str** | The VASP ID of the transaction originator | [optional] -**beneficiary_vas_pdid** | **str** | The VASP ID of the transaction beneficiary | [optional] -**beneficiary_vas_pname** | **str** | The name of the VASP acting as the beneficiary | [optional] -**transaction_blockchain_info** | [**TravelRuleTransactionBlockchainInfo**](TravelRuleTransactionBlockchainInfo.md) | Information about the blockchain transaction | [optional] -**originator** | [**TravelRulePiiIVMS**](TravelRulePiiIVMS.md) | Information about the originator of the transaction | -**beneficiary** | [**TravelRulePiiIVMS**](TravelRulePiiIVMS.md) | Information about the beneficiary of the transaction | -**encrypted** | **str** | Encrypted data related to the transaction | [optional] -**protocol** | **str** | The protocol used to perform the travel rule | [optional] +**originator_vas_pdid** | **str** | The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. | [optional] +**beneficiary_vas_pdid** | **str** | The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network. | [optional] +**transaction_asset** | **str** | Transaction asset symbol (e.g., BTC, ETH, USDC). By using the `notation` query string, users can select the type of asset notation: - `fireblocks`: Converts asset symbols to Fireblocks notation. - `notabene`: Retains the original Notabene asset symbol format. | [optional] +**transaction_amount** | **str** | Transaction amount in the transaction asset. For example, if the asset is BTC, the amount is the value in BTC units. By using the `notation` query string, users can select the type of amount notation: - `fireblocks`: Converts the amount to Fireblocks notation (e.g., adjusted for decimals). - `notabene`: Retains the original Notabene amount format. | [optional] +**originator_vas_pname** | **str** | The name of the VASP acting as the transaction originator. | [optional] +**beneficiary_vas_pname** | **str** | The name of the VASP acting as the transaction beneficiary. | [optional] +**transaction_blockchain_info** | [**TravelRuleTransactionBlockchainInfo**](TravelRuleTransactionBlockchainInfo.md) | | [optional] +**originator** | [**TravelRuleValidatePiiIVMS**](TravelRuleValidatePiiIVMS.md) | | +**beneficiary** | [**TravelRuleValidatePiiIVMS**](TravelRuleValidatePiiIVMS.md) | | +**encrypted** | **str** | Encrypted data related to the transaction. | [optional] +**protocol** | **str** | The protocol used to perform the travel rule. | [optional] +**skip_beneficiary_data_validation** | **bool** | Whether to skip validation of beneficiary data. | [optional] +**travel_rule_behavior** | **bool** | Whether to check if the transaction complies with the travel rule in the beneficiary VASP's jurisdiction. | [optional] +**originator_ref** | **str** | A reference ID related to the originator of the transaction. | [optional] +**beneficiary_ref** | **str** | A reference ID related to the beneficiary of the transaction. | [optional] +**travel_rule_behavior_ref** | **str** | A reference ID related to the travel rule behavior. | [optional] +**originator_proof** | [**TravelRuleOwnershipProof**](TravelRuleOwnershipProof.md) | | [optional] +**beneficiary_proof** | [**TravelRuleOwnershipProof**](TravelRuleOwnershipProof.md) | | [optional] +**beneficiary_did** | **str** | The Decentralized Identifier (DID) of the person at the receiving exchange (VASP). This identifier is generated when the customer is registered in the Notabene network, or automatically created based on the `beneficiaryRef`. - If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction. | [optional] +**originator_did** | **str** | The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting the withdrawal. This identifier is generated when the customer is registered in the Notabene network or automatically created based on the `originatorRef`. - If neither `originatorRef` nor `originatorDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction. | [optional] +**is_non_custodial** | **bool** | Indicates if the transaction involves a non-custodial wallet. | [optional] **notification_email** | **str** | The email address where a notification should be sent upon completion of the travel rule | [optional] -**skip_beneficiary_data_validation** | **bool** | Whether to skip validation of beneficiary data | [optional] -**travel_rule_behavior** | **bool** | Whether to check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction | [optional] -**originator_proof** | [**TravelRuleOwnershipProof**](TravelRuleOwnershipProof.md) | Ownership proof related to the originator of the transaction | [optional] -**beneficiary_proof** | [**TravelRuleOwnershipProof**](TravelRuleOwnershipProof.md) | Ownership proof related to the beneficiary of the transaction | [optional] -**pii** | [**TravelRulePiiIVMS**](TravelRulePiiIVMS.md) | Personal identifiable information related to the transaction | [optional] +**pii** | [**TravelRulePiiIVMS**](TravelRulePiiIVMS.md) | | [optional] +**pii_url** | **str** | The URL of the personal identifiable information related to the transaction | [optional] ## Example diff --git a/docs/TravelRuleValidateGeographicAddress.md b/docs/TravelRuleValidateGeographicAddress.md new file mode 100644 index 0000000..44596b5 --- /dev/null +++ b/docs/TravelRuleValidateGeographicAddress.md @@ -0,0 +1,44 @@ +# TravelRuleValidateGeographicAddress + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**street_name** | **str** | Name of a street or thoroughfare | [optional] +**town_name** | **str** | Name of a built-up area, with defined boundaries, and a local government | [optional] +**country** | **str** | Nation with its own government (ISO-3166 Alpha-2 country code) | [optional] +**building_number** | **str** | Number that identifies the position of a building on a street | [optional] +**post_code** | **str** | Identifier consisting of a group of letters and/or numbers added to a postal address to assist the sorting of mail | [optional] +**address_type** | **str** | Specifies the type of address. Acceptable values are: - 'HOME': Residential, the home address - 'BIZZ': Business, the business address - 'GEOG': Geographic, an unspecified physical (geographical) address | [optional] +**department** | **str** | Identification of a division of a large organisation or building | [optional] +**sub_department** | **str** | Identification of a sub-division of a large organisation or building | [optional] +**building_name** | **str** | Name of the building or house | [optional] +**floor** | **str** | Floor or storey within a building | [optional] +**post_box** | **str** | Numbered box in a post office | [optional] +**room** | **str** | Building room number | [optional] +**town_location_name** | **str** | Specific location name within the town | [optional] +**district_name** | **str** | Identifies a subdivision within a country subdivision | [optional] +**country_sub_division** | **str** | Identifies a subdivision of a country such as state, region, or province | [optional] +**address_line** | **List[str]** | Information that locates and identifies a specific address, presented in free format text | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_geographic_address import TravelRuleValidateGeographicAddress + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidateGeographicAddress from a JSON string +travel_rule_validate_geographic_address_instance = TravelRuleValidateGeographicAddress.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidateGeographicAddress.to_json()) + +# convert the object into a dict +travel_rule_validate_geographic_address_dict = travel_rule_validate_geographic_address_instance.to_dict() +# create an instance of TravelRuleValidateGeographicAddress from a dict +travel_rule_validate_geographic_address_from_dict = TravelRuleValidateGeographicAddress.from_dict(travel_rule_validate_geographic_address_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidateLegalPerson.md b/docs/TravelRuleValidateLegalPerson.md new file mode 100644 index 0000000..134a9c0 --- /dev/null +++ b/docs/TravelRuleValidateLegalPerson.md @@ -0,0 +1,34 @@ +# TravelRuleValidateLegalPerson + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | [**TravelRuleValidateLegalPersonNameIdentifier**](TravelRuleValidateLegalPersonNameIdentifier.md) | | [optional] +**geographic_address** | [**List[TravelRuleValidateGeographicAddress]**](TravelRuleValidateGeographicAddress.md) | The array of geographic addresses associated with the legal person. | [optional] +**national_identification** | [**TravelRuleValidateNationalIdentification**](TravelRuleValidateNationalIdentification.md) | | [optional] +**customer_identification** | **str** | A unique identifier that identifies the customer in the organization's context. | [optional] +**customer_number** | **str** | A distinct identifier that uniquely identifies the customer within the organization. | [optional] +**country_of_registration** | **str** | The ISO-3166 Alpha-2 country code where the legal person is registered. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_legal_person import TravelRuleValidateLegalPerson + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidateLegalPerson from a JSON string +travel_rule_validate_legal_person_instance = TravelRuleValidateLegalPerson.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidateLegalPerson.to_json()) + +# convert the object into a dict +travel_rule_validate_legal_person_dict = travel_rule_validate_legal_person_instance.to_dict() +# create an instance of TravelRuleValidateLegalPerson from a dict +travel_rule_validate_legal_person_from_dict = TravelRuleValidateLegalPerson.from_dict(travel_rule_validate_legal_person_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidateLegalPersonNameIdentifier.md b/docs/TravelRuleValidateLegalPersonNameIdentifier.md new file mode 100644 index 0000000..20d54d0 --- /dev/null +++ b/docs/TravelRuleValidateLegalPersonNameIdentifier.md @@ -0,0 +1,30 @@ +# TravelRuleValidateLegalPersonNameIdentifier + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**legal_person_name** | **str** | Name by which the legal person is known. | [optional] +**legal_person_name_identifier_type** | **str** | Specifies the type of name for a legal person. Acceptable values are: - 'REGISTERED': The official registered name. - 'TRADE': A trading name or DBA (Doing Business As) name. - 'OTHER': Any other type of name. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_legal_person_name_identifier import TravelRuleValidateLegalPersonNameIdentifier + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidateLegalPersonNameIdentifier from a JSON string +travel_rule_validate_legal_person_name_identifier_instance = TravelRuleValidateLegalPersonNameIdentifier.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidateLegalPersonNameIdentifier.to_json()) + +# convert the object into a dict +travel_rule_validate_legal_person_name_identifier_dict = travel_rule_validate_legal_person_name_identifier_instance.to_dict() +# create an instance of TravelRuleValidateLegalPersonNameIdentifier from a dict +travel_rule_validate_legal_person_name_identifier_from_dict = TravelRuleValidateLegalPersonNameIdentifier.from_dict(travel_rule_validate_legal_person_name_identifier_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidateNationalIdentification.md b/docs/TravelRuleValidateNationalIdentification.md new file mode 100644 index 0000000..1a51b5f --- /dev/null +++ b/docs/TravelRuleValidateNationalIdentification.md @@ -0,0 +1,33 @@ +# TravelRuleValidateNationalIdentification + +Represents a national identifier for a person or entity + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**country_of_issue** | **str** | Country that issued the national identifier (ISO-3166 Alpha-2 country code) | [optional] +**national_identifier** | **str** | National identifier (max 35 characters) | [optional] +**national_identifier_type** | **str** | Type of national identifier. Acceptable values include: - 'PASSPORT': Passport number - 'NATIONAL_ID': National identification number - 'TAX_ID': Tax identification number - 'SOCIAL_SECURITY': Social security number | [optional] +**registration_authority** | **str** | Registration authority (format -> RA followed by 6 digits) | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_national_identification import TravelRuleValidateNationalIdentification + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidateNationalIdentification from a JSON string +travel_rule_validate_national_identification_instance = TravelRuleValidateNationalIdentification.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidateNationalIdentification.to_json()) + +# convert the object into a dict +travel_rule_validate_national_identification_dict = travel_rule_validate_national_identification_instance.to_dict() +# create an instance of TravelRuleValidateNationalIdentification from a dict +travel_rule_validate_national_identification_from_dict = TravelRuleValidateNationalIdentification.from_dict(travel_rule_validate_national_identification_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidateNaturalNameIdentifier.md b/docs/TravelRuleValidateNaturalNameIdentifier.md new file mode 100644 index 0000000..fc46f7f --- /dev/null +++ b/docs/TravelRuleValidateNaturalNameIdentifier.md @@ -0,0 +1,31 @@ +# TravelRuleValidateNaturalNameIdentifier + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**primary_identifier** | **str** | The primary identifier of the name | [optional] +**secondary_identifier** | **str** | The secondary identifier of the name | [optional] +**name_identifier_type** | **str** | Specifies the type of name for a natural person. Acceptable values are: - 'ALIA': Alias name, a name other than the legal name by which a natural person is also known. - 'BIRT': Name at birth, the name given to a natural person at birth. - 'MAID': Maiden name, the original name of a natural person who has changed their name after marriage. - 'LEGL': Legal name, the name that identifies a natural person for legal, official, or administrative purposes. - 'MISC': Unspecified, a name by which a natural person may be known but cannot otherwise be categorized. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_natural_name_identifier import TravelRuleValidateNaturalNameIdentifier + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidateNaturalNameIdentifier from a JSON string +travel_rule_validate_natural_name_identifier_instance = TravelRuleValidateNaturalNameIdentifier.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidateNaturalNameIdentifier.to_json()) + +# convert the object into a dict +travel_rule_validate_natural_name_identifier_dict = travel_rule_validate_natural_name_identifier_instance.to_dict() +# create an instance of TravelRuleValidateNaturalNameIdentifier from a dict +travel_rule_validate_natural_name_identifier_from_dict = TravelRuleValidateNaturalNameIdentifier.from_dict(travel_rule_validate_natural_name_identifier_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidateNaturalPerson.md b/docs/TravelRuleValidateNaturalPerson.md new file mode 100644 index 0000000..2f1658c --- /dev/null +++ b/docs/TravelRuleValidateNaturalPerson.md @@ -0,0 +1,35 @@ +# TravelRuleValidateNaturalPerson + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | [**List[TravelRuleValidateNaturalPersonNameIdentifier]**](TravelRuleValidateNaturalPersonNameIdentifier.md) | An array of structured name identifiers for the natural person, referencing the TravelRuleNaturalPersonNameIdentifier schema. | [optional] +**geographic_address** | [**List[TravelRuleValidateGeographicAddress]**](TravelRuleValidateGeographicAddress.md) | An array of geographic addresses associated with the natural person, referencing the TravelRuleGeographicAddress schema. | [optional] +**national_identification** | [**TravelRuleValidateNationalIdentification**](TravelRuleValidateNationalIdentification.md) | | [optional] +**date_and_place_of_birth** | [**TravelRuleValidateDateAndPlaceOfBirth**](TravelRuleValidateDateAndPlaceOfBirth.md) | | [optional] +**customer_identification** | **str** | A unique identifier for the customer within the organization's context. | [optional] +**country_of_residence** | **str** | The ISO-3166 Alpha-2 country code of the natural person's residence. | [optional] +**customer_number** | **str** | A distinct identifier that uniquely identifies the customer within the organization. | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_natural_person import TravelRuleValidateNaturalPerson + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidateNaturalPerson from a JSON string +travel_rule_validate_natural_person_instance = TravelRuleValidateNaturalPerson.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidateNaturalPerson.to_json()) + +# convert the object into a dict +travel_rule_validate_natural_person_dict = travel_rule_validate_natural_person_instance.to_dict() +# create an instance of TravelRuleValidateNaturalPerson from a dict +travel_rule_validate_natural_person_from_dict = TravelRuleValidateNaturalPerson.from_dict(travel_rule_validate_natural_person_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidateNaturalPersonNameIdentifier.md b/docs/TravelRuleValidateNaturalPersonNameIdentifier.md new file mode 100644 index 0000000..865b91d --- /dev/null +++ b/docs/TravelRuleValidateNaturalPersonNameIdentifier.md @@ -0,0 +1,31 @@ +# TravelRuleValidateNaturalPersonNameIdentifier + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name_identifier** | [**List[TravelRuleValidateNaturalNameIdentifier]**](TravelRuleValidateNaturalNameIdentifier.md) | | [optional] +**local_name_identifier** | [**List[TravelRuleValidateNaturalNameIdentifier]**](TravelRuleValidateNaturalNameIdentifier.md) | | [optional] +**phonetic_name_identifier** | [**List[TravelRuleValidateNaturalNameIdentifier]**](TravelRuleValidateNaturalNameIdentifier.md) | | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_natural_person_name_identifier import TravelRuleValidateNaturalPersonNameIdentifier + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidateNaturalPersonNameIdentifier from a JSON string +travel_rule_validate_natural_person_name_identifier_instance = TravelRuleValidateNaturalPersonNameIdentifier.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidateNaturalPersonNameIdentifier.to_json()) + +# convert the object into a dict +travel_rule_validate_natural_person_name_identifier_dict = travel_rule_validate_natural_person_name_identifier_instance.to_dict() +# create an instance of TravelRuleValidateNaturalPersonNameIdentifier from a dict +travel_rule_validate_natural_person_name_identifier_from_dict = TravelRuleValidateNaturalPersonNameIdentifier.from_dict(travel_rule_validate_natural_person_name_identifier_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidatePerson.md b/docs/TravelRuleValidatePerson.md new file mode 100644 index 0000000..d560aca --- /dev/null +++ b/docs/TravelRuleValidatePerson.md @@ -0,0 +1,30 @@ +# TravelRuleValidatePerson + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**natural_person** | [**TravelRuleValidateNaturalPerson**](TravelRuleValidateNaturalPerson.md) | | [optional] +**legal_person** | [**TravelRuleValidateLegalPerson**](TravelRuleValidateLegalPerson.md) | | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_person import TravelRuleValidatePerson + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidatePerson from a JSON string +travel_rule_validate_person_instance = TravelRuleValidatePerson.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidatePerson.to_json()) + +# convert the object into a dict +travel_rule_validate_person_dict = travel_rule_validate_person_instance.to_dict() +# create an instance of TravelRuleValidatePerson from a dict +travel_rule_validate_person_from_dict = TravelRuleValidatePerson.from_dict(travel_rule_validate_person_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidatePiiIVMS.md b/docs/TravelRuleValidatePiiIVMS.md new file mode 100644 index 0000000..83937e6 --- /dev/null +++ b/docs/TravelRuleValidatePiiIVMS.md @@ -0,0 +1,32 @@ +# TravelRuleValidatePiiIVMS + +Information about the originator of the transaction. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**originator_persons** | [**List[TravelRuleValidatePerson]**](TravelRuleValidatePerson.md) | Information about the originator of the transaction | [optional] +**beneficiary_persons** | [**List[TravelRuleValidatePerson]**](TravelRuleValidatePerson.md) | Information about the beneficiary of the transaction | [optional] +**account_number** | **List[str]** | Beneficiary account number | [optional] + +## Example + +```python +from fireblocks.models.travel_rule_validate_pii_ivms import TravelRuleValidatePiiIVMS + +# TODO update the JSON string below +json = "{}" +# create an instance of TravelRuleValidatePiiIVMS from a JSON string +travel_rule_validate_pii_ivms_instance = TravelRuleValidatePiiIVMS.from_json(json) +# print the JSON string representation of the object +print(TravelRuleValidatePiiIVMS.to_json()) + +# convert the object into a dict +travel_rule_validate_pii_ivms_dict = travel_rule_validate_pii_ivms_instance.to_dict() +# create an instance of TravelRuleValidatePiiIVMS from a dict +travel_rule_validate_pii_ivms_from_dict = TravelRuleValidatePiiIVMS.from_dict(travel_rule_validate_pii_ivms_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TravelRuleValidateTransactionRequest.md b/docs/TravelRuleValidateTransactionRequest.md index 03b8cf5..3fc1f7b 100644 --- a/docs/TravelRuleValidateTransactionRequest.md +++ b/docs/TravelRuleValidateTransactionRequest.md @@ -5,9 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**transaction_asset** | **str** | Transaction asset symbol BTC,ETH) | +**transaction_asset** | **str** | Transaction asset symbol (BTC,ETH) | **destination** | **str** | Transaction destination address | **transaction_amount** | **str** | Transaction amount in the transaction asset | +**transaction_asset_decimals** | **float** | Number of decimals in the transaction asset. This is used to convert the transaction amount to the smallest unit of the asset | [optional] **originator_vas_pdid** | **str** | This is the identifier assigned to your VASP | **originator_equals_beneficiary** | **bool** | \"True\" if the originator and beneficiary is the same person and you therefore do not need to collect any information. \"False\" if it is a third-party transfer. | **travel_rule_behavior** | **bool** | This will also check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction | [optional] @@ -15,7 +16,7 @@ Name | Type | Description | Notes **beneficiary_vas_pname** | **str** | Beneficiary VASP name | [optional] **beneficiary_name** | **str** | Beneficiary name | [optional] **beneficiary_account_number** | **str** | Beneficiary name | [optional] -**beneficiary_address** | [**TravelRuleAddress**](TravelRuleAddress.md) | Beneficiary name | [optional] +**beneficiary_address** | [**TravelRuleAddress**](TravelRuleAddress.md) | | [optional] ## Example diff --git a/fireblocks/__init__.py b/fireblocks/__init__.py index c4110e6..a0a1f2c 100644 --- a/fireblocks/__init__.py +++ b/fireblocks/__init__.py @@ -15,7 +15,7 @@ """ # noqa: E501 -__version__ = "7.0.1" +__version__ = "0.0.0" # import apis into sdk package from fireblocks.api.api_user_api import ApiUserApi @@ -53,7 +53,7 @@ from fireblocks.api.staking_api import StakingApi from fireblocks.api.tokenization_api import TokenizationApi from fireblocks.api.transactions_api import TransactionsApi -from fireblocks.api.travel_rule_beta_api import TravelRuleBetaApi +from fireblocks.api.travel_rule_api import TravelRuleApi from fireblocks.api.user_groups_beta_api import UserGroupsBetaApi from fireblocks.api.users_api import UsersApi from fireblocks.api.vaults_api import VaultsApi @@ -780,12 +780,31 @@ from fireblocks.models.travel_rule_create_transaction_request import ( TravelRuleCreateTransactionRequest, ) +from fireblocks.models.travel_rule_date_and_place_of_birth import ( + TravelRuleDateAndPlaceOfBirth, +) +from fireblocks.models.travel_rule_geographic_address import TravelRuleGeographicAddress from fireblocks.models.travel_rule_get_all_vasps_response import ( TravelRuleGetAllVASPsResponse, ) from fireblocks.models.travel_rule_issuer import TravelRuleIssuer from fireblocks.models.travel_rule_issuers import TravelRuleIssuers +from fireblocks.models.travel_rule_legal_person import TravelRuleLegalPerson +from fireblocks.models.travel_rule_legal_person_name_identifier import ( + TravelRuleLegalPersonNameIdentifier, +) +from fireblocks.models.travel_rule_national_identification import ( + TravelRuleNationalIdentification, +) +from fireblocks.models.travel_rule_natural_name_identifier import ( + TravelRuleNaturalNameIdentifier, +) +from fireblocks.models.travel_rule_natural_person import TravelRuleNaturalPerson +from fireblocks.models.travel_rule_natural_person_name_identifier import ( + TravelRuleNaturalPersonNameIdentifier, +) from fireblocks.models.travel_rule_ownership_proof import TravelRuleOwnershipProof +from fireblocks.models.travel_rule_person import TravelRulePerson from fireblocks.models.travel_rule_pii_ivms import TravelRulePiiIVMS from fireblocks.models.travel_rule_policy_rule_response import ( TravelRulePolicyRuleResponse, @@ -797,9 +816,35 @@ TravelRuleUpdateVASPDetails, ) from fireblocks.models.travel_rule_vasp import TravelRuleVASP +from fireblocks.models.travel_rule_validate_date_and_place_of_birth import ( + TravelRuleValidateDateAndPlaceOfBirth, +) from fireblocks.models.travel_rule_validate_full_transaction_request import ( TravelRuleValidateFullTransactionRequest, ) +from fireblocks.models.travel_rule_validate_geographic_address import ( + TravelRuleValidateGeographicAddress, +) +from fireblocks.models.travel_rule_validate_legal_person import ( + TravelRuleValidateLegalPerson, +) +from fireblocks.models.travel_rule_validate_legal_person_name_identifier import ( + TravelRuleValidateLegalPersonNameIdentifier, +) +from fireblocks.models.travel_rule_validate_national_identification import ( + TravelRuleValidateNationalIdentification, +) +from fireblocks.models.travel_rule_validate_natural_name_identifier import ( + TravelRuleValidateNaturalNameIdentifier, +) +from fireblocks.models.travel_rule_validate_natural_person import ( + TravelRuleValidateNaturalPerson, +) +from fireblocks.models.travel_rule_validate_natural_person_name_identifier import ( + TravelRuleValidateNaturalPersonNameIdentifier, +) +from fireblocks.models.travel_rule_validate_person import TravelRuleValidatePerson +from fireblocks.models.travel_rule_validate_pii_ivms import TravelRuleValidatePiiIVMS from fireblocks.models.travel_rule_validate_transaction_request import ( TravelRuleValidateTransactionRequest, ) diff --git a/fireblocks/api/__init__.py b/fireblocks/api/__init__.py index 8fac422..aa6164b 100644 --- a/fireblocks/api/__init__.py +++ b/fireblocks/api/__init__.py @@ -34,7 +34,7 @@ from fireblocks.api.staking_api import StakingApi from fireblocks.api.tokenization_api import TokenizationApi from fireblocks.api.transactions_api import TransactionsApi -from fireblocks.api.travel_rule_beta_api import TravelRuleBetaApi +from fireblocks.api.travel_rule_api import TravelRuleApi from fireblocks.api.user_groups_beta_api import UserGroupsBetaApi from fireblocks.api.users_api import UsersApi from fireblocks.api.vaults_api import VaultsApi diff --git a/fireblocks/api/travel_rule_beta_api.py b/fireblocks/api/travel_rule_api.py similarity index 78% rename from fireblocks/api/travel_rule_beta_api.py rename to fireblocks/api/travel_rule_api.py index 4eb222b..84d2838 100644 --- a/fireblocks/api/travel_rule_beta_api.py +++ b/fireblocks/api/travel_rule_api.py @@ -18,14 +18,13 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictFloat, StrictInt, StrictStr -from typing import Optional, Union +from pydantic import Field, StrictStr, field_validator +from typing import List, Optional, Union from typing_extensions import Annotated from fireblocks.models.travel_rule_get_all_vasps_response import TravelRuleGetAllVASPsResponse from fireblocks.models.travel_rule_update_vasp_details import TravelRuleUpdateVASPDetails from fireblocks.models.travel_rule_vasp import TravelRuleVASP from fireblocks.models.travel_rule_validate_full_transaction_request import TravelRuleValidateFullTransactionRequest -from fireblocks.models.travel_rule_validate_transaction_request import TravelRuleValidateTransactionRequest from fireblocks.models.travel_rule_validate_transaction_response import TravelRuleValidateTransactionResponse from fireblocks.models.travel_rule_vasp_for_vault import TravelRuleVaspForVault @@ -35,7 +34,7 @@ from fireblocks.validation_utils import validate_not_empty_string -class TravelRuleBetaApi: +class TravelRuleApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -178,7 +177,7 @@ def _get_vasp_for_vault_serialize( def get_vaspby_did( self, did: StrictStr, - fields: Annotated[Optional[StrictStr], Field(description="CSV of fields to return (all, \"blank\" or see list of all field names below)")] = None, + fields: Annotated[Optional[List[StrictStr]], Field(description="A CSV of fields to return. Choose from the following options:")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -194,12 +193,12 @@ def get_vaspby_did( ) -> Future[ApiResponse[TravelRuleVASP]]: """Get VASP details - Get VASP Details. Returns information about a VASP that has the specified DID. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). + Get VASP Details. Returns information about a VASP that has the specified DID. :param did: (required) :type did: str - :param fields: CSV of fields to return (all, \"blank\" or see list of all field names below) - :type fields: str + :param fields: A CSV of fields to return. Choose from the following options: + :type fields: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -258,6 +257,7 @@ def _get_vaspby_did_serialize( _host = None _collection_formats: Dict[str, str] = { + 'fields': 'multi', } _path_params: Dict[str, str] = {} @@ -314,9 +314,11 @@ def _get_vaspby_did_serialize( def get_vasps( self, order: Annotated[Optional[StrictStr], Field(description="Field to order by")] = None, - per_page: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Records per page")] = None, - page: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Page number")] = None, - fields: Annotated[Optional[StrictStr], Field(description="CSV of fields to return (all, \"blank\" or see list of all field names below)")] = None, + page_size: Annotated[Optional[Union[Annotated[float, Field(le=1000, strict=True, ge=100)], Annotated[int, Field(le=1000, strict=True, ge=100)]]], Field(description="Records per page")] = None, + fields: Annotated[Optional[List[StrictStr]], Field(description="CSV of fields to return (all, \"blank\" or see list of all field names below)")] = None, + search: Annotated[Optional[StrictStr], Field(description="Search query")] = None, + review_value: Annotated[Optional[StrictStr], Field(description="Filter by the VASP's review status. Possible values include: \"TRUSTED\", \"BLOCKED\", \"MANUAL\", or \"NULL\". When provided, only VASPs that match the specified reviewValue will be returned (i.e., VASPs that have already been reviewed to this status).")] = None, + page_cursor: Annotated[Optional[StrictStr], Field(description="Cursor for pagination. When provided, the response will include the next page of results.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -332,16 +334,20 @@ def get_vasps( ) -> Future[ApiResponse[TravelRuleGetAllVASPsResponse]]: """Get All VASPs - Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted and results are paginated. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). + Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted. :param order: Field to order by :type order: str - :param per_page: Records per page - :type per_page: float - :param page: Page number - :type page: float + :param page_size: Records per page + :type page_size: float :param fields: CSV of fields to return (all, \"blank\" or see list of all field names below) - :type fields: str + :type fields: List[str] + :param search: Search query + :type search: str + :param review_value: Filter by the VASP's review status. Possible values include: \"TRUSTED\", \"BLOCKED\", \"MANUAL\", or \"NULL\". When provided, only VASPs that match the specified reviewValue will be returned (i.e., VASPs that have already been reviewed to this status). + :type review_value: str + :param page_cursor: Cursor for pagination. When provided, the response will include the next page of results. + :type page_cursor: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -367,9 +373,11 @@ def get_vasps( _param = self._get_vasps_serialize( order=order, - per_page=per_page, - page=page, + page_size=page_size, fields=fields, + search=search, + review_value=review_value, + page_cursor=page_cursor, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -378,6 +386,7 @@ def get_vasps( _response_types_map: Dict[str, Optional[str]] = { '200': "TravelRuleGetAllVASPsResponse", + 'default': "ErrorSchema", } return self.api_client.call_api( @@ -389,9 +398,11 @@ def get_vasps( def _get_vasps_serialize( self, order, - per_page, - page, + page_size, fields, + search, + review_value, + page_cursor, _request_auth, _content_type, _headers, @@ -401,6 +412,7 @@ def _get_vasps_serialize( _host = None _collection_formats: Dict[str, str] = { + 'fields': 'multi', } _path_params: Dict[str, str] = {} @@ -416,18 +428,26 @@ def _get_vasps_serialize( _query_params.append(('order', order)) - if per_page is not None: - - _query_params.append(('per_page', per_page)) + if page_size is not None: - if page is not None: - - _query_params.append(('page', page)) + _query_params.append(('pageSize', page_size)) if fields is not None: _query_params.append(('fields', fields)) + if search is not None: + + _query_params.append(('search', search)) + + if review_value is not None: + + _query_params.append(('reviewValue', review_value)) + + if page_cursor is not None: + + _query_params.append(('pageCursor', page_cursor)) + # process the header parameters # process the form parameters # process the body parameter @@ -636,7 +656,7 @@ def update_vasp( ) -> Future[ApiResponse[TravelRuleUpdateVASPDetails]]: """Add jsonDidKey to VASP details - Update VASP Details. Updates a VASP with the provided parameters. Use this endpoint to add your public jsonDIDkey generated by Notabene. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). + Update VASP Details. Updates a VASP with the provided parameters. Use this endpoint to add your public jsonDIDkey generated by Notabene. :param travel_rule_update_vasp_details: (required) :type travel_rule_update_vasp_details: TravelRuleUpdateVASPDetails @@ -766,6 +786,7 @@ def _update_vasp_serialize( def validate_full_travel_rule_transaction( self, travel_rule_validate_full_transaction_request: TravelRuleValidateFullTransactionRequest, + notation: Annotated[Optional[List[StrictStr]], Field(description="Specifies the notation of the transaction. Possible values are: - `notabene`: Uses Notabene notation (default behavior). - `fireblocks`: Uses Fireblocks notation, with automatic translation of asset tickers and amounts. - ``: Defaults to `notabene` for backward compatibility. **Note:** The default value for the `notation` parameter will change from `notabene` to `fireblocks` Update your integrations accordingly.")] = None, idempotency_key: Annotated[Optional[StrictStr], Field(description="A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.")] = None, _request_timeout: Union[ None, @@ -782,10 +803,12 @@ def validate_full_travel_rule_transaction( ) -> Future[ApiResponse[TravelRuleValidateTransactionResponse]]: """Validate Full Travel Rule Transaction - Validate Full Travel Rule transactions. Checks for all required information on the originator and beneficiary VASPs. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). + Validate Full Travel Rule transactions. Checks for all required information on the originator and beneficiary VASPs. :param travel_rule_validate_full_transaction_request: (required) :type travel_rule_validate_full_transaction_request: TravelRuleValidateFullTransactionRequest + :param notation: Specifies the notation of the transaction. Possible values are: - `notabene`: Uses Notabene notation (default behavior). - `fireblocks`: Uses Fireblocks notation, with automatic translation of asset tickers and amounts. - ``: Defaults to `notabene` for backward compatibility. **Note:** The default value for the `notation` parameter will change from `notabene` to `fireblocks` Update your integrations accordingly. + :type notation: List[str] :param idempotency_key: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. :type idempotency_key: str :param _request_timeout: timeout setting for this request. If one @@ -813,6 +836,7 @@ def validate_full_travel_rule_transaction( _param = self._validate_full_travel_rule_transaction_serialize( travel_rule_validate_full_transaction_request=travel_rule_validate_full_transaction_request, + notation=notation, idempotency_key=idempotency_key, _request_auth=_request_auth, _content_type=_content_type, @@ -822,8 +846,7 @@ def validate_full_travel_rule_transaction( _response_types_map: Dict[str, Optional[str]] = { '200': "TravelRuleValidateTransactionResponse", - '400': None, - '500': None, + 'default': "ErrorSchema", } return self.api_client.call_api( @@ -835,6 +858,7 @@ def validate_full_travel_rule_transaction( def _validate_full_travel_rule_transaction_serialize( self, travel_rule_validate_full_transaction_request, + notation, idempotency_key, _request_auth, _content_type, @@ -845,6 +869,7 @@ def _validate_full_travel_rule_transaction_serialize( _host = None _collection_formats: Dict[str, str] = { + 'notation': 'multi', } _path_params: Dict[str, str] = {} @@ -856,6 +881,10 @@ def _validate_full_travel_rule_transaction_serialize( # process the path parameters # process the query parameters + if notation is not None: + + _query_params.append(('notation', notation)) + # process the header parameters if idempotency_key is not None: _header_params['Idempotency-Key'] = idempotency_key @@ -906,149 +935,3 @@ def _validate_full_travel_rule_transaction_serialize( ) - - - @validate_call - def validate_travel_rule_transaction( - self, - travel_rule_validate_transaction_request: TravelRuleValidateTransactionRequest, - idempotency_key: Annotated[Optional[StrictStr], Field(description="A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.")] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Future[ApiResponse[TravelRuleValidateTransactionResponse]]: - """Validate Travel Rule Transaction - - Validate Travel Rule transactions. Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction. **Note:** The reference content in this section documents the Travel Rule beta endpoint. The beta endpoint includes APIs that are currently in preview and aren't yet generally available. To enroll in the beta and enable this endpoint, contact your Fireblocks Customer Success Manager or send an email to [CSM@fireblocks.com](mailto:CSM@fireblocks.com). - - :param travel_rule_validate_transaction_request: (required) - :type travel_rule_validate_transaction_request: TravelRuleValidateTransactionRequest - :param idempotency_key: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours. - :type idempotency_key: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - - _param = self._validate_travel_rule_transaction_serialize( - travel_rule_validate_transaction_request=travel_rule_validate_transaction_request, - idempotency_key=idempotency_key, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "TravelRuleValidateTransactionResponse", - '400': None, - '500': None, - } - - return self.api_client.call_api( - *_param, - _request_timeout=_request_timeout, - _response_types_map=_response_types_map, - ) - - def _validate_travel_rule_transaction_serialize( - self, - travel_rule_validate_transaction_request, - idempotency_key, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, Union[str, bytes]] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - if idempotency_key is not None: - _header_params['Idempotency-Key'] = idempotency_key - # process the form parameters - # process the body parameter - if travel_rule_validate_transaction_request is not None: - _body_params = travel_rule_validate_transaction_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/screening/travel_rule/transaction/validate', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - diff --git a/fireblocks/client.py b/fireblocks/client.py index aaba615..96dcca0 100644 --- a/fireblocks/client.py +++ b/fireblocks/client.py @@ -49,7 +49,7 @@ from fireblocks.api.staking_api import StakingApi from fireblocks.api.tokenization_api import TokenizationApi from fireblocks.api.transactions_api import TransactionsApi -from fireblocks.api.travel_rule_beta_api import TravelRuleBetaApi +from fireblocks.api.travel_rule_api import TravelRuleApi from fireblocks.api.user_groups_beta_api import UserGroupsBetaApi from fireblocks.api.users_api import UsersApi from fireblocks.api.vaults_api import VaultsApi @@ -102,7 +102,7 @@ def __init__(self, configuration: ClientConfiguration = None): self._staking = None self._tokenization = None self._transactions = None - self._travel_rule_beta = None + self._travel_rule = None self._user_groups_beta = None self._users = None self._vaults = None @@ -322,10 +322,10 @@ def transactions(self) -> TransactionsApi: return self._transactions @property - def travel_rule_beta(self) -> TravelRuleBetaApi: - if self._travel_rule_beta is None: - self._travel_rule_beta = TravelRuleBetaApi(self._api_client) - return self._travel_rule_beta + def travel_rule(self) -> TravelRuleApi: + if self._travel_rule is None: + self._travel_rule = TravelRuleApi(self._api_client) + return self._travel_rule @property def user_groups_beta(self) -> UserGroupsBetaApi: diff --git a/fireblocks/configuration.py b/fireblocks/configuration.py index 5413241..03f60c7 100644 --- a/fireblocks/configuration.py +++ b/fireblocks/configuration.py @@ -424,7 +424,7 @@ def to_debug_report(self): "OS: {env}\n" "Python Version: {pyversion}\n" "Version of the API: 1.6.2\n" - "SDK Package Version: 7.0.1".format(env=sys.platform, pyversion=sys.version) + "SDK Package Version: 0.0.0".format(env=sys.platform, pyversion=sys.version) ) def get_host_settings(self): diff --git a/fireblocks/models/__init__.py b/fireblocks/models/__init__.py index da4b4a0..fa6e26e 100644 --- a/fireblocks/models/__init__.py +++ b/fireblocks/models/__init__.py @@ -470,16 +470,35 @@ from fireblocks.models.transfer_validation_failure import TransferValidationFailure from fireblocks.models.travel_rule_address import TravelRuleAddress from fireblocks.models.travel_rule_create_transaction_request import TravelRuleCreateTransactionRequest +from fireblocks.models.travel_rule_date_and_place_of_birth import TravelRuleDateAndPlaceOfBirth +from fireblocks.models.travel_rule_geographic_address import TravelRuleGeographicAddress from fireblocks.models.travel_rule_get_all_vasps_response import TravelRuleGetAllVASPsResponse from fireblocks.models.travel_rule_issuer import TravelRuleIssuer from fireblocks.models.travel_rule_issuers import TravelRuleIssuers +from fireblocks.models.travel_rule_legal_person import TravelRuleLegalPerson +from fireblocks.models.travel_rule_legal_person_name_identifier import TravelRuleLegalPersonNameIdentifier +from fireblocks.models.travel_rule_national_identification import TravelRuleNationalIdentification +from fireblocks.models.travel_rule_natural_name_identifier import TravelRuleNaturalNameIdentifier +from fireblocks.models.travel_rule_natural_person import TravelRuleNaturalPerson +from fireblocks.models.travel_rule_natural_person_name_identifier import TravelRuleNaturalPersonNameIdentifier from fireblocks.models.travel_rule_ownership_proof import TravelRuleOwnershipProof +from fireblocks.models.travel_rule_person import TravelRulePerson from fireblocks.models.travel_rule_pii_ivms import TravelRulePiiIVMS from fireblocks.models.travel_rule_policy_rule_response import TravelRulePolicyRuleResponse from fireblocks.models.travel_rule_transaction_blockchain_info import TravelRuleTransactionBlockchainInfo from fireblocks.models.travel_rule_update_vasp_details import TravelRuleUpdateVASPDetails from fireblocks.models.travel_rule_vasp import TravelRuleVASP +from fireblocks.models.travel_rule_validate_date_and_place_of_birth import TravelRuleValidateDateAndPlaceOfBirth from fireblocks.models.travel_rule_validate_full_transaction_request import TravelRuleValidateFullTransactionRequest +from fireblocks.models.travel_rule_validate_geographic_address import TravelRuleValidateGeographicAddress +from fireblocks.models.travel_rule_validate_legal_person import TravelRuleValidateLegalPerson +from fireblocks.models.travel_rule_validate_legal_person_name_identifier import TravelRuleValidateLegalPersonNameIdentifier +from fireblocks.models.travel_rule_validate_national_identification import TravelRuleValidateNationalIdentification +from fireblocks.models.travel_rule_validate_natural_name_identifier import TravelRuleValidateNaturalNameIdentifier +from fireblocks.models.travel_rule_validate_natural_person import TravelRuleValidateNaturalPerson +from fireblocks.models.travel_rule_validate_natural_person_name_identifier import TravelRuleValidateNaturalPersonNameIdentifier +from fireblocks.models.travel_rule_validate_person import TravelRuleValidatePerson +from fireblocks.models.travel_rule_validate_pii_ivms import TravelRuleValidatePiiIVMS from fireblocks.models.travel_rule_validate_transaction_request import TravelRuleValidateTransactionRequest from fireblocks.models.travel_rule_validate_transaction_response import TravelRuleValidateTransactionResponse from fireblocks.models.travel_rule_vasp_for_vault import TravelRuleVaspForVault diff --git a/fireblocks/models/travel_rule_address.py b/fireblocks/models/travel_rule_address.py index 54544f5..3711102 100644 --- a/fireblocks/models/travel_rule_address.py +++ b/fireblocks/models/travel_rule_address.py @@ -19,7 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self @@ -27,10 +27,10 @@ class TravelRuleAddress(BaseModel): """ TravelRuleAddress """ # noqa: E501 - street: StrictStr = Field(description="Street address") - city: StrictStr = Field(description="City") - state: StrictStr = Field(description="State or province") - postal_code: StrictStr = Field(description="Postal or ZIP code", alias="postalCode") + street: Optional[StrictStr] = Field(default=None, description="Street address") + city: Optional[StrictStr] = Field(default=None, description="City") + state: Optional[StrictStr] = Field(default=None, description="State or province") + postal_code: Optional[StrictStr] = Field(default=None, description="Postal or ZIP code", alias="postalCode") __properties: ClassVar[List[str]] = ["street", "city", "state", "postalCode"] model_config = ConfigDict( diff --git a/fireblocks/models/travel_rule_create_transaction_request.py b/fireblocks/models/travel_rule_create_transaction_request.py index 3931c9c..481f3cb 100644 --- a/fireblocks/models/travel_rule_create_transaction_request.py +++ b/fireblocks/models/travel_rule_create_transaction_request.py @@ -30,20 +30,27 @@ class TravelRuleCreateTransactionRequest(BaseModel): """ TravelRuleCreateTransactionRequest """ # noqa: E501 - originator_vas_pdid: Optional[StrictStr] = Field(default=None, description="The VASP ID of the transaction originator", alias="originatorVASPdid") - beneficiary_vas_pdid: Optional[StrictStr] = Field(default=None, description="The VASP ID of the transaction beneficiary", alias="beneficiaryVASPdid") - beneficiary_vas_pname: Optional[StrictStr] = Field(default=None, description="The name of the VASP acting as the beneficiary", alias="beneficiaryVASPname") - transaction_blockchain_info: Optional[TravelRuleTransactionBlockchainInfo] = Field(default=None, description="Information about the blockchain transaction", alias="transactionBlockchainInfo") - originator: TravelRulePiiIVMS = Field(description="Information about the originator of the transaction") - beneficiary: TravelRulePiiIVMS = Field(description="Information about the beneficiary of the transaction") - encrypted: Optional[StrictStr] = Field(default=None, description="Encrypted data related to the transaction") - protocol: Optional[StrictStr] = Field(default=None, description="The protocol used to perform the travel rule") - skip_beneficiary_data_validation: Optional[StrictBool] = Field(default=None, description="Whether to skip validation of beneficiary data", alias="skipBeneficiaryDataValidation") - travel_rule_behavior: Optional[StrictBool] = Field(default=None, description="Whether to check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction", alias="travelRuleBehavior") - originator_proof: Optional[TravelRuleOwnershipProof] = Field(default=None, description="Ownership proof related to the originator of the transaction", alias="originatorProof") - beneficiary_proof: Optional[TravelRuleOwnershipProof] = Field(default=None, description="Ownership proof related to the beneficiary of the transaction", alias="beneficiaryProof") - pii: Optional[TravelRulePiiIVMS] = Field(default=None, description="Personal identifiable information related to the transaction") - __properties: ClassVar[List[str]] = ["originatorVASPdid", "beneficiaryVASPdid", "beneficiaryVASPname", "transactionBlockchainInfo", "originator", "beneficiary", "encrypted", "protocol", "skipBeneficiaryDataValidation", "travelRuleBehavior", "originatorProof", "beneficiaryProof", "pii"] + originator_vas_pdid: Optional[StrictStr] = Field(default=None, description="The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network.", alias="originatorVASPdid") + beneficiary_vas_pdid: Optional[StrictStr] = Field(default=None, description="The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network.", alias="beneficiaryVASPdid") + originator_vas_pname: Optional[StrictStr] = Field(default=None, description="The name of the VASP acting as the transaction originator.", alias="originatorVASPname") + beneficiary_vas_pname: Optional[StrictStr] = Field(default=None, description="The name of the VASP acting as the transaction beneficiary.", alias="beneficiaryVASPname") + beneficiary_vas_pwebsite: Optional[StrictStr] = Field(default=None, description="The website of the VASP acting as the transaction beneficiary.", alias="beneficiaryVASPwebsite") + transaction_blockchain_info: Optional[TravelRuleTransactionBlockchainInfo] = Field(default=None, alias="transactionBlockchainInfo") + originator: TravelRulePiiIVMS + beneficiary: TravelRulePiiIVMS + encrypted: Optional[StrictStr] = Field(default=None, description="Encrypted data related to the transaction.") + protocol: Optional[StrictStr] = Field(default=None, description="The protocol used to perform the travel rule.") + skip_beneficiary_data_validation: Optional[StrictBool] = Field(default=None, description="Whether to skip validation of beneficiary data.", alias="skipBeneficiaryDataValidation") + travel_rule_behavior: Optional[StrictBool] = Field(default=None, description="Whether to check if the transaction complies with the travel rule in the beneficiary VASP's jurisdiction.", alias="travelRuleBehavior") + originator_ref: Optional[StrictStr] = Field(default=None, description="A reference ID related to the originator of the transaction.", alias="originatorRef") + beneficiary_ref: Optional[StrictStr] = Field(default=None, description="A reference ID related to the beneficiary of the transaction.", alias="beneficiaryRef") + travel_rule_behavior_ref: Optional[StrictStr] = Field(default=None, description="A reference ID related to the travel rule behavior.", alias="travelRuleBehaviorRef") + originator_proof: Optional[TravelRuleOwnershipProof] = Field(default=None, alias="originatorProof") + beneficiary_proof: Optional[TravelRuleOwnershipProof] = Field(default=None, alias="beneficiaryProof") + beneficiary_did: Optional[StrictStr] = Field(default=None, description="The Decentralized Identifier (DID) of the person at the receiving exchange (VASP). This identifier is generated when the customer is registered in the Notabene network, or automatically created based on the `beneficiaryRef`. - If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction.", alias="beneficiaryDid") + originator_did: Optional[StrictStr] = Field(default=None, description="The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting the withdrawal. This identifier is generated when the customer is registered in the Notabene network or automatically created based on the `originatorRef`. - If neither `originatorRef` nor `originatorDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction.", alias="originatorDid") + is_non_custodial: Optional[StrictBool] = Field(default=None, description="Indicates if the transaction involves a non-custodial wallet.", alias="isNonCustodial") + __properties: ClassVar[List[str]] = ["originatorVASPdid", "beneficiaryVASPdid", "originatorVASPname", "beneficiaryVASPname", "beneficiaryVASPwebsite", "transactionBlockchainInfo", "originator", "beneficiary", "encrypted", "protocol", "skipBeneficiaryDataValidation", "travelRuleBehavior", "originatorRef", "beneficiaryRef", "travelRuleBehaviorRef", "originatorProof", "beneficiaryProof", "beneficiaryDid", "originatorDid", "isNonCustodial"] model_config = ConfigDict( populate_by_name=True, @@ -99,9 +106,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of beneficiary_proof if self.beneficiary_proof: _dict['beneficiaryProof'] = self.beneficiary_proof.to_dict() - # override the default output from pydantic by calling `to_dict()` of pii - if self.pii: - _dict['pii'] = self.pii.to_dict() return _dict @classmethod @@ -116,7 +120,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "originatorVASPdid": obj.get("originatorVASPdid"), "beneficiaryVASPdid": obj.get("beneficiaryVASPdid"), + "originatorVASPname": obj.get("originatorVASPname"), "beneficiaryVASPname": obj.get("beneficiaryVASPname"), + "beneficiaryVASPwebsite": obj.get("beneficiaryVASPwebsite"), "transactionBlockchainInfo": TravelRuleTransactionBlockchainInfo.from_dict(obj["transactionBlockchainInfo"]) if obj.get("transactionBlockchainInfo") is not None else None, "originator": TravelRulePiiIVMS.from_dict(obj["originator"]) if obj.get("originator") is not None else None, "beneficiary": TravelRulePiiIVMS.from_dict(obj["beneficiary"]) if obj.get("beneficiary") is not None else None, @@ -124,9 +130,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "protocol": obj.get("protocol"), "skipBeneficiaryDataValidation": obj.get("skipBeneficiaryDataValidation"), "travelRuleBehavior": obj.get("travelRuleBehavior"), + "originatorRef": obj.get("originatorRef"), + "beneficiaryRef": obj.get("beneficiaryRef"), + "travelRuleBehaviorRef": obj.get("travelRuleBehaviorRef"), "originatorProof": TravelRuleOwnershipProof.from_dict(obj["originatorProof"]) if obj.get("originatorProof") is not None else None, "beneficiaryProof": TravelRuleOwnershipProof.from_dict(obj["beneficiaryProof"]) if obj.get("beneficiaryProof") is not None else None, - "pii": TravelRulePiiIVMS.from_dict(obj["pii"]) if obj.get("pii") is not None else None + "beneficiaryDid": obj.get("beneficiaryDid"), + "originatorDid": obj.get("originatorDid"), + "isNonCustodial": obj.get("isNonCustodial") }) return _obj diff --git a/fireblocks/models/travel_rule_date_and_place_of_birth.py b/fireblocks/models/travel_rule_date_and_place_of_birth.py new file mode 100644 index 0000000..3d3d5fc --- /dev/null +++ b/fireblocks/models/travel_rule_date_and_place_of_birth.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleDateAndPlaceOfBirth(BaseModel): + """ + Represents the date and place of birth for a natural person + """ # noqa: E501 + date_of_birth: Optional[StrictStr] = Field(default=None, description="Date of birth. The value must be encrypted.", alias="dateOfBirth") + place_of_birth: Optional[StrictStr] = Field(default=None, description="Place of birth. The value must be encrypted.", alias="placeOfBirth") + __properties: ClassVar[List[str]] = ["dateOfBirth", "placeOfBirth"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleDateAndPlaceOfBirth from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleDateAndPlaceOfBirth from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dateOfBirth": obj.get("dateOfBirth"), + "placeOfBirth": obj.get("placeOfBirth") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_geographic_address.py b/fireblocks/models/travel_rule_geographic_address.py new file mode 100644 index 0000000..6459388 --- /dev/null +++ b/fireblocks/models/travel_rule_geographic_address.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleGeographicAddress(BaseModel): + """ + TravelRuleGeographicAddress + """ # noqa: E501 + street_name: Optional[StrictStr] = Field(default=None, description="Name of a street or thoroughfare. The value must be encrypted.", alias="streetName") + town_name: Optional[StrictStr] = Field(default=None, description="Name of a built-up area, with defined boundaries, and a local government. The value must be encrypted.", alias="townName") + country: Optional[StrictStr] = Field(default=None, description="Nation with its own government (ISO-3166 Alpha-2 country code). The value must be encrypted.") + building_number: Optional[StrictStr] = Field(default=None, description="Number that identifies the position of a building on a street. The value must be encrypted.", alias="buildingNumber") + post_code: Optional[StrictStr] = Field(default=None, description="Identifier consisting of a group of letters and/or numbers added to a postal address to assist the sorting of mail. The value must be encrypted.", alias="postCode") + address_type: Optional[StrictStr] = Field(default=None, description="Specifies the type of address. Acceptable values are: - 'HOME': Residential, the home address - 'BIZZ': Business, the business address - 'GEOG': Geographic, an unspecified physical (geographical) address The value must be encrypted.", alias="addressType") + department: Optional[StrictStr] = Field(default=None, description="Identification of a division of a large organisation or building. The value must be encrypted.") + sub_department: Optional[StrictStr] = Field(default=None, description="Identification of a sub-division of a large organisation or building. The value must be encrypted.", alias="subDepartment") + building_name: Optional[StrictStr] = Field(default=None, description="Name of the building or house. The value must be encrypted.", alias="buildingName") + floor: Optional[StrictStr] = Field(default=None, description="Floor or storey within a building. The value must be encrypted.") + post_box: Optional[StrictStr] = Field(default=None, description="Numbered box in a post office. The value must be encrypted.", alias="postBox") + room: Optional[StrictStr] = Field(default=None, description="Building room number. The value must be encrypted.") + town_location_name: Optional[StrictStr] = Field(default=None, description="Specific location name within the town. The value must be encrypted.", alias="townLocationName") + district_name: Optional[StrictStr] = Field(default=None, description="Identifies a subdivision within a country subdivision. The value must be encrypted.", alias="districtName") + country_sub_division: Optional[StrictStr] = Field(default=None, description="Identifies a subdivision of a country such as state, region, or province. The value must be encrypted.", alias="countrySubDivision") + address_line: Optional[List[StrictStr]] = Field(default=None, description="Information that locates and identifies a specific address, presented in free format text. Each item must be encrypted.", alias="addressLine") + __properties: ClassVar[List[str]] = ["streetName", "townName", "country", "buildingNumber", "postCode", "addressType", "department", "subDepartment", "buildingName", "floor", "postBox", "room", "townLocationName", "districtName", "countrySubDivision", "addressLine"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleGeographicAddress from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleGeographicAddress from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "streetName": obj.get("streetName"), + "townName": obj.get("townName"), + "country": obj.get("country"), + "buildingNumber": obj.get("buildingNumber"), + "postCode": obj.get("postCode"), + "addressType": obj.get("addressType"), + "department": obj.get("department"), + "subDepartment": obj.get("subDepartment"), + "buildingName": obj.get("buildingName"), + "floor": obj.get("floor"), + "postBox": obj.get("postBox"), + "room": obj.get("room"), + "townLocationName": obj.get("townLocationName"), + "districtName": obj.get("districtName"), + "countrySubDivision": obj.get("countrySubDivision"), + "addressLine": obj.get("addressLine") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_get_all_vasps_response.py b/fireblocks/models/travel_rule_get_all_vasps_response.py index e585fee..efab1ba 100644 --- a/fireblocks/models/travel_rule_get_all_vasps_response.py +++ b/fireblocks/models/travel_rule_get_all_vasps_response.py @@ -18,8 +18,8 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional from fireblocks.models.travel_rule_vasp import TravelRuleVASP from typing import Optional, Set from typing_extensions import Self @@ -28,8 +28,10 @@ class TravelRuleGetAllVASPsResponse(BaseModel): """ TravelRuleGetAllVASPsResponse """ # noqa: E501 - vasps: List[TravelRuleVASP] - __properties: ClassVar[List[str]] = ["vasps"] + data: List[TravelRuleVASP] = Field(description="An array of VASP objects, referencing the TravelRuleVASP schema.") + total: Optional[StrictInt] = Field(default=None, description="The total number of VASPs.") + next: Optional[StrictStr] = Field(default=None, description="The URL for the next page of results.") + __properties: ClassVar[List[str]] = ["data", "total", "next"] model_config = ConfigDict( populate_by_name=True, @@ -70,13 +72,18 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in vasps (list) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) _items = [] - if self.vasps: - for _item in self.vasps: + if self.data: + for _item in self.data: if _item: _items.append(_item.to_dict()) - _dict['vasps'] = _items + _dict['data'] = _items + # set to None if next (nullable) is None + # and model_fields_set contains the field + if self.next is None and "next" in self.model_fields_set: + _dict['next'] = None + return _dict @classmethod @@ -89,7 +96,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "vasps": [TravelRuleVASP.from_dict(_item) for _item in obj["vasps"]] if obj.get("vasps") is not None else None + "data": [TravelRuleVASP.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "total": obj.get("total"), + "next": obj.get("next") }) return _obj diff --git a/fireblocks/models/travel_rule_legal_person.py b/fireblocks/models/travel_rule_legal_person.py new file mode 100644 index 0000000..9294fa7 --- /dev/null +++ b/fireblocks/models/travel_rule_legal_person.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_geographic_address import TravelRuleGeographicAddress +from fireblocks.models.travel_rule_legal_person_name_identifier import TravelRuleLegalPersonNameIdentifier +from fireblocks.models.travel_rule_national_identification import TravelRuleNationalIdentification +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleLegalPerson(BaseModel): + """ + TravelRuleLegalPerson + """ # noqa: E501 + name: Optional[TravelRuleLegalPersonNameIdentifier] = None + geographic_address: Optional[List[TravelRuleGeographicAddress]] = Field(default=None, description="The array of geographic addresses associated with the legal person.", alias="geographicAddress") + national_identification: Optional[TravelRuleNationalIdentification] = Field(default=None, alias="nationalIdentification") + customer_identification: Optional[StrictStr] = Field(default=None, description="A unique identifier that identifies the customer in the organization's context. The value must be encrypted.", alias="customerIdentification") + customer_number: Optional[StrictStr] = Field(default=None, description="A distinct identifier that uniquely identifies the customer within the organization. The value must be encrypted.", alias="customerNumber") + country_of_registration: Optional[StrictStr] = Field(default=None, description="The ISO-3166 Alpha-2 country code where the legal person is registered. The value must be encrypted.", alias="countryOfRegistration") + __properties: ClassVar[List[str]] = ["name", "geographicAddress", "nationalIdentification", "customerIdentification", "customerNumber", "countryOfRegistration"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleLegalPerson from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of name + if self.name: + _dict['name'] = self.name.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in geographic_address (list) + _items = [] + if self.geographic_address: + for _item in self.geographic_address: + if _item: + _items.append(_item.to_dict()) + _dict['geographicAddress'] = _items + # override the default output from pydantic by calling `to_dict()` of national_identification + if self.national_identification: + _dict['nationalIdentification'] = self.national_identification.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleLegalPerson from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": TravelRuleLegalPersonNameIdentifier.from_dict(obj["name"]) if obj.get("name") is not None else None, + "geographicAddress": [TravelRuleGeographicAddress.from_dict(_item) for _item in obj["geographicAddress"]] if obj.get("geographicAddress") is not None else None, + "nationalIdentification": TravelRuleNationalIdentification.from_dict(obj["nationalIdentification"]) if obj.get("nationalIdentification") is not None else None, + "customerIdentification": obj.get("customerIdentification"), + "customerNumber": obj.get("customerNumber"), + "countryOfRegistration": obj.get("countryOfRegistration") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_legal_person_name_identifier.py b/fireblocks/models/travel_rule_legal_person_name_identifier.py new file mode 100644 index 0000000..1d91773 --- /dev/null +++ b/fireblocks/models/travel_rule_legal_person_name_identifier.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleLegalPersonNameIdentifier(BaseModel): + """ + TravelRuleLegalPersonNameIdentifier + """ # noqa: E501 + legal_person_name: Optional[StrictStr] = Field(default=None, description="Name by which the legal person is known. The value must be encrypted.", alias="legalPersonName") + legal_person_name_identifier_type: Optional[StrictStr] = Field(default=None, description="Specifies the type of name for a legal person. Acceptable values are: - 'REGISTERED': The official registered name. - 'TRADE': A trading name or DBA (Doing Business As) name. - 'OTHER': Any other type of name. The value must be encrypted.", alias="legalPersonNameIdentifierType") + __properties: ClassVar[List[str]] = ["legalPersonName", "legalPersonNameIdentifierType"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleLegalPersonNameIdentifier from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleLegalPersonNameIdentifier from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "legalPersonName": obj.get("legalPersonName"), + "legalPersonNameIdentifierType": obj.get("legalPersonNameIdentifierType") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_national_identification.py b/fireblocks/models/travel_rule_national_identification.py new file mode 100644 index 0000000..040271a --- /dev/null +++ b/fireblocks/models/travel_rule_national_identification.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleNationalIdentification(BaseModel): + """ + Represents a national identifier for a person or entity + """ # noqa: E501 + country_of_issue: Optional[StrictStr] = Field(default=None, description="Country that issued the national identifier (ISO-3166 Alpha-2 country code). The value must be encrypted.", alias="countryOfIssue") + national_identifier: Optional[StrictStr] = Field(default=None, description="National identifier (max 35 characters). The value must be encrypted.", alias="nationalIdentifier") + national_identifier_type: Optional[StrictStr] = Field(default=None, description="Type of national identifier. Acceptable values include: - 'PASSPORT': Passport number - 'NATIONAL_ID': National identification number - 'TAX_ID': Tax identification number - 'SOCIAL_SECURITY': Social security number The value must be encrypted.", alias="nationalIdentifierType") + registration_authority: Optional[StrictStr] = Field(default=None, description="Registration authority (format -> RA followed by 6 digits). The value must be encrypted.", alias="registrationAuthority") + __properties: ClassVar[List[str]] = ["countryOfIssue", "nationalIdentifier", "nationalIdentifierType", "registrationAuthority"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleNationalIdentification from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleNationalIdentification from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "countryOfIssue": obj.get("countryOfIssue"), + "nationalIdentifier": obj.get("nationalIdentifier"), + "nationalIdentifierType": obj.get("nationalIdentifierType"), + "registrationAuthority": obj.get("registrationAuthority") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_natural_name_identifier.py b/fireblocks/models/travel_rule_natural_name_identifier.py new file mode 100644 index 0000000..7d9941a --- /dev/null +++ b/fireblocks/models/travel_rule_natural_name_identifier.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleNaturalNameIdentifier(BaseModel): + """ + TravelRuleNaturalNameIdentifier + """ # noqa: E501 + primary_identifier: Optional[StrictStr] = Field(default=None, description="The primary identifier of the name. The value must be encrypted.", alias="primaryIdentifier") + secondary_identifier: Optional[StrictStr] = Field(default=None, description="The secondary identifier of the name. The value must be encrypted.", alias="secondaryIdentifier") + name_identifier_type: Optional[StrictStr] = Field(default=None, description="The type of the name identifier. The value must be encrypted. The value must be one of the following: [LEGL, DBA, TRAD, NICK, ALIA, MAID, FORM, PREV, BORN, OTHR].", alias="nameIdentifierType") + __properties: ClassVar[List[str]] = ["primaryIdentifier", "secondaryIdentifier", "nameIdentifierType"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleNaturalNameIdentifier from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleNaturalNameIdentifier from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "primaryIdentifier": obj.get("primaryIdentifier"), + "secondaryIdentifier": obj.get("secondaryIdentifier"), + "nameIdentifierType": obj.get("nameIdentifierType") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_natural_person.py b/fireblocks/models/travel_rule_natural_person.py new file mode 100644 index 0000000..d625184 --- /dev/null +++ b/fireblocks/models/travel_rule_natural_person.py @@ -0,0 +1,124 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_date_and_place_of_birth import TravelRuleDateAndPlaceOfBirth +from fireblocks.models.travel_rule_geographic_address import TravelRuleGeographicAddress +from fireblocks.models.travel_rule_national_identification import TravelRuleNationalIdentification +from fireblocks.models.travel_rule_natural_person_name_identifier import TravelRuleNaturalPersonNameIdentifier +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleNaturalPerson(BaseModel): + """ + TravelRuleNaturalPerson + """ # noqa: E501 + name: Optional[List[TravelRuleNaturalPersonNameIdentifier]] = Field(default=None, description="An array of structured name identifiers for the natural person, referencing the TravelRuleNaturalPersonNameIdentifier schema.") + geographic_address: Optional[List[TravelRuleGeographicAddress]] = Field(default=None, description="An array of geographic addresses associated with the natural person, referencing the TravelRuleGeographicAddress schema.", alias="geographicAddress") + national_identification: Optional[TravelRuleNationalIdentification] = Field(default=None, alias="nationalIdentification") + date_and_place_of_birth: Optional[TravelRuleDateAndPlaceOfBirth] = Field(default=None, alias="dateAndPlaceOfBirth") + customer_identification: Optional[StrictStr] = Field(default=None, description="A unique identifier for the customer within the organization's context. The value must be encrypted.", alias="customerIdentification") + country_of_residence: Optional[StrictStr] = Field(default=None, description="The ISO-3166 Alpha-2 country code of the natural person's residence. The value must be encrypted.", alias="countryOfResidence") + customer_number: Optional[StrictStr] = Field(default=None, description="A distinct identifier that uniquely identifies the customer within the organization. The value must be encrypted.", alias="customerNumber") + __properties: ClassVar[List[str]] = ["name", "geographicAddress", "nationalIdentification", "dateAndPlaceOfBirth", "customerIdentification", "countryOfResidence", "customerNumber"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleNaturalPerson from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in name (list) + _items = [] + if self.name: + for _item in self.name: + if _item: + _items.append(_item.to_dict()) + _dict['name'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in geographic_address (list) + _items = [] + if self.geographic_address: + for _item in self.geographic_address: + if _item: + _items.append(_item.to_dict()) + _dict['geographicAddress'] = _items + # override the default output from pydantic by calling `to_dict()` of national_identification + if self.national_identification: + _dict['nationalIdentification'] = self.national_identification.to_dict() + # override the default output from pydantic by calling `to_dict()` of date_and_place_of_birth + if self.date_and_place_of_birth: + _dict['dateAndPlaceOfBirth'] = self.date_and_place_of_birth.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleNaturalPerson from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": [TravelRuleNaturalPersonNameIdentifier.from_dict(_item) for _item in obj["name"]] if obj.get("name") is not None else None, + "geographicAddress": [TravelRuleGeographicAddress.from_dict(_item) for _item in obj["geographicAddress"]] if obj.get("geographicAddress") is not None else None, + "nationalIdentification": TravelRuleNationalIdentification.from_dict(obj["nationalIdentification"]) if obj.get("nationalIdentification") is not None else None, + "dateAndPlaceOfBirth": TravelRuleDateAndPlaceOfBirth.from_dict(obj["dateAndPlaceOfBirth"]) if obj.get("dateAndPlaceOfBirth") is not None else None, + "customerIdentification": obj.get("customerIdentification"), + "countryOfResidence": obj.get("countryOfResidence"), + "customerNumber": obj.get("customerNumber") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_natural_person_name_identifier.py b/fireblocks/models/travel_rule_natural_person_name_identifier.py new file mode 100644 index 0000000..9453491 --- /dev/null +++ b/fireblocks/models/travel_rule_natural_person_name_identifier.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_natural_name_identifier import TravelRuleNaturalNameIdentifier +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleNaturalPersonNameIdentifier(BaseModel): + """ + TravelRuleNaturalPersonNameIdentifier + """ # noqa: E501 + name_identifier: Optional[List[TravelRuleNaturalNameIdentifier]] = Field(default=None, alias="nameIdentifier") + local_name_identifier: Optional[List[TravelRuleNaturalNameIdentifier]] = Field(default=None, alias="localNameIdentifier") + phonetic_name_identifier: Optional[List[TravelRuleNaturalNameIdentifier]] = Field(default=None, alias="phoneticNameIdentifier") + __properties: ClassVar[List[str]] = ["nameIdentifier", "localNameIdentifier", "phoneticNameIdentifier"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleNaturalPersonNameIdentifier from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in name_identifier (list) + _items = [] + if self.name_identifier: + for _item in self.name_identifier: + if _item: + _items.append(_item.to_dict()) + _dict['nameIdentifier'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in local_name_identifier (list) + _items = [] + if self.local_name_identifier: + for _item in self.local_name_identifier: + if _item: + _items.append(_item.to_dict()) + _dict['localNameIdentifier'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in phonetic_name_identifier (list) + _items = [] + if self.phonetic_name_identifier: + for _item in self.phonetic_name_identifier: + if _item: + _items.append(_item.to_dict()) + _dict['phoneticNameIdentifier'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleNaturalPersonNameIdentifier from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "nameIdentifier": [TravelRuleNaturalNameIdentifier.from_dict(_item) for _item in obj["nameIdentifier"]] if obj.get("nameIdentifier") is not None else None, + "localNameIdentifier": [TravelRuleNaturalNameIdentifier.from_dict(_item) for _item in obj["localNameIdentifier"]] if obj.get("localNameIdentifier") is not None else None, + "phoneticNameIdentifier": [TravelRuleNaturalNameIdentifier.from_dict(_item) for _item in obj["phoneticNameIdentifier"]] if obj.get("phoneticNameIdentifier") is not None else None + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_ownership_proof.py b/fireblocks/models/travel_rule_ownership_proof.py index ee26f0f..da387e7 100644 --- a/fireblocks/models/travel_rule_ownership_proof.py +++ b/fireblocks/models/travel_rule_ownership_proof.py @@ -18,18 +18,23 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self class TravelRuleOwnershipProof(BaseModel): """ - TravelRuleOwnershipProof + Ownership proof related to the originator of the transaction. """ # noqa: E501 - type: Optional[StrictStr] = Field(default=None, description="Type of ownership proof") - proof: Optional[StrictStr] = Field(default=None, description="Identification number") - __properties: ClassVar[List[str]] = ["type", "proof"] + type: Optional[StrictStr] = Field(default=None, description="The type of ownership proof. Example values: - `eip-191`: Ethereum signature proof - `eip-712`: Ethereum typed data signature proof - `bip-137`: Bitcoin signature proof - `microtransfer`: Microtransaction (Satoshi test) - `screenshot`: Uploaded screenshot of the wallet - `self-declaration`: Checkbox attestation of ownership") + proof: Optional[StrictStr] = Field(default=None, description="The cryptographic signature, transaction hash, or other proof depending on the type. Examples: - For `eip-191`: `0x3dd4a17a...ce4a2bcd1b` - For `microtransfer`: The transaction hash `H3V8GXBy39Dz...tr3TSTkY=`") + attestation: Optional[StrictStr] = Field(default=None, description="A human-readable statement of wallet ownership. Required for signature proofs and self-declarations. Examples: - `I certify that ETH account 0x896B...0b9b belongs to me.` - `I hereby declare that the blockchain address 0xa437bEed902AF9338B7DEB23848e195d85019510 is under my control.`") + address: Optional[StrictStr] = Field(default=None, description="The wallet address being verified. Examples: - For Ethereum: `0x896B...0b9b` - For Bitcoin: `1442...dxhsQ`") + wallet_provider: Optional[StrictStr] = Field(default=None, description="The wallet provider or method used for verification. Examples: - For Metamask: `Metamask` - For manual signature: `manual`") + url: Optional[StrictStr] = Field(default=None, description="The URL for the uploaded screenshot (for `screenshot` proof types only). Example: `https://example.com/uploaded_image.png`") + confirmed: Optional[StrictBool] = Field(default=None, description="Whether the user confirmed ownership of the wallet (for `self-declaration` proofs). Example: `true`") + __properties: ClassVar[List[str]] = ["type", "proof", "attestation", "address", "wallet_provider", "url", "confirmed"] model_config = ConfigDict( populate_by_name=True, @@ -83,7 +88,12 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "type": obj.get("type"), - "proof": obj.get("proof") + "proof": obj.get("proof"), + "attestation": obj.get("attestation"), + "address": obj.get("address"), + "wallet_provider": obj.get("wallet_provider"), + "url": obj.get("url"), + "confirmed": obj.get("confirmed") }) return _obj diff --git a/fireblocks/models/travel_rule_person.py b/fireblocks/models/travel_rule_person.py new file mode 100644 index 0000000..6779c89 --- /dev/null +++ b/fireblocks/models/travel_rule_person.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_legal_person import TravelRuleLegalPerson +from fireblocks.models.travel_rule_natural_person import TravelRuleNaturalPerson +from typing import Optional, Set +from typing_extensions import Self + +class TravelRulePerson(BaseModel): + """ + TravelRulePerson + """ # noqa: E501 + natural_person: Optional[TravelRuleNaturalPerson] = Field(default=None, alias="naturalPerson") + legal_person: Optional[TravelRuleLegalPerson] = Field(default=None, alias="legalPerson") + __properties: ClassVar[List[str]] = ["naturalPerson", "legalPerson"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRulePerson from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of natural_person + if self.natural_person: + _dict['naturalPerson'] = self.natural_person.to_dict() + # override the default output from pydantic by calling `to_dict()` of legal_person + if self.legal_person: + _dict['legalPerson'] = self.legal_person.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRulePerson from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "naturalPerson": TravelRuleNaturalPerson.from_dict(obj["naturalPerson"]) if obj.get("naturalPerson") is not None else None, + "legalPerson": TravelRuleLegalPerson.from_dict(obj["legalPerson"]) if obj.get("legalPerson") is not None else None + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_pii_ivms.py b/fireblocks/models/travel_rule_pii_ivms.py index e684a50..06d0412 100644 --- a/fireblocks/models/travel_rule_pii_ivms.py +++ b/fireblocks/models/travel_rule_pii_ivms.py @@ -20,23 +20,18 @@ from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_person import TravelRulePerson from typing import Optional, Set from typing_extensions import Self class TravelRulePiiIVMS(BaseModel): """ - TravelRulePiiIVMS + Personal identifiable information related to the transaction """ # noqa: E501 - full_name: Optional[StrictStr] = Field(default=None, alias="fullName") - date_of_birth: Optional[StrictStr] = Field(default=None, alias="dateOfBirth") - place_of_birth: Optional[StrictStr] = Field(default=None, alias="placeOfBirth") - address: Optional[StrictStr] = None - identification_number: Optional[StrictStr] = Field(default=None, alias="identificationNumber") - nationality: Optional[StrictStr] = None - country_of_residence: Optional[StrictStr] = Field(default=None, alias="countryOfResidence") - tax_identification_number: Optional[StrictStr] = Field(default=None, alias="taxIdentificationNumber") - customer_number: Optional[StrictStr] = Field(default=None, alias="customerNumber") - __properties: ClassVar[List[str]] = ["fullName", "dateOfBirth", "placeOfBirth", "address", "identificationNumber", "nationality", "countryOfResidence", "taxIdentificationNumber", "customerNumber"] + originator_persons: Optional[List[TravelRulePerson]] = Field(default=None, description="Information about the originator of the transaction", alias="originatorPersons") + beneficiary_persons: Optional[List[TravelRulePerson]] = Field(default=None, description="Information about the beneficiary of the transaction", alias="beneficiaryPersons") + account_number: Optional[List[StrictStr]] = Field(default=None, description="Beneficiary account number. The value must be encrypted.", alias="accountNumber") + __properties: ClassVar[List[str]] = ["originatorPersons", "beneficiaryPersons", "accountNumber"] model_config = ConfigDict( populate_by_name=True, @@ -77,6 +72,20 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of each item in originator_persons (list) + _items = [] + if self.originator_persons: + for _item in self.originator_persons: + if _item: + _items.append(_item.to_dict()) + _dict['originatorPersons'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in beneficiary_persons (list) + _items = [] + if self.beneficiary_persons: + for _item in self.beneficiary_persons: + if _item: + _items.append(_item.to_dict()) + _dict['beneficiaryPersons'] = _items return _dict @classmethod @@ -89,15 +98,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "fullName": obj.get("fullName"), - "dateOfBirth": obj.get("dateOfBirth"), - "placeOfBirth": obj.get("placeOfBirth"), - "address": obj.get("address"), - "identificationNumber": obj.get("identificationNumber"), - "nationality": obj.get("nationality"), - "countryOfResidence": obj.get("countryOfResidence"), - "taxIdentificationNumber": obj.get("taxIdentificationNumber"), - "customerNumber": obj.get("customerNumber") + "originatorPersons": [TravelRulePerson.from_dict(_item) for _item in obj["originatorPersons"]] if obj.get("originatorPersons") is not None else None, + "beneficiaryPersons": [TravelRulePerson.from_dict(_item) for _item in obj["beneficiaryPersons"]] if obj.get("beneficiaryPersons") is not None else None, + "accountNumber": obj.get("accountNumber") }) return _obj diff --git a/fireblocks/models/travel_rule_transaction_blockchain_info.py b/fireblocks/models/travel_rule_transaction_blockchain_info.py index 8abfa49..01293df 100644 --- a/fireblocks/models/travel_rule_transaction_blockchain_info.py +++ b/fireblocks/models/travel_rule_transaction_blockchain_info.py @@ -25,11 +25,11 @@ class TravelRuleTransactionBlockchainInfo(BaseModel): """ - TravelRuleTransactionBlockchainInfo + Information about the blockchain transaction. """ # noqa: E501 - tx_hash: Optional[StrictStr] = Field(default=None, alias="txHash") - origin: Optional[StrictStr] = None - destination: Optional[StrictStr] = None + tx_hash: Optional[StrictStr] = Field(default=None, description="The hash of the transaction", alias="txHash") + origin: Optional[StrictStr] = Field(default=None, description="The origin address of the transaction") + destination: Optional[StrictStr] = Field(default=None, description="The destination address of the transaction") __properties: ClassVar[List[str]] = ["txHash", "origin", "destination"] model_config = ConfigDict( diff --git a/fireblocks/models/travel_rule_validate_date_and_place_of_birth.py b/fireblocks/models/travel_rule_validate_date_and_place_of_birth.py new file mode 100644 index 0000000..3ff715d --- /dev/null +++ b/fireblocks/models/travel_rule_validate_date_and_place_of_birth.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidateDateAndPlaceOfBirth(BaseModel): + """ + Represents the date and place of birth for a natural person + """ # noqa: E501 + date_of_birth: Optional[StrictStr] = Field(default=None, description="Date of birth in ISO 8601 format (YYYY-MM-DD)", alias="dateOfBirth") + place_of_birth: Optional[StrictStr] = Field(default=None, description="Place of birth", alias="placeOfBirth") + __properties: ClassVar[List[str]] = ["dateOfBirth", "placeOfBirth"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidateDateAndPlaceOfBirth from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidateDateAndPlaceOfBirth from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dateOfBirth": obj.get("dateOfBirth"), + "placeOfBirth": obj.get("placeOfBirth") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_full_transaction_request.py b/fireblocks/models/travel_rule_validate_full_transaction_request.py index 7dea29b..6c1f83b 100644 --- a/fireblocks/models/travel_rule_validate_full_transaction_request.py +++ b/fireblocks/models/travel_rule_validate_full_transaction_request.py @@ -18,11 +18,12 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from fireblocks.models.travel_rule_ownership_proof import TravelRuleOwnershipProof from fireblocks.models.travel_rule_pii_ivms import TravelRulePiiIVMS from fireblocks.models.travel_rule_transaction_blockchain_info import TravelRuleTransactionBlockchainInfo +from fireblocks.models.travel_rule_validate_pii_ivms import TravelRuleValidatePiiIVMS from typing import Optional, Set from typing_extensions import Self @@ -30,25 +31,41 @@ class TravelRuleValidateFullTransactionRequest(BaseModel): """ TravelRuleValidateFullTransactionRequest """ # noqa: E501 - transaction_asset: Optional[StrictStr] = Field(default=None, description="The asset involved in the transaction", alias="transactionAsset") - transaction_amount: Optional[StrictStr] = Field(default=None, description="The amount of the transaction", alias="transactionAmount") - originator_did: Optional[StrictStr] = Field(default=None, description="The DID of the transaction originator", alias="originatorDid") - beneficiary_did: Optional[StrictStr] = Field(default=None, description="The DID of the transaction beneficiary", alias="beneficiaryDid") - originator_vas_pdid: Optional[StrictStr] = Field(default=None, description="The VASP ID of the transaction originator", alias="originatorVASPdid") - beneficiary_vas_pdid: Optional[StrictStr] = Field(default=None, description="The VASP ID of the transaction beneficiary", alias="beneficiaryVASPdid") - beneficiary_vas_pname: Optional[StrictStr] = Field(default=None, description="The name of the VASP acting as the beneficiary", alias="beneficiaryVASPname") - transaction_blockchain_info: Optional[TravelRuleTransactionBlockchainInfo] = Field(default=None, description="Information about the blockchain transaction", alias="transactionBlockchainInfo") - originator: TravelRulePiiIVMS = Field(description="Information about the originator of the transaction") - beneficiary: TravelRulePiiIVMS = Field(description="Information about the beneficiary of the transaction") - encrypted: Optional[StrictStr] = Field(default=None, description="Encrypted data related to the transaction") - protocol: Optional[StrictStr] = Field(default=None, description="The protocol used to perform the travel rule") + originator_vas_pdid: Optional[StrictStr] = Field(default=None, description="The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network.", alias="originatorVASPdid") + beneficiary_vas_pdid: Optional[StrictStr] = Field(default=None, description="The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network.", alias="beneficiaryVASPdid") + transaction_asset: Optional[StrictStr] = Field(default=None, description="Transaction asset symbol (e.g., BTC, ETH, USDC). By using the `notation` query string, users can select the type of asset notation: - `fireblocks`: Converts asset symbols to Fireblocks notation. - `notabene`: Retains the original Notabene asset symbol format.", alias="transactionAsset") + transaction_amount: Optional[StrictStr] = Field(default=None, description="Transaction amount in the transaction asset. For example, if the asset is BTC, the amount is the value in BTC units. By using the `notation` query string, users can select the type of amount notation: - `fireblocks`: Converts the amount to Fireblocks notation (e.g., adjusted for decimals). - `notabene`: Retains the original Notabene amount format.", alias="transactionAmount") + originator_vas_pname: Optional[StrictStr] = Field(default=None, description="The name of the VASP acting as the transaction originator.", alias="originatorVASPname") + beneficiary_vas_pname: Optional[StrictStr] = Field(default=None, description="The name of the VASP acting as the transaction beneficiary.", alias="beneficiaryVASPname") + transaction_blockchain_info: Optional[TravelRuleTransactionBlockchainInfo] = Field(default=None, alias="transactionBlockchainInfo") + originator: TravelRuleValidatePiiIVMS + beneficiary: TravelRuleValidatePiiIVMS + encrypted: Optional[StrictStr] = Field(default=None, description="Encrypted data related to the transaction.") + protocol: Optional[StrictStr] = Field(default=None, description="The protocol used to perform the travel rule.") + skip_beneficiary_data_validation: Optional[StrictBool] = Field(default=None, description="Whether to skip validation of beneficiary data.", alias="skipBeneficiaryDataValidation") + travel_rule_behavior: Optional[StrictBool] = Field(default=None, description="Whether to check if the transaction complies with the travel rule in the beneficiary VASP's jurisdiction.", alias="travelRuleBehavior") + originator_ref: Optional[StrictStr] = Field(default=None, description="A reference ID related to the originator of the transaction.", alias="originatorRef") + beneficiary_ref: Optional[StrictStr] = Field(default=None, description="A reference ID related to the beneficiary of the transaction.", alias="beneficiaryRef") + travel_rule_behavior_ref: Optional[StrictStr] = Field(default=None, description="A reference ID related to the travel rule behavior.", alias="travelRuleBehaviorRef") + originator_proof: Optional[TravelRuleOwnershipProof] = Field(default=None, alias="originatorProof") + beneficiary_proof: Optional[TravelRuleOwnershipProof] = Field(default=None, alias="beneficiaryProof") + beneficiary_did: Optional[StrictStr] = Field(default=None, description="The Decentralized Identifier (DID) of the person at the receiving exchange (VASP). This identifier is generated when the customer is registered in the Notabene network, or automatically created based on the `beneficiaryRef`. - If neither `beneficiaryRef` nor `beneficiaryDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction.", alias="beneficiaryDid") + originator_did: Optional[StrictStr] = Field(default=None, description="The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting the withdrawal. This identifier is generated when the customer is registered in the Notabene network or automatically created based on the `originatorRef`. - If neither `originatorRef` nor `originatorDid` is provided in the `txCreate` payload, a new random DID is generated for every transaction.", alias="originatorDid") + is_non_custodial: Optional[StrictBool] = Field(default=None, description="Indicates if the transaction involves a non-custodial wallet.", alias="isNonCustodial") notification_email: Optional[StrictStr] = Field(default=None, description="The email address where a notification should be sent upon completion of the travel rule", alias="notificationEmail") - skip_beneficiary_data_validation: Optional[StrictBool] = Field(default=None, description="Whether to skip validation of beneficiary data", alias="skipBeneficiaryDataValidation") - travel_rule_behavior: Optional[StrictBool] = Field(default=None, description="Whether to check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction", alias="travelRuleBehavior") - originator_proof: Optional[TravelRuleOwnershipProof] = Field(default=None, description="Ownership proof related to the originator of the transaction", alias="originatorProof") - beneficiary_proof: Optional[TravelRuleOwnershipProof] = Field(default=None, description="Ownership proof related to the beneficiary of the transaction", alias="beneficiaryProof") - pii: Optional[TravelRulePiiIVMS] = Field(default=None, description="Personal identifiable information related to the transaction") - __properties: ClassVar[List[str]] = ["transactionAsset", "transactionAmount", "originatorDid", "beneficiaryDid", "originatorVASPdid", "beneficiaryVASPdid", "beneficiaryVASPname", "transactionBlockchainInfo", "originator", "beneficiary", "encrypted", "protocol", "notificationEmail", "skipBeneficiaryDataValidation", "travelRuleBehavior", "originatorProof", "beneficiaryProof", "pii"] + pii: Optional[TravelRulePiiIVMS] = None + pii_url: Optional[StrictStr] = Field(default=None, description="The URL of the personal identifiable information related to the transaction") + __properties: ClassVar[List[str]] = ["originatorVASPdid", "beneficiaryVASPdid", "transactionAsset", "transactionAmount", "originatorVASPname", "beneficiaryVASPname", "transactionBlockchainInfo", "originator", "beneficiary", "encrypted", "protocol", "skipBeneficiaryDataValidation", "travelRuleBehavior", "originatorRef", "beneficiaryRef", "travelRuleBehaviorRef", "originatorProof", "beneficiaryProof", "beneficiaryDid", "originatorDid", "isNonCustodial", "notificationEmail", "pii", "pii_url"] + + @field_validator('protocol') + def protocol_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['TRLight', 'TRP', 'OpenVASP']): + raise ValueError("must be one of enum values ('TRLight', 'TRP', 'OpenVASP')") + return value model_config = ConfigDict( populate_by_name=True, @@ -119,24 +136,30 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "transactionAsset": obj.get("transactionAsset"), - "transactionAmount": obj.get("transactionAmount"), - "originatorDid": obj.get("originatorDid"), - "beneficiaryDid": obj.get("beneficiaryDid"), "originatorVASPdid": obj.get("originatorVASPdid"), "beneficiaryVASPdid": obj.get("beneficiaryVASPdid"), + "transactionAsset": obj.get("transactionAsset"), + "transactionAmount": obj.get("transactionAmount"), + "originatorVASPname": obj.get("originatorVASPname"), "beneficiaryVASPname": obj.get("beneficiaryVASPname"), "transactionBlockchainInfo": TravelRuleTransactionBlockchainInfo.from_dict(obj["transactionBlockchainInfo"]) if obj.get("transactionBlockchainInfo") is not None else None, - "originator": TravelRulePiiIVMS.from_dict(obj["originator"]) if obj.get("originator") is not None else None, - "beneficiary": TravelRulePiiIVMS.from_dict(obj["beneficiary"]) if obj.get("beneficiary") is not None else None, + "originator": TravelRuleValidatePiiIVMS.from_dict(obj["originator"]) if obj.get("originator") is not None else None, + "beneficiary": TravelRuleValidatePiiIVMS.from_dict(obj["beneficiary"]) if obj.get("beneficiary") is not None else None, "encrypted": obj.get("encrypted"), "protocol": obj.get("protocol"), - "notificationEmail": obj.get("notificationEmail"), "skipBeneficiaryDataValidation": obj.get("skipBeneficiaryDataValidation"), "travelRuleBehavior": obj.get("travelRuleBehavior"), + "originatorRef": obj.get("originatorRef"), + "beneficiaryRef": obj.get("beneficiaryRef"), + "travelRuleBehaviorRef": obj.get("travelRuleBehaviorRef"), "originatorProof": TravelRuleOwnershipProof.from_dict(obj["originatorProof"]) if obj.get("originatorProof") is not None else None, "beneficiaryProof": TravelRuleOwnershipProof.from_dict(obj["beneficiaryProof"]) if obj.get("beneficiaryProof") is not None else None, - "pii": TravelRulePiiIVMS.from_dict(obj["pii"]) if obj.get("pii") is not None else None + "beneficiaryDid": obj.get("beneficiaryDid"), + "originatorDid": obj.get("originatorDid"), + "isNonCustodial": obj.get("isNonCustodial"), + "notificationEmail": obj.get("notificationEmail"), + "pii": TravelRulePiiIVMS.from_dict(obj["pii"]) if obj.get("pii") is not None else None, + "pii_url": obj.get("pii_url") }) return _obj diff --git a/fireblocks/models/travel_rule_validate_geographic_address.py b/fireblocks/models/travel_rule_validate_geographic_address.py new file mode 100644 index 0000000..e25c198 --- /dev/null +++ b/fireblocks/models/travel_rule_validate_geographic_address.py @@ -0,0 +1,128 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidateGeographicAddress(BaseModel): + """ + TravelRuleValidateGeographicAddress + """ # noqa: E501 + street_name: Optional[StrictStr] = Field(default=None, description="Name of a street or thoroughfare", alias="streetName") + town_name: Optional[StrictStr] = Field(default=None, description="Name of a built-up area, with defined boundaries, and a local government", alias="townName") + country: Optional[StrictStr] = Field(default=None, description="Nation with its own government (ISO-3166 Alpha-2 country code)") + building_number: Optional[StrictStr] = Field(default=None, description="Number that identifies the position of a building on a street", alias="buildingNumber") + post_code: Optional[StrictStr] = Field(default=None, description="Identifier consisting of a group of letters and/or numbers added to a postal address to assist the sorting of mail", alias="postCode") + address_type: Optional[StrictStr] = Field(default=None, description="Specifies the type of address. Acceptable values are: - 'HOME': Residential, the home address - 'BIZZ': Business, the business address - 'GEOG': Geographic, an unspecified physical (geographical) address", alias="addressType") + department: Optional[StrictStr] = Field(default=None, description="Identification of a division of a large organisation or building") + sub_department: Optional[StrictStr] = Field(default=None, description="Identification of a sub-division of a large organisation or building", alias="subDepartment") + building_name: Optional[StrictStr] = Field(default=None, description="Name of the building or house", alias="buildingName") + floor: Optional[StrictStr] = Field(default=None, description="Floor or storey within a building") + post_box: Optional[StrictStr] = Field(default=None, description="Numbered box in a post office", alias="postBox") + room: Optional[StrictStr] = Field(default=None, description="Building room number") + town_location_name: Optional[StrictStr] = Field(default=None, description="Specific location name within the town", alias="townLocationName") + district_name: Optional[StrictStr] = Field(default=None, description="Identifies a subdivision within a country subdivision", alias="districtName") + country_sub_division: Optional[StrictStr] = Field(default=None, description="Identifies a subdivision of a country such as state, region, or province", alias="countrySubDivision") + address_line: Optional[List[StrictStr]] = Field(default=None, description="Information that locates and identifies a specific address, presented in free format text", alias="addressLine") + __properties: ClassVar[List[str]] = ["streetName", "townName", "country", "buildingNumber", "postCode", "addressType", "department", "subDepartment", "buildingName", "floor", "postBox", "room", "townLocationName", "districtName", "countrySubDivision", "addressLine"] + + @field_validator('address_type') + def address_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['HOME', 'BIZZ', 'GEOG']): + raise ValueError("must be one of enum values ('HOME', 'BIZZ', 'GEOG')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidateGeographicAddress from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidateGeographicAddress from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "streetName": obj.get("streetName"), + "townName": obj.get("townName"), + "country": obj.get("country"), + "buildingNumber": obj.get("buildingNumber"), + "postCode": obj.get("postCode"), + "addressType": obj.get("addressType"), + "department": obj.get("department"), + "subDepartment": obj.get("subDepartment"), + "buildingName": obj.get("buildingName"), + "floor": obj.get("floor"), + "postBox": obj.get("postBox"), + "room": obj.get("room"), + "townLocationName": obj.get("townLocationName"), + "districtName": obj.get("districtName"), + "countrySubDivision": obj.get("countrySubDivision"), + "addressLine": obj.get("addressLine") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_legal_person.py b/fireblocks/models/travel_rule_validate_legal_person.py new file mode 100644 index 0000000..f882fbd --- /dev/null +++ b/fireblocks/models/travel_rule_validate_legal_person.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_validate_geographic_address import TravelRuleValidateGeographicAddress +from fireblocks.models.travel_rule_validate_legal_person_name_identifier import TravelRuleValidateLegalPersonNameIdentifier +from fireblocks.models.travel_rule_validate_national_identification import TravelRuleValidateNationalIdentification +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidateLegalPerson(BaseModel): + """ + TravelRuleValidateLegalPerson + """ # noqa: E501 + name: Optional[TravelRuleValidateLegalPersonNameIdentifier] = None + geographic_address: Optional[List[TravelRuleValidateGeographicAddress]] = Field(default=None, description="The array of geographic addresses associated with the legal person.", alias="geographicAddress") + national_identification: Optional[TravelRuleValidateNationalIdentification] = Field(default=None, alias="nationalIdentification") + customer_identification: Optional[StrictStr] = Field(default=None, description="A unique identifier that identifies the customer in the organization's context.", alias="customerIdentification") + customer_number: Optional[StrictStr] = Field(default=None, description="A distinct identifier that uniquely identifies the customer within the organization.", alias="customerNumber") + country_of_registration: Optional[StrictStr] = Field(default=None, description="The ISO-3166 Alpha-2 country code where the legal person is registered.", alias="countryOfRegistration") + __properties: ClassVar[List[str]] = ["name", "geographicAddress", "nationalIdentification", "customerIdentification", "customerNumber", "countryOfRegistration"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidateLegalPerson from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of name + if self.name: + _dict['name'] = self.name.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in geographic_address (list) + _items = [] + if self.geographic_address: + for _item in self.geographic_address: + if _item: + _items.append(_item.to_dict()) + _dict['geographicAddress'] = _items + # override the default output from pydantic by calling `to_dict()` of national_identification + if self.national_identification: + _dict['nationalIdentification'] = self.national_identification.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidateLegalPerson from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": TravelRuleValidateLegalPersonNameIdentifier.from_dict(obj["name"]) if obj.get("name") is not None else None, + "geographicAddress": [TravelRuleValidateGeographicAddress.from_dict(_item) for _item in obj["geographicAddress"]] if obj.get("geographicAddress") is not None else None, + "nationalIdentification": TravelRuleValidateNationalIdentification.from_dict(obj["nationalIdentification"]) if obj.get("nationalIdentification") is not None else None, + "customerIdentification": obj.get("customerIdentification"), + "customerNumber": obj.get("customerNumber"), + "countryOfRegistration": obj.get("countryOfRegistration") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_legal_person_name_identifier.py b/fireblocks/models/travel_rule_validate_legal_person_name_identifier.py new file mode 100644 index 0000000..d4a0b03 --- /dev/null +++ b/fireblocks/models/travel_rule_validate_legal_person_name_identifier.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidateLegalPersonNameIdentifier(BaseModel): + """ + TravelRuleValidateLegalPersonNameIdentifier + """ # noqa: E501 + legal_person_name: Optional[Annotated[str, Field(strict=True, max_length=100)]] = Field(default=None, description="Name by which the legal person is known.", alias="legalPersonName") + legal_person_name_identifier_type: Optional[StrictStr] = Field(default=None, description="Specifies the type of name for a legal person. Acceptable values are: - 'REGISTERED': The official registered name. - 'TRADE': A trading name or DBA (Doing Business As) name. - 'OTHER': Any other type of name.", alias="legalPersonNameIdentifierType") + __properties: ClassVar[List[str]] = ["legalPersonName", "legalPersonNameIdentifierType"] + + @field_validator('legal_person_name_identifier_type') + def legal_person_name_identifier_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['REGISTERED', 'TRADE', 'OTHER']): + raise ValueError("must be one of enum values ('REGISTERED', 'TRADE', 'OTHER')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidateLegalPersonNameIdentifier from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidateLegalPersonNameIdentifier from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "legalPersonName": obj.get("legalPersonName"), + "legalPersonNameIdentifierType": obj.get("legalPersonNameIdentifierType") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_national_identification.py b/fireblocks/models/travel_rule_validate_national_identification.py new file mode 100644 index 0000000..08fae3a --- /dev/null +++ b/fireblocks/models/travel_rule_validate_national_identification.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidateNationalIdentification(BaseModel): + """ + Represents a national identifier for a person or entity + """ # noqa: E501 + country_of_issue: Optional[StrictStr] = Field(default=None, description="Country that issued the national identifier (ISO-3166 Alpha-2 country code)", alias="countryOfIssue") + national_identifier: Optional[Annotated[str, Field(strict=True, max_length=35)]] = Field(default=None, description="National identifier (max 35 characters)", alias="nationalIdentifier") + national_identifier_type: Optional[StrictStr] = Field(default=None, description="Type of national identifier. Acceptable values include: - 'PASSPORT': Passport number - 'NATIONAL_ID': National identification number - 'TAX_ID': Tax identification number - 'SOCIAL_SECURITY': Social security number", alias="nationalIdentifierType") + registration_authority: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Registration authority (format -> RA followed by 6 digits)", alias="registrationAuthority") + __properties: ClassVar[List[str]] = ["countryOfIssue", "nationalIdentifier", "nationalIdentifierType", "registrationAuthority"] + + @field_validator('national_identifier_type') + def national_identifier_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['PASSPORT', 'NATIONAL_ID', 'TAX_ID', 'SOCIAL_SECURITY']): + raise ValueError("must be one of enum values ('PASSPORT', 'NATIONAL_ID', 'TAX_ID', 'SOCIAL_SECURITY')") + return value + + @field_validator('registration_authority') + def registration_authority_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^RA\d{6}$", value): + raise ValueError(r"must validate the regular expression /^RA\d{6}$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidateNationalIdentification from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidateNationalIdentification from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "countryOfIssue": obj.get("countryOfIssue"), + "nationalIdentifier": obj.get("nationalIdentifier"), + "nationalIdentifierType": obj.get("nationalIdentifierType"), + "registrationAuthority": obj.get("registrationAuthority") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_natural_name_identifier.py b/fireblocks/models/travel_rule_validate_natural_name_identifier.py new file mode 100644 index 0000000..ff09446 --- /dev/null +++ b/fireblocks/models/travel_rule_validate_natural_name_identifier.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidateNaturalNameIdentifier(BaseModel): + """ + TravelRuleValidateNaturalNameIdentifier + """ # noqa: E501 + primary_identifier: Optional[StrictStr] = Field(default=None, description="The primary identifier of the name", alias="primaryIdentifier") + secondary_identifier: Optional[StrictStr] = Field(default=None, description="The secondary identifier of the name", alias="secondaryIdentifier") + name_identifier_type: Optional[StrictStr] = Field(default=None, description="Specifies the type of name for a natural person. Acceptable values are: - 'ALIA': Alias name, a name other than the legal name by which a natural person is also known. - 'BIRT': Name at birth, the name given to a natural person at birth. - 'MAID': Maiden name, the original name of a natural person who has changed their name after marriage. - 'LEGL': Legal name, the name that identifies a natural person for legal, official, or administrative purposes. - 'MISC': Unspecified, a name by which a natural person may be known but cannot otherwise be categorized.", alias="nameIdentifierType") + __properties: ClassVar[List[str]] = ["primaryIdentifier", "secondaryIdentifier", "nameIdentifierType"] + + @field_validator('name_identifier_type') + def name_identifier_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['ALIA', 'BIRT', 'MAID', 'LEGL', 'MISC']): + raise ValueError("must be one of enum values ('ALIA', 'BIRT', 'MAID', 'LEGL', 'MISC')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidateNaturalNameIdentifier from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidateNaturalNameIdentifier from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "primaryIdentifier": obj.get("primaryIdentifier"), + "secondaryIdentifier": obj.get("secondaryIdentifier"), + "nameIdentifierType": obj.get("nameIdentifierType") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_natural_person.py b/fireblocks/models/travel_rule_validate_natural_person.py new file mode 100644 index 0000000..8efed1f --- /dev/null +++ b/fireblocks/models/travel_rule_validate_natural_person.py @@ -0,0 +1,124 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_validate_date_and_place_of_birth import TravelRuleValidateDateAndPlaceOfBirth +from fireblocks.models.travel_rule_validate_geographic_address import TravelRuleValidateGeographicAddress +from fireblocks.models.travel_rule_validate_national_identification import TravelRuleValidateNationalIdentification +from fireblocks.models.travel_rule_validate_natural_person_name_identifier import TravelRuleValidateNaturalPersonNameIdentifier +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidateNaturalPerson(BaseModel): + """ + TravelRuleValidateNaturalPerson + """ # noqa: E501 + name: Optional[List[TravelRuleValidateNaturalPersonNameIdentifier]] = Field(default=None, description="An array of structured name identifiers for the natural person, referencing the TravelRuleNaturalPersonNameIdentifier schema.") + geographic_address: Optional[List[TravelRuleValidateGeographicAddress]] = Field(default=None, description="An array of geographic addresses associated with the natural person, referencing the TravelRuleGeographicAddress schema.", alias="geographicAddress") + national_identification: Optional[TravelRuleValidateNationalIdentification] = Field(default=None, alias="nationalIdentification") + date_and_place_of_birth: Optional[TravelRuleValidateDateAndPlaceOfBirth] = Field(default=None, alias="dateAndPlaceOfBirth") + customer_identification: Optional[StrictStr] = Field(default=None, description="A unique identifier for the customer within the organization's context.", alias="customerIdentification") + country_of_residence: Optional[StrictStr] = Field(default=None, description="The ISO-3166 Alpha-2 country code of the natural person's residence.", alias="countryOfResidence") + customer_number: Optional[StrictStr] = Field(default=None, description="A distinct identifier that uniquely identifies the customer within the organization.", alias="customerNumber") + __properties: ClassVar[List[str]] = ["name", "geographicAddress", "nationalIdentification", "dateAndPlaceOfBirth", "customerIdentification", "countryOfResidence", "customerNumber"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidateNaturalPerson from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in name (list) + _items = [] + if self.name: + for _item in self.name: + if _item: + _items.append(_item.to_dict()) + _dict['name'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in geographic_address (list) + _items = [] + if self.geographic_address: + for _item in self.geographic_address: + if _item: + _items.append(_item.to_dict()) + _dict['geographicAddress'] = _items + # override the default output from pydantic by calling `to_dict()` of national_identification + if self.national_identification: + _dict['nationalIdentification'] = self.national_identification.to_dict() + # override the default output from pydantic by calling `to_dict()` of date_and_place_of_birth + if self.date_and_place_of_birth: + _dict['dateAndPlaceOfBirth'] = self.date_and_place_of_birth.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidateNaturalPerson from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": [TravelRuleValidateNaturalPersonNameIdentifier.from_dict(_item) for _item in obj["name"]] if obj.get("name") is not None else None, + "geographicAddress": [TravelRuleValidateGeographicAddress.from_dict(_item) for _item in obj["geographicAddress"]] if obj.get("geographicAddress") is not None else None, + "nationalIdentification": TravelRuleValidateNationalIdentification.from_dict(obj["nationalIdentification"]) if obj.get("nationalIdentification") is not None else None, + "dateAndPlaceOfBirth": TravelRuleValidateDateAndPlaceOfBirth.from_dict(obj["dateAndPlaceOfBirth"]) if obj.get("dateAndPlaceOfBirth") is not None else None, + "customerIdentification": obj.get("customerIdentification"), + "countryOfResidence": obj.get("countryOfResidence"), + "customerNumber": obj.get("customerNumber") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_natural_person_name_identifier.py b/fireblocks/models/travel_rule_validate_natural_person_name_identifier.py new file mode 100644 index 0000000..af55d91 --- /dev/null +++ b/fireblocks/models/travel_rule_validate_natural_person_name_identifier.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_validate_natural_name_identifier import TravelRuleValidateNaturalNameIdentifier +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidateNaturalPersonNameIdentifier(BaseModel): + """ + TravelRuleValidateNaturalPersonNameIdentifier + """ # noqa: E501 + name_identifier: Optional[List[TravelRuleValidateNaturalNameIdentifier]] = Field(default=None, alias="nameIdentifier") + local_name_identifier: Optional[List[TravelRuleValidateNaturalNameIdentifier]] = Field(default=None, alias="localNameIdentifier") + phonetic_name_identifier: Optional[List[TravelRuleValidateNaturalNameIdentifier]] = Field(default=None, alias="phoneticNameIdentifier") + __properties: ClassVar[List[str]] = ["nameIdentifier", "localNameIdentifier", "phoneticNameIdentifier"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidateNaturalPersonNameIdentifier from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in name_identifier (list) + _items = [] + if self.name_identifier: + for _item in self.name_identifier: + if _item: + _items.append(_item.to_dict()) + _dict['nameIdentifier'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in local_name_identifier (list) + _items = [] + if self.local_name_identifier: + for _item in self.local_name_identifier: + if _item: + _items.append(_item.to_dict()) + _dict['localNameIdentifier'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in phonetic_name_identifier (list) + _items = [] + if self.phonetic_name_identifier: + for _item in self.phonetic_name_identifier: + if _item: + _items.append(_item.to_dict()) + _dict['phoneticNameIdentifier'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidateNaturalPersonNameIdentifier from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "nameIdentifier": [TravelRuleValidateNaturalNameIdentifier.from_dict(_item) for _item in obj["nameIdentifier"]] if obj.get("nameIdentifier") is not None else None, + "localNameIdentifier": [TravelRuleValidateNaturalNameIdentifier.from_dict(_item) for _item in obj["localNameIdentifier"]] if obj.get("localNameIdentifier") is not None else None, + "phoneticNameIdentifier": [TravelRuleValidateNaturalNameIdentifier.from_dict(_item) for _item in obj["phoneticNameIdentifier"]] if obj.get("phoneticNameIdentifier") is not None else None + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_person.py b/fireblocks/models/travel_rule_validate_person.py new file mode 100644 index 0000000..0868389 --- /dev/null +++ b/fireblocks/models/travel_rule_validate_person.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_validate_legal_person import TravelRuleValidateLegalPerson +from fireblocks.models.travel_rule_validate_natural_person import TravelRuleValidateNaturalPerson +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidatePerson(BaseModel): + """ + TravelRuleValidatePerson + """ # noqa: E501 + natural_person: Optional[TravelRuleValidateNaturalPerson] = Field(default=None, alias="naturalPerson") + legal_person: Optional[TravelRuleValidateLegalPerson] = Field(default=None, alias="legalPerson") + __properties: ClassVar[List[str]] = ["naturalPerson", "legalPerson"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidatePerson from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of natural_person + if self.natural_person: + _dict['naturalPerson'] = self.natural_person.to_dict() + # override the default output from pydantic by calling `to_dict()` of legal_person + if self.legal_person: + _dict['legalPerson'] = self.legal_person.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidatePerson from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "naturalPerson": TravelRuleValidateNaturalPerson.from_dict(obj["naturalPerson"]) if obj.get("naturalPerson") is not None else None, + "legalPerson": TravelRuleValidateLegalPerson.from_dict(obj["legalPerson"]) if obj.get("legalPerson") is not None else None + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_pii_ivms.py b/fireblocks/models/travel_rule_validate_pii_ivms.py new file mode 100644 index 0000000..6d525ed --- /dev/null +++ b/fireblocks/models/travel_rule_validate_pii_ivms.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from fireblocks.models.travel_rule_validate_person import TravelRuleValidatePerson +from typing import Optional, Set +from typing_extensions import Self + +class TravelRuleValidatePiiIVMS(BaseModel): + """ + Information about the originator of the transaction. + """ # noqa: E501 + originator_persons: Optional[List[TravelRuleValidatePerson]] = Field(default=None, description="Information about the originator of the transaction", alias="originatorPersons") + beneficiary_persons: Optional[List[TravelRuleValidatePerson]] = Field(default=None, description="Information about the beneficiary of the transaction", alias="beneficiaryPersons") + account_number: Optional[List[StrictStr]] = Field(default=None, description="Beneficiary account number", alias="accountNumber") + __properties: ClassVar[List[str]] = ["originatorPersons", "beneficiaryPersons", "accountNumber"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TravelRuleValidatePiiIVMS from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in originator_persons (list) + _items = [] + if self.originator_persons: + for _item in self.originator_persons: + if _item: + _items.append(_item.to_dict()) + _dict['originatorPersons'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in beneficiary_persons (list) + _items = [] + if self.beneficiary_persons: + for _item in self.beneficiary_persons: + if _item: + _items.append(_item.to_dict()) + _dict['beneficiaryPersons'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TravelRuleValidatePiiIVMS from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "originatorPersons": [TravelRuleValidatePerson.from_dict(_item) for _item in obj["originatorPersons"]] if obj.get("originatorPersons") is not None else None, + "beneficiaryPersons": [TravelRuleValidatePerson.from_dict(_item) for _item in obj["beneficiaryPersons"]] if obj.get("beneficiaryPersons") is not None else None, + "accountNumber": obj.get("accountNumber") + }) + return _obj + + diff --git a/fireblocks/models/travel_rule_validate_transaction_request.py b/fireblocks/models/travel_rule_validate_transaction_request.py index 69a1e65..c90c00b 100644 --- a/fireblocks/models/travel_rule_validate_transaction_request.py +++ b/fireblocks/models/travel_rule_validate_transaction_request.py @@ -18,8 +18,8 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union from fireblocks.models.travel_rule_address import TravelRuleAddress from typing import Optional, Set from typing_extensions import Self @@ -28,9 +28,10 @@ class TravelRuleValidateTransactionRequest(BaseModel): """ TravelRuleValidateTransactionRequest """ # noqa: E501 - transaction_asset: StrictStr = Field(description="Transaction asset symbol BTC,ETH)", alias="transactionAsset") + transaction_asset: StrictStr = Field(description="Transaction asset symbol (BTC,ETH)", alias="transactionAsset") destination: StrictStr = Field(description="Transaction destination address") transaction_amount: StrictStr = Field(description="Transaction amount in the transaction asset", alias="transactionAmount") + transaction_asset_decimals: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Number of decimals in the transaction asset. This is used to convert the transaction amount to the smallest unit of the asset", alias="transactionAssetDecimals") originator_vas_pdid: StrictStr = Field(description="This is the identifier assigned to your VASP", alias="originatorVASPdid") originator_equals_beneficiary: StrictBool = Field(description="\"True\" if the originator and beneficiary is the same person and you therefore do not need to collect any information. \"False\" if it is a third-party transfer.", alias="originatorEqualsBeneficiary") travel_rule_behavior: Optional[StrictBool] = Field(default=None, description="This will also check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction", alias="travelRuleBehavior") @@ -38,8 +39,8 @@ class TravelRuleValidateTransactionRequest(BaseModel): beneficiary_vas_pname: Optional[StrictStr] = Field(default=None, description="Beneficiary VASP name", alias="beneficiaryVASPname") beneficiary_name: Optional[StrictStr] = Field(default=None, description="Beneficiary name", alias="beneficiaryName") beneficiary_account_number: Optional[StrictStr] = Field(default=None, description="Beneficiary name", alias="beneficiaryAccountNumber") - beneficiary_address: Optional[TravelRuleAddress] = Field(default=None, description="Beneficiary name", alias="beneficiaryAddress") - __properties: ClassVar[List[str]] = ["transactionAsset", "destination", "transactionAmount", "originatorVASPdid", "originatorEqualsBeneficiary", "travelRuleBehavior", "beneficiaryVASPdid", "beneficiaryVASPname", "beneficiaryName", "beneficiaryAccountNumber", "beneficiaryAddress"] + beneficiary_address: Optional[TravelRuleAddress] = Field(default=None, alias="beneficiaryAddress") + __properties: ClassVar[List[str]] = ["transactionAsset", "destination", "transactionAmount", "transactionAssetDecimals", "originatorVASPdid", "originatorEqualsBeneficiary", "travelRuleBehavior", "beneficiaryVASPdid", "beneficiaryVASPname", "beneficiaryName", "beneficiaryAccountNumber", "beneficiaryAddress"] model_config = ConfigDict( populate_by_name=True, @@ -98,6 +99,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "transactionAsset": obj.get("transactionAsset"), "destination": obj.get("destination"), "transactionAmount": obj.get("transactionAmount"), + "transactionAssetDecimals": obj.get("transactionAssetDecimals"), "originatorVASPdid": obj.get("originatorVASPdid"), "originatorEqualsBeneficiary": obj.get("originatorEqualsBeneficiary"), "travelRuleBehavior": obj.get("travelRuleBehavior"), diff --git a/fireblocks/models/travel_rule_validate_transaction_response.py b/fireblocks/models/travel_rule_validate_transaction_response.py index d5375c5..7152fe7 100644 --- a/fireblocks/models/travel_rule_validate_transaction_response.py +++ b/fireblocks/models/travel_rule_validate_transaction_response.py @@ -18,7 +18,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self @@ -36,6 +36,20 @@ class TravelRuleValidateTransactionResponse(BaseModel): warnings: List[StrictStr] = Field(description="\"errors/warnings\" will tell you what information about the beneficiary you need to collect from the sender.") __properties: ClassVar[List[str]] = ["isValid", "type", "beneficiaryAddressType", "addressSource", "beneficiaryVASPdid", "beneficiaryVASPname", "warnings"] + @field_validator('beneficiary_address_type') + def beneficiary_address_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['UNKNOWN', 'HOSTED', 'UNHOSTED']): + raise ValueError("must be one of enum values ('UNKNOWN', 'HOSTED', 'UNHOSTED')") + return value + + @field_validator('address_source') + def address_source_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['UNKNOWN', 'ADDRESS_HASH', 'ADDRESS_GRAPH', 'CHAINALYSIS', 'ELLIPTIC', 'CRYSTAL']): + raise ValueError("must be one of enum values ('UNKNOWN', 'ADDRESS_HASH', 'ADDRESS_GRAPH', 'CHAINALYSIS', 'ELLIPTIC', 'CRYSTAL')") + return value + model_config = ConfigDict( populate_by_name=True, validate_assignment=True, diff --git a/fireblocks/models/travel_rule_vasp.py b/fireblocks/models/travel_rule_vasp.py index d76c1eb..0be3103 100644 --- a/fireblocks/models/travel_rule_vasp.py +++ b/fireblocks/models/travel_rule_vasp.py @@ -19,7 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from fireblocks.models.travel_rule_issuers import TravelRuleIssuers from typing import Optional, Set from typing_extensions import Self @@ -28,51 +28,51 @@ class TravelRuleVASP(BaseModel): """ TravelRuleVASP """ # noqa: E501 - did: StrictStr - name: StrictStr - verification_status: StrictStr = Field(alias="verificationStatus") - address_line1: StrictStr = Field(alias="addressLine1") - address_line2: StrictStr = Field(alias="addressLine2") - city: StrictStr - country: StrictStr - email_domains: StrictStr = Field(alias="emailDomains") - website: StrictStr - logo: StrictStr - legal_structure: StrictStr = Field(alias="legalStructure") - legal_name: StrictStr = Field(alias="legalName") - year_founded: StrictStr = Field(alias="yearFounded") - incorporation_country: StrictStr = Field(alias="incorporationCountry") - is_regulated: StrictStr = Field(alias="isRegulated") - other_names: StrictStr = Field(alias="otherNames") - identification_type: StrictStr = Field(alias="identificationType") - identification_country: StrictStr = Field(alias="identificationCountry") - business_number: StrictStr = Field(alias="businessNumber") - regulatory_authorities: StrictStr = Field(alias="regulatoryAuthorities") - jurisdictions: StrictStr - street: StrictStr - number: StrictStr - unit: StrictStr - post_code: StrictStr = Field(alias="postCode") - state: StrictStr - certificates: StrictStr - description: StrictStr - travel_rule_openvasp: StrictStr = Field(alias="travelRule_OPENVASP") - travel_rule_sygna: StrictStr = Field(alias="travelRule_SYGNA") - travel_rule_trisa: StrictStr = Field(alias="travelRule_TRISA") - travel_rule_trlight: StrictStr = Field(alias="travelRule_TRLIGHT") - travel_rule_email: StrictStr = Field(alias="travelRule_EMAIL") - travel_rule_trp: StrictStr = Field(alias="travelRule_TRP") - travel_rule_shyft: StrictStr = Field(alias="travelRule_SHYFT") - travel_rule_ustravelrulewg: StrictStr = Field(alias="travelRule_USTRAVELRULEWG") - created_at: StrictStr = Field(alias="createdAt") - created_by: StrictStr = Field(alias="createdBy") - updated_at: StrictStr = Field(alias="updatedAt") - updated_by: StrictStr = Field(alias="updatedBy") - last_sent_date: StrictStr = Field(alias="lastSentDate") - last_received_date: StrictStr = Field(alias="lastReceivedDate") - documents: StrictStr - has_admin: StrictBool = Field(alias="hasAdmin") - is_notifiable: StrictBool = Field(alias="isNotifiable") + did: StrictStr = Field(description="The Decentralized Identifier (DID) of the VASP.") + name: StrictStr = Field(description="The name of the VASP.") + verification_status: StrictStr = Field(description="The current verification status of the VASP.", alias="verificationStatus") + address_line1: StrictStr = Field(description="The first line of the VASP's address.", alias="addressLine1") + address_line2: Optional[StrictStr] = Field(default=None, description="The second line of the VASP's address (if applicable).", alias="addressLine2") + city: StrictStr = Field(description="The city where the VASP is located.") + country: StrictStr = Field(description="The country where the VASP is registered (ISO-3166 Alpha-2 code).") + email_domains: StrictStr = Field(description="Comma-separated list of email domains associated with the VASP.", alias="emailDomains") + website: StrictStr = Field(description="The official website of the VASP.") + logo: Optional[StrictStr] = Field(default=None, description="URL to the logo of the VASP.") + legal_structure: StrictStr = Field(description="The legal structure of the VASP (e.g., Corporation, LLC).", alias="legalStructure") + legal_name: StrictStr = Field(description="The legal name of the VASP.", alias="legalName") + year_founded: StrictStr = Field(description="The year the VASP was founded.", alias="yearFounded") + incorporation_country: StrictStr = Field(description="The country where the VASP is incorporated (ISO-3166 Alpha-2 code).", alias="incorporationCountry") + is_regulated: StrictStr = Field(description="Indicates whether the VASP is regulated.", alias="isRegulated") + other_names: Optional[StrictStr] = Field(default=None, description="Other names the VASP is known by.", alias="otherNames") + identification_type: Optional[StrictStr] = Field(default=None, description="The type of identification used by the VASP.", alias="identificationType") + identification_country: Optional[StrictStr] = Field(default=None, description="The country of identification for the VASP (ISO-3166 Alpha-2 code).", alias="identificationCountry") + business_number: Optional[StrictStr] = Field(default=None, description="The business registration number of the VASP.", alias="businessNumber") + regulatory_authorities: Optional[StrictStr] = Field(default=None, description="The regulatory authorities overseeing the VASP.", alias="regulatoryAuthorities") + jurisdictions: StrictStr = Field(description="The jurisdictions where the VASP operates.") + street: Optional[StrictStr] = Field(default=None, description="The street name where the VASP is located.") + number: Optional[StrictStr] = Field(default=None, description="The building number of the VASP's address.") + unit: Optional[StrictStr] = Field(default=None, description="The unit or suite number of the VASP's address.") + post_code: Optional[StrictStr] = Field(default=None, description="The postal code of the VASP's location.", alias="postCode") + state: Optional[StrictStr] = Field(default=None, description="The state or region where the VASP is located.") + certificates: Optional[StrictStr] = Field(default=None, description="Certificates or licenses held by the VASP.") + description: Optional[StrictStr] = Field(default=None, description="A brief description of the VASP.") + travel_rule_openvasp: Optional[StrictStr] = Field(default=None, description="Travel rule compliance status for OpenVASP.", alias="travelRule_OPENVASP") + travel_rule_sygna: Optional[StrictStr] = Field(default=None, description="Travel rule compliance status for Sygna.", alias="travelRule_SYGNA") + travel_rule_trisa: Optional[StrictStr] = Field(default=None, description="Travel rule compliance status for TRISA.", alias="travelRule_TRISA") + travel_rule_trlight: StrictStr = Field(description="Travel rule compliance status for TRLight.", alias="travelRule_TRLIGHT") + travel_rule_email: Optional[StrictStr] = Field(default=None, description="Travel rule compliance status for EMAIL.", alias="travelRule_EMAIL") + travel_rule_trp: Optional[StrictStr] = Field(default=None, description="Travel rule compliance status for TRP.", alias="travelRule_TRP") + travel_rule_shyft: Optional[StrictStr] = Field(default=None, description="Travel rule compliance status for Shyft.", alias="travelRule_SHYFT") + travel_rule_ustravelrulewg: Optional[StrictStr] = Field(default=None, description="Travel rule compliance status for US Travel Rule WG.", alias="travelRule_USTRAVELRULEWG") + created_at: StrictStr = Field(description="Timestamp when the VASP record was created.", alias="createdAt") + created_by: Optional[StrictStr] = Field(default=None, description="User or system that created the VASP record.", alias="createdBy") + updated_at: Optional[StrictStr] = Field(default=None, description="Timestamp of the last update to the VASP record.", alias="updatedAt") + updated_by: Optional[StrictStr] = Field(default=None, description="User or system that last updated the VASP record.", alias="updatedBy") + last_sent_date: Optional[StrictStr] = Field(default=None, description="The last date a transaction was sent by the VASP.", alias="lastSentDate") + last_received_date: Optional[StrictStr] = Field(default=None, description="The last date a transaction was received by the VASP.", alias="lastReceivedDate") + documents: Optional[StrictStr] = Field(default=None, description="Documents associated with the VASP.") + has_admin: StrictBool = Field(description="Indicates if the VASP has an admin.", alias="hasAdmin") + is_notifiable: StrictBool = Field(description="Indicates if the VASP is notifiable for compliance reasons.", alias="isNotifiable") issuers: TravelRuleIssuers __properties: ClassVar[List[str]] = ["did", "name", "verificationStatus", "addressLine1", "addressLine2", "city", "country", "emailDomains", "website", "logo", "legalStructure", "legalName", "yearFounded", "incorporationCountry", "isRegulated", "otherNames", "identificationType", "identificationCountry", "businessNumber", "regulatoryAuthorities", "jurisdictions", "street", "number", "unit", "postCode", "state", "certificates", "description", "travelRule_OPENVASP", "travelRule_SYGNA", "travelRule_TRISA", "travelRule_TRLIGHT", "travelRule_EMAIL", "travelRule_TRP", "travelRule_SHYFT", "travelRule_USTRAVELRULEWG", "createdAt", "createdBy", "updatedAt", "updatedBy", "lastSentDate", "lastReceivedDate", "documents", "hasAdmin", "isNotifiable", "issuers"] diff --git a/pyproject.toml b/pyproject.toml index 622a39d..176ccaf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "fireblocks" -version = "7.0.1" +version = "0.0.0" description = "Fireblocks API" authors = ["Fireblocks "] license = "MIT License" diff --git a/setup.py b/setup.py index aff2783..f0a9f52 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "fireblocks" -VERSION = "7.0.1" +VERSION = "0.0.0" PYTHON_REQUIRES = ">=3.8" REQUIRES = [ "urllib3 >= 1.25.3, < 2.1.0", diff --git a/test/fireblocks/test_client.py b/test/fireblocks/test_client.py index 2874953..e9247cd 100644 --- a/test/fireblocks/test_client.py +++ b/test/fireblocks/test_client.py @@ -49,7 +49,7 @@ from fireblocks.api.staking_api import StakingApi from fireblocks.api.tokenization_api import TokenizationApi from fireblocks.api.transactions_api import TransactionsApi -from fireblocks.api.travel_rule_beta_api import TravelRuleBetaApi +from fireblocks.api.travel_rule_api import TravelRuleApi from fireblocks.api.user_groups_beta_api import UserGroupsBetaApi from fireblocks.api.users_api import UsersApi from fireblocks.api.vaults_api import VaultsApi @@ -171,8 +171,8 @@ def test_get_tokenization(fireblocks_instance): def test_get_transactions(fireblocks_instance): assert isinstance(fireblocks_instance.transactions, TransactionsApi) -def test_get_travel_rule_beta(fireblocks_instance): - assert isinstance(fireblocks_instance.travel_rule_beta, TravelRuleBetaApi) +def test_get_travel_rule(fireblocks_instance): + assert isinstance(fireblocks_instance.travel_rule, TravelRuleApi) def test_get_user_groups_beta(fireblocks_instance): assert isinstance(fireblocks_instance.user_groups_beta, UserGroupsBetaApi) diff --git a/test/test_add_collateral_request_body.py b/test/test_add_collateral_request_body.py index 3a1d95e..503ba88 100644 --- a/test/test_add_collateral_request_body.py +++ b/test/test_add_collateral_request_body.py @@ -76,19 +76,102 @@ def make_instance(self, include_optional) -> AddCollateralRequestBody: extra_parameters = fireblocks.models.extra_parameters.extraParameters(), customer_ref_id = 'abcdef', travel_rule_message = fireblocks.models.travel_rule_create_transaction_request.TravelRuleCreateTransactionRequest( - originator_vas_pdid = '', - beneficiary_vas_pdid = '', - beneficiary_vas_pname = '', - transaction_blockchain_info = null, - originator = null, - beneficiary = null, - encrypted = '', - protocol = '', - skip_beneficiary_data_validation = True, + originator_vas_pdid = 'did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2', + beneficiary_vas_pdid = 'did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6', + originator_vas_pname = 'Originator VASP Ltd.', + beneficiary_vas_pname = 'Beneficiary VASP Inc.', + beneficiary_vas_pwebsite = 'https://www.beneficiaryvasp.com', + transaction_blockchain_info = fireblocks.models.travel_rule_transaction_blockchain_info.TravelRuleTransactionBlockchainInfo( + tx_hash = '6.685730843558756E+76', + origin = '8.41132469470587E+47', ), + originator = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( + originator_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson() + ], + account_number = [ + 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ], ), + beneficiary = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS(), + encrypted = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', + protocol = 'IVMS101', + skip_beneficiary_data_validation = False, travel_rule_behavior = True, - originator_proof = null, - beneficiary_proof = null, - pii = null, ), + originator_ref = 'ORG123456', + beneficiary_ref = 'BEN654321', + travel_rule_behavior_ref = 'TRB987654', + originator_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), + beneficiary_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), + beneficiary_did = 'did:key:z6Mkf67890Zghijkl67890', + originator_did = 'did:key:z6Mkf12345Zabcdef12345', + is_non_custodial = True, ), auto_staking = True, network_staking = null, cpu_staking = null, diff --git a/test/test_remove_collateral_request_body.py b/test/test_remove_collateral_request_body.py index 8947fde..fe0d146 100644 --- a/test/test_remove_collateral_request_body.py +++ b/test/test_remove_collateral_request_body.py @@ -76,19 +76,102 @@ def make_instance(self, include_optional) -> RemoveCollateralRequestBody: extra_parameters = fireblocks.models.extra_parameters.extraParameters(), customer_ref_id = 'abcdef', travel_rule_message = fireblocks.models.travel_rule_create_transaction_request.TravelRuleCreateTransactionRequest( - originator_vas_pdid = '', - beneficiary_vas_pdid = '', - beneficiary_vas_pname = '', - transaction_blockchain_info = null, - originator = null, - beneficiary = null, - encrypted = '', - protocol = '', - skip_beneficiary_data_validation = True, + originator_vas_pdid = 'did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2', + beneficiary_vas_pdid = 'did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6', + originator_vas_pname = 'Originator VASP Ltd.', + beneficiary_vas_pname = 'Beneficiary VASP Inc.', + beneficiary_vas_pwebsite = 'https://www.beneficiaryvasp.com', + transaction_blockchain_info = fireblocks.models.travel_rule_transaction_blockchain_info.TravelRuleTransactionBlockchainInfo( + tx_hash = '6.685730843558756E+76', + origin = '8.41132469470587E+47', ), + originator = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( + originator_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson() + ], + account_number = [ + 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ], ), + beneficiary = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS(), + encrypted = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', + protocol = 'IVMS101', + skip_beneficiary_data_validation = False, travel_rule_behavior = True, - originator_proof = null, - beneficiary_proof = null, - pii = null, ), + originator_ref = 'ORG123456', + beneficiary_ref = 'BEN654321', + travel_rule_behavior_ref = 'TRB987654', + originator_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), + beneficiary_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), + beneficiary_did = 'did:key:z6Mkf67890Zghijkl67890', + originator_did = 'did:key:z6Mkf12345Zabcdef12345', + is_non_custodial = True, ), auto_staking = True, network_staking = null, cpu_staking = null, diff --git a/test/test_transaction_request.py b/test/test_transaction_request.py index 3893e34..b208bef 100644 --- a/test/test_transaction_request.py +++ b/test/test_transaction_request.py @@ -85,19 +85,105 @@ def make_instance(self, include_optional) -> TransactionRequest: extra_parameters = None, customer_ref_id = 'abcdef', travel_rule_message = fireblocks.models.travel_rule_create_transaction_request.TravelRuleCreateTransactionRequest( - originator_vas_pdid = '', - beneficiary_vas_pdid = '', - beneficiary_vas_pname = '', - transaction_blockchain_info = null, - originator = null, - beneficiary = null, - encrypted = '', - protocol = '', - skip_beneficiary_data_validation = True, + originator_vas_pdid = 'did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2', + beneficiary_vas_pdid = 'did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6', + originator_vas_pname = 'Originator VASP Ltd.', + beneficiary_vas_pname = 'Beneficiary VASP Inc.', + beneficiary_vas_pwebsite = 'https://www.beneficiaryvasp.com', + transaction_blockchain_info = fireblocks.models.travel_rule_transaction_blockchain_info.TravelRuleTransactionBlockchainInfo( + tx_hash = '6.685730843558756E+76', + origin = '8.41132469470587E+47', + destination = '8.41132469470587E+47', ), + originator = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( + originator_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson() + ], + account_number = [ + 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ], ), + beneficiary = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS(), + encrypted = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', + protocol = 'IVMS101', + skip_beneficiary_data_validation = False, travel_rule_behavior = True, - originator_proof = null, - beneficiary_proof = null, - pii = null, ), + originator_ref = 'ORG123456', + beneficiary_ref = 'BEN654321', + travel_rule_behavior_ref = 'TRB987654', + originator_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( + type = 'eip-191', + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), + beneficiary_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( + type = 'eip-191', + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), + beneficiary_did = 'did:key:z6Mkf67890Zghijkl67890', + originator_did = 'did:key:z6Mkf12345Zabcdef12345', + is_non_custodial = True, ), auto_staking = True, network_staking = None, cpu_staking = None, diff --git a/test/test_travel_rule_address.py b/test/test_travel_rule_address.py index e46435e..db249ca 100644 --- a/test/test_travel_rule_address.py +++ b/test/test_travel_rule_address.py @@ -44,10 +44,6 @@ def make_instance(self, include_optional) -> TravelRuleAddress: ) else: return TravelRuleAddress( - street = '1234 Example St', - city = 'New York', - state = 'NY', - postal_code = '10001', ) """ diff --git a/test/test_travel_rule_beta_api.py b/test/test_travel_rule_api.py similarity index 78% rename from test/test_travel_rule_beta_api.py rename to test/test_travel_rule_api.py index db5317b..72a9e7f 100644 --- a/test/test_travel_rule_beta_api.py +++ b/test/test_travel_rule_api.py @@ -15,14 +15,14 @@ import unittest -from fireblocks.api.travel_rule_beta_api import TravelRuleBetaApi +from fireblocks.api.travel_rule_api import TravelRuleApi -class TestTravelRuleBetaApi(unittest.TestCase): - """TravelRuleBetaApi unit test stubs""" +class TestTravelRuleApi(unittest.TestCase): + """TravelRuleApi unit test stubs""" def setUp(self) -> None: - self.api = TravelRuleBetaApi() + self.api = TravelRuleApi() def tearDown(self) -> None: pass @@ -69,13 +69,6 @@ def test_validate_full_travel_rule_transaction(self) -> None: """ pass - def test_validate_travel_rule_transaction(self) -> None: - """Test case for validate_travel_rule_transaction - - Validate Travel Rule Transaction - """ - pass - if __name__ == "__main__": unittest.main() diff --git a/test/test_travel_rule_create_transaction_request.py b/test/test_travel_rule_create_transaction_request.py index 20bbff7..c130a89 100644 --- a/test/test_travel_rule_create_transaction_request.py +++ b/test/test_travel_rule_create_transaction_request.py @@ -39,76 +39,296 @@ def make_instance(self, include_optional) -> TravelRuleCreateTransactionRequest: model = TravelRuleCreateTransactionRequest() if include_optional: return TravelRuleCreateTransactionRequest( - originator_vas_pdid = '', - beneficiary_vas_pdid = '', - beneficiary_vas_pname = '', + originator_vas_pdid = 'did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2', + beneficiary_vas_pdid = 'did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6', + originator_vas_pname = 'Originator VASP Ltd.', + beneficiary_vas_pname = 'Beneficiary VASP Inc.', + beneficiary_vas_pwebsite = 'https://www.beneficiaryvasp.com', transaction_blockchain_info = fireblocks.models.travel_rule_transaction_blockchain_info.TravelRuleTransactionBlockchainInfo( - tx_hash = '', - origin = '', - destination = '', ), + tx_hash = '6.685730843558756E+76', + origin = '8.41132469470587E+47', + destination = '8.41132469470587E+47', ), originator = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ), + originator_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson() + ], + account_number = [ + 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ], ), beneficiary = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ), - encrypted = '', - protocol = '', - skip_beneficiary_data_validation = True, + originator_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson() + ], + account_number = [ + 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ], ), + encrypted = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', + protocol = 'IVMS101', + skip_beneficiary_data_validation = False, travel_rule_behavior = True, + originator_ref = 'ORG123456', + beneficiary_ref = 'BEN654321', + travel_rule_behavior_ref = 'TRB987654', originator_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( - type = 'passport', - proof = '123456789', ), + type = 'eip-191', + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), beneficiary_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( - type = 'passport', - proof = '123456789', ), - pii = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ) + type = 'eip-191', + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), + beneficiary_did = 'did:key:z6Mkf67890Zghijkl67890', + originator_did = 'did:key:z6Mkf12345Zabcdef12345', + is_non_custodial = True ) else: return TravelRuleCreateTransactionRequest( originator = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ), + originator_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson() + ], + account_number = [ + 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ], ), beneficiary = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ), + originator_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson() + ], + account_number = [ + 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ], ), ) """ diff --git a/test/test_travel_rule_date_and_place_of_birth.py b/test/test_travel_rule_date_and_place_of_birth.py new file mode 100644 index 0000000..b834f30 --- /dev/null +++ b/test/test_travel_rule_date_and_place_of_birth.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_date_and_place_of_birth import ( + TravelRuleDateAndPlaceOfBirth, +) + + +class TestTravelRuleDateAndPlaceOfBirth(unittest.TestCase): + """TravelRuleDateAndPlaceOfBirth unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleDateAndPlaceOfBirth: + """Test TravelRuleDateAndPlaceOfBirth + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleDateAndPlaceOfBirth` + """ + model = TravelRuleDateAndPlaceOfBirth() + if include_optional: + return TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ) + else: + return TravelRuleDateAndPlaceOfBirth( + ) + """ + + def testTravelRuleDateAndPlaceOfBirth(self): + """Test TravelRuleDateAndPlaceOfBirth""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_geographic_address.py b/test/test_travel_rule_geographic_address.py new file mode 100644 index 0000000..400e3f6 --- /dev/null +++ b/test/test_travel_rule_geographic_address.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_geographic_address import TravelRuleGeographicAddress + + +class TestTravelRuleGeographicAddress(unittest.TestCase): + """TravelRuleGeographicAddress unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleGeographicAddress: + """Test TravelRuleGeographicAddress + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleGeographicAddress` + """ + model = TravelRuleGeographicAddress() + if include_optional: + return TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"] + ) + else: + return TravelRuleGeographicAddress( + ) + """ + + def testTravelRuleGeographicAddress(self): + """Test TravelRuleGeographicAddress""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_get_all_vasps_response.py b/test/test_travel_rule_get_all_vasps_response.py index 0521747..26e85b6 100644 --- a/test/test_travel_rule_get_all_vasps_response.py +++ b/test/test_travel_rule_get_all_vasps_response.py @@ -39,51 +39,51 @@ def make_instance(self, include_optional) -> TravelRuleGetAllVASPsResponse: model = TravelRuleGetAllVASPsResponse() if include_optional: return TravelRuleGetAllVASPsResponse( - vasps = [ + data = [ fireblocks.models.travel_rule_vasp.TravelRuleVASP( - did = '', - name = '', - verification_status = '', - address_line1 = '', - address_line2 = '', - city = '', - country = '', - email_domains = '', - website = '', - logo = '', - legal_structure = '', - legal_name = '', - year_founded = '', - incorporation_country = '', - is_regulated = '', - other_names = '', - identification_type = '', - identification_country = '', - business_number = '', - regulatory_authorities = '', - jurisdictions = '', - street = '', - number = '', - unit = '', - post_code = '', - state = '', - certificates = '', - description = '', - travel_rule_openvasp = '', - travel_rule_sygna = '', - travel_rule_trisa = '', - travel_rule_trlight = '', - travel_rule_email = '', - travel_rule_trp = '', - travel_rule_shyft = '', - travel_rule_ustravelrulewg = '', - created_at = '', - created_by = '', - updated_at = '', - updated_by = '', - last_sent_date = '', - last_received_date = '', - documents = '', + did = 'did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6', + name = 'Fireblocks TST', + verification_status = 'VERIFIED', + address_line1 = '657 Campfire Street', + address_line2 = 'Suite 10', + city = 'New York', + country = 'US', + email_domains = 'fireblocks.com,example.com', + website = 'https://fireblocks.com', + logo = 'https://fireblocks.com/logo.png', + legal_structure = 'CORPORATION', + legal_name = 'Fireblocks Inc.', + year_founded = '2019', + incorporation_country = 'US', + is_regulated = 'YES', + other_names = 'Fireblocks Test VASP', + identification_type = 'Business License', + identification_country = 'US', + business_number = '123456789', + regulatory_authorities = 'SEC, FINCEN', + jurisdictions = 'US, EU', + street = 'Wall Street', + number = '10', + unit = 'Apt 2B', + post_code = '10005', + state = 'NY', + certificates = 'ISO 27001', + description = 'A leading provider of crypto security solutions.', + travel_rule_openvasp = 'active', + travel_rule_sygna = 'inactive', + travel_rule_trisa = 'pending', + travel_rule_trlight = 'active', + travel_rule_email = 'inactive', + travel_rule_trp = 'active', + travel_rule_shyft = 'inactive', + travel_rule_ustravelrulewg = 'pending', + created_at = '2023-09-19T12:23:59.711Z', + created_by = 'admin', + updated_at = '2024-08-29T08:23:51.416Z', + updated_by = 'system', + last_sent_date = '2024-03-18T09:26:07.988Z', + last_received_date = '2024-03-20T11:45:30.212Z', + documents = '['license.pdf', 'compliance.pdf']', has_admin = True, is_notifiable = True, issuers = fireblocks.models.travel_rule_issuers.TravelRuleIssuers( @@ -103,55 +103,57 @@ def make_instance(self, include_optional) -> TravelRuleGetAllVASPsResponse: city = , country = , description = , ), ) - ] + ], + total = 2, + next = 'eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9' ) else: return TravelRuleGetAllVASPsResponse( - vasps = [ + data = [ fireblocks.models.travel_rule_vasp.TravelRuleVASP( - did = '', - name = '', - verification_status = '', - address_line1 = '', - address_line2 = '', - city = '', - country = '', - email_domains = '', - website = '', - logo = '', - legal_structure = '', - legal_name = '', - year_founded = '', - incorporation_country = '', - is_regulated = '', - other_names = '', - identification_type = '', - identification_country = '', - business_number = '', - regulatory_authorities = '', - jurisdictions = '', - street = '', - number = '', - unit = '', - post_code = '', - state = '', - certificates = '', - description = '', - travel_rule_openvasp = '', - travel_rule_sygna = '', - travel_rule_trisa = '', - travel_rule_trlight = '', - travel_rule_email = '', - travel_rule_trp = '', - travel_rule_shyft = '', - travel_rule_ustravelrulewg = '', - created_at = '', - created_by = '', - updated_at = '', - updated_by = '', - last_sent_date = '', - last_received_date = '', - documents = '', + did = 'did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6', + name = 'Fireblocks TST', + verification_status = 'VERIFIED', + address_line1 = '657 Campfire Street', + address_line2 = 'Suite 10', + city = 'New York', + country = 'US', + email_domains = 'fireblocks.com,example.com', + website = 'https://fireblocks.com', + logo = 'https://fireblocks.com/logo.png', + legal_structure = 'CORPORATION', + legal_name = 'Fireblocks Inc.', + year_founded = '2019', + incorporation_country = 'US', + is_regulated = 'YES', + other_names = 'Fireblocks Test VASP', + identification_type = 'Business License', + identification_country = 'US', + business_number = '123456789', + regulatory_authorities = 'SEC, FINCEN', + jurisdictions = 'US, EU', + street = 'Wall Street', + number = '10', + unit = 'Apt 2B', + post_code = '10005', + state = 'NY', + certificates = 'ISO 27001', + description = 'A leading provider of crypto security solutions.', + travel_rule_openvasp = 'active', + travel_rule_sygna = 'inactive', + travel_rule_trisa = 'pending', + travel_rule_trlight = 'active', + travel_rule_email = 'inactive', + travel_rule_trp = 'active', + travel_rule_shyft = 'inactive', + travel_rule_ustravelrulewg = 'pending', + created_at = '2023-09-19T12:23:59.711Z', + created_by = 'admin', + updated_at = '2024-08-29T08:23:51.416Z', + updated_by = 'system', + last_sent_date = '2024-03-18T09:26:07.988Z', + last_received_date = '2024-03-20T11:45:30.212Z', + documents = '['license.pdf', 'compliance.pdf']', has_admin = True, is_notifiable = True, issuers = fireblocks.models.travel_rule_issuers.TravelRuleIssuers( diff --git a/test/test_travel_rule_legal_person.py b/test/test_travel_rule_legal_person.py new file mode 100644 index 0000000..ae9168f --- /dev/null +++ b/test/test_travel_rule_legal_person.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_legal_person import TravelRuleLegalPerson + + +class TestTravelRuleLegalPerson(unittest.TestCase): + """TravelRuleLegalPerson unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleLegalPerson: + """Test TravelRuleLegalPerson + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleLegalPerson` + """ + model = TravelRuleLegalPerson() + if include_optional: + return TravelRuleLegalPerson( + name = fireblocks.models.travel_rule_legal_person_name_identifier.TravelRuleLegalPersonNameIdentifier( + legal_person_name = 'QmVXXj5BJchhqQTU27uEkeghYMnxR6aVjZxJP9jS6uCg9Q', + legal_person_name_identifier_type = 'QmPevsa5xdkxf6Lgt7f9YweRBdgseeAkWVaYyssKF3Q86e', ), + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr' + ) + else: + return TravelRuleLegalPerson( + ) + """ + + def testTravelRuleLegalPerson(self): + """Test TravelRuleLegalPerson""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_legal_person_name_identifier.py b/test/test_travel_rule_legal_person_name_identifier.py new file mode 100644 index 0000000..510cfab --- /dev/null +++ b/test/test_travel_rule_legal_person_name_identifier.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_legal_person_name_identifier import ( + TravelRuleLegalPersonNameIdentifier, +) + + +class TestTravelRuleLegalPersonNameIdentifier(unittest.TestCase): + """TravelRuleLegalPersonNameIdentifier unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleLegalPersonNameIdentifier: + """Test TravelRuleLegalPersonNameIdentifier + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleLegalPersonNameIdentifier` + """ + model = TravelRuleLegalPersonNameIdentifier() + if include_optional: + return TravelRuleLegalPersonNameIdentifier( + legal_person_name = 'QmVXXj5BJchhqQTU27uEkeghYMnxR6aVjZxJP9jS6uCg9Q', + legal_person_name_identifier_type = 'QmPevsa5xdkxf6Lgt7f9YweRBdgseeAkWVaYyssKF3Q86e' + ) + else: + return TravelRuleLegalPersonNameIdentifier( + ) + """ + + def testTravelRuleLegalPersonNameIdentifier(self): + """Test TravelRuleLegalPersonNameIdentifier""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_national_identification.py b/test/test_travel_rule_national_identification.py new file mode 100644 index 0000000..2d392fd --- /dev/null +++ b/test/test_travel_rule_national_identification.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_national_identification import ( + TravelRuleNationalIdentification, +) + + +class TestTravelRuleNationalIdentification(unittest.TestCase): + """TravelRuleNationalIdentification unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleNationalIdentification: + """Test TravelRuleNationalIdentification + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleNationalIdentification` + """ + model = TravelRuleNationalIdentification() + if include_optional: + return TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk' + ) + else: + return TravelRuleNationalIdentification( + ) + """ + + def testTravelRuleNationalIdentification(self): + """Test TravelRuleNationalIdentification""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_natural_name_identifier.py b/test/test_travel_rule_natural_name_identifier.py new file mode 100644 index 0000000..eae319e --- /dev/null +++ b/test/test_travel_rule_natural_name_identifier.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_natural_name_identifier import ( + TravelRuleNaturalNameIdentifier, +) + + +class TestTravelRuleNaturalNameIdentifier(unittest.TestCase): + """TravelRuleNaturalNameIdentifier unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleNaturalNameIdentifier: + """Test TravelRuleNaturalNameIdentifier + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleNaturalNameIdentifier` + """ + model = TravelRuleNaturalNameIdentifier() + if include_optional: + return TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv' + ) + else: + return TravelRuleNaturalNameIdentifier( + ) + """ + + def testTravelRuleNaturalNameIdentifier(self): + """Test TravelRuleNaturalNameIdentifier""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_natural_person.py b/test/test_travel_rule_natural_person.py new file mode 100644 index 0000000..ea8932b --- /dev/null +++ b/test/test_travel_rule_natural_person.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_natural_person import TravelRuleNaturalPerson + + +class TestTravelRuleNaturalPerson(unittest.TestCase): + """TravelRuleNaturalPerson unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleNaturalPerson: + """Test TravelRuleNaturalPerson + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleNaturalPerson` + """ + model = TravelRuleNaturalPerson() + if include_optional: + return TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj' + ) + else: + return TravelRuleNaturalPerson( + ) + """ + + def testTravelRuleNaturalPerson(self): + """Test TravelRuleNaturalPerson""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_natural_person_name_identifier.py b/test/test_travel_rule_natural_person_name_identifier.py new file mode 100644 index 0000000..8c1f60a --- /dev/null +++ b/test/test_travel_rule_natural_person_name_identifier.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_natural_person_name_identifier import ( + TravelRuleNaturalPersonNameIdentifier, +) + + +class TestTravelRuleNaturalPersonNameIdentifier(unittest.TestCase): + """TravelRuleNaturalPersonNameIdentifier unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleNaturalPersonNameIdentifier: + """Test TravelRuleNaturalPersonNameIdentifier + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleNaturalPersonNameIdentifier` + """ + model = TravelRuleNaturalPersonNameIdentifier() + if include_optional: + return TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ] + ) + else: + return TravelRuleNaturalPersonNameIdentifier( + ) + """ + + def testTravelRuleNaturalPersonNameIdentifier(self): + """Test TravelRuleNaturalPersonNameIdentifier""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_ownership_proof.py b/test/test_travel_rule_ownership_proof.py index 97eb2b9..cab226b 100644 --- a/test/test_travel_rule_ownership_proof.py +++ b/test/test_travel_rule_ownership_proof.py @@ -37,8 +37,13 @@ def make_instance(self, include_optional) -> TravelRuleOwnershipProof: model = TravelRuleOwnershipProof() if include_optional: return TravelRuleOwnershipProof( - type = 'passport', - proof = '123456789' + type = 'eip-191', + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True ) else: return TravelRuleOwnershipProof( diff --git a/test/test_travel_rule_person.py b/test/test_travel_rule_person.py new file mode 100644 index 0000000..1b5db3e --- /dev/null +++ b/test/test_travel_rule_person.py @@ -0,0 +1,133 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_person import TravelRulePerson + + +class TestTravelRulePerson(unittest.TestCase): + """TravelRulePerson unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRulePerson: + """Test TravelRulePerson + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRulePerson` + """ + model = TravelRulePerson() + if include_optional: + return TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + name = fireblocks.models.travel_rule_legal_person_name_identifier.TravelRuleLegalPersonNameIdentifier( + legal_person_name = 'QmVXXj5BJchhqQTU27uEkeghYMnxR6aVjZxJP9jS6uCg9Q', + legal_person_name_identifier_type = 'QmPevsa5xdkxf6Lgt7f9YweRBdgseeAkWVaYyssKF3Q86e', ), + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ) + ) + else: + return TravelRulePerson( + ) + """ + + def testTravelRulePerson(self): + """Test TravelRulePerson""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_pii_ivms.py b/test/test_travel_rule_pii_ivms.py index 4a383c1..c010fb4 100644 --- a/test/test_travel_rule_pii_ivms.py +++ b/test/test_travel_rule_pii_ivms.py @@ -37,15 +37,121 @@ def make_instance(self, include_optional) -> TravelRulePiiIVMS: model = TravelRulePiiIVMS() if include_optional: return TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '' + originator_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + account_number = [ + 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ] ) else: return TravelRulePiiIVMS( diff --git a/test/test_travel_rule_transaction_blockchain_info.py b/test/test_travel_rule_transaction_blockchain_info.py index ac72e05..cafac13 100644 --- a/test/test_travel_rule_transaction_blockchain_info.py +++ b/test/test_travel_rule_transaction_blockchain_info.py @@ -39,9 +39,9 @@ def make_instance(self, include_optional) -> TravelRuleTransactionBlockchainInfo model = TravelRuleTransactionBlockchainInfo() if include_optional: return TravelRuleTransactionBlockchainInfo( - tx_hash = '', - origin = '', - destination = '' + tx_hash = '6.685730843558756E+76', + origin = '8.41132469470587E+47', + destination = '8.41132469470587E+47' ) else: return TravelRuleTransactionBlockchainInfo( diff --git a/test/test_travel_rule_validate_date_and_place_of_birth.py b/test/test_travel_rule_validate_date_and_place_of_birth.py new file mode 100644 index 0000000..2b812c0 --- /dev/null +++ b/test/test_travel_rule_validate_date_and_place_of_birth.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_date_and_place_of_birth import ( + TravelRuleValidateDateAndPlaceOfBirth, +) + + +class TestTravelRuleValidateDateAndPlaceOfBirth(unittest.TestCase): + """TravelRuleValidateDateAndPlaceOfBirth unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleValidateDateAndPlaceOfBirth: + """Test TravelRuleValidateDateAndPlaceOfBirth + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidateDateAndPlaceOfBirth` + """ + model = TravelRuleValidateDateAndPlaceOfBirth() + if include_optional: + return TravelRuleValidateDateAndPlaceOfBirth( + date_of_birth = '1990-01-01', + place_of_birth = 'New York, USA' + ) + else: + return TravelRuleValidateDateAndPlaceOfBirth( + ) + """ + + def testTravelRuleValidateDateAndPlaceOfBirth(self): + """Test TravelRuleValidateDateAndPlaceOfBirth""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_full_transaction_request.py b/test/test_travel_rule_validate_full_transaction_request.py index 5d0141f..6cf7f12 100644 --- a/test/test_travel_rule_validate_full_transaction_request.py +++ b/test/test_travel_rule_validate_full_transaction_request.py @@ -41,81 +41,362 @@ def make_instance( model = TravelRuleValidateFullTransactionRequest() if include_optional: return TravelRuleValidateFullTransactionRequest( - transaction_asset = '', - transaction_amount = '', - originator_did = '', - beneficiary_did = '', - originator_vas_pdid = '', - beneficiary_vas_pdid = '', - beneficiary_vas_pname = '', + originator_vas_pdid = 'did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2', + beneficiary_vas_pdid = 'did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6', + transaction_asset = 'BTC', + transaction_amount = '10', + originator_vas_pname = 'Originator VASP Ltd.', + beneficiary_vas_pname = 'Beneficiary VASP Inc.', transaction_blockchain_info = fireblocks.models.travel_rule_transaction_blockchain_info.TravelRuleTransactionBlockchainInfo( - tx_hash = '', - origin = '', - destination = '', ), - originator = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ), - beneficiary = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ), - encrypted = '', - protocol = '', - notification_email = '', - skip_beneficiary_data_validation = True, + tx_hash = '6.685730843558756E+76', + origin = '8.41132469470587E+47', + destination = '8.41132469470587E+47', ), + originator = fireblocks.models.travel_rule_validate_pii_ivms.TravelRuleValidatePiiIVMS( + originator_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson( + natural_person = fireblocks.models.travel_rule_validate_natural_person.TravelRuleValidateNaturalPerson( + name = [ + fireblocks.models.travel_rule_validate_natural_person_name_identifier.TravelRuleValidateNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + date_and_place_of_birth = fireblocks.models.travel_rule_validate_date_and_place_of_birth.TravelRuleValidateDateAndPlaceOfBirth( + date_of_birth = '1990-01-01', + place_of_birth = 'New York, USA', ), + customer_identification = 'CUST123456', + country_of_residence = 'US', + customer_number = '123456789', ), + legal_person = fireblocks.models.travel_rule_validate_legal_person.TravelRuleValidateLegalPerson( + customer_identification = 'CUST987654', + customer_number = '123456789', + country_of_registration = 'US', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson() + ], + account_number = [ + '' + ], ), + beneficiary = fireblocks.models.travel_rule_validate_pii_ivms.TravelRuleValidatePiiIVMS( + originator_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson( + natural_person = fireblocks.models.travel_rule_validate_natural_person.TravelRuleValidateNaturalPerson( + name = [ + fireblocks.models.travel_rule_validate_natural_person_name_identifier.TravelRuleValidateNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + date_and_place_of_birth = fireblocks.models.travel_rule_validate_date_and_place_of_birth.TravelRuleValidateDateAndPlaceOfBirth( + date_of_birth = '1990-01-01', + place_of_birth = 'New York, USA', ), + customer_identification = 'CUST123456', + country_of_residence = 'US', + customer_number = '123456789', ), + legal_person = fireblocks.models.travel_rule_validate_legal_person.TravelRuleValidateLegalPerson( + customer_identification = 'CUST987654', + customer_number = '123456789', + country_of_registration = 'US', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson() + ], + account_number = [ + '' + ], ), + encrypted = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', + protocol = 'TRLight', + skip_beneficiary_data_validation = False, travel_rule_behavior = True, + originator_ref = 'ORG123456', + beneficiary_ref = 'BEN654321', + travel_rule_behavior_ref = 'TRB987654', originator_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( - type = 'passport', - proof = '123456789', ), + type = 'eip-191', + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), beneficiary_proof = fireblocks.models.travel_rule_ownership_proof.TravelRuleOwnershipProof( - type = 'passport', - proof = '123456789', ), + type = 'eip-191', + proof = '0x3dd4a17a...ce4a2bcd1b', + attestation = 'I certify that ETH account 0x896B...0b9b belongs to me.', + address = '0x896B...0b9b', + wallet_provider = 'Metamask', + url = 'https://example.com/uploaded_image.png', + confirmed = True, ), + beneficiary_did = 'did:key:z6Mkf67890Zghijkl67890', + originator_did = 'did:key:z6Mkf12345Zabcdef12345', + is_non_custodial = True, + notification_email = '', pii = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ) + originator_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson( + natural_person = fireblocks.models.travel_rule_natural_person.TravelRuleNaturalPerson( + name = [ + fireblocks.models.travel_rule_natural_person_name_identifier.TravelRuleNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_natural_name_identifier.TravelRuleNaturalNameIdentifier( + primary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + secondary_identifier = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', + name_identifier_type = 'QmP6wx8bx3SVNG3hd3SZKnS5pDjUan4y9H1VtyRqu7tsAv', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_geographic_address.TravelRuleGeographicAddress( + street_name = 'QmZGXXsKPk5iPS97LLjXB5e8Qs555ocdzcpbPMXvt84Ji9', + town_name = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + country = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + building_number = 'QmUFpNkxdsVtebDSUz5eP51kzoysXmqj2gBgeH11PD7SVP', + post_code = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + address_type = 'Qmdr9LcChZsoivS6uAhe7Qk7cGLDAx73wBZTVvq4WoU71H', + department = 'QmN7fb65x5MyA7RKyhbXaUKvJ7U4Y9eqpEZTmJYpNyEG8', + sub_department = 'QmTkfyGh54tXNqFxyEGK9NyTJZYpQ6RZ9zpNykxykME8s', + building_name = 'QmXJfGk85t6RKyhbXaEK9Nz4MEeMKypq6EY9zpJyC9nM9', + floor = 'QmZP5G7fhZpMyQxXnT9KyR6ybXaEM9zpJy4ME9MkTJGE1', + post_box = 'QmTkfYRGK54xFqXyJYNZyE9kY9zpMKytJnXy5z9EME9sJ', + room = 'QmRYXnT9KyhbXaEMZpMyxMkZ9zpYNYTJ4ME5kCGE7fhMJ', + town_location_name = 'QmNpZTyXJXnT9K6EYZpQxYNYMkC5p4kGEfhnkMJzpYT9Jm', + district_name = 'QmT9p6ERKyNYXnTyhbpMYJ4zpYT9kMJZT9QmEMGZ5kMhCy', + country_sub_division = 'QmK9yTbXaZpMYJYTYp6NT9QmEMGZT9p9kMJfhyGE4Z7k5C', + address_line = ["QmNp9kMjfhGZ5kMJzpNYXZTy6NQmZYEMGZ4kZT9Y6pNYT"], ) + ], + national_identification = fireblocks.models.travel_rule_national_identification.TravelRuleNationalIdentification( + country_of_issue = 'QmRGHdoxQfSi6tevyvaYGzs8BVStfqJqEyrMYqUfzXxkmm', + national_identifier = 'QmdR6qLnZ7Kwf5cBaXG8QFQenEvRg9JNZeoPranVuGd63z', + national_identifier_type = 'QmUKTg3aFJFhMz1o9gPqA3MgTRwd2LvDLwWTPHYUoMEYVi', + registration_authority = 'QmV9KJMyT9RJzpYfhME5xNCZ4G67fEkzTpRMyJzp9kTNYk', ), + date_and_place_of_birth = fireblocks.models.travel_rule_date_and_place_of_birth.TravelRuleDateAndPlaceOfBirth( + date_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', + place_of_birth = 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt', ), + customer_identification = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + country_of_residence = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', + customer_number = 'QmTJsK3sc3fPEVwvAp97UUiVoFhjzQhYX3sCda1JxuCnXj', ), + legal_person = fireblocks.models.travel_rule_legal_person.TravelRuleLegalPerson( + customer_identification = 'QmRY9AA4Uit2JRTxDzfzshrJdTK86Kf5HriA3dXDnihDmy', + customer_number = 'QmXvyML3AJUFpBbJqL5NVp7Vn7xNkuedTsSMk93duLCNW8', + country_of_registration = 'QmeoTk6UPruEAYNbJEAHdQYc53ap9BXmpnPMcuvs8wutdr', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_person.TravelRulePerson() + ], + account_number = [ + 'QmNkEt9VdnhjefQMXo3ZaZAs765ugoWiazaqcY9skHMjCt' + ], ), + pii_url = '' ) else: return TravelRuleValidateFullTransactionRequest( - originator = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ), - beneficiary = fireblocks.models.travel_rule_pii_ivms.TravelRulePiiIVMS( - full_name = '', - date_of_birth = '', - place_of_birth = '', - address = '', - identification_number = '', - nationality = '', - country_of_residence = '', - tax_identification_number = '', - customer_number = '', ), + originator = fireblocks.models.travel_rule_validate_pii_ivms.TravelRuleValidatePiiIVMS( + originator_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson( + natural_person = fireblocks.models.travel_rule_validate_natural_person.TravelRuleValidateNaturalPerson( + name = [ + fireblocks.models.travel_rule_validate_natural_person_name_identifier.TravelRuleValidateNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + date_and_place_of_birth = fireblocks.models.travel_rule_validate_date_and_place_of_birth.TravelRuleValidateDateAndPlaceOfBirth( + date_of_birth = '1990-01-01', + place_of_birth = 'New York, USA', ), + customer_identification = 'CUST123456', + country_of_residence = 'US', + customer_number = '123456789', ), + legal_person = fireblocks.models.travel_rule_validate_legal_person.TravelRuleValidateLegalPerson( + customer_identification = 'CUST987654', + customer_number = '123456789', + country_of_registration = 'US', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson() + ], + account_number = [ + '' + ], ), + beneficiary = fireblocks.models.travel_rule_validate_pii_ivms.TravelRuleValidatePiiIVMS( + originator_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson( + natural_person = fireblocks.models.travel_rule_validate_natural_person.TravelRuleValidateNaturalPerson( + name = [ + fireblocks.models.travel_rule_validate_natural_person_name_identifier.TravelRuleValidateNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + date_and_place_of_birth = fireblocks.models.travel_rule_validate_date_and_place_of_birth.TravelRuleValidateDateAndPlaceOfBirth( + date_of_birth = '1990-01-01', + place_of_birth = 'New York, USA', ), + customer_identification = 'CUST123456', + country_of_residence = 'US', + customer_number = '123456789', ), + legal_person = fireblocks.models.travel_rule_validate_legal_person.TravelRuleValidateLegalPerson( + customer_identification = 'CUST987654', + customer_number = '123456789', + country_of_registration = 'US', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson() + ], + account_number = [ + '' + ], ), ) """ diff --git a/test/test_travel_rule_validate_geographic_address.py b/test/test_travel_rule_validate_geographic_address.py new file mode 100644 index 0000000..97d61c7 --- /dev/null +++ b/test/test_travel_rule_validate_geographic_address.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_geographic_address import ( + TravelRuleValidateGeographicAddress, +) + + +class TestTravelRuleValidateGeographicAddress(unittest.TestCase): + """TravelRuleValidateGeographicAddress unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleValidateGeographicAddress: + """Test TravelRuleValidateGeographicAddress + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidateGeographicAddress` + """ + model = TravelRuleValidateGeographicAddress() + if include_optional: + return TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"] + ) + else: + return TravelRuleValidateGeographicAddress( + ) + """ + + def testTravelRuleValidateGeographicAddress(self): + """Test TravelRuleValidateGeographicAddress""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_legal_person.py b/test/test_travel_rule_validate_legal_person.py new file mode 100644 index 0000000..4d8fdf1 --- /dev/null +++ b/test/test_travel_rule_validate_legal_person.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_legal_person import ( + TravelRuleValidateLegalPerson, +) + + +class TestTravelRuleValidateLegalPerson(unittest.TestCase): + """TravelRuleValidateLegalPerson unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleValidateLegalPerson: + """Test TravelRuleValidateLegalPerson + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidateLegalPerson` + """ + model = TravelRuleValidateLegalPerson() + if include_optional: + return TravelRuleValidateLegalPerson( + name = fireblocks.models.travel_rule_validate_legal_person_name_identifier.TravelRuleValidateLegalPersonNameIdentifier( + legal_person_name = 'Acme Corporation', + legal_person_name_identifier_type = 'REGISTERED', ), + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + customer_identification = 'CUST987654', + customer_number = '123456789', + country_of_registration = 'US' + ) + else: + return TravelRuleValidateLegalPerson( + ) + """ + + def testTravelRuleValidateLegalPerson(self): + """Test TravelRuleValidateLegalPerson""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_legal_person_name_identifier.py b/test/test_travel_rule_validate_legal_person_name_identifier.py new file mode 100644 index 0000000..0c7dade --- /dev/null +++ b/test/test_travel_rule_validate_legal_person_name_identifier.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_legal_person_name_identifier import ( + TravelRuleValidateLegalPersonNameIdentifier, +) + + +class TestTravelRuleValidateLegalPersonNameIdentifier(unittest.TestCase): + """TravelRuleValidateLegalPersonNameIdentifier unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance( + self, include_optional + ) -> TravelRuleValidateLegalPersonNameIdentifier: + """Test TravelRuleValidateLegalPersonNameIdentifier + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidateLegalPersonNameIdentifier` + """ + model = TravelRuleValidateLegalPersonNameIdentifier() + if include_optional: + return TravelRuleValidateLegalPersonNameIdentifier( + legal_person_name = 'Acme Corporation', + legal_person_name_identifier_type = 'REGISTERED' + ) + else: + return TravelRuleValidateLegalPersonNameIdentifier( + ) + """ + + def testTravelRuleValidateLegalPersonNameIdentifier(self): + """Test TravelRuleValidateLegalPersonNameIdentifier""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_national_identification.py b/test/test_travel_rule_validate_national_identification.py new file mode 100644 index 0000000..37fa405 --- /dev/null +++ b/test/test_travel_rule_validate_national_identification.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_national_identification import ( + TravelRuleValidateNationalIdentification, +) + + +class TestTravelRuleValidateNationalIdentification(unittest.TestCase): + """TravelRuleValidateNationalIdentification unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance( + self, include_optional + ) -> TravelRuleValidateNationalIdentification: + """Test TravelRuleValidateNationalIdentification + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidateNationalIdentification` + """ + model = TravelRuleValidateNationalIdentification() + if include_optional: + return TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456' + ) + else: + return TravelRuleValidateNationalIdentification( + ) + """ + + def testTravelRuleValidateNationalIdentification(self): + """Test TravelRuleValidateNationalIdentification""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_natural_name_identifier.py b/test/test_travel_rule_validate_natural_name_identifier.py new file mode 100644 index 0000000..e68285b --- /dev/null +++ b/test/test_travel_rule_validate_natural_name_identifier.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_natural_name_identifier import ( + TravelRuleValidateNaturalNameIdentifier, +) + + +class TestTravelRuleValidateNaturalNameIdentifier(unittest.TestCase): + """TravelRuleValidateNaturalNameIdentifier unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance( + self, include_optional + ) -> TravelRuleValidateNaturalNameIdentifier: + """Test TravelRuleValidateNaturalNameIdentifier + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidateNaturalNameIdentifier` + """ + model = TravelRuleValidateNaturalNameIdentifier() + if include_optional: + return TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL' + ) + else: + return TravelRuleValidateNaturalNameIdentifier( + ) + """ + + def testTravelRuleValidateNaturalNameIdentifier(self): + """Test TravelRuleValidateNaturalNameIdentifier""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_natural_person.py b/test/test_travel_rule_validate_natural_person.py new file mode 100644 index 0000000..54eadbf --- /dev/null +++ b/test/test_travel_rule_validate_natural_person.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_natural_person import ( + TravelRuleValidateNaturalPerson, +) + + +class TestTravelRuleValidateNaturalPerson(unittest.TestCase): + """TravelRuleValidateNaturalPerson unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleValidateNaturalPerson: + """Test TravelRuleValidateNaturalPerson + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidateNaturalPerson` + """ + model = TravelRuleValidateNaturalPerson() + if include_optional: + return TravelRuleValidateNaturalPerson( + name = [ + fireblocks.models.travel_rule_validate_natural_person_name_identifier.TravelRuleValidateNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + date_and_place_of_birth = fireblocks.models.travel_rule_validate_date_and_place_of_birth.TravelRuleValidateDateAndPlaceOfBirth( + date_of_birth = '1990-01-01', + place_of_birth = 'New York, USA', ), + customer_identification = 'CUST123456', + country_of_residence = 'US', + customer_number = '123456789' + ) + else: + return TravelRuleValidateNaturalPerson( + ) + """ + + def testTravelRuleValidateNaturalPerson(self): + """Test TravelRuleValidateNaturalPerson""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_natural_person_name_identifier.py b/test/test_travel_rule_validate_natural_person_name_identifier.py new file mode 100644 index 0000000..1f0cf66 --- /dev/null +++ b/test/test_travel_rule_validate_natural_person_name_identifier.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_natural_person_name_identifier import ( + TravelRuleValidateNaturalPersonNameIdentifier, +) + + +class TestTravelRuleValidateNaturalPersonNameIdentifier(unittest.TestCase): + """TravelRuleValidateNaturalPersonNameIdentifier unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance( + self, include_optional + ) -> TravelRuleValidateNaturalPersonNameIdentifier: + """Test TravelRuleValidateNaturalPersonNameIdentifier + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidateNaturalPersonNameIdentifier` + """ + model = TravelRuleValidateNaturalPersonNameIdentifier() + if include_optional: + return TravelRuleValidateNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + phonetic_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ] + ) + else: + return TravelRuleValidateNaturalPersonNameIdentifier( + ) + """ + + def testTravelRuleValidateNaturalPersonNameIdentifier(self): + """Test TravelRuleValidateNaturalPersonNameIdentifier""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_person.py b/test/test_travel_rule_validate_person.py new file mode 100644 index 0000000..cce3e52 --- /dev/null +++ b/test/test_travel_rule_validate_person.py @@ -0,0 +1,133 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_person import TravelRuleValidatePerson + + +class TestTravelRuleValidatePerson(unittest.TestCase): + """TravelRuleValidatePerson unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleValidatePerson: + """Test TravelRuleValidatePerson + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidatePerson` + """ + model = TravelRuleValidatePerson() + if include_optional: + return TravelRuleValidatePerson( + natural_person = fireblocks.models.travel_rule_validate_natural_person.TravelRuleValidateNaturalPerson( + name = [ + fireblocks.models.travel_rule_validate_natural_person_name_identifier.TravelRuleValidateNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + date_and_place_of_birth = fireblocks.models.travel_rule_validate_date_and_place_of_birth.TravelRuleValidateDateAndPlaceOfBirth( + date_of_birth = '1990-01-01', + place_of_birth = 'New York, USA', ), + customer_identification = 'CUST123456', + country_of_residence = 'US', + customer_number = '123456789', ), + legal_person = fireblocks.models.travel_rule_validate_legal_person.TravelRuleValidateLegalPerson( + name = fireblocks.models.travel_rule_validate_legal_person_name_identifier.TravelRuleValidateLegalPersonNameIdentifier( + legal_person_name = 'Acme Corporation', + legal_person_name_identifier_type = 'REGISTERED', ), + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + customer_identification = 'CUST987654', + customer_number = '123456789', + country_of_registration = 'US', ) + ) + else: + return TravelRuleValidatePerson( + ) + """ + + def testTravelRuleValidatePerson(self): + """Test TravelRuleValidatePerson""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_pii_ivms.py b/test/test_travel_rule_validate_pii_ivms.py new file mode 100644 index 0000000..ef6e2fe --- /dev/null +++ b/test/test_travel_rule_validate_pii_ivms.py @@ -0,0 +1,168 @@ +# coding: utf-8 + +""" + Fireblocks API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 1.6.2 + Contact: support@fireblocks.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from fireblocks.models.travel_rule_validate_pii_ivms import TravelRuleValidatePiiIVMS + + +class TestTravelRuleValidatePiiIVMS(unittest.TestCase): + """TravelRuleValidatePiiIVMS unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TravelRuleValidatePiiIVMS: + """Test TravelRuleValidatePiiIVMS + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included""" + # uncomment below to create an instance of `TravelRuleValidatePiiIVMS` + """ + model = TravelRuleValidatePiiIVMS() + if include_optional: + return TravelRuleValidatePiiIVMS( + originator_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson( + natural_person = fireblocks.models.travel_rule_validate_natural_person.TravelRuleValidateNaturalPerson( + name = [ + fireblocks.models.travel_rule_validate_natural_person_name_identifier.TravelRuleValidateNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + date_and_place_of_birth = fireblocks.models.travel_rule_validate_date_and_place_of_birth.TravelRuleValidateDateAndPlaceOfBirth( + date_of_birth = '1990-01-01', + place_of_birth = 'New York, USA', ), + customer_identification = 'CUST123456', + country_of_residence = 'US', + customer_number = '123456789', ), + legal_person = fireblocks.models.travel_rule_validate_legal_person.TravelRuleValidateLegalPerson( + customer_identification = 'CUST987654', + customer_number = '123456789', + country_of_registration = 'US', ), ) + ], + beneficiary_persons = [ + fireblocks.models.travel_rule_validate_person.TravelRuleValidatePerson( + natural_person = fireblocks.models.travel_rule_validate_natural_person.TravelRuleValidateNaturalPerson( + name = [ + fireblocks.models.travel_rule_validate_natural_person_name_identifier.TravelRuleValidateNaturalPersonNameIdentifier( + name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + local_name_identifier = [ + fireblocks.models.travel_rule_validate_natural_name_identifier.TravelRuleValidateNaturalNameIdentifier( + primary_identifier = 'John', + secondary_identifier = 'Doe', + name_identifier_type = 'LEGL', ) + ], + phonetic_name_identifier = [ + + ], ) + ], + geographic_address = [ + fireblocks.models.travel_rule_validate_geographic_address.TravelRuleValidateGeographicAddress( + street_name = '123 Main St', + town_name = 'New York', + country = 'US', + building_number = '123', + post_code = '12345', + address_type = 'HOME', + department = 'IT', + sub_department = 'Security', + building_name = 'Acme Building', + floor = '1', + post_box = '123', + room = '101', + town_location_name = 'Downtown', + district_name = 'Manhattan', + country_sub_division = 'New York', + address_line = ["123 Main St","New York","NY 12345"], ) + ], + national_identification = fireblocks.models.travel_rule_validate_national_identification.TravelRuleValidateNationalIdentification( + country_of_issue = 'US', + national_identifier = '123456789', + national_identifier_type = 'NATIONAL_ID', + registration_authority = 'RA123456', ), + date_and_place_of_birth = fireblocks.models.travel_rule_validate_date_and_place_of_birth.TravelRuleValidateDateAndPlaceOfBirth( + date_of_birth = '1990-01-01', + place_of_birth = 'New York, USA', ), + customer_identification = 'CUST123456', + country_of_residence = 'US', + customer_number = '123456789', ), + legal_person = fireblocks.models.travel_rule_validate_legal_person.TravelRuleValidateLegalPerson( + customer_identification = 'CUST987654', + customer_number = '123456789', + country_of_registration = 'US', ), ) + ], + account_number = [ + '' + ] + ) + else: + return TravelRuleValidatePiiIVMS( + ) + """ + + def testTravelRuleValidatePiiIVMS(self): + """Test TravelRuleValidatePiiIVMS""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == "__main__": + unittest.main() diff --git a/test/test_travel_rule_validate_transaction_request.py b/test/test_travel_rule_validate_transaction_request.py index bc526e1..a2d9e52 100644 --- a/test/test_travel_rule_validate_transaction_request.py +++ b/test/test_travel_rule_validate_transaction_request.py @@ -42,6 +42,7 @@ def make_instance(self, include_optional) -> TravelRuleValidateTransactionReques transaction_asset = 'BTC', destination = 'bc1qxy2kgdygjrsqtzq2n0yrf1234p83kkfjhx0wlh', transaction_amount = '10', + transaction_asset_decimals = 8, originator_vas_pdid = 'did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2', originator_equals_beneficiary = False, travel_rule_behavior = True, diff --git a/test/test_travel_rule_vasp.py b/test/test_travel_rule_vasp.py index 7ecfa51..a5a5765 100644 --- a/test/test_travel_rule_vasp.py +++ b/test/test_travel_rule_vasp.py @@ -37,49 +37,49 @@ def make_instance(self, include_optional) -> TravelRuleVASP: model = TravelRuleVASP() if include_optional: return TravelRuleVASP( - did = '', - name = '', - verification_status = '', - address_line1 = '', - address_line2 = '', - city = '', - country = '', - email_domains = '', - website = '', - logo = '', - legal_structure = '', - legal_name = '', - year_founded = '', - incorporation_country = '', - is_regulated = '', - other_names = '', - identification_type = '', - identification_country = '', - business_number = '', - regulatory_authorities = '', - jurisdictions = '', - street = '', - number = '', - unit = '', - post_code = '', - state = '', - certificates = '', - description = '', - travel_rule_openvasp = '', - travel_rule_sygna = '', - travel_rule_trisa = '', - travel_rule_trlight = '', - travel_rule_email = '', - travel_rule_trp = '', - travel_rule_shyft = '', - travel_rule_ustravelrulewg = '', - created_at = '', - created_by = '', - updated_at = '', - updated_by = '', - last_sent_date = '', - last_received_date = '', - documents = '', + did = 'did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6', + name = 'Fireblocks TST', + verification_status = 'VERIFIED', + address_line1 = '657 Campfire Street', + address_line2 = 'Suite 10', + city = 'New York', + country = 'US', + email_domains = 'fireblocks.com,example.com', + website = 'https://fireblocks.com', + logo = 'https://fireblocks.com/logo.png', + legal_structure = 'CORPORATION', + legal_name = 'Fireblocks Inc.', + year_founded = '2019', + incorporation_country = 'US', + is_regulated = 'YES', + other_names = 'Fireblocks Test VASP', + identification_type = 'Business License', + identification_country = 'US', + business_number = '123456789', + regulatory_authorities = 'SEC, FINCEN', + jurisdictions = 'US, EU', + street = 'Wall Street', + number = '10', + unit = 'Apt 2B', + post_code = '10005', + state = 'NY', + certificates = 'ISO 27001', + description = 'A leading provider of crypto security solutions.', + travel_rule_openvasp = 'active', + travel_rule_sygna = 'inactive', + travel_rule_trisa = 'pending', + travel_rule_trlight = 'active', + travel_rule_email = 'inactive', + travel_rule_trp = 'active', + travel_rule_shyft = 'inactive', + travel_rule_ustravelrulewg = 'pending', + created_at = '2023-09-19T12:23:59.711Z', + created_by = 'admin', + updated_at = '2024-08-29T08:23:51.416Z', + updated_by = 'system', + last_sent_date = '2024-03-18T09:26:07.988Z', + last_received_date = '2024-03-20T11:45:30.212Z', + documents = '['license.pdf', 'compliance.pdf']', has_admin = True, is_notifiable = True, issuers = fireblocks.models.travel_rule_issuers.TravelRuleIssuers( @@ -102,49 +102,22 @@ def make_instance(self, include_optional) -> TravelRuleVASP: ) else: return TravelRuleVASP( - did = '', - name = '', - verification_status = '', - address_line1 = '', - address_line2 = '', - city = '', - country = '', - email_domains = '', - website = '', - logo = '', - legal_structure = '', - legal_name = '', - year_founded = '', - incorporation_country = '', - is_regulated = '', - other_names = '', - identification_type = '', - identification_country = '', - business_number = '', - regulatory_authorities = '', - jurisdictions = '', - street = '', - number = '', - unit = '', - post_code = '', - state = '', - certificates = '', - description = '', - travel_rule_openvasp = '', - travel_rule_sygna = '', - travel_rule_trisa = '', - travel_rule_trlight = '', - travel_rule_email = '', - travel_rule_trp = '', - travel_rule_shyft = '', - travel_rule_ustravelrulewg = '', - created_at = '', - created_by = '', - updated_at = '', - updated_by = '', - last_sent_date = '', - last_received_date = '', - documents = '', + did = 'did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6', + name = 'Fireblocks TST', + verification_status = 'VERIFIED', + address_line1 = '657 Campfire Street', + city = 'New York', + country = 'US', + email_domains = 'fireblocks.com,example.com', + website = 'https://fireblocks.com', + legal_structure = 'CORPORATION', + legal_name = 'Fireblocks Inc.', + year_founded = '2019', + incorporation_country = 'US', + is_regulated = 'YES', + jurisdictions = 'US, EU', + travel_rule_trlight = 'active', + created_at = '2023-09-19T12:23:59.711Z', has_admin = True, is_notifiable = True, issuers = fireblocks.models.travel_rule_issuers.TravelRuleIssuers(