diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index a3c1361a..4668b082 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -1136,6 +1136,9 @@ docs/TravelRuleStatusEnum.md docs/TravelRuleTransactionBlockchainInfo.md docs/TravelRuleUpdateVASPDetails.md docs/TravelRuleVASP.md +docs/TravelRuleVASPExternalEntity.md +docs/TravelRuleVASPExternalEntityConfig.md +docs/TravelRuleVASPExternalEntityRegistration.md docs/TravelRuleValidateDateAndPlaceOfBirth.md docs/TravelRuleValidateFullTransactionRequest.md docs/TravelRuleValidateGeographicAddress.md @@ -2410,6 +2413,9 @@ src/main/java/com/fireblocks/sdk/model/TravelRuleStatusEnum.java src/main/java/com/fireblocks/sdk/model/TravelRuleTransactionBlockchainInfo.java src/main/java/com/fireblocks/sdk/model/TravelRuleUpdateVASPDetails.java src/main/java/com/fireblocks/sdk/model/TravelRuleVASP.java +src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntity.java +src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityConfig.java +src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityRegistration.java src/main/java/com/fireblocks/sdk/model/TravelRuleValidateDateAndPlaceOfBirth.java src/main/java/com/fireblocks/sdk/model/TravelRuleValidateFullTransactionRequest.java src/main/java/com/fireblocks/sdk/model/TravelRuleValidateGeographicAddress.java @@ -3651,6 +3657,9 @@ src/test/java/com/fireblocks/sdk/model/TravelRuleResultTest.java src/test/java/com/fireblocks/sdk/model/TravelRuleStatusEnumTest.java src/test/java/com/fireblocks/sdk/model/TravelRuleTransactionBlockchainInfoTest.java src/test/java/com/fireblocks/sdk/model/TravelRuleUpdateVASPDetailsTest.java +src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityConfigTest.java +src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityRegistrationTest.java +src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityTest.java src/test/java/com/fireblocks/sdk/model/TravelRuleVASPTest.java src/test/java/com/fireblocks/sdk/model/TravelRuleValidateDateAndPlaceOfBirthTest.java src/test/java/com/fireblocks/sdk/model/TravelRuleValidateFullTransactionRequestTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index a752f81f..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,239 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [v25.0.0](https://github.com/fireblocks/java-sdk/compare/v15.0.0...v25.0.0) - 2026-08-02 - -### Merged - -- Generated SDK #2725236398 [`#149`](https://github.com/fireblocks/java-sdk/pull/149) - -## [v15.0.0](https://github.com/fireblocks/java-sdk/compare/v14.1.0...v15.0.0) - 2026-03-15 - -### Merged - -- Generated SDK #3733 (major) [`#128`](https://github.com/fireblocks/java-sdk/pull/128) - -## [v14.1.0](https://github.com/fireblocks/java-sdk/compare/v14.0.0...v14.1.0) - 2026-02-26 - -### Merged - -- Generated SDK #2167 [`#126`](https://github.com/fireblocks/java-sdk/pull/126) - -## [v14.0.0](https://github.com/fireblocks/java-sdk/compare/v13.0.0...v14.0.0) - 2026-02-03 - -### Merged - -- Generated SDK #4746 [`#121`](https://github.com/fireblocks/java-sdk/pull/121) - -## [v13.0.0](https://github.com/fireblocks/java-sdk/compare/v12.1.3...v13.0.0) - 2025-11-13 - -### Merged - -- Generated SDK #5834 [`#116`](https://github.com/fireblocks/java-sdk/pull/116) - -## [v12.1.3](https://github.com/fireblocks/java-sdk/compare/v12.1.2...v12.1.3) - 2025-10-22 - -### Merged - -- Generated SDK #8293 [`#115`](https://github.com/fireblocks/java-sdk/pull/115) - -## [v12.1.2](https://github.com/fireblocks/java-sdk/compare/v12.1.1...v12.1.2) - 2025-09-29 - -### Merged - -- Generated SDK #6061 [`#113`](https://github.com/fireblocks/java-sdk/pull/113) - -## [v12.1.1](https://github.com/fireblocks/java-sdk/compare/v12.1.0...v12.1.1) - 2025-09-10 - -### Merged - -- Generated SDK #1410 [`#111`](https://github.com/fireblocks/java-sdk/pull/111) - -## [v12.1.0](https://github.com/fireblocks/java-sdk/compare/v12.0.0...v12.1.0) - 2025-09-09 - -### Merged - -- Generated SDK #4521 [`#109`](https://github.com/fireblocks/java-sdk/pull/109) - -## [v12.0.0](https://github.com/fireblocks/java-sdk/compare/v11.2.0...v12.0.0) - 2025-09-01 - -### Merged - -- Generated SDK #7741 [`#108`](https://github.com/fireblocks/java-sdk/pull/108) - -## [v11.2.0](https://github.com/fireblocks/java-sdk/compare/v11.1.0...v11.2.0) - 2025-08-21 - -### Merged - -- Generated SDK #3302 [`#107`](https://github.com/fireblocks/java-sdk/pull/107) - -## [v11.1.0](https://github.com/fireblocks/java-sdk/compare/v11.0.0...v11.1.0) - 2025-08-11 - -### Merged - -- Generated SDK #1782 [`#105`](https://github.com/fireblocks/java-sdk/pull/105) - -## [v11.0.0](https://github.com/fireblocks/java-sdk/compare/v10.4.0...v11.0.0) - 2025-07-15 - -### Merged - -- Generated SDK #5610 [`#103`](https://github.com/fireblocks/java-sdk/pull/103) - -## [v10.4.0](https://github.com/fireblocks/java-sdk/compare/v10.3.0...v10.4.0) - 2025-06-29 - -### Merged - -- Generated SDK #1492 [`#101`](https://github.com/fireblocks/java-sdk/pull/101) - -## [v10.3.0](https://github.com/fireblocks/java-sdk/compare/v10.2.0...v10.3.0) - 2025-06-18 - -### Merged - -- Generated SDK #4009 [`#99`](https://github.com/fireblocks/java-sdk/pull/99) - -## [v10.2.0](https://github.com/fireblocks/java-sdk/compare/v10.1.1...v10.2.0) - 2025-06-04 - -### Merged - -- Generated SDK #8912 [`#98`](https://github.com/fireblocks/java-sdk/pull/98) - -## [v10.1.1](https://github.com/fireblocks/java-sdk/compare/v10.1.0...v10.1.1) - 2025-05-18 - -### Merged - -- Generated SDK #5019 [`#97`](https://github.com/fireblocks/java-sdk/pull/97) - -## [v10.1.0](https://github.com/fireblocks/java-sdk/compare/v10.0.2...v10.1.0) - 2025-05-07 - -### Merged - -- Generated SDK #7076 [`#95`](https://github.com/fireblocks/java-sdk/pull/95) - -## [v10.0.2](https://github.com/fireblocks/java-sdk/compare/v10.0.1...v10.0.2) - 2025-04-20 - -### Merged - -- Generated SDK #4794 [`#94`](https://github.com/fireblocks/java-sdk/pull/94) - -## [v10.0.1](https://github.com/fireblocks/java-sdk/compare/v10.0.0...v10.0.1) - 2025-04-07 - -### Merged - -- Generated SDK #3065 [`#93`](https://github.com/fireblocks/java-sdk/pull/93) - -## [v10.0.0](https://github.com/fireblocks/java-sdk/compare/v9.0.0...v10.0.0) - 2025-03-30 - -### Merged - -- Generated SDK #619 [`#90`](https://github.com/fireblocks/java-sdk/pull/90) - -## [v9.0.0](https://github.com/fireblocks/java-sdk/compare/v8.1.0...v9.0.0) - 2025-03-17 - -### Merged - -- Generated SDK #645 [`#89`](https://github.com/fireblocks/java-sdk/pull/89) - -## [v8.1.0](https://github.com/fireblocks/java-sdk/compare/v8.0.1...v8.1.0) - 2025-02-24 - -### Merged - -- Generated SDK #9833 [`#84`](https://github.com/fireblocks/java-sdk/pull/84) - -## [v8.0.1](https://github.com/fireblocks/java-sdk/compare/v8.0.0...v8.0.1) - 2025-02-12 - -### Merged - -- Generated SDK #4262 [`#82`](https://github.com/fireblocks/java-sdk/pull/82) - -## [v8.0.0](https://github.com/fireblocks/java-sdk/compare/v7.0.0...v8.0.0) - 2025-02-02 - -### Merged - -- Generated SDK #538 [`#80`](https://github.com/fireblocks/java-sdk/pull/80) - -## [v7.0.0](https://github.com/fireblocks/java-sdk/compare/v6.0.0...v7.0.0) - 2025-01-08 - -### Merged - -- Generated SDK #8699 [`#77`](https://github.com/fireblocks/java-sdk/pull/77) - -## [v6.0.0](https://github.com/fireblocks/java-sdk/compare/v5.0.0...v6.0.0) - 2024-12-05 - -### Merged - -- Generated SDK #1430 [`#73`](https://github.com/fireblocks/java-sdk/pull/73) - -## [v5.0.0](https://github.com/fireblocks/java-sdk/compare/v4.0.0...v5.0.0) - 2024-10-31 - -### Merged - -- Generated SDK #5184 [`#71`](https://github.com/fireblocks/java-sdk/pull/71) - -## [v4.0.0](https://github.com/fireblocks/java-sdk/compare/v3.1.0...v4.0.0) - 2024-09-17 - -### Merged - -- Generated SDK #237 [`#70`](https://github.com/fireblocks/java-sdk/pull/70) - -## [v3.1.0](https://github.com/fireblocks/java-sdk/compare/v3.0.0...v3.1.0) - 2024-07-25 - -### Merged - -- Generated SDK #6749 [`#67`](https://github.com/fireblocks/java-sdk/pull/67) - -## [v3.0.0](https://github.com/fireblocks/java-sdk/compare/v2.1.0...v3.0.0) - 2024-07-17 - -### Merged - -- Generated SDK #6152 [`#65`](https://github.com/fireblocks/java-sdk/pull/65) -- Generated SDK #7984 [`#62`](https://github.com/fireblocks/java-sdk/pull/62) -- Generated SDK #2873 [`#61`](https://github.com/fireblocks/java-sdk/pull/61) - -## [v2.1.0](https://github.com/fireblocks/java-sdk/compare/v2.0.1...v2.1.0) - 2024-06-04 - -### Merged - -- Generated SDK for version COR-46191/fix_pipelines [`#24`](https://github.com/fireblocks/java-sdk/pull/24) -- Generated SDK for version COR-46191/fix_pipelines [`#23`](https://github.com/fireblocks/java-sdk/pull/23) -- Generated SDK for version COR-46191/fix_pipelines [`#22`](https://github.com/fireblocks/java-sdk/pull/22) -- Generated SDK for version COR-46191/fix_pipelines [`#21`](https://github.com/fireblocks/java-sdk/pull/21) - -## [v2.0.1](https://github.com/fireblocks/java-sdk/compare/v2.0.0...v2.0.1) - 2024-06-04 - -### Merged - -- Generated SDK for version COR-46191/fix_pipelines [`#20`](https://github.com/fireblocks/java-sdk/pull/20) - -## [v2.0.0](https://github.com/fireblocks/java-sdk/compare/v1.1.0...v2.0.0) - 2024-05-08 - -### Merged - -- feat: add tokenization api [`#12`](https://github.com/fireblocks/java-sdk/pull/12) - -## [v1.1.0](https://github.com/fireblocks/java-sdk/compare/v1.0.1...v1.1.0) - 2024-04-17 - -### Merged - -- feat: add cosigners beta api [`#11`](https://github.com/fireblocks/java-sdk/pull/11) -- fix: fix readme doc headline [`#10`](https://github.com/fireblocks/java-sdk/pull/10) - -## [v1.0.1](https://github.com/fireblocks/java-sdk/compare/v1.0.0...v1.0.1) - 2024-04-07 - -### Merged - -- Generated SDK for version v1.0.1 [`#9`](https://github.com/fireblocks/java-sdk/pull/9) - -## v1.0.0 - 2024-04-07 - -### Merged - -- Generated SDK for version v1.0.0 GA [`#8`](https://github.com/fireblocks/java-sdk/pull/8) -- v0.0.1-beta [`#6`](https://github.com/fireblocks/java-sdk/pull/6) -- Update GitHub Actions workflows [`#5`](https://github.com/fireblocks/java-sdk/pull/5) -- Generated #1189972817 [`#3`](https://github.com/fireblocks/java-sdk/pull/3) -- Add installation instructions [`#2`](https://github.com/fireblocks/java-sdk/pull/2) -- Added Idempotency & NCW headers support #6 [`#1`](https://github.com/fireblocks/java-sdk/pull/1) diff --git a/README.md b/README.md index d6e4e81c..44ff6e92 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Add this dependency to your project's POM: com.fireblocks.sdk fireblocks-sdk - 25.0.0 + 0.0.0 compile ``` @@ -42,7 +42,7 @@ Add this dependency to your project's POM: Add this dependency to your project's build file: ```groovy -compile "com.fireblocks.sdk:fireblocks-sdk:25.0.0" +compile "com.fireblocks.sdk:fireblocks-sdk:0.0.0" ``` ### Others @@ -55,7 +55,7 @@ mvn clean package Then manually install the following JARs: -- `target/fireblocks-sdk-25.0.0.jar` +- `target/fireblocks-sdk-0.0.0.jar` - `target/lib/*.jar` @@ -1682,6 +1682,9 @@ Class | Method | HTTP request | Description - [TravelRuleTransactionBlockchainInfo](docs/TravelRuleTransactionBlockchainInfo.md) - [TravelRuleUpdateVASPDetails](docs/TravelRuleUpdateVASPDetails.md) - [TravelRuleVASP](docs/TravelRuleVASP.md) + - [TravelRuleVASPExternalEntity](docs/TravelRuleVASPExternalEntity.md) + - [TravelRuleVASPExternalEntityConfig](docs/TravelRuleVASPExternalEntityConfig.md) + - [TravelRuleVASPExternalEntityRegistration](docs/TravelRuleVASPExternalEntityRegistration.md) - [TravelRuleValidateDateAndPlaceOfBirth](docs/TravelRuleValidateDateAndPlaceOfBirth.md) - [TravelRuleValidateFullTransactionRequest](docs/TravelRuleValidateFullTransactionRequest.md) - [TravelRuleValidateGeographicAddress](docs/TravelRuleValidateGeographicAddress.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index d9a94a87..44eeccca 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -28914,6 +28914,8 @@ paths: Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted. + + Each VASP in the response may contain fields that are not documented in the schema below. Clients must ignore unrecognised fields rather than failing to deserialize. operationId: getVASPs parameters: - description: Field to order by @@ -28940,8 +28942,12 @@ paths: minimum: 100 type: number style: form - - description: "CSV of fields to return (all, \"blank\" or see list of all field\ - \ names below)" + - description: |- + The VASP fields to return. + + Optional. If omitted, each VASP is returned with a default subset of six fields: `did`, `name`, `website`, `logo`, `incorporationCountry` and `jurisdictions`. Pass `all` to return the complete record for each VASP. + + Most field names return exactly the requested field. A few behave differently: `documents` and `ddq` return a small default set of identifying fields instead of the requested one, and `travelRule_EMAIL` returns an empty object. An unrecognised field name causes an error. explode: true in: query name: fields @@ -29032,16 +29038,25 @@ paths: Get VASP Details. Returns information about a VASP that has the specified DID. + + The response may contain fields that are not documented in the schema below. Clients must ignore unrecognised fields rather than failing to deserialize. operationId: getVASPByDID parameters: - - explode: false + - description: The Decentralized Identifier (DID) of the VASP. + example: did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6 + explode: false in: path name: did required: true schema: type: string style: simple - - description: "A CSV of fields to return. Choose from the following options:" + - description: |- + The VASP fields to return. + + Optional. If omitted, or supplied with an empty value, the complete VASP record is returned, which is the same as passing `all`. + + Most field names return exactly the requested field. A few behave differently: `documents` and `ddq` return a small default set of identifying fields instead of the requested one, and `travelRule_EMAIL` returns an empty object. An unrecognised field name causes an error. explode: true in: query name: fields @@ -29055,7 +29070,7 @@ paths: application/json: schema: $ref: "#/components/schemas/TravelRuleVASP" - description: Transaction validated successfully + description: VASP details "400": description: Invalid request body "500": @@ -58044,15 +58059,14 @@ components: type: string type: array standards: + description: "Token standards implemented by the contract (e.g. ERC-20,\ + \ ERC-1400). Not returned for templates that do not follow ERC token standards,\ + \ such as non-EVM templates (e.g. Stellar, Solana Token 2022)" items: type: string type: array auditor: $ref: "#/components/schemas/AuditorData" - required: - - auditor - - standards - - useCases type: object VendorDto: properties: @@ -73161,12 +73175,21 @@ components: - originator type: object TravelRuleFieldsEnum: + description: |- + The VASP fields to return. Pass `all` for the complete record. + + Behaviour differs between the two endpoints when this parameter is omitted: Get VASP details returns the complete record, while Get All VASPs returns a six-field subset per VASP. Passing `all` returns the complete record from both. + + Combining `all` with specific field names is not defined; pass either `all` alone or a list of specific names. + + This list is not exhaustive. Some field names the API accepts are intentionally undocumented, and an unrecognised name causes an error. example: - name - country - website items: enum: + - all - did - name - verificationStatus @@ -73188,11 +73211,25 @@ components: - businessNumber - regulatoryAuthorities - jurisdictions + - division - street - number - unit - postCode - state + - otherLegalName + - gleifUpdatedAt + - leiNumber + - legalForm + - entityCategory + - entityStatus + - externalEntityConfig + - hqStreet + - hqNumber + - hqPostcode + - hqRegion + - hqCity + - hqCountry - certificates - description - travelRule_OPENVASP @@ -73213,13 +73250,228 @@ components: - hasAdmin - isNotifiable - issuers + - regulatoryStatus + - supervisoryAuthority + - registrationLicenseId + - statusStartDate + - statusExpirationDate + - lastChecked + - additionalInformation + - subsidiaryOf + - pii_didkey + - compliancePhase + - compliancePhaseData + - vaspnetId + - vaspnetUpdatedAt + - vaspnetImmutableFields + - node_didkey + - ddq + - targetProtocol + - parentGateway + - isActiveSender + - isActiveReceiver + - subsidiaries type: string type: array + TravelRuleVASPExternalEntity: + description: "The VASP's entity data as held by an external registry. These\ + \ fields mirror a subset of the top-level VASP fields, but carry the registry's\ + \ values rather than the VASP's own, so the two may differ." + properties: + legalName: + description: The legal name of the entity as recorded by the external registry. + example: Fireblocks Inc. + nullable: true + type: string + otherLegalName: + description: "Alternative legal names of the entity, as a comma-separated\ + \ list." + example: "SIX Digital Exchange SA, SIX Digital Exchange Ltd" + nullable: true + type: string + legalForm: + description: The Entity Legal Form (ELF) code of the entity. + example: MVII + nullable: true + type: string + legalStructure: + description: "The legal structure of the entity. The external registry may\ + \ return the Entity Legal Form code in this field, so its value can duplicate\ + \ `legalForm`." + example: MVII + nullable: true + type: string + entityCategory: + description: The category assigned to the entity by the external registry. + example: GENERAL + nullable: true + type: string + entityStatus: + description: The status of the entity at the external registry. + example: ACTIVE + nullable: true + type: string + businessNumber: + description: The business registration number of the entity. + example: CHE-449.145.067 + nullable: true + type: string + yearFounded: + description: "The year the entity was founded. Returned as a string, not\ + \ an integer." + example: "2018" + nullable: true + type: string + jurisdictions: + description: The jurisdictions the entity is registered in. + example: CH + nullable: true + type: string + addressLine1: + description: The first line of the entity's registered address. + example: Hardturmstrasse 201 + nullable: true + type: string + number: + description: The building number of the entity's registered address. May + be returned as an empty string as well as `null` when not supplied. + example: "201" + nullable: true + type: string + postCode: + description: The postal code of the entity's registered address. + example: "8005" + nullable: true + type: string + city: + description: The city of the entity's registered address. + example: Zurich + nullable: true + type: string + state: + description: "The state or region of the entity's registered address, as\ + \ an ISO-3166-2 subdivision code." + example: CH-ZH + nullable: true + type: string + country: + description: The country of the entity's registered address (ISO-3166 Alpha-2 + code). + example: CH + nullable: true + type: string + hqStreet: + description: The street of the entity's headquarters address. + example: Hardturmstrasse 201 + nullable: true + type: string + hqNumber: + description: The building number of the entity's headquarters address. May + be returned as an empty string as well as `null` when not supplied. + example: "201" + nullable: true + type: string + hqPostcode: + description: The postal code of the entity's headquarters address. + example: "8005" + nullable: true + type: string + hqCity: + description: The city of the entity's headquarters address. + example: Zurich + nullable: true + type: string + hqRegion: + description: "The region of the entity's headquarters address, as an ISO-3166-2\ + \ subdivision code." + example: CH-ZH + nullable: true + type: string + hqCountry: + description: The country of the entity's headquarters address (ISO-3166 + Alpha-2 code). + example: CH + nullable: true + type: string + type: object + TravelRuleVASPExternalEntityRegistration: + description: The registration state of the VASP as reported by an external registry. + properties: + status: + description: "The registration status at the external registry, for example\ + \ `ISSUED`, `LAPSED` or `RETIRED`. The value set is defined by the registry,\ + \ not by Fireblocks." + example: ISSUED + nullable: true + type: string + nextRenewalDate: + description: The date the registration is next due for renewal at the external + registry. + example: 2026-05-19T12:41:57Z + nullable: true + type: string + corroborationLevel: + description: "The level to which the registry has corroborated the entity\ + \ data, for example `FULLY_CORROBORATED`. The value set is defined by\ + \ the registry, not by Fireblocks." + example: FULLY_CORROBORATED + nullable: true + type: string + type: object + TravelRuleVASPExternalEntityConfig: + description: "An entity record for the VASP as resolved from an external registry,\ + \ together with the registration state reported by that registry." + properties: + provider: + description: "The external registry the record was resolved from. Returned\ + \ in lower case, for example `gleif`." + example: gleif + type: string + externalId: + description: The VASP's identifier within the external registry. For the + `gleif` provider this is the Legal Entity Identifier (LEI). + example: 9845001C5PA89625E069 + nullable: true + type: string + updatedAt: + description: Timestamp of the last change to the record at the external + registry. + example: 2024-07-20T00:00:00Z + nullable: true + type: string + resolvedAt: + description: Timestamp when the record was last resolved from the external + registry. + example: 2024-07-20T13:27:30.929Z + nullable: true + type: string + entity: + $ref: "#/components/schemas/TravelRuleVASPExternalEntity" + registration: + $ref: "#/components/schemas/TravelRuleVASPExternalEntityRegistration" + type: object TravelRuleIssuer: + description: An attestation of a single VASP attribute by an issuing party. example: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF properties: issuerDid: + description: The Decentralized Identifier (DID) of the party that issued + the attestation. + example: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + type: string + issuedDate: + description: "Timestamp when the attestation was issued. Present on every\ + \ attestation observed to date, but not guaranteed, so treat it as optional." + example: 2024-07-20T13:27:30.958Z + type: string + issuerName: + description: "The human-readable name of the issuing party. Returned only\ + \ for issuers that publish a name, such as GLEIF; absent for others, including\ + \ in the same response." + example: GLEIF type: string required: - issuerDid @@ -73227,33 +73479,61 @@ components: TravelRuleIssuers: example: country: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF website: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF city: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF isRegulated: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF description: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF businessNumber: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF yearFounded: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF legalName: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF legalStructure: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF regulatoryAuthorities: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF name: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF logo: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF addressLine1: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF incorporationCountry: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF properties: yearFounded: $ref: "#/components/schemas/TravelRuleIssuer" @@ -73299,82 +73579,169 @@ components: - website - yearFounded type: object + TravelRuleVASPCompliancePhaseData: + additionalProperties: + description: Whether the milestone identified by the key has been completed. + example: true + type: boolean + description: |- + The VASP's progress through the Travel Rule compliance onboarding milestones, as a map keyed by milestone code. + + Each value indicates whether that milestone has been completed. The set of milestone codes is defined by the Travel Rule provider and may change over time, so clients must not assume any particular key is present. Examples of milestone codes include `TX_SENT`, `TX_NOTIFY_API`, `TF_VASP_VERIFIED`, `RULES_CUSTOM_INCOMING` and `INTEGRATIONS_WIDGET`. + nullable: true + type: object TravelRuleVASP: + description: |- + A VASP record from the Travel Rule trust framework directory. + + The set of keys returned depends on the `fields` query parameter. When `fields` is omitted, or supplied with an empty value, this endpoint returns the complete record. + + Additional fields may be present in the response beyond those documented here. Clients must ignore unrecognised fields rather than failing to deserialize. example: country: US travelRule_TRISA: pending - travelRule_TRP: active - isNotifiable: true - city: New York documents: "['license.pdf', 'compliance.pdf']" - isRegulated: "YES" - travelRule_EMAIL: inactive - description: A leading provider of crypto security solutions. - identificationType: Business License - identificationCountry: US + identificationType: OTHER travelRule_SYGNA: inactive - lastReceivedDate: 2024-03-20T11:45:30.212Z legalName: Fireblocks Inc. + division: Downtown + externalEntityConfig: + - provider: gleif + externalId: 9845001C5PA89625E069 + updatedAt: 2024-07-20T00:00:00Z + resolvedAt: 2024-07-20T13:27:30.929Z number: "10" createdAt: 2023-09-19T12:23:59.711Z - legalStructure: CORPORATION - street: Wall Street travelRule_SHYFT: inactive + subsidiaryOf: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2 + pii_didkey: 86fae05d276b4096a324a1450ed92a6b2c277412bb6a49bce1ed942a0c6726bf regulatoryAuthorities: "SEC, FINCEN" + entityCategory: GENERAL + vaspnetUpdatedAt: 2024-07-20T13:27:30.961Z + leiNumber: 9845001C5PA89625E069 + isActiveSender: true addressLine1: 657 Campfire Street logo: https://fireblocks.com/logo.png addressLine2: Suite 10 + hqRegion: CH-ZH state: NY jurisdictions: "US, EU" travelRule_TRLIGHT: active updatedAt: 2024-08-29T08:23:51.416Z + additionalInformation: Licensed for custody and exchange services. + updatedBy: did:ethr:0x19b5ff8440019b635a86bbb632db854f2ea80423 + verificationStatus: VERIFIED + travelRule_USTRAVELRULEWG: pending + unit: Apt 2B + otherNames: Fireblocks Test VASP + certificates: ISO 27001 + lastSentDate: 2024-03-18T09:26:07.988Z + name: Fireblocks TST + hqStreet: Hardturmstrasse 201 + postCode: "10005" + otherLegalName: "SIX Digital Exchange SA, SIX Digital Exchange Ltd" + hqPostcode: "8005" + lastChecked: 2024-07-20T13:27:30.961Z + incorporationCountry: US + travelRule_TRP: active + isNotifiable: true + hqCity: Zurich + statusExpirationDate: 2026-01-01T00:00:00.000Z + city: New York + registrationLicenseId: LIC-123456 + vaspnetImmutableFields: + - legalName + isRegulated: "YES" + travelRule_EMAIL: inactive + description: A leading provider of crypto security solutions. + hqCountry: CH + identificationCountry: US + lastReceivedDate: 2024-03-20T11:45:30.212Z + regulatoryStatus: Regulated + legalStructure: CORPORATION + street: Wall Street + compliancePhaseData: + key: true website: https://fireblocks.com hasAdmin: true - updatedBy: system - verificationStatus: VERIFIED - emailDomains: "fireblocks.com,example.com" + statusStartDate: 2023-01-01T00:00:00.000Z + node_didkey: did:key:z6Mks5CZRaiooKYhq5TwtXQC1gWhwiZnmiKfFrMnYY62MhYf + emailDomains: "[\"fireblocks.com\", \"example.com\"]" businessNumber: "123456789" + hqNumber: "201" + compliancePhase: 3 yearFounded: "2019" issuers: country: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF website: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF city: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF isRegulated: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF description: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF businessNumber: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF yearFounded: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF legalName: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF legalStructure: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF regulatoryAuthorities: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF name: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF logo: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF addressLine1: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF incorporationCountry: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF + targetProtocol: TRLIGHT + parentGateway: did:ethr:0x79189b9b98c95785702f8ecfe16bbe396479e1a0 + legalForm: MVII + ddq: "{\"data\":{\"fullLegalName\":\"Fireblocks Inc.\"},\"updatedAt\":\"2024-11-27T08:59:31.178Z\"\ + }" travelRule_OPENVASP: active - travelRule_USTRAVELRULEWG: pending - unit: Apt 2B - otherNames: Fireblocks Test VASP - certificates: ISO 27001 - lastSentDate: 2024-03-18T09:26:07.988Z - createdBy: admin - name: Fireblocks TST - postCode: "10005" + isActiveReceiver: true + entityStatus: ACTIVE + createdBy: did:ethr:0x19b5ff8440019b635a86bbb632db854f2ea80423 + vaspnetId: vaspnet-123456 + subsidiaries: [] + gleifUpdatedAt: 2024-07-20T00:00:00.000Z + supervisoryAuthority: FINMA did: did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6 - incorporationCountry: US properties: did: description: The Decentralized Identifier (DID) of the VASP. @@ -73393,7 +73760,8 @@ components: example: 657 Campfire Street type: string addressLine2: - description: The second line of the VASP's address (if applicable). + description: The second line of the VASP's address (if applicable). May + be null. example: Suite 10 type: string city: @@ -73406,15 +73774,17 @@ components: example: US type: string emailDomains: - description: Comma-separated list of email domains associated with the VASP. - example: "fireblocks.com,example.com" + description: The email domains associated with the VASP. The field's type + is string; its content is a JSON-encoded array of domains. Clients must + parse this value to obtain the array. + example: "[\"fireblocks.com\", \"example.com\"]" type: string website: description: The official website of the VASP. example: https://fireblocks.com type: string logo: - description: URL to the logo of the VASP. + description: URL to the logo of the VASP. May be null. example: https://fireblocks.com/logo.png type: string legalStructure: @@ -73426,7 +73796,8 @@ components: example: Fireblocks Inc. type: string yearFounded: - description: The year the VASP was founded. + description: "The year the VASP was founded. Returned as a string, not an\ + \ integer." example: "2019" type: string incorporationCountry: @@ -73439,16 +73810,16 @@ components: example: "YES" type: string otherNames: - description: Other names the VASP is known by. + description: Other names the VASP is known by. May be null. example: Fireblocks Test VASP type: string identificationType: description: The type of identification used by the VASP. - example: Business License + example: OTHER type: string identificationCountry: description: The country of identification for the VASP (ISO-3166 Alpha-2 - code). + code). May be null. example: US type: string businessNumber: @@ -73456,23 +73827,29 @@ components: example: "123456789" type: string regulatoryAuthorities: - description: The regulatory authorities overseeing the VASP. + description: The regulatory authorities overseeing the VASP. May be null. example: "SEC, FINCEN" type: string jurisdictions: description: The jurisdictions where the VASP operates. example: "US, EU" type: string + division: + description: "The division of the VASP's registered address, where applicable." + example: Downtown + nullable: true + type: string street: - description: The street name where the VASP is located. + description: The street name where the VASP is located. May be null. example: Wall Street type: string number: - description: The building number of the VASP's address. + description: The building number of the VASP's address. May be returned + as an empty string when not supplied. example: "10" type: string unit: - description: The unit or suite number of the VASP's address. + description: The unit or suite number of the VASP's address. May be null. example: Apt 2B type: string postCode: @@ -73483,24 +73860,113 @@ components: description: The state or region where the VASP is located. example: NY type: string + otherLegalName: + description: "Alternative legal names of the VASP, as a comma-separated\ + \ list. Resolved from an external registry, so it is only populated for\ + \ VASPs with a resolved entity record." + example: "SIX Digital Exchange SA, SIX Digital Exchange Ltd" + nullable: true + type: string + gleifUpdatedAt: + description: Timestamp of the last synchronization with the GLEIF registry. + Only populated for VASPs with a GLEIF-resolved LEI. + example: 2024-07-20T00:00:00.000Z + nullable: true + type: string + leiNumber: + description: "The VASP's Legal Entity Identifier (LEI), a 20-character alphanumeric\ + \ code. Only populated for VASPs with a GLEIF-resolved LEI." + example: 9845001C5PA89625E069 + nullable: true + type: string + legalForm: + description: The GLEIF Entity Legal Form (ELF) code of the VASP. Only populated + for VASPs with a GLEIF-resolved LEI. + example: MVII + nullable: true + type: string + entityCategory: + description: The GLEIF entity category of the VASP. Only populated for VASPs + with a GLEIF-resolved LEI. + example: GENERAL + nullable: true + type: string + entityStatus: + description: The GLEIF entity status of the VASP. Only populated for VASPs + with a GLEIF-resolved LEI. + example: ACTIVE + nullable: true + type: string + externalEntityConfig: + description: "Entity records resolved from external registries, such as\ + \ GLEIF. Only populated for VASPs that have been resolved against at least\ + \ one external registry." + example: + - provider: gleif + externalId: 9845001C5PA89625E069 + updatedAt: 2024-07-20T00:00:00Z + resolvedAt: 2024-07-20T13:27:30.929Z + items: + $ref: "#/components/schemas/TravelRuleVASPExternalEntityConfig" + nullable: true + type: array + hqStreet: + description: The street of the VASP's headquarters address. Only populated + for VASPs with a GLEIF-resolved LEI. + example: Hardturmstrasse 201 + nullable: true + type: string + hqNumber: + description: The building number of the VASP's headquarters address. May + be returned as an empty string as well as `null` when not supplied. + example: "201" + nullable: true + type: string + hqPostcode: + description: The postal code of the VASP's headquarters address. Only populated + for VASPs with a GLEIF-resolved LEI. + example: "8005" + nullable: true + type: string + hqRegion: + description: "The region of the VASP's headquarters address, as an ISO-3166-2\ + \ subdivision code. Only populated for VASPs with a GLEIF-resolved LEI." + example: CH-ZH + nullable: true + type: string + hqCity: + description: The city of the VASP's headquarters address. Only populated + for VASPs with a GLEIF-resolved LEI. + example: Zurich + nullable: true + type: string + hqCountry: + description: The country of the VASP's headquarters address (ISO-3166 Alpha-2 + code). Only populated for VASPs with a GLEIF-resolved LEI. + example: CH + nullable: true + type: string certificates: - description: Certificates or licenses held by the VASP. + description: Certificates or licenses held by the VASP. May be null. example: ISO 27001 type: string description: - description: A brief description of the VASP. + description: A brief description of the VASP. May be null. example: A leading provider of crypto security solutions. type: string travelRule_OPENVASP: - description: Travel rule compliance status for OpenVASP. + description: Travel rule compliance status for OpenVASP. Null when the VASP + does not support this protocol. example: active type: string travelRule_SYGNA: - description: Travel rule compliance status for Sygna. + description: Travel rule compliance status for Sygna. Null when the VASP + does not support this protocol. example: inactive type: string travelRule_TRISA: - description: Travel rule compliance status for TRISA. + description: Travel rule compliance status for TRISA. Null when the VASP + does not support this protocol. example: pending type: string travelRule_TRLIGHT: @@ -73508,19 +73974,23 @@ components: example: active type: string travelRule_EMAIL: - description: Travel rule compliance status for EMAIL. + description: Travel rule compliance status for EMAIL. Null when the VASP + does not support this protocol. example: inactive type: string travelRule_TRP: - description: Travel rule compliance status for TRP. + description: Travel rule compliance status for TRP. Null when the VASP does + not support this protocol. example: active type: string travelRule_SHYFT: - description: Travel rule compliance status for Shyft. + description: Travel rule compliance status for Shyft. Null when the VASP + does not support this protocol. example: inactive type: string travelRule_USTRAVELRULEWG: - description: Travel rule compliance status for US Travel Rule WG. + description: Travel rule compliance status for US Travel Rule WG. Null when + the VASP does not support this protocol. example: pending type: string createdAt: @@ -73528,16 +73998,16 @@ components: example: 2023-09-19T12:23:59.711Z type: string createdBy: - description: User or system that created the VASP record. - example: admin + description: The DID of the party that created the VASP record. May be null. + example: did:ethr:0x19b5ff8440019b635a86bbb632db854f2ea80423 type: string updatedAt: description: Timestamp of the last update to the VASP record. example: 2024-08-29T08:23:51.416Z type: string updatedBy: - description: User or system that last updated the VASP record. - example: system + description: The DID of the party that last updated the VASP record. + example: did:ethr:0x19b5ff8440019b635a86bbb632db854f2ea80423 type: string lastSentDate: description: The last date a transaction was sent by the VASP. @@ -73548,7 +74018,7 @@ components: example: 2024-03-20T11:45:30.212Z type: string documents: - description: Documents associated with the VASP. + description: Documents associated with the VASP. May be null. example: "['license.pdf', 'compliance.pdf']" type: string hasAdmin: @@ -73561,6 +74031,137 @@ components: type: boolean issuers: $ref: "#/components/schemas/TravelRuleIssuers" + regulatoryStatus: + description: "The regulatory status of the VASP, as free text." + example: Regulated + nullable: true + type: string + supervisoryAuthority: + description: The supervisory authority responsible for the VASP. + example: FINMA + nullable: true + type: string + registrationLicenseId: + description: The identifier of the VASP's registration or operating license. + example: LIC-123456 + nullable: true + type: string + statusStartDate: + description: The date the VASP's current regulatory status took effect. + example: 2023-01-01T00:00:00.000Z + nullable: true + type: string + statusExpirationDate: + description: The date the VASP's current regulatory status expires. + example: 2026-01-01T00:00:00.000Z + nullable: true + type: string + lastChecked: + description: Timestamp of the last verification of the VASP's regulatory + status. + example: 2024-07-20T13:27:30.961Z + nullable: true + type: string + additionalInformation: + description: Additional free-text information about the VASP. + example: Licensed for custody and exchange services. + nullable: true + type: string + subsidiaryOf: + description: "The DID of the parent VASP, when this VASP is a subsidiary\ + \ of another." + example: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2 + nullable: true + type: string + pii_didkey: + description: "The VASP's public PII encryption key, published in the trust\ + \ framework directory. Use it to encrypt IVMS101 personally identifiable\ + \ information addressed to this VASP." + example: 86fae05d276b4096a324a1450ed92a6b2c277412bb6a49bce1ed942a0c6726bf + nullable: true + type: string + compliancePhase: + description: The VASP's current compliance onboarding phase. + example: 3 + nullable: true + type: integer + compliancePhaseData: + additionalProperties: + description: Whether the milestone identified by the key has been completed. + example: true + type: boolean + description: |- + The VASP's progress through the Travel Rule compliance onboarding milestones, as a map keyed by milestone code. + + Each value indicates whether that milestone has been completed. The set of milestone codes is defined by the Travel Rule provider and may change over time, so clients must not assume any particular key is present. Examples of milestone codes include `TX_SENT`, `TX_NOTIFY_API`, `TF_VASP_VERIFIED`, `RULES_CUSTOM_INCOMING` and `INTEGRATIONS_WIDGET`. + nullable: true + type: object + vaspnetId: + description: The VASP's VASPnet identifier. + example: vaspnet-123456 + nullable: true + type: string + vaspnetUpdatedAt: + description: Timestamp of the last synchronization with VASPnet. + example: 2024-07-20T13:27:30.961Z + nullable: true + type: string + vaspnetImmutableFields: + description: Names of the fields that are managed by VASPnet and cannot + be modified locally. Empty when no fields are locked. + example: + - legalName + items: + description: The name of a VASP field managed by VASPnet. + example: legalName + type: string + nullable: true + type: array + node_didkey: + description: The public key of the Travel Rule node serving this VASP record. + The format has not been confirmed against a live response; every observed + value has been null. + example: did:key:z6Mks5CZRaiooKYhq5TwtXQC1gWhwiZnmiKfFrMnYY62MhYf + nullable: true + type: string + ddq: + description: "The VASP's Due Diligence Questionnaire, as a JSON-encoded\ + \ string containing a `data` object and an `updatedAt` timestamp. Clients\ + \ must parse this value." + example: "{\"data\":{\"fullLegalName\":\"Fireblocks Inc.\"},\"updatedAt\"\ + :\"2024-11-27T08:59:31.178Z\"}" + nullable: true + type: string + targetProtocol: + description: "The Travel Rule protocol used to reach this VASP, when a specific\ + \ one is configured." + example: TRLIGHT + nullable: true + type: string + parentGateway: + description: The DID of the gateway VASP that routes messages on this VASP's + behalf. + example: did:ethr:0x79189b9b98c95785702f8ecfe16bbe396479e1a0 + nullable: true + type: string + isActiveSender: + description: Indicates if the VASP actively sends Travel Rule transfers. + example: true + nullable: true + type: boolean + isActiveReceiver: + description: Indicates if the VASP actively receives Travel Rule transfers. + example: true + nullable: true + type: boolean + subsidiaries: + description: "The VASP's subsidiary entities. The element schema is not\ + \ yet documented, as no response containing a populated value has been\ + \ observed; do not assume a particular element type." + example: [] + items: {} + nullable: true + type: array required: - addressLine1 - city @@ -73589,152 +74190,292 @@ components: data: - country: US travelRule_TRISA: pending - travelRule_TRP: active - isNotifiable: true - city: New York documents: "['license.pdf', 'compliance.pdf']" - isRegulated: "YES" - travelRule_EMAIL: inactive - description: A leading provider of crypto security solutions. - identificationType: Business License - identificationCountry: US + identificationType: OTHER travelRule_SYGNA: inactive - lastReceivedDate: 2024-03-20T11:45:30.212Z legalName: Fireblocks Inc. + division: Downtown + externalEntityConfig: + - provider: gleif + externalId: 9845001C5PA89625E069 + updatedAt: 2024-07-20T00:00:00Z + resolvedAt: 2024-07-20T13:27:30.929Z number: "10" createdAt: 2023-09-19T12:23:59.711Z - legalStructure: CORPORATION - street: Wall Street travelRule_SHYFT: inactive + subsidiaryOf: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2 + pii_didkey: 86fae05d276b4096a324a1450ed92a6b2c277412bb6a49bce1ed942a0c6726bf regulatoryAuthorities: "SEC, FINCEN" + entityCategory: GENERAL + vaspnetUpdatedAt: 2024-07-20T13:27:30.961Z + leiNumber: 9845001C5PA89625E069 + isActiveSender: true addressLine1: 657 Campfire Street logo: https://fireblocks.com/logo.png addressLine2: Suite 10 + hqRegion: CH-ZH state: NY jurisdictions: "US, EU" travelRule_TRLIGHT: active updatedAt: 2024-08-29T08:23:51.416Z + additionalInformation: Licensed for custody and exchange services. + updatedBy: did:ethr:0x19b5ff8440019b635a86bbb632db854f2ea80423 + verificationStatus: VERIFIED + travelRule_USTRAVELRULEWG: pending + unit: Apt 2B + otherNames: Fireblocks Test VASP + certificates: ISO 27001 + lastSentDate: 2024-03-18T09:26:07.988Z + name: Fireblocks TST + hqStreet: Hardturmstrasse 201 + postCode: "10005" + otherLegalName: "SIX Digital Exchange SA, SIX Digital Exchange Ltd" + hqPostcode: "8005" + lastChecked: 2024-07-20T13:27:30.961Z + incorporationCountry: US + travelRule_TRP: active + isNotifiable: true + hqCity: Zurich + statusExpirationDate: 2026-01-01T00:00:00.000Z + city: New York + registrationLicenseId: LIC-123456 + vaspnetImmutableFields: + - legalName + isRegulated: "YES" + travelRule_EMAIL: inactive + description: A leading provider of crypto security solutions. + hqCountry: CH + identificationCountry: US + lastReceivedDate: 2024-03-20T11:45:30.212Z + regulatoryStatus: Regulated + legalStructure: CORPORATION + street: Wall Street + compliancePhaseData: + key: true website: https://fireblocks.com hasAdmin: true - updatedBy: system - verificationStatus: VERIFIED - emailDomains: "fireblocks.com,example.com" + statusStartDate: 2023-01-01T00:00:00.000Z + node_didkey: did:key:z6Mks5CZRaiooKYhq5TwtXQC1gWhwiZnmiKfFrMnYY62MhYf + emailDomains: "[\"fireblocks.com\", \"example.com\"]" businessNumber: "123456789" + hqNumber: "201" + compliancePhase: 3 yearFounded: "2019" issuers: country: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF website: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF city: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF isRegulated: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF description: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF businessNumber: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF yearFounded: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF legalName: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF legalStructure: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF regulatoryAuthorities: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF name: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF logo: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF addressLine1: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF incorporationCountry: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF + targetProtocol: TRLIGHT + parentGateway: did:ethr:0x79189b9b98c95785702f8ecfe16bbe396479e1a0 + legalForm: MVII + ddq: "{\"data\":{\"fullLegalName\":\"Fireblocks Inc.\"},\"updatedAt\":\"\ + 2024-11-27T08:59:31.178Z\"}" travelRule_OPENVASP: active + isActiveReceiver: true + entityStatus: ACTIVE + createdBy: did:ethr:0x19b5ff8440019b635a86bbb632db854f2ea80423 + vaspnetId: vaspnet-123456 + subsidiaries: [] + gleifUpdatedAt: 2024-07-20T00:00:00.000Z + supervisoryAuthority: FINMA + did: did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6 + - country: US + travelRule_TRISA: pending + documents: "['license.pdf', 'compliance.pdf']" + identificationType: OTHER + travelRule_SYGNA: inactive + legalName: Fireblocks Inc. + division: Downtown + externalEntityConfig: + - provider: gleif + externalId: 9845001C5PA89625E069 + updatedAt: 2024-07-20T00:00:00Z + resolvedAt: 2024-07-20T13:27:30.929Z + number: "10" + createdAt: 2023-09-19T12:23:59.711Z + travelRule_SHYFT: inactive + subsidiaryOf: did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2 + pii_didkey: 86fae05d276b4096a324a1450ed92a6b2c277412bb6a49bce1ed942a0c6726bf + regulatoryAuthorities: "SEC, FINCEN" + entityCategory: GENERAL + vaspnetUpdatedAt: 2024-07-20T13:27:30.961Z + leiNumber: 9845001C5PA89625E069 + isActiveSender: true + addressLine1: 657 Campfire Street + logo: https://fireblocks.com/logo.png + addressLine2: Suite 10 + hqRegion: CH-ZH + state: NY + jurisdictions: "US, EU" + travelRule_TRLIGHT: active + updatedAt: 2024-08-29T08:23:51.416Z + additionalInformation: Licensed for custody and exchange services. + updatedBy: did:ethr:0x19b5ff8440019b635a86bbb632db854f2ea80423 + verificationStatus: VERIFIED travelRule_USTRAVELRULEWG: pending unit: Apt 2B otherNames: Fireblocks Test VASP certificates: ISO 27001 lastSentDate: 2024-03-18T09:26:07.988Z - createdBy: admin name: Fireblocks TST + hqStreet: Hardturmstrasse 201 postCode: "10005" - did: did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6 + otherLegalName: "SIX Digital Exchange SA, SIX Digital Exchange Ltd" + hqPostcode: "8005" + lastChecked: 2024-07-20T13:27:30.961Z incorporationCountry: US - - country: US - travelRule_TRISA: pending travelRule_TRP: active isNotifiable: true + hqCity: Zurich + statusExpirationDate: 2026-01-01T00:00:00.000Z city: New York - documents: "['license.pdf', 'compliance.pdf']" + registrationLicenseId: LIC-123456 + vaspnetImmutableFields: + - legalName isRegulated: "YES" travelRule_EMAIL: inactive description: A leading provider of crypto security solutions. - identificationType: Business License + hqCountry: CH identificationCountry: US - travelRule_SYGNA: inactive lastReceivedDate: 2024-03-20T11:45:30.212Z - legalName: Fireblocks Inc. - number: "10" - createdAt: 2023-09-19T12:23:59.711Z + regulatoryStatus: Regulated legalStructure: CORPORATION street: Wall Street - travelRule_SHYFT: inactive - regulatoryAuthorities: "SEC, FINCEN" - addressLine1: 657 Campfire Street - logo: https://fireblocks.com/logo.png - addressLine2: Suite 10 - state: NY - jurisdictions: "US, EU" - travelRule_TRLIGHT: active - updatedAt: 2024-08-29T08:23:51.416Z + compliancePhaseData: + key: true website: https://fireblocks.com hasAdmin: true - updatedBy: system - verificationStatus: VERIFIED - emailDomains: "fireblocks.com,example.com" + statusStartDate: 2023-01-01T00:00:00.000Z + node_didkey: did:key:z6Mks5CZRaiooKYhq5TwtXQC1gWhwiZnmiKfFrMnYY62MhYf + emailDomains: "[\"fireblocks.com\", \"example.com\"]" businessNumber: "123456789" + hqNumber: "201" + compliancePhase: 3 yearFounded: "2019" issuers: country: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF website: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF city: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF isRegulated: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF description: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF businessNumber: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF yearFounded: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF legalName: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF legalStructure: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF regulatoryAuthorities: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF name: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF logo: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF addressLine1: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF incorporationCountry: - issuerDid: issuerDid + issuedDate: 2024-07-20T13:27:30.958Z + issuerDid: did:ethr:0x7947578140ed0fa32cb025d9ad9a6c6e72c52686 + issuerName: GLEIF + targetProtocol: TRLIGHT + parentGateway: did:ethr:0x79189b9b98c95785702f8ecfe16bbe396479e1a0 + legalForm: MVII + ddq: "{\"data\":{\"fullLegalName\":\"Fireblocks Inc.\"},\"updatedAt\":\"\ + 2024-11-27T08:59:31.178Z\"}" travelRule_OPENVASP: active - travelRule_USTRAVELRULEWG: pending - unit: Apt 2B - otherNames: Fireblocks Test VASP - certificates: ISO 27001 - lastSentDate: 2024-03-18T09:26:07.988Z - createdBy: admin - name: Fireblocks TST - postCode: "10005" + isActiveReceiver: true + entityStatus: ACTIVE + createdBy: did:ethr:0x19b5ff8440019b635a86bbb632db854f2ea80423 + vaspnetId: vaspnet-123456 + subsidiaries: [] + gleifUpdatedAt: 2024-07-20T00:00:00.000Z + supervisoryAuthority: FINMA did: did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6 - incorporationCountry: US properties: data: description: "An array of VASP objects, referencing the TravelRuleVASP schema." diff --git a/build.gradle b/build.gradle index d794a100..d43e483e 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'eclipse' apply plugin: 'com.diffplug.spotless' group = 'com.fireblocks.sdk' -version = '25.0.0' +version = '0.0.0' buildscript { repositories { diff --git a/docs/ContractAttributes.md b/docs/ContractAttributes.md index 91654e2f..6f46606a 100644 --- a/docs/ContractAttributes.md +++ b/docs/ContractAttributes.md @@ -7,9 +7,9 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**useCases** | **List<String>** | | | -|**standards** | **List<String>** | | | -|**auditor** | [**AuditorData**](AuditorData.md) | | | +|**useCases** | **List<String>** | | [optional] | +|**standards** | **List<String>** | Token standards implemented by the contract (e.g. ERC-20, ERC-1400). Not returned for templates that do not follow ERC token standards, such as non-EVM templates (e.g. Stellar, Solana Token 2022) | [optional] | +|**auditor** | [**AuditorData**](AuditorData.md) | | [optional] | diff --git a/docs/TravelRuleApi.md b/docs/TravelRuleApi.md index 2f856111..ffc95d31 100644 --- a/docs/TravelRuleApi.md +++ b/docs/TravelRuleApi.md @@ -189,7 +189,7 @@ No authorization required Get VASP details -Get VASP Details. Returns information about a VASP that has the specified DID. +Get VASP Details. Returns information about a VASP that has the specified DID. The response may contain fields that are not documented in the schema below. Clients must ignore unrecognised fields rather than failing to deserialize. ### Example @@ -214,8 +214,8 @@ public class Example { .secretKey("my-secret-key"); Fireblocks fireblocks = new Fireblocks(configurationOptions); - String did = "did_example"; // String | - List fields = Arrays.asList(); // List | A CSV of fields to return. Choose from the following options: + String did = "did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6"; // String | The Decentralized Identifier (DID) of the VASP. + List fields = Arrays.asList(); // List | The VASP fields to return. Optional. If omitted, or supplied with an empty value, the complete VASP record is returned, which is the same as passing `all`. Most field names return exactly the requested field. A few behave differently: `documents` and `ddq` return a small default set of identifying fields instead of the requested one, and `travelRule_EMAIL` returns an empty object. An unrecognised field name causes an error. try { CompletableFuture> response = fireblocks.travelRule().getVASPByDID(did, fields); System.out.println("Status code: " + response.get().getStatusCode()); @@ -244,8 +244,8 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **did** | **String**| | | -| **fields** | [**List<String>**](String.md)| A CSV of fields to return. Choose from the following options: | [optional] [enum: 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] | +| **did** | **String**| The Decentralized Identifier (DID) of the VASP. | | +| **fields** | [**List<String>**](String.md)| The VASP fields to return. Optional. If omitted, or supplied with an empty value, the complete VASP record is returned, which is the same as passing `all`. Most field names return exactly the requested field. A few behave differently: `documents` and `ddq` return a small default set of identifying fields instead of the requested one, and `travelRule_EMAIL` returns an empty object. An unrecognised field name causes an error. | [optional] [enum: all, did, name, verificationStatus, addressLine1, addressLine2, city, country, emailDomains, website, logo, legalStructure, legalName, yearFounded, incorporationCountry, isRegulated, otherNames, identificationType, identificationCountry, businessNumber, regulatoryAuthorities, jurisdictions, division, street, number, unit, postCode, state, otherLegalName, gleifUpdatedAt, leiNumber, legalForm, entityCategory, entityStatus, externalEntityConfig, hqStreet, hqNumber, hqPostcode, hqRegion, hqCity, hqCountry, 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, regulatoryStatus, supervisoryAuthority, registrationLicenseId, statusStartDate, statusExpirationDate, lastChecked, additionalInformation, subsidiaryOf, pii_didkey, compliancePhase, compliancePhaseData, vaspnetId, vaspnetUpdatedAt, vaspnetImmutableFields, node_didkey, ddq, targetProtocol, parentGateway, isActiveSender, isActiveReceiver, subsidiaries] | ### Return type @@ -264,7 +264,7 @@ No authorization required ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | Transaction validated successfully | - | +| **200** | VASP details | - | | **400** | Invalid request body | - | | **500** | Internal server error | - | @@ -275,7 +275,7 @@ No authorization required Get All VASPs -Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted. +Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted. Each VASP in the response may contain fields that are not documented in the schema below. Clients must ignore unrecognised fields rather than failing to deserialize. ### Example @@ -302,7 +302,7 @@ public class Example { String order = "ASC"; // String | Field to order by BigDecimal pageSize = new BigDecimal("500"); // BigDecimal | Records per page - List fields = Arrays.asList(); // List | CSV of fields to return (all, \"blank\" or see list of all field names below) + List fields = Arrays.asList(); // List | The VASP fields to return. Optional. If omitted, each VASP is returned with a default subset of six fields: `did`, `name`, `website`, `logo`, `incorporationCountry` and `jurisdictions`. Pass `all` to return the complete record for each VASP. Most field names return exactly the requested field. A few behave differently: `documents` and `ddq` return a small default set of identifying fields instead of the requested one, and `travelRule_EMAIL` returns an empty object. An unrecognised field name causes an error. String search = "Fireblocks"; // String | Search query String reviewValue = "TRUSTED"; // String | 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). String pageCursor = "100"; // String | Cursor for pagination. When provided, the response will include the next page of results. @@ -336,7 +336,7 @@ public class Example { |------------- | ------------- | ------------- | -------------| | **order** | **String**| Field to order by | [optional] [enum: ASC, DESC] | | **pageSize** | **BigDecimal**| Records per page | [optional] [default to 500] | -| **fields** | [**List<String>**](String.md)| CSV of fields to return (all, \"blank\" or see list of all field names below) | [optional] [enum: 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] | +| **fields** | [**List<String>**](String.md)| The VASP fields to return. Optional. If omitted, each VASP is returned with a default subset of six fields: `did`, `name`, `website`, `logo`, `incorporationCountry` and `jurisdictions`. Pass `all` to return the complete record for each VASP. Most field names return exactly the requested field. A few behave differently: `documents` and `ddq` return a small default set of identifying fields instead of the requested one, and `travelRule_EMAIL` returns an empty object. An unrecognised field name causes an error. | [optional] [enum: all, did, name, verificationStatus, addressLine1, addressLine2, city, country, emailDomains, website, logo, legalStructure, legalName, yearFounded, incorporationCountry, isRegulated, otherNames, identificationType, identificationCountry, businessNumber, regulatoryAuthorities, jurisdictions, division, street, number, unit, postCode, state, otherLegalName, gleifUpdatedAt, leiNumber, legalForm, entityCategory, entityStatus, externalEntityConfig, hqStreet, hqNumber, hqPostcode, hqRegion, hqCity, hqCountry, 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, regulatoryStatus, supervisoryAuthority, registrationLicenseId, statusStartDate, statusExpirationDate, lastChecked, additionalInformation, subsidiaryOf, pii_didkey, compliancePhase, compliancePhaseData, vaspnetId, vaspnetUpdatedAt, vaspnetImmutableFields, node_didkey, ddq, targetProtocol, parentGateway, isActiveSender, isActiveReceiver, subsidiaries] | | **search** | **String**| Search query | [optional] | | **reviewValue** | **String**| 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] [enum: TRUSTED, BLOCKED, MANUAL, ] | | **pageCursor** | **String**| Cursor for pagination. When provided, the response will include the next page of results. | [optional] | diff --git a/docs/TravelRuleIssuer.md b/docs/TravelRuleIssuer.md index aba828cb..68f16c52 100644 --- a/docs/TravelRuleIssuer.md +++ b/docs/TravelRuleIssuer.md @@ -2,12 +2,15 @@ # TravelRuleIssuer +An attestation of a single VASP attribute by an issuing party. ## Properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**issuerDid** | **String** | | | +|**issuerDid** | **String** | The Decentralized Identifier (DID) of the party that issued the attestation. | | +|**issuedDate** | **String** | Timestamp when the attestation was issued. Present on every attestation observed to date, but not guaranteed, so treat it as optional. | [optional] | +|**issuerName** | **String** | The human-readable name of the issuing party. Returned only for issuers that publish a name, such as GLEIF; absent for others, including in the same response. | [optional] | diff --git a/docs/TravelRuleVASP.md b/docs/TravelRuleVASP.md index ed90ab73..d1d77313 100644 --- a/docs/TravelRuleVASP.md +++ b/docs/TravelRuleVASP.md @@ -2,6 +2,7 @@ # TravelRuleVASP +A VASP record from the Travel Rule trust framework directory. The set of keys returned depends on the `fields` query parameter. When `fields` is omitted, or supplied with an empty value, this endpoint returns the complete record. Additional fields may be present in the response beyond those documented here. Clients must ignore unrecognised fields rather than failing to deserialize. ## Properties @@ -11,48 +12,83 @@ |**name** | **String** | The name of the VASP. | | |**verificationStatus** | **String** | The current verification status of the VASP. | | |**addressLine1** | **String** | The first line of the VASP's address. | | -|**addressLine2** | **String** | The second line of the VASP's address (if applicable). | [optional] | +|**addressLine2** | **String** | The second line of the VASP's address (if applicable). May be null. | [optional] | |**city** | **String** | The city where the VASP is located. | | |**country** | **String** | The country where the VASP is registered (ISO-3166 Alpha-2 code). | | -|**emailDomains** | **String** | Comma-separated list of email domains associated with the VASP. | | +|**emailDomains** | **String** | The email domains associated with the VASP. The field's type is string; its content is a JSON-encoded array of domains. Clients must parse this value to obtain the array. | | |**website** | **String** | The official website of the VASP. | | -|**logo** | **String** | URL to the logo of the VASP. | [optional] | +|**logo** | **String** | URL to the logo of the VASP. May be null. | [optional] | |**legalStructure** | **String** | The legal structure of the VASP (e.g., Corporation, LLC). | | |**legalName** | **String** | The legal name of the VASP. | | -|**yearFounded** | **String** | The year the VASP was founded. | | +|**yearFounded** | **String** | The year the VASP was founded. Returned as a string, not an integer. | | |**incorporationCountry** | **String** | The country where the VASP is incorporated (ISO-3166 Alpha-2 code). | | |**isRegulated** | **String** | Indicates whether the VASP is regulated. | | -|**otherNames** | **String** | Other names the VASP is known by. | [optional] | +|**otherNames** | **String** | Other names the VASP is known by. May be null. | [optional] | |**identificationType** | **String** | The type of identification used by the VASP. | [optional] | -|**identificationCountry** | **String** | The country of identification for the VASP (ISO-3166 Alpha-2 code). | [optional] | +|**identificationCountry** | **String** | The country of identification for the VASP (ISO-3166 Alpha-2 code). May be null. | [optional] | |**businessNumber** | **String** | The business registration number of the VASP. | [optional] | -|**regulatoryAuthorities** | **String** | The regulatory authorities overseeing the VASP. | [optional] | +|**regulatoryAuthorities** | **String** | The regulatory authorities overseeing the VASP. May be null. | [optional] | |**jurisdictions** | **String** | The jurisdictions where the VASP operates. | | -|**street** | **String** | The street name where the VASP is located. | [optional] | -|**number** | **String** | The building number of the VASP's address. | [optional] | -|**unit** | **String** | The unit or suite number of the VASP's address. | [optional] | +|**division** | **String** | The division of the VASP's registered address, where applicable. | [optional] | +|**street** | **String** | The street name where the VASP is located. May be null. | [optional] | +|**number** | **String** | The building number of the VASP's address. May be returned as an empty string when not supplied. | [optional] | +|**unit** | **String** | The unit or suite number of the VASP's address. May be null. | [optional] | |**postCode** | **String** | The postal code of the VASP's location. | [optional] | |**state** | **String** | The state or region where the VASP is located. | [optional] | -|**certificates** | **String** | Certificates or licenses held by the VASP. | [optional] | -|**description** | **String** | A brief description of the VASP. | [optional] | -|**travelRuleOPENVASP** | **String** | Travel rule compliance status for OpenVASP. | [optional] | -|**travelRuleSYGNA** | **String** | Travel rule compliance status for Sygna. | [optional] | -|**travelRuleTRISA** | **String** | Travel rule compliance status for TRISA. | [optional] | +|**otherLegalName** | **String** | Alternative legal names of the VASP, as a comma-separated list. Resolved from an external registry, so it is only populated for VASPs with a resolved entity record. | [optional] | +|**gleifUpdatedAt** | **String** | Timestamp of the last synchronization with the GLEIF registry. Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**leiNumber** | **String** | The VASP's Legal Entity Identifier (LEI), a 20-character alphanumeric code. Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**legalForm** | **String** | The GLEIF Entity Legal Form (ELF) code of the VASP. Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**entityCategory** | **String** | The GLEIF entity category of the VASP. Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**entityStatus** | **String** | The GLEIF entity status of the VASP. Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**externalEntityConfig** | [**List<TravelRuleVASPExternalEntityConfig>**](TravelRuleVASPExternalEntityConfig.md) | Entity records resolved from external registries, such as GLEIF. Only populated for VASPs that have been resolved against at least one external registry. | [optional] | +|**hqStreet** | **String** | The street of the VASP's headquarters address. Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**hqNumber** | **String** | The building number of the VASP's headquarters address. May be returned as an empty string as well as `null` when not supplied. | [optional] | +|**hqPostcode** | **String** | The postal code of the VASP's headquarters address. Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**hqRegion** | **String** | The region of the VASP's headquarters address, as an ISO-3166-2 subdivision code. Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**hqCity** | **String** | The city of the VASP's headquarters address. Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**hqCountry** | **String** | The country of the VASP's headquarters address (ISO-3166 Alpha-2 code). Only populated for VASPs with a GLEIF-resolved LEI. | [optional] | +|**certificates** | **String** | Certificates or licenses held by the VASP. May be null. | [optional] | +|**description** | **String** | A brief description of the VASP. May be null. | [optional] | +|**travelRuleOPENVASP** | **String** | Travel rule compliance status for OpenVASP. Null when the VASP does not support this protocol. | [optional] | +|**travelRuleSYGNA** | **String** | Travel rule compliance status for Sygna. Null when the VASP does not support this protocol. | [optional] | +|**travelRuleTRISA** | **String** | Travel rule compliance status for TRISA. Null when the VASP does not support this protocol. | [optional] | |**travelRuleTRLIGHT** | **String** | Travel rule compliance status for TRLight. | | -|**travelRuleEMAIL** | **String** | Travel rule compliance status for EMAIL. | [optional] | -|**travelRuleTRP** | **String** | Travel rule compliance status for TRP. | [optional] | -|**travelRuleSHYFT** | **String** | Travel rule compliance status for Shyft. | [optional] | -|**travelRuleUSTRAVELRULEWG** | **String** | Travel rule compliance status for US Travel Rule WG. | [optional] | +|**travelRuleEMAIL** | **String** | Travel rule compliance status for EMAIL. Null when the VASP does not support this protocol. | [optional] | +|**travelRuleTRP** | **String** | Travel rule compliance status for TRP. Null when the VASP does not support this protocol. | [optional] | +|**travelRuleSHYFT** | **String** | Travel rule compliance status for Shyft. Null when the VASP does not support this protocol. | [optional] | +|**travelRuleUSTRAVELRULEWG** | **String** | Travel rule compliance status for US Travel Rule WG. Null when the VASP does not support this protocol. | [optional] | |**createdAt** | **String** | Timestamp when the VASP record was created. | | -|**createdBy** | **String** | User or system that created the VASP record. | [optional] | +|**createdBy** | **String** | The DID of the party that created the VASP record. May be null. | [optional] | |**updatedAt** | **String** | Timestamp of the last update to the VASP record. | [optional] | -|**updatedBy** | **String** | User or system that last updated the VASP record. | [optional] | +|**updatedBy** | **String** | The DID of the party that last updated the VASP record. | [optional] | |**lastSentDate** | **String** | The last date a transaction was sent by the VASP. | [optional] | |**lastReceivedDate** | **String** | The last date a transaction was received by the VASP. | [optional] | -|**documents** | **String** | Documents associated with the VASP. | [optional] | +|**documents** | **String** | Documents associated with the VASP. May be null. | [optional] | |**hasAdmin** | **Boolean** | Indicates if the VASP has an admin. | | |**isNotifiable** | **Boolean** | Indicates if the VASP is notifiable for compliance reasons. | | |**issuers** | [**TravelRuleIssuers**](TravelRuleIssuers.md) | | | +|**regulatoryStatus** | **String** | The regulatory status of the VASP, as free text. | [optional] | +|**supervisoryAuthority** | **String** | The supervisory authority responsible for the VASP. | [optional] | +|**registrationLicenseId** | **String** | The identifier of the VASP's registration or operating license. | [optional] | +|**statusStartDate** | **String** | The date the VASP's current regulatory status took effect. | [optional] | +|**statusExpirationDate** | **String** | The date the VASP's current regulatory status expires. | [optional] | +|**lastChecked** | **String** | Timestamp of the last verification of the VASP's regulatory status. | [optional] | +|**additionalInformation** | **String** | Additional free-text information about the VASP. | [optional] | +|**subsidiaryOf** | **String** | The DID of the parent VASP, when this VASP is a subsidiary of another. | [optional] | +|**piiDidkey** | **String** | The VASP's public PII encryption key, published in the trust framework directory. Use it to encrypt IVMS101 personally identifiable information addressed to this VASP. | [optional] | +|**compliancePhase** | **Integer** | The VASP's current compliance onboarding phase. | [optional] | +|**compliancePhaseData** | **Map<String, Boolean>** | The VASP's progress through the Travel Rule compliance onboarding milestones, as a map keyed by milestone code. Each value indicates whether that milestone has been completed. The set of milestone codes is defined by the Travel Rule provider and may change over time, so clients must not assume any particular key is present. Examples of milestone codes include `TX_SENT`, `TX_NOTIFY_API`, `TF_VASP_VERIFIED`, `RULES_CUSTOM_INCOMING` and `INTEGRATIONS_WIDGET`. | [optional] | +|**vaspnetId** | **String** | The VASP's VASPnet identifier. | [optional] | +|**vaspnetUpdatedAt** | **String** | Timestamp of the last synchronization with VASPnet. | [optional] | +|**vaspnetImmutableFields** | **List<String>** | Names of the fields that are managed by VASPnet and cannot be modified locally. Empty when no fields are locked. | [optional] | +|**nodeDidkey** | **String** | The public key of the Travel Rule node serving this VASP record. The format has not been confirmed against a live response; every observed value has been null. | [optional] | +|**ddq** | **String** | The VASP's Due Diligence Questionnaire, as a JSON-encoded string containing a `data` object and an `updatedAt` timestamp. Clients must parse this value. | [optional] | +|**targetProtocol** | **String** | The Travel Rule protocol used to reach this VASP, when a specific one is configured. | [optional] | +|**parentGateway** | **String** | The DID of the gateway VASP that routes messages on this VASP's behalf. | [optional] | +|**isActiveSender** | **Boolean** | Indicates if the VASP actively sends Travel Rule transfers. | [optional] | +|**isActiveReceiver** | **Boolean** | Indicates if the VASP actively receives Travel Rule transfers. | [optional] | +|**subsidiaries** | **List<Object>** | The VASP's subsidiary entities. The element schema is not yet documented, as no response containing a populated value has been observed; do not assume a particular element type. | [optional] | diff --git a/docs/TravelRuleVASPExternalEntity.md b/docs/TravelRuleVASPExternalEntity.md new file mode 100644 index 00000000..8214f2f9 --- /dev/null +++ b/docs/TravelRuleVASPExternalEntity.md @@ -0,0 +1,34 @@ + + +# TravelRuleVASPExternalEntity + +The VASP's entity data as held by an external registry. These fields mirror a subset of the top-level VASP fields, but carry the registry's values rather than the VASP's own, so the two may differ. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**legalName** | **String** | The legal name of the entity as recorded by the external registry. | [optional] | +|**otherLegalName** | **String** | Alternative legal names of the entity, as a comma-separated list. | [optional] | +|**legalForm** | **String** | The Entity Legal Form (ELF) code of the entity. | [optional] | +|**legalStructure** | **String** | The legal structure of the entity. The external registry may return the Entity Legal Form code in this field, so its value can duplicate `legalForm`. | [optional] | +|**entityCategory** | **String** | The category assigned to the entity by the external registry. | [optional] | +|**entityStatus** | **String** | The status of the entity at the external registry. | [optional] | +|**businessNumber** | **String** | The business registration number of the entity. | [optional] | +|**yearFounded** | **String** | The year the entity was founded. Returned as a string, not an integer. | [optional] | +|**jurisdictions** | **String** | The jurisdictions the entity is registered in. | [optional] | +|**addressLine1** | **String** | The first line of the entity's registered address. | [optional] | +|**number** | **String** | The building number of the entity's registered address. May be returned as an empty string as well as `null` when not supplied. | [optional] | +|**postCode** | **String** | The postal code of the entity's registered address. | [optional] | +|**city** | **String** | The city of the entity's registered address. | [optional] | +|**state** | **String** | The state or region of the entity's registered address, as an ISO-3166-2 subdivision code. | [optional] | +|**country** | **String** | The country of the entity's registered address (ISO-3166 Alpha-2 code). | [optional] | +|**hqStreet** | **String** | The street of the entity's headquarters address. | [optional] | +|**hqNumber** | **String** | The building number of the entity's headquarters address. May be returned as an empty string as well as `null` when not supplied. | [optional] | +|**hqPostcode** | **String** | The postal code of the entity's headquarters address. | [optional] | +|**hqCity** | **String** | The city of the entity's headquarters address. | [optional] | +|**hqRegion** | **String** | The region of the entity's headquarters address, as an ISO-3166-2 subdivision code. | [optional] | +|**hqCountry** | **String** | The country of the entity's headquarters address (ISO-3166 Alpha-2 code). | [optional] | + + + diff --git a/docs/TravelRuleVASPExternalEntityConfig.md b/docs/TravelRuleVASPExternalEntityConfig.md new file mode 100644 index 00000000..45a56166 --- /dev/null +++ b/docs/TravelRuleVASPExternalEntityConfig.md @@ -0,0 +1,19 @@ + + +# TravelRuleVASPExternalEntityConfig + +An entity record for the VASP as resolved from an external registry, together with the registration state reported by that registry. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**provider** | **String** | The external registry the record was resolved from. Returned in lower case, for example `gleif`. | [optional] | +|**externalId** | **String** | The VASP's identifier within the external registry. For the `gleif` provider this is the Legal Entity Identifier (LEI). | [optional] | +|**updatedAt** | **String** | Timestamp of the last change to the record at the external registry. | [optional] | +|**resolvedAt** | **String** | Timestamp when the record was last resolved from the external registry. | [optional] | +|**entity** | [**TravelRuleVASPExternalEntity**](TravelRuleVASPExternalEntity.md) | | [optional] | +|**registration** | [**TravelRuleVASPExternalEntityRegistration**](TravelRuleVASPExternalEntityRegistration.md) | | [optional] | + + + diff --git a/docs/TravelRuleVASPExternalEntityRegistration.md b/docs/TravelRuleVASPExternalEntityRegistration.md new file mode 100644 index 00000000..75dcaaea --- /dev/null +++ b/docs/TravelRuleVASPExternalEntityRegistration.md @@ -0,0 +1,16 @@ + + +# TravelRuleVASPExternalEntityRegistration + +The registration state of the VASP as reported by an external registry. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**status** | **String** | The registration status at the external registry, for example `ISSUED`, `LAPSED` or `RETIRED`. The value set is defined by the registry, not by Fireblocks. | [optional] | +|**nextRenewalDate** | **String** | The date the registration is next due for renewal at the external registry. | [optional] | +|**corroborationLevel** | **String** | The level to which the registry has corroborated the entity data, for example `FULLY_CORROBORATED`. The value set is defined by the registry, not by Fireblocks. | [optional] | + + + diff --git a/pom.xml b/pom.xml index 4031be91..5c58d835 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ fireblocks-sdk jar fireblocks-sdk - 25.0.0 + 0.0.0 https://github.com/fireblocks/java-sdk The Fireblocks Official SDK is a comprehensive software development kit that enables seamless integration and interaction with the Fireblocks platform. Fireblocks is a cutting-edge blockchain infrastructure platform that provides secure and scalable solutions for managing digital assets and transactions. This SDK empowers developers to build robust applications that can interact with the Fireblocks platform's features, including creating and managing vault accounts, initiating secure transactions, managing assets, and more. It abstracts complex interactions with the Fireblocks API, making it easier for developers to leverage the platform's capabilities while adhering to best practices in security and efficiency. diff --git a/src/main/java/com/fireblocks/sdk/Configuration.java b/src/main/java/com/fireblocks/sdk/Configuration.java index 416ffedd..aa53bae8 100644 --- a/src/main/java/com/fireblocks/sdk/Configuration.java +++ b/src/main/java/com/fireblocks/sdk/Configuration.java @@ -21,7 +21,7 @@ value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.14.0") public class Configuration { - public static final String VERSION = "25.0.0"; + public static final String VERSION = "0.0.0"; private static final AtomicReference defaultApiClient = new AtomicReference<>(); private static volatile Supplier apiClientFactory = ApiClient::new; diff --git a/src/main/java/com/fireblocks/sdk/api/TravelRuleApi.java b/src/main/java/com/fireblocks/sdk/api/TravelRuleApi.java index 1ff1658b..81fe9139 100644 --- a/src/main/java/com/fireblocks/sdk/api/TravelRuleApi.java +++ b/src/main/java/com/fireblocks/sdk/api/TravelRuleApi.java @@ -245,10 +245,16 @@ private HttpRequest.Builder getTrustProofOfAddressRequestBuilder(UUID transactio } /** * Get VASP details Get VASP Details. Returns information about a VASP that has the specified - * DID. + * DID. The response may contain fields that are not documented in the schema below. Clients + * must ignore unrecognised fields rather than failing to deserialize. * - * @param did (required) - * @param fields A CSV of fields to return. Choose from the following options: (optional + * @param did The Decentralized Identifier (DID) of the VASP. (required) + * @param fields The VASP fields to return. Optional. If omitted, or supplied with an empty + * value, the complete VASP record is returned, which is the same as passing + * `all`. Most field names return exactly the requested field. A few behave + * differently: `documents` and `ddq` return a small default set of + * identifying fields instead of the requested one, and `travelRule_EMAIL` returns + * an empty object. An unrecognised field name causes an error. (optional * @return CompletableFuture<ApiResponse<TravelRuleVASP>> * @throws ApiException if fails to make API call */ @@ -328,12 +334,20 @@ private HttpRequest.Builder getVASPByDIDRequestBuilder(String did, List return localVarRequestBuilder; } /** - * Get All VASPs Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted. + * Get All VASPs Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted. Each + * VASP in the response may contain fields that are not documented in the schema below. Clients + * must ignore unrecognised fields rather than failing to deserialize. * * @param order Field to order by (optional) * @param pageSize Records per page (optional, default to 500) - * @param fields CSV of fields to return (all, \"blank\" or see list of all field - * names below) (optional + * @param fields The VASP fields to return. Optional. If omitted, each VASP is returned with a + * default subset of six fields: `did`, `name`, `website`, + * `logo`, `incorporationCountry` and `jurisdictions`. Pass + * `all` to return the complete record for each VASP. Most field names return + * exactly the requested field. A few behave differently: `documents` and + * `ddq` return a small default set of identifying fields instead of the requested + * one, and `travelRule_EMAIL` returns an empty object. An unrecognised field name + * causes an error. (optional * @param search Search query (optional) * @param reviewValue Filter by the VASP's review status. Possible values include: * \"TRUSTED\", \"BLOCKED\", \"MANUAL\", or diff --git a/src/main/java/com/fireblocks/sdk/model/ContractAttributes.java b/src/main/java/com/fireblocks/sdk/model/ContractAttributes.java index c9db77d2..1911b4a2 100644 --- a/src/main/java/com/fireblocks/sdk/model/ContractAttributes.java +++ b/src/main/java/com/fireblocks/sdk/model/ContractAttributes.java @@ -13,7 +13,6 @@ package com.fireblocks.sdk.model; -import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -34,27 +33,17 @@ comments = "Generator version: 7.14.0") public class ContractAttributes { public static final String JSON_PROPERTY_USE_CASES = "useCases"; - @jakarta.annotation.Nonnull private List useCases; + @jakarta.annotation.Nullable private List useCases; public static final String JSON_PROPERTY_STANDARDS = "standards"; - @jakarta.annotation.Nonnull private List standards; + @jakarta.annotation.Nullable private List standards; public static final String JSON_PROPERTY_AUDITOR = "auditor"; - @jakarta.annotation.Nonnull private AuditorData auditor; + @jakarta.annotation.Nullable private AuditorData auditor; public ContractAttributes() {} - @JsonCreator - public ContractAttributes( - @JsonProperty(value = JSON_PROPERTY_USE_CASES, required = true) List useCases, - @JsonProperty(value = JSON_PROPERTY_STANDARDS, required = true) List standards, - @JsonProperty(value = JSON_PROPERTY_AUDITOR, required = true) AuditorData auditor) { - this.useCases = useCases; - this.standards = standards; - this.auditor = auditor; - } - - public ContractAttributes useCases(@jakarta.annotation.Nonnull List useCases) { + public ContractAttributes useCases(@jakarta.annotation.Nullable List useCases) { this.useCases = useCases; return this; } @@ -72,20 +61,20 @@ public ContractAttributes addUseCasesItem(String useCasesItem) { * * @return useCases */ - @jakarta.annotation.Nonnull + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_USE_CASES) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public List getUseCases() { return useCases; } @JsonProperty(JSON_PROPERTY_USE_CASES) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setUseCases(@jakarta.annotation.Nonnull List useCases) { + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUseCases(@jakarta.annotation.Nullable List useCases) { this.useCases = useCases; } - public ContractAttributes standards(@jakarta.annotation.Nonnull List standards) { + public ContractAttributes standards(@jakarta.annotation.Nullable List standards) { this.standards = standards; return this; } @@ -99,24 +88,26 @@ public ContractAttributes addStandardsItem(String standardsItem) { } /** - * Get standards + * Token standards implemented by the contract (e.g. ERC-20, ERC-1400). Not returned for + * templates that do not follow ERC token standards, such as non-EVM templates (e.g. Stellar, + * Solana Token 2022) * * @return standards */ - @jakarta.annotation.Nonnull + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_STANDARDS) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public List getStandards() { return standards; } @JsonProperty(JSON_PROPERTY_STANDARDS) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setStandards(@jakarta.annotation.Nonnull List standards) { + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStandards(@jakarta.annotation.Nullable List standards) { this.standards = standards; } - public ContractAttributes auditor(@jakarta.annotation.Nonnull AuditorData auditor) { + public ContractAttributes auditor(@jakarta.annotation.Nullable AuditorData auditor) { this.auditor = auditor; return this; } @@ -126,16 +117,16 @@ public ContractAttributes auditor(@jakarta.annotation.Nonnull AuditorData audito * * @return auditor */ - @jakarta.annotation.Nonnull + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_AUDITOR) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public AuditorData getAuditor() { return auditor; } @JsonProperty(JSON_PROPERTY_AUDITOR) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setAuditor(@jakarta.annotation.Nonnull AuditorData auditor) { + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAuditor(@jakarta.annotation.Nullable AuditorData auditor) { this.auditor = auditor; } diff --git a/src/main/java/com/fireblocks/sdk/model/TravelRuleIssuer.java b/src/main/java/com/fireblocks/sdk/model/TravelRuleIssuer.java index 00f97dcf..616393ec 100644 --- a/src/main/java/com/fireblocks/sdk/model/TravelRuleIssuer.java +++ b/src/main/java/com/fireblocks/sdk/model/TravelRuleIssuer.java @@ -21,8 +21,12 @@ import java.util.Objects; import java.util.StringJoiner; -/** TravelRuleIssuer */ -@JsonPropertyOrder({TravelRuleIssuer.JSON_PROPERTY_ISSUER_DID}) +/** An attestation of a single VASP attribute by an issuing party. */ +@JsonPropertyOrder({ + TravelRuleIssuer.JSON_PROPERTY_ISSUER_DID, + TravelRuleIssuer.JSON_PROPERTY_ISSUED_DATE, + TravelRuleIssuer.JSON_PROPERTY_ISSUER_NAME +}) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.14.0") @@ -30,6 +34,12 @@ public class TravelRuleIssuer { public static final String JSON_PROPERTY_ISSUER_DID = "issuerDid"; @jakarta.annotation.Nonnull private String issuerDid; + public static final String JSON_PROPERTY_ISSUED_DATE = "issuedDate"; + @jakarta.annotation.Nullable private String issuedDate; + + public static final String JSON_PROPERTY_ISSUER_NAME = "issuerName"; + @jakarta.annotation.Nullable private String issuerName; + public TravelRuleIssuer() {} @JsonCreator @@ -44,7 +54,7 @@ public TravelRuleIssuer issuerDid(@jakarta.annotation.Nonnull String issuerDid) } /** - * Get issuerDid + * The Decentralized Identifier (DID) of the party that issued the attestation. * * @return issuerDid */ @@ -61,6 +71,54 @@ public void setIssuerDid(@jakarta.annotation.Nonnull String issuerDid) { this.issuerDid = issuerDid; } + public TravelRuleIssuer issuedDate(@jakarta.annotation.Nullable String issuedDate) { + this.issuedDate = issuedDate; + return this; + } + + /** + * Timestamp when the attestation was issued. Present on every attestation observed to date, but + * not guaranteed, so treat it as optional. + * + * @return issuedDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ISSUED_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getIssuedDate() { + return issuedDate; + } + + @JsonProperty(JSON_PROPERTY_ISSUED_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIssuedDate(@jakarta.annotation.Nullable String issuedDate) { + this.issuedDate = issuedDate; + } + + public TravelRuleIssuer issuerName(@jakarta.annotation.Nullable String issuerName) { + this.issuerName = issuerName; + return this; + } + + /** + * The human-readable name of the issuing party. Returned only for issuers that publish a name, + * such as GLEIF; absent for others, including in the same response. + * + * @return issuerName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ISSUER_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getIssuerName() { + return issuerName; + } + + @JsonProperty(JSON_PROPERTY_ISSUER_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIssuerName(@jakarta.annotation.Nullable String issuerName) { + this.issuerName = issuerName; + } + /** Return true if this TravelRuleIssuer object is equal to o. */ @Override public boolean equals(Object o) { @@ -71,12 +129,14 @@ public boolean equals(Object o) { return false; } TravelRuleIssuer travelRuleIssuer = (TravelRuleIssuer) o; - return Objects.equals(this.issuerDid, travelRuleIssuer.issuerDid); + return Objects.equals(this.issuerDid, travelRuleIssuer.issuerDid) + && Objects.equals(this.issuedDate, travelRuleIssuer.issuedDate) + && Objects.equals(this.issuerName, travelRuleIssuer.issuerName); } @Override public int hashCode() { - return Objects.hash(issuerDid); + return Objects.hash(issuerDid, issuedDate, issuerName); } @Override @@ -84,6 +144,8 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class TravelRuleIssuer {\n"); sb.append(" issuerDid: ").append(toIndentedString(issuerDid)).append("\n"); + sb.append(" issuedDate: ").append(toIndentedString(issuedDate)).append("\n"); + sb.append(" issuerName: ").append(toIndentedString(issuerName)).append("\n"); sb.append("}"); return sb.toString(); } @@ -141,6 +203,26 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getIssuerDid())))); } + // add `issuedDate` to the URL query string + if (getIssuedDate() != null) { + joiner.add( + String.format( + "%sissuedDate%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIssuedDate())))); + } + + // add `issuerName` to the URL query string + if (getIssuerName() != null) { + joiner.add( + String.format( + "%sissuerName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIssuerName())))); + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/TravelRuleVASP.java b/src/main/java/com/fireblocks/sdk/model/TravelRuleVASP.java index 6012bda9..e4617ad5 100644 --- a/src/main/java/com/fireblocks/sdk/model/TravelRuleVASP.java +++ b/src/main/java/com/fireblocks/sdk/model/TravelRuleVASP.java @@ -18,10 +18,20 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fireblocks.sdk.ApiClient; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.StringJoiner; -/** TravelRuleVASP */ +/** + * A VASP record from the Travel Rule trust framework directory. The set of keys returned depends on + * the `fields` query parameter. When `fields` is omitted, or supplied with an + * empty value, this endpoint returns the complete record. Additional fields may be present in the + * response beyond those documented here. Clients must ignore unrecognised fields rather than + * failing to deserialize. + */ @JsonPropertyOrder({ TravelRuleVASP.JSON_PROPERTY_DID, TravelRuleVASP.JSON_PROPERTY_NAME, @@ -44,11 +54,25 @@ TravelRuleVASP.JSON_PROPERTY_BUSINESS_NUMBER, TravelRuleVASP.JSON_PROPERTY_REGULATORY_AUTHORITIES, TravelRuleVASP.JSON_PROPERTY_JURISDICTIONS, + TravelRuleVASP.JSON_PROPERTY_DIVISION, TravelRuleVASP.JSON_PROPERTY_STREET, TravelRuleVASP.JSON_PROPERTY_NUMBER, TravelRuleVASP.JSON_PROPERTY_UNIT, TravelRuleVASP.JSON_PROPERTY_POST_CODE, TravelRuleVASP.JSON_PROPERTY_STATE, + TravelRuleVASP.JSON_PROPERTY_OTHER_LEGAL_NAME, + TravelRuleVASP.JSON_PROPERTY_GLEIF_UPDATED_AT, + TravelRuleVASP.JSON_PROPERTY_LEI_NUMBER, + TravelRuleVASP.JSON_PROPERTY_LEGAL_FORM, + TravelRuleVASP.JSON_PROPERTY_ENTITY_CATEGORY, + TravelRuleVASP.JSON_PROPERTY_ENTITY_STATUS, + TravelRuleVASP.JSON_PROPERTY_EXTERNAL_ENTITY_CONFIG, + TravelRuleVASP.JSON_PROPERTY_HQ_STREET, + TravelRuleVASP.JSON_PROPERTY_HQ_NUMBER, + TravelRuleVASP.JSON_PROPERTY_HQ_POSTCODE, + TravelRuleVASP.JSON_PROPERTY_HQ_REGION, + TravelRuleVASP.JSON_PROPERTY_HQ_CITY, + TravelRuleVASP.JSON_PROPERTY_HQ_COUNTRY, TravelRuleVASP.JSON_PROPERTY_CERTIFICATES, TravelRuleVASP.JSON_PROPERTY_DESCRIPTION, TravelRuleVASP.JSON_PROPERTY_TRAVEL_RULE_O_P_E_N_V_A_S_P, @@ -68,7 +92,28 @@ TravelRuleVASP.JSON_PROPERTY_DOCUMENTS, TravelRuleVASP.JSON_PROPERTY_HAS_ADMIN, TravelRuleVASP.JSON_PROPERTY_IS_NOTIFIABLE, - TravelRuleVASP.JSON_PROPERTY_ISSUERS + TravelRuleVASP.JSON_PROPERTY_ISSUERS, + TravelRuleVASP.JSON_PROPERTY_REGULATORY_STATUS, + TravelRuleVASP.JSON_PROPERTY_SUPERVISORY_AUTHORITY, + TravelRuleVASP.JSON_PROPERTY_REGISTRATION_LICENSE_ID, + TravelRuleVASP.JSON_PROPERTY_STATUS_START_DATE, + TravelRuleVASP.JSON_PROPERTY_STATUS_EXPIRATION_DATE, + TravelRuleVASP.JSON_PROPERTY_LAST_CHECKED, + TravelRuleVASP.JSON_PROPERTY_ADDITIONAL_INFORMATION, + TravelRuleVASP.JSON_PROPERTY_SUBSIDIARY_OF, + TravelRuleVASP.JSON_PROPERTY_PII_DIDKEY, + TravelRuleVASP.JSON_PROPERTY_COMPLIANCE_PHASE, + TravelRuleVASP.JSON_PROPERTY_COMPLIANCE_PHASE_DATA, + TravelRuleVASP.JSON_PROPERTY_VASPNET_ID, + TravelRuleVASP.JSON_PROPERTY_VASPNET_UPDATED_AT, + TravelRuleVASP.JSON_PROPERTY_VASPNET_IMMUTABLE_FIELDS, + TravelRuleVASP.JSON_PROPERTY_NODE_DIDKEY, + TravelRuleVASP.JSON_PROPERTY_DDQ, + TravelRuleVASP.JSON_PROPERTY_TARGET_PROTOCOL, + TravelRuleVASP.JSON_PROPERTY_PARENT_GATEWAY, + TravelRuleVASP.JSON_PROPERTY_IS_ACTIVE_SENDER, + TravelRuleVASP.JSON_PROPERTY_IS_ACTIVE_RECEIVER, + TravelRuleVASP.JSON_PROPERTY_SUBSIDIARIES }) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -137,6 +182,9 @@ public class TravelRuleVASP { public static final String JSON_PROPERTY_JURISDICTIONS = "jurisdictions"; @jakarta.annotation.Nonnull private String jurisdictions; + public static final String JSON_PROPERTY_DIVISION = "division"; + @jakarta.annotation.Nullable private String division; + public static final String JSON_PROPERTY_STREET = "street"; @jakarta.annotation.Nullable private String street; @@ -152,6 +200,47 @@ public class TravelRuleVASP { public static final String JSON_PROPERTY_STATE = "state"; @jakarta.annotation.Nullable private String state; + public static final String JSON_PROPERTY_OTHER_LEGAL_NAME = "otherLegalName"; + @jakarta.annotation.Nullable private String otherLegalName; + + public static final String JSON_PROPERTY_GLEIF_UPDATED_AT = "gleifUpdatedAt"; + @jakarta.annotation.Nullable private String gleifUpdatedAt; + + public static final String JSON_PROPERTY_LEI_NUMBER = "leiNumber"; + @jakarta.annotation.Nullable private String leiNumber; + + public static final String JSON_PROPERTY_LEGAL_FORM = "legalForm"; + @jakarta.annotation.Nullable private String legalForm; + + public static final String JSON_PROPERTY_ENTITY_CATEGORY = "entityCategory"; + @jakarta.annotation.Nullable private String entityCategory; + + public static final String JSON_PROPERTY_ENTITY_STATUS = "entityStatus"; + @jakarta.annotation.Nullable private String entityStatus; + + public static final String JSON_PROPERTY_EXTERNAL_ENTITY_CONFIG = "externalEntityConfig"; + + @jakarta.annotation.Nullable + private List externalEntityConfig; + + public static final String JSON_PROPERTY_HQ_STREET = "hqStreet"; + @jakarta.annotation.Nullable private String hqStreet; + + public static final String JSON_PROPERTY_HQ_NUMBER = "hqNumber"; + @jakarta.annotation.Nullable private String hqNumber; + + public static final String JSON_PROPERTY_HQ_POSTCODE = "hqPostcode"; + @jakarta.annotation.Nullable private String hqPostcode; + + public static final String JSON_PROPERTY_HQ_REGION = "hqRegion"; + @jakarta.annotation.Nullable private String hqRegion; + + public static final String JSON_PROPERTY_HQ_CITY = "hqCity"; + @jakarta.annotation.Nullable private String hqCity; + + public static final String JSON_PROPERTY_HQ_COUNTRY = "hqCountry"; + @jakarta.annotation.Nullable private String hqCountry; + public static final String JSON_PROPERTY_CERTIFICATES = "certificates"; @jakarta.annotation.Nullable private String certificates; @@ -213,6 +302,69 @@ public class TravelRuleVASP { public static final String JSON_PROPERTY_ISSUERS = "issuers"; @jakarta.annotation.Nonnull private TravelRuleIssuers issuers; + public static final String JSON_PROPERTY_REGULATORY_STATUS = "regulatoryStatus"; + @jakarta.annotation.Nullable private String regulatoryStatus; + + public static final String JSON_PROPERTY_SUPERVISORY_AUTHORITY = "supervisoryAuthority"; + @jakarta.annotation.Nullable private String supervisoryAuthority; + + public static final String JSON_PROPERTY_REGISTRATION_LICENSE_ID = "registrationLicenseId"; + @jakarta.annotation.Nullable private String registrationLicenseId; + + public static final String JSON_PROPERTY_STATUS_START_DATE = "statusStartDate"; + @jakarta.annotation.Nullable private String statusStartDate; + + public static final String JSON_PROPERTY_STATUS_EXPIRATION_DATE = "statusExpirationDate"; + @jakarta.annotation.Nullable private String statusExpirationDate; + + public static final String JSON_PROPERTY_LAST_CHECKED = "lastChecked"; + @jakarta.annotation.Nullable private String lastChecked; + + public static final String JSON_PROPERTY_ADDITIONAL_INFORMATION = "additionalInformation"; + @jakarta.annotation.Nullable private String additionalInformation; + + public static final String JSON_PROPERTY_SUBSIDIARY_OF = "subsidiaryOf"; + @jakarta.annotation.Nullable private String subsidiaryOf; + + public static final String JSON_PROPERTY_PII_DIDKEY = "pii_didkey"; + @jakarta.annotation.Nullable private String piiDidkey; + + public static final String JSON_PROPERTY_COMPLIANCE_PHASE = "compliancePhase"; + @jakarta.annotation.Nullable private Integer compliancePhase; + + public static final String JSON_PROPERTY_COMPLIANCE_PHASE_DATA = "compliancePhaseData"; + @jakarta.annotation.Nullable private Map compliancePhaseData; + + public static final String JSON_PROPERTY_VASPNET_ID = "vaspnetId"; + @jakarta.annotation.Nullable private String vaspnetId; + + public static final String JSON_PROPERTY_VASPNET_UPDATED_AT = "vaspnetUpdatedAt"; + @jakarta.annotation.Nullable private String vaspnetUpdatedAt; + + public static final String JSON_PROPERTY_VASPNET_IMMUTABLE_FIELDS = "vaspnetImmutableFields"; + @jakarta.annotation.Nullable private List vaspnetImmutableFields; + + public static final String JSON_PROPERTY_NODE_DIDKEY = "node_didkey"; + @jakarta.annotation.Nullable private String nodeDidkey; + + public static final String JSON_PROPERTY_DDQ = "ddq"; + @jakarta.annotation.Nullable private String ddq; + + public static final String JSON_PROPERTY_TARGET_PROTOCOL = "targetProtocol"; + @jakarta.annotation.Nullable private String targetProtocol; + + public static final String JSON_PROPERTY_PARENT_GATEWAY = "parentGateway"; + @jakarta.annotation.Nullable private String parentGateway; + + public static final String JSON_PROPERTY_IS_ACTIVE_SENDER = "isActiveSender"; + @jakarta.annotation.Nullable private Boolean isActiveSender; + + public static final String JSON_PROPERTY_IS_ACTIVE_RECEIVER = "isActiveReceiver"; + @jakarta.annotation.Nullable private Boolean isActiveReceiver; + + public static final String JSON_PROPERTY_SUBSIDIARIES = "subsidiaries"; + @jakarta.annotation.Nullable private List subsidiaries; + public TravelRuleVASP() {} @JsonCreator @@ -363,7 +515,7 @@ public TravelRuleVASP addressLine2(@jakarta.annotation.Nullable String addressLi } /** - * The second line of the VASP's address (if applicable). + * The second line of the VASP's address (if applicable). May be null. * * @return addressLine2 */ @@ -432,7 +584,8 @@ public TravelRuleVASP emailDomains(@jakarta.annotation.Nonnull String emailDomai } /** - * Comma-separated list of email domains associated with the VASP. + * The email domains associated with the VASP. The field's type is string; its content is a + * JSON-encoded array of domains. Clients must parse this value to obtain the array. * * @return emailDomains */ @@ -478,7 +631,7 @@ public TravelRuleVASP logo(@jakarta.annotation.Nullable String logo) { } /** - * URL to the logo of the VASP. + * URL to the logo of the VASP. May be null. * * @return logo */ @@ -547,7 +700,7 @@ public TravelRuleVASP yearFounded(@jakarta.annotation.Nonnull String yearFounded } /** - * The year the VASP was founded. + * The year the VASP was founded. Returned as a string, not an integer. * * @return yearFounded */ @@ -617,7 +770,7 @@ public TravelRuleVASP otherNames(@jakarta.annotation.Nullable String otherNames) } /** - * Other names the VASP is known by. + * Other names the VASP is known by. May be null. * * @return otherNames */ @@ -665,7 +818,7 @@ public TravelRuleVASP identificationCountry( } /** - * The country of identification for the VASP (ISO-3166 Alpha-2 code). + * The country of identification for the VASP (ISO-3166 Alpha-2 code). May be null. * * @return identificationCountry */ @@ -713,7 +866,7 @@ public TravelRuleVASP regulatoryAuthorities( } /** - * The regulatory authorities overseeing the VASP. + * The regulatory authorities overseeing the VASP. May be null. * * @return regulatoryAuthorities */ @@ -754,13 +907,36 @@ public void setJurisdictions(@jakarta.annotation.Nonnull String jurisdictions) { this.jurisdictions = jurisdictions; } + public TravelRuleVASP division(@jakarta.annotation.Nullable String division) { + this.division = division; + return this; + } + + /** + * The division of the VASP's registered address, where applicable. + * + * @return division + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DIVISION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDivision() { + return division; + } + + @JsonProperty(JSON_PROPERTY_DIVISION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDivision(@jakarta.annotation.Nullable String division) { + this.division = division; + } + public TravelRuleVASP street(@jakarta.annotation.Nullable String street) { this.street = street; return this; } /** - * The street name where the VASP is located. + * The street name where the VASP is located. May be null. * * @return street */ @@ -783,7 +959,8 @@ public TravelRuleVASP number(@jakarta.annotation.Nullable String number) { } /** - * The building number of the VASP's address. + * The building number of the VASP's address. May be returned as an empty string when not + * supplied. * * @return number */ @@ -806,7 +983,7 @@ public TravelRuleVASP unit(@jakarta.annotation.Nullable String unit) { } /** - * The unit or suite number of the VASP's address. + * The unit or suite number of the VASP's address. May be null. * * @return unit */ @@ -869,13 +1046,336 @@ public void setState(@jakarta.annotation.Nullable String state) { this.state = state; } + public TravelRuleVASP otherLegalName(@jakarta.annotation.Nullable String otherLegalName) { + this.otherLegalName = otherLegalName; + return this; + } + + /** + * Alternative legal names of the VASP, as a comma-separated list. Resolved from an external + * registry, so it is only populated for VASPs with a resolved entity record. + * + * @return otherLegalName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_OTHER_LEGAL_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getOtherLegalName() { + return otherLegalName; + } + + @JsonProperty(JSON_PROPERTY_OTHER_LEGAL_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setOtherLegalName(@jakarta.annotation.Nullable String otherLegalName) { + this.otherLegalName = otherLegalName; + } + + public TravelRuleVASP gleifUpdatedAt(@jakarta.annotation.Nullable String gleifUpdatedAt) { + this.gleifUpdatedAt = gleifUpdatedAt; + return this; + } + + /** + * Timestamp of the last synchronization with the GLEIF registry. Only populated for VASPs with + * a GLEIF-resolved LEI. + * + * @return gleifUpdatedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_GLEIF_UPDATED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getGleifUpdatedAt() { + return gleifUpdatedAt; + } + + @JsonProperty(JSON_PROPERTY_GLEIF_UPDATED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setGleifUpdatedAt(@jakarta.annotation.Nullable String gleifUpdatedAt) { + this.gleifUpdatedAt = gleifUpdatedAt; + } + + public TravelRuleVASP leiNumber(@jakarta.annotation.Nullable String leiNumber) { + this.leiNumber = leiNumber; + return this; + } + + /** + * The VASP's Legal Entity Identifier (LEI), a 20-character alphanumeric code. Only + * populated for VASPs with a GLEIF-resolved LEI. + * + * @return leiNumber + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LEI_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getLeiNumber() { + return leiNumber; + } + + @JsonProperty(JSON_PROPERTY_LEI_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setLeiNumber(@jakarta.annotation.Nullable String leiNumber) { + this.leiNumber = leiNumber; + } + + public TravelRuleVASP legalForm(@jakarta.annotation.Nullable String legalForm) { + this.legalForm = legalForm; + return this; + } + + /** + * The GLEIF Entity Legal Form (ELF) code of the VASP. Only populated for VASPs with a + * GLEIF-resolved LEI. + * + * @return legalForm + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LEGAL_FORM) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getLegalForm() { + return legalForm; + } + + @JsonProperty(JSON_PROPERTY_LEGAL_FORM) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setLegalForm(@jakarta.annotation.Nullable String legalForm) { + this.legalForm = legalForm; + } + + public TravelRuleVASP entityCategory(@jakarta.annotation.Nullable String entityCategory) { + this.entityCategory = entityCategory; + return this; + } + + /** + * The GLEIF entity category of the VASP. Only populated for VASPs with a GLEIF-resolved LEI. + * + * @return entityCategory + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ENTITY_CATEGORY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getEntityCategory() { + return entityCategory; + } + + @JsonProperty(JSON_PROPERTY_ENTITY_CATEGORY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEntityCategory(@jakarta.annotation.Nullable String entityCategory) { + this.entityCategory = entityCategory; + } + + public TravelRuleVASP entityStatus(@jakarta.annotation.Nullable String entityStatus) { + this.entityStatus = entityStatus; + return this; + } + + /** + * The GLEIF entity status of the VASP. Only populated for VASPs with a GLEIF-resolved LEI. + * + * @return entityStatus + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ENTITY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getEntityStatus() { + return entityStatus; + } + + @JsonProperty(JSON_PROPERTY_ENTITY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEntityStatus(@jakarta.annotation.Nullable String entityStatus) { + this.entityStatus = entityStatus; + } + + public TravelRuleVASP externalEntityConfig( + @jakarta.annotation.Nullable + List externalEntityConfig) { + this.externalEntityConfig = externalEntityConfig; + return this; + } + + public TravelRuleVASP addExternalEntityConfigItem( + TravelRuleVASPExternalEntityConfig externalEntityConfigItem) { + if (this.externalEntityConfig == null) { + this.externalEntityConfig = new ArrayList<>(); + } + this.externalEntityConfig.add(externalEntityConfigItem); + return this; + } + + /** + * Entity records resolved from external registries, such as GLEIF. Only populated for VASPs + * that have been resolved against at least one external registry. + * + * @return externalEntityConfig + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_EXTERNAL_ENTITY_CONFIG) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getExternalEntityConfig() { + return externalEntityConfig; + } + + @JsonProperty(JSON_PROPERTY_EXTERNAL_ENTITY_CONFIG) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setExternalEntityConfig( + @jakarta.annotation.Nullable + List externalEntityConfig) { + this.externalEntityConfig = externalEntityConfig; + } + + public TravelRuleVASP hqStreet(@jakarta.annotation.Nullable String hqStreet) { + this.hqStreet = hqStreet; + return this; + } + + /** + * The street of the VASP's headquarters address. Only populated for VASPs with a + * GLEIF-resolved LEI. + * + * @return hqStreet + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_STREET) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqStreet() { + return hqStreet; + } + + @JsonProperty(JSON_PROPERTY_HQ_STREET) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqStreet(@jakarta.annotation.Nullable String hqStreet) { + this.hqStreet = hqStreet; + } + + public TravelRuleVASP hqNumber(@jakarta.annotation.Nullable String hqNumber) { + this.hqNumber = hqNumber; + return this; + } + + /** + * The building number of the VASP's headquarters address. May be returned as an empty + * string as well as `null` when not supplied. + * + * @return hqNumber + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqNumber() { + return hqNumber; + } + + @JsonProperty(JSON_PROPERTY_HQ_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqNumber(@jakarta.annotation.Nullable String hqNumber) { + this.hqNumber = hqNumber; + } + + public TravelRuleVASP hqPostcode(@jakarta.annotation.Nullable String hqPostcode) { + this.hqPostcode = hqPostcode; + return this; + } + + /** + * The postal code of the VASP's headquarters address. Only populated for VASPs with a + * GLEIF-resolved LEI. + * + * @return hqPostcode + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_POSTCODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqPostcode() { + return hqPostcode; + } + + @JsonProperty(JSON_PROPERTY_HQ_POSTCODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqPostcode(@jakarta.annotation.Nullable String hqPostcode) { + this.hqPostcode = hqPostcode; + } + + public TravelRuleVASP hqRegion(@jakarta.annotation.Nullable String hqRegion) { + this.hqRegion = hqRegion; + return this; + } + + /** + * The region of the VASP's headquarters address, as an ISO-3166-2 subdivision code. Only + * populated for VASPs with a GLEIF-resolved LEI. + * + * @return hqRegion + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_REGION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqRegion() { + return hqRegion; + } + + @JsonProperty(JSON_PROPERTY_HQ_REGION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqRegion(@jakarta.annotation.Nullable String hqRegion) { + this.hqRegion = hqRegion; + } + + public TravelRuleVASP hqCity(@jakarta.annotation.Nullable String hqCity) { + this.hqCity = hqCity; + return this; + } + + /** + * The city of the VASP's headquarters address. Only populated for VASPs with a + * GLEIF-resolved LEI. + * + * @return hqCity + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_CITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqCity() { + return hqCity; + } + + @JsonProperty(JSON_PROPERTY_HQ_CITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqCity(@jakarta.annotation.Nullable String hqCity) { + this.hqCity = hqCity; + } + + public TravelRuleVASP hqCountry(@jakarta.annotation.Nullable String hqCountry) { + this.hqCountry = hqCountry; + return this; + } + + /** + * The country of the VASP's headquarters address (ISO-3166 Alpha-2 code). Only populated + * for VASPs with a GLEIF-resolved LEI. + * + * @return hqCountry + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_COUNTRY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqCountry() { + return hqCountry; + } + + @JsonProperty(JSON_PROPERTY_HQ_COUNTRY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqCountry(@jakarta.annotation.Nullable String hqCountry) { + this.hqCountry = hqCountry; + } + public TravelRuleVASP certificates(@jakarta.annotation.Nullable String certificates) { this.certificates = certificates; return this; } /** - * Certificates or licenses held by the VASP. + * Certificates or licenses held by the VASP. May be null. * * @return certificates */ @@ -898,7 +1398,7 @@ public TravelRuleVASP description(@jakarta.annotation.Nullable String descriptio } /** - * A brief description of the VASP. + * A brief description of the VASP. May be null. * * @return description */ @@ -922,7 +1422,8 @@ public TravelRuleVASP travelRuleOPENVASP( } /** - * Travel rule compliance status for OpenVASP. + * Travel rule compliance status for OpenVASP. Null when the VASP does not support this + * protocol. * * @return travelRuleOPENVASP */ @@ -945,7 +1446,7 @@ public TravelRuleVASP travelRuleSYGNA(@jakarta.annotation.Nullable String travel } /** - * Travel rule compliance status for Sygna. + * Travel rule compliance status for Sygna. Null when the VASP does not support this protocol. * * @return travelRuleSYGNA */ @@ -968,7 +1469,7 @@ public TravelRuleVASP travelRuleTRISA(@jakarta.annotation.Nullable String travel } /** - * Travel rule compliance status for TRISA. + * Travel rule compliance status for TRISA. Null when the VASP does not support this protocol. * * @return travelRuleTRISA */ @@ -1014,7 +1515,7 @@ public TravelRuleVASP travelRuleEMAIL(@jakarta.annotation.Nullable String travel } /** - * Travel rule compliance status for EMAIL. + * Travel rule compliance status for EMAIL. Null when the VASP does not support this protocol. * * @return travelRuleEMAIL */ @@ -1037,7 +1538,7 @@ public TravelRuleVASP travelRuleTRP(@jakarta.annotation.Nullable String travelRu } /** - * Travel rule compliance status for TRP. + * Travel rule compliance status for TRP. Null when the VASP does not support this protocol. * * @return travelRuleTRP */ @@ -1060,7 +1561,7 @@ public TravelRuleVASP travelRuleSHYFT(@jakarta.annotation.Nullable String travel } /** - * Travel rule compliance status for Shyft. + * Travel rule compliance status for Shyft. Null when the VASP does not support this protocol. * * @return travelRuleSHYFT */ @@ -1084,7 +1585,8 @@ public TravelRuleVASP travelRuleUSTRAVELRULEWG( } /** - * Travel rule compliance status for US Travel Rule WG. + * Travel rule compliance status for US Travel Rule WG. Null when the VASP does not support this + * protocol. * * @return travelRuleUSTRAVELRULEWG */ @@ -1131,7 +1633,7 @@ public TravelRuleVASP createdBy(@jakarta.annotation.Nullable String createdBy) { } /** - * User or system that created the VASP record. + * The DID of the party that created the VASP record. May be null. * * @return createdBy */ @@ -1177,7 +1679,7 @@ public TravelRuleVASP updatedBy(@jakarta.annotation.Nullable String updatedBy) { } /** - * User or system that last updated the VASP record. + * The DID of the party that last updated the VASP record. * * @return updatedBy */ @@ -1246,7 +1748,7 @@ public TravelRuleVASP documents(@jakarta.annotation.Nullable String documents) { } /** - * Documents associated with the VASP. + * Documents associated with the VASP. May be null. * * @return documents */ @@ -1332,42 +1834,584 @@ public void setIssuers(@jakarta.annotation.Nonnull TravelRuleIssuers issuers) { this.issuers = issuers; } - /** Return true if this TravelRuleVASP object is equal to o. */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - TravelRuleVASP travelRuleVASP = (TravelRuleVASP) o; - return Objects.equals(this.did, travelRuleVASP.did) - && Objects.equals(this.name, travelRuleVASP.name) - && Objects.equals(this.verificationStatus, travelRuleVASP.verificationStatus) - && Objects.equals(this.addressLine1, travelRuleVASP.addressLine1) - && Objects.equals(this.addressLine2, travelRuleVASP.addressLine2) - && Objects.equals(this.city, travelRuleVASP.city) - && Objects.equals(this.country, travelRuleVASP.country) - && Objects.equals(this.emailDomains, travelRuleVASP.emailDomains) - && Objects.equals(this.website, travelRuleVASP.website) - && Objects.equals(this.logo, travelRuleVASP.logo) - && Objects.equals(this.legalStructure, travelRuleVASP.legalStructure) - && Objects.equals(this.legalName, travelRuleVASP.legalName) - && Objects.equals(this.yearFounded, travelRuleVASP.yearFounded) - && Objects.equals(this.incorporationCountry, travelRuleVASP.incorporationCountry) - && Objects.equals(this.isRegulated, travelRuleVASP.isRegulated) - && Objects.equals(this.otherNames, travelRuleVASP.otherNames) - && Objects.equals(this.identificationType, travelRuleVASP.identificationType) - && Objects.equals(this.identificationCountry, travelRuleVASP.identificationCountry) - && Objects.equals(this.businessNumber, travelRuleVASP.businessNumber) - && Objects.equals(this.regulatoryAuthorities, travelRuleVASP.regulatoryAuthorities) - && Objects.equals(this.jurisdictions, travelRuleVASP.jurisdictions) - && Objects.equals(this.street, travelRuleVASP.street) + public TravelRuleVASP regulatoryStatus(@jakarta.annotation.Nullable String regulatoryStatus) { + this.regulatoryStatus = regulatoryStatus; + return this; + } + + /** + * The regulatory status of the VASP, as free text. + * + * @return regulatoryStatus + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_REGULATORY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getRegulatoryStatus() { + return regulatoryStatus; + } + + @JsonProperty(JSON_PROPERTY_REGULATORY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRegulatoryStatus(@jakarta.annotation.Nullable String regulatoryStatus) { + this.regulatoryStatus = regulatoryStatus; + } + + public TravelRuleVASP supervisoryAuthority( + @jakarta.annotation.Nullable String supervisoryAuthority) { + this.supervisoryAuthority = supervisoryAuthority; + return this; + } + + /** + * The supervisory authority responsible for the VASP. + * + * @return supervisoryAuthority + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SUPERVISORY_AUTHORITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getSupervisoryAuthority() { + return supervisoryAuthority; + } + + @JsonProperty(JSON_PROPERTY_SUPERVISORY_AUTHORITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSupervisoryAuthority(@jakarta.annotation.Nullable String supervisoryAuthority) { + this.supervisoryAuthority = supervisoryAuthority; + } + + public TravelRuleVASP registrationLicenseId( + @jakarta.annotation.Nullable String registrationLicenseId) { + this.registrationLicenseId = registrationLicenseId; + return this; + } + + /** + * The identifier of the VASP's registration or operating license. + * + * @return registrationLicenseId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_REGISTRATION_LICENSE_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getRegistrationLicenseId() { + return registrationLicenseId; + } + + @JsonProperty(JSON_PROPERTY_REGISTRATION_LICENSE_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRegistrationLicenseId( + @jakarta.annotation.Nullable String registrationLicenseId) { + this.registrationLicenseId = registrationLicenseId; + } + + public TravelRuleVASP statusStartDate(@jakarta.annotation.Nullable String statusStartDate) { + this.statusStartDate = statusStartDate; + return this; + } + + /** + * The date the VASP's current regulatory status took effect. + * + * @return statusStartDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS_START_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getStatusStartDate() { + return statusStartDate; + } + + @JsonProperty(JSON_PROPERTY_STATUS_START_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStatusStartDate(@jakarta.annotation.Nullable String statusStartDate) { + this.statusStartDate = statusStartDate; + } + + public TravelRuleVASP statusExpirationDate( + @jakarta.annotation.Nullable String statusExpirationDate) { + this.statusExpirationDate = statusExpirationDate; + return this; + } + + /** + * The date the VASP's current regulatory status expires. + * + * @return statusExpirationDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS_EXPIRATION_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getStatusExpirationDate() { + return statusExpirationDate; + } + + @JsonProperty(JSON_PROPERTY_STATUS_EXPIRATION_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStatusExpirationDate(@jakarta.annotation.Nullable String statusExpirationDate) { + this.statusExpirationDate = statusExpirationDate; + } + + public TravelRuleVASP lastChecked(@jakarta.annotation.Nullable String lastChecked) { + this.lastChecked = lastChecked; + return this; + } + + /** + * Timestamp of the last verification of the VASP's regulatory status. + * + * @return lastChecked + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LAST_CHECKED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getLastChecked() { + return lastChecked; + } + + @JsonProperty(JSON_PROPERTY_LAST_CHECKED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setLastChecked(@jakarta.annotation.Nullable String lastChecked) { + this.lastChecked = lastChecked; + } + + public TravelRuleVASP additionalInformation( + @jakarta.annotation.Nullable String additionalInformation) { + this.additionalInformation = additionalInformation; + return this; + } + + /** + * Additional free-text information about the VASP. + * + * @return additionalInformation + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ADDITIONAL_INFORMATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAdditionalInformation() { + return additionalInformation; + } + + @JsonProperty(JSON_PROPERTY_ADDITIONAL_INFORMATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAdditionalInformation( + @jakarta.annotation.Nullable String additionalInformation) { + this.additionalInformation = additionalInformation; + } + + public TravelRuleVASP subsidiaryOf(@jakarta.annotation.Nullable String subsidiaryOf) { + this.subsidiaryOf = subsidiaryOf; + return this; + } + + /** + * The DID of the parent VASP, when this VASP is a subsidiary of another. + * + * @return subsidiaryOf + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SUBSIDIARY_OF) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getSubsidiaryOf() { + return subsidiaryOf; + } + + @JsonProperty(JSON_PROPERTY_SUBSIDIARY_OF) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSubsidiaryOf(@jakarta.annotation.Nullable String subsidiaryOf) { + this.subsidiaryOf = subsidiaryOf; + } + + public TravelRuleVASP piiDidkey(@jakarta.annotation.Nullable String piiDidkey) { + this.piiDidkey = piiDidkey; + return this; + } + + /** + * The VASP's public PII encryption key, published in the trust framework directory. Use it + * to encrypt IVMS101 personally identifiable information addressed to this VASP. + * + * @return piiDidkey + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PII_DIDKEY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getPiiDidkey() { + return piiDidkey; + } + + @JsonProperty(JSON_PROPERTY_PII_DIDKEY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPiiDidkey(@jakarta.annotation.Nullable String piiDidkey) { + this.piiDidkey = piiDidkey; + } + + public TravelRuleVASP compliancePhase(@jakarta.annotation.Nullable Integer compliancePhase) { + this.compliancePhase = compliancePhase; + return this; + } + + /** + * The VASP's current compliance onboarding phase. + * + * @return compliancePhase + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPLIANCE_PHASE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getCompliancePhase() { + return compliancePhase; + } + + @JsonProperty(JSON_PROPERTY_COMPLIANCE_PHASE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCompliancePhase(@jakarta.annotation.Nullable Integer compliancePhase) { + this.compliancePhase = compliancePhase; + } + + public TravelRuleVASP compliancePhaseData( + @jakarta.annotation.Nullable Map compliancePhaseData) { + this.compliancePhaseData = compliancePhaseData; + return this; + } + + public TravelRuleVASP putCompliancePhaseDataItem(String key, Boolean compliancePhaseDataItem) { + if (this.compliancePhaseData == null) { + this.compliancePhaseData = new HashMap<>(); + } + this.compliancePhaseData.put(key, compliancePhaseDataItem); + return this; + } + + /** + * The VASP's progress through the Travel Rule compliance onboarding milestones, as a map + * keyed by milestone code. Each value indicates whether that milestone has been completed. The + * set of milestone codes is defined by the Travel Rule provider and may change over time, so + * clients must not assume any particular key is present. Examples of milestone codes include + * `TX_SENT`, `TX_NOTIFY_API`, `TF_VASP_VERIFIED`, + * `RULES_CUSTOM_INCOMING` and `INTEGRATIONS_WIDGET`. + * + * @return compliancePhaseData + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COMPLIANCE_PHASE_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getCompliancePhaseData() { + return compliancePhaseData; + } + + @JsonProperty(JSON_PROPERTY_COMPLIANCE_PHASE_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCompliancePhaseData( + @jakarta.annotation.Nullable Map compliancePhaseData) { + this.compliancePhaseData = compliancePhaseData; + } + + public TravelRuleVASP vaspnetId(@jakarta.annotation.Nullable String vaspnetId) { + this.vaspnetId = vaspnetId; + return this; + } + + /** + * The VASP's VASPnet identifier. + * + * @return vaspnetId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VASPNET_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getVaspnetId() { + return vaspnetId; + } + + @JsonProperty(JSON_PROPERTY_VASPNET_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVaspnetId(@jakarta.annotation.Nullable String vaspnetId) { + this.vaspnetId = vaspnetId; + } + + public TravelRuleVASP vaspnetUpdatedAt(@jakarta.annotation.Nullable String vaspnetUpdatedAt) { + this.vaspnetUpdatedAt = vaspnetUpdatedAt; + return this; + } + + /** + * Timestamp of the last synchronization with VASPnet. + * + * @return vaspnetUpdatedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VASPNET_UPDATED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getVaspnetUpdatedAt() { + return vaspnetUpdatedAt; + } + + @JsonProperty(JSON_PROPERTY_VASPNET_UPDATED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVaspnetUpdatedAt(@jakarta.annotation.Nullable String vaspnetUpdatedAt) { + this.vaspnetUpdatedAt = vaspnetUpdatedAt; + } + + public TravelRuleVASP vaspnetImmutableFields( + @jakarta.annotation.Nullable List vaspnetImmutableFields) { + this.vaspnetImmutableFields = vaspnetImmutableFields; + return this; + } + + public TravelRuleVASP addVaspnetImmutableFieldsItem(String vaspnetImmutableFieldsItem) { + if (this.vaspnetImmutableFields == null) { + this.vaspnetImmutableFields = new ArrayList<>(); + } + this.vaspnetImmutableFields.add(vaspnetImmutableFieldsItem); + return this; + } + + /** + * Names of the fields that are managed by VASPnet and cannot be modified locally. Empty when no + * fields are locked. + * + * @return vaspnetImmutableFields + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_VASPNET_IMMUTABLE_FIELDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getVaspnetImmutableFields() { + return vaspnetImmutableFields; + } + + @JsonProperty(JSON_PROPERTY_VASPNET_IMMUTABLE_FIELDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVaspnetImmutableFields( + @jakarta.annotation.Nullable List vaspnetImmutableFields) { + this.vaspnetImmutableFields = vaspnetImmutableFields; + } + + public TravelRuleVASP nodeDidkey(@jakarta.annotation.Nullable String nodeDidkey) { + this.nodeDidkey = nodeDidkey; + return this; + } + + /** + * The public key of the Travel Rule node serving this VASP record. The format has not been + * confirmed against a live response; every observed value has been null. + * + * @return nodeDidkey + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NODE_DIDKEY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNodeDidkey() { + return nodeDidkey; + } + + @JsonProperty(JSON_PROPERTY_NODE_DIDKEY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNodeDidkey(@jakarta.annotation.Nullable String nodeDidkey) { + this.nodeDidkey = nodeDidkey; + } + + public TravelRuleVASP ddq(@jakarta.annotation.Nullable String ddq) { + this.ddq = ddq; + return this; + } + + /** + * The VASP's Due Diligence Questionnaire, as a JSON-encoded string containing a + * `data` object and an `updatedAt` timestamp. Clients must parse this + * value. + * + * @return ddq + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DDQ) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDdq() { + return ddq; + } + + @JsonProperty(JSON_PROPERTY_DDQ) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDdq(@jakarta.annotation.Nullable String ddq) { + this.ddq = ddq; + } + + public TravelRuleVASP targetProtocol(@jakarta.annotation.Nullable String targetProtocol) { + this.targetProtocol = targetProtocol; + return this; + } + + /** + * The Travel Rule protocol used to reach this VASP, when a specific one is configured. + * + * @return targetProtocol + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TARGET_PROTOCOL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTargetProtocol() { + return targetProtocol; + } + + @JsonProperty(JSON_PROPERTY_TARGET_PROTOCOL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTargetProtocol(@jakarta.annotation.Nullable String targetProtocol) { + this.targetProtocol = targetProtocol; + } + + public TravelRuleVASP parentGateway(@jakarta.annotation.Nullable String parentGateway) { + this.parentGateway = parentGateway; + return this; + } + + /** + * The DID of the gateway VASP that routes messages on this VASP's behalf. + * + * @return parentGateway + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PARENT_GATEWAY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getParentGateway() { + return parentGateway; + } + + @JsonProperty(JSON_PROPERTY_PARENT_GATEWAY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setParentGateway(@jakarta.annotation.Nullable String parentGateway) { + this.parentGateway = parentGateway; + } + + public TravelRuleVASP isActiveSender(@jakarta.annotation.Nullable Boolean isActiveSender) { + this.isActiveSender = isActiveSender; + return this; + } + + /** + * Indicates if the VASP actively sends Travel Rule transfers. + * + * @return isActiveSender + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_ACTIVE_SENDER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsActiveSender() { + return isActiveSender; + } + + @JsonProperty(JSON_PROPERTY_IS_ACTIVE_SENDER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIsActiveSender(@jakarta.annotation.Nullable Boolean isActiveSender) { + this.isActiveSender = isActiveSender; + } + + public TravelRuleVASP isActiveReceiver(@jakarta.annotation.Nullable Boolean isActiveReceiver) { + this.isActiveReceiver = isActiveReceiver; + return this; + } + + /** + * Indicates if the VASP actively receives Travel Rule transfers. + * + * @return isActiveReceiver + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_IS_ACTIVE_RECEIVER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIsActiveReceiver() { + return isActiveReceiver; + } + + @JsonProperty(JSON_PROPERTY_IS_ACTIVE_RECEIVER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIsActiveReceiver(@jakarta.annotation.Nullable Boolean isActiveReceiver) { + this.isActiveReceiver = isActiveReceiver; + } + + public TravelRuleVASP subsidiaries(@jakarta.annotation.Nullable List subsidiaries) { + this.subsidiaries = subsidiaries; + return this; + } + + public TravelRuleVASP addSubsidiariesItem(Object subsidiariesItem) { + if (this.subsidiaries == null) { + this.subsidiaries = new ArrayList<>(); + } + this.subsidiaries.add(subsidiariesItem); + return this; + } + + /** + * The VASP's subsidiary entities. The element schema is not yet documented, as no response + * containing a populated value has been observed; do not assume a particular element type. + * + * @return subsidiaries + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SUBSIDIARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getSubsidiaries() { + return subsidiaries; + } + + @JsonProperty(JSON_PROPERTY_SUBSIDIARIES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSubsidiaries(@jakarta.annotation.Nullable List subsidiaries) { + this.subsidiaries = subsidiaries; + } + + /** Return true if this TravelRuleVASP object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TravelRuleVASP travelRuleVASP = (TravelRuleVASP) o; + return Objects.equals(this.did, travelRuleVASP.did) + && Objects.equals(this.name, travelRuleVASP.name) + && Objects.equals(this.verificationStatus, travelRuleVASP.verificationStatus) + && Objects.equals(this.addressLine1, travelRuleVASP.addressLine1) + && Objects.equals(this.addressLine2, travelRuleVASP.addressLine2) + && Objects.equals(this.city, travelRuleVASP.city) + && Objects.equals(this.country, travelRuleVASP.country) + && Objects.equals(this.emailDomains, travelRuleVASP.emailDomains) + && Objects.equals(this.website, travelRuleVASP.website) + && Objects.equals(this.logo, travelRuleVASP.logo) + && Objects.equals(this.legalStructure, travelRuleVASP.legalStructure) + && Objects.equals(this.legalName, travelRuleVASP.legalName) + && Objects.equals(this.yearFounded, travelRuleVASP.yearFounded) + && Objects.equals(this.incorporationCountry, travelRuleVASP.incorporationCountry) + && Objects.equals(this.isRegulated, travelRuleVASP.isRegulated) + && Objects.equals(this.otherNames, travelRuleVASP.otherNames) + && Objects.equals(this.identificationType, travelRuleVASP.identificationType) + && Objects.equals(this.identificationCountry, travelRuleVASP.identificationCountry) + && Objects.equals(this.businessNumber, travelRuleVASP.businessNumber) + && Objects.equals(this.regulatoryAuthorities, travelRuleVASP.regulatoryAuthorities) + && Objects.equals(this.jurisdictions, travelRuleVASP.jurisdictions) + && Objects.equals(this.division, travelRuleVASP.division) + && Objects.equals(this.street, travelRuleVASP.street) && Objects.equals(this.number, travelRuleVASP.number) && Objects.equals(this.unit, travelRuleVASP.unit) && Objects.equals(this.postCode, travelRuleVASP.postCode) && Objects.equals(this.state, travelRuleVASP.state) + && Objects.equals(this.otherLegalName, travelRuleVASP.otherLegalName) + && Objects.equals(this.gleifUpdatedAt, travelRuleVASP.gleifUpdatedAt) + && Objects.equals(this.leiNumber, travelRuleVASP.leiNumber) + && Objects.equals(this.legalForm, travelRuleVASP.legalForm) + && Objects.equals(this.entityCategory, travelRuleVASP.entityCategory) + && Objects.equals(this.entityStatus, travelRuleVASP.entityStatus) + && Objects.equals(this.externalEntityConfig, travelRuleVASP.externalEntityConfig) + && Objects.equals(this.hqStreet, travelRuleVASP.hqStreet) + && Objects.equals(this.hqNumber, travelRuleVASP.hqNumber) + && Objects.equals(this.hqPostcode, travelRuleVASP.hqPostcode) + && Objects.equals(this.hqRegion, travelRuleVASP.hqRegion) + && Objects.equals(this.hqCity, travelRuleVASP.hqCity) + && Objects.equals(this.hqCountry, travelRuleVASP.hqCountry) && Objects.equals(this.certificates, travelRuleVASP.certificates) && Objects.equals(this.description, travelRuleVASP.description) && Objects.equals(this.travelRuleOPENVASP, travelRuleVASP.travelRuleOPENVASP) @@ -1388,7 +2432,29 @@ public boolean equals(Object o) { && Objects.equals(this.documents, travelRuleVASP.documents) && Objects.equals(this.hasAdmin, travelRuleVASP.hasAdmin) && Objects.equals(this.isNotifiable, travelRuleVASP.isNotifiable) - && Objects.equals(this.issuers, travelRuleVASP.issuers); + && Objects.equals(this.issuers, travelRuleVASP.issuers) + && Objects.equals(this.regulatoryStatus, travelRuleVASP.regulatoryStatus) + && Objects.equals(this.supervisoryAuthority, travelRuleVASP.supervisoryAuthority) + && Objects.equals(this.registrationLicenseId, travelRuleVASP.registrationLicenseId) + && Objects.equals(this.statusStartDate, travelRuleVASP.statusStartDate) + && Objects.equals(this.statusExpirationDate, travelRuleVASP.statusExpirationDate) + && Objects.equals(this.lastChecked, travelRuleVASP.lastChecked) + && Objects.equals(this.additionalInformation, travelRuleVASP.additionalInformation) + && Objects.equals(this.subsidiaryOf, travelRuleVASP.subsidiaryOf) + && Objects.equals(this.piiDidkey, travelRuleVASP.piiDidkey) + && Objects.equals(this.compliancePhase, travelRuleVASP.compliancePhase) + && Objects.equals(this.compliancePhaseData, travelRuleVASP.compliancePhaseData) + && Objects.equals(this.vaspnetId, travelRuleVASP.vaspnetId) + && Objects.equals(this.vaspnetUpdatedAt, travelRuleVASP.vaspnetUpdatedAt) + && Objects.equals( + this.vaspnetImmutableFields, travelRuleVASP.vaspnetImmutableFields) + && Objects.equals(this.nodeDidkey, travelRuleVASP.nodeDidkey) + && Objects.equals(this.ddq, travelRuleVASP.ddq) + && Objects.equals(this.targetProtocol, travelRuleVASP.targetProtocol) + && Objects.equals(this.parentGateway, travelRuleVASP.parentGateway) + && Objects.equals(this.isActiveSender, travelRuleVASP.isActiveSender) + && Objects.equals(this.isActiveReceiver, travelRuleVASP.isActiveReceiver) + && Objects.equals(this.subsidiaries, travelRuleVASP.subsidiaries); } @Override @@ -1415,11 +2481,25 @@ public int hashCode() { businessNumber, regulatoryAuthorities, jurisdictions, + division, street, number, unit, postCode, state, + otherLegalName, + gleifUpdatedAt, + leiNumber, + legalForm, + entityCategory, + entityStatus, + externalEntityConfig, + hqStreet, + hqNumber, + hqPostcode, + hqRegion, + hqCity, + hqCountry, certificates, description, travelRuleOPENVASP, @@ -1439,7 +2519,28 @@ public int hashCode() { documents, hasAdmin, isNotifiable, - issuers); + issuers, + regulatoryStatus, + supervisoryAuthority, + registrationLicenseId, + statusStartDate, + statusExpirationDate, + lastChecked, + additionalInformation, + subsidiaryOf, + piiDidkey, + compliancePhase, + compliancePhaseData, + vaspnetId, + vaspnetUpdatedAt, + vaspnetImmutableFields, + nodeDidkey, + ddq, + targetProtocol, + parentGateway, + isActiveSender, + isActiveReceiver, + subsidiaries); } @Override @@ -1477,11 +2578,27 @@ public String toString() { .append(toIndentedString(regulatoryAuthorities)) .append("\n"); sb.append(" jurisdictions: ").append(toIndentedString(jurisdictions)).append("\n"); + sb.append(" division: ").append(toIndentedString(division)).append("\n"); sb.append(" street: ").append(toIndentedString(street)).append("\n"); sb.append(" number: ").append(toIndentedString(number)).append("\n"); sb.append(" unit: ").append(toIndentedString(unit)).append("\n"); sb.append(" postCode: ").append(toIndentedString(postCode)).append("\n"); sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" otherLegalName: ").append(toIndentedString(otherLegalName)).append("\n"); + sb.append(" gleifUpdatedAt: ").append(toIndentedString(gleifUpdatedAt)).append("\n"); + sb.append(" leiNumber: ").append(toIndentedString(leiNumber)).append("\n"); + sb.append(" legalForm: ").append(toIndentedString(legalForm)).append("\n"); + sb.append(" entityCategory: ").append(toIndentedString(entityCategory)).append("\n"); + sb.append(" entityStatus: ").append(toIndentedString(entityStatus)).append("\n"); + sb.append(" externalEntityConfig: ") + .append(toIndentedString(externalEntityConfig)) + .append("\n"); + sb.append(" hqStreet: ").append(toIndentedString(hqStreet)).append("\n"); + sb.append(" hqNumber: ").append(toIndentedString(hqNumber)).append("\n"); + sb.append(" hqPostcode: ").append(toIndentedString(hqPostcode)).append("\n"); + sb.append(" hqRegion: ").append(toIndentedString(hqRegion)).append("\n"); + sb.append(" hqCity: ").append(toIndentedString(hqCity)).append("\n"); + sb.append(" hqCountry: ").append(toIndentedString(hqCountry)).append("\n"); sb.append(" certificates: ").append(toIndentedString(certificates)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" travelRuleOPENVASP: ") @@ -1508,6 +2625,39 @@ public String toString() { sb.append(" hasAdmin: ").append(toIndentedString(hasAdmin)).append("\n"); sb.append(" isNotifiable: ").append(toIndentedString(isNotifiable)).append("\n"); sb.append(" issuers: ").append(toIndentedString(issuers)).append("\n"); + sb.append(" regulatoryStatus: ").append(toIndentedString(regulatoryStatus)).append("\n"); + sb.append(" supervisoryAuthority: ") + .append(toIndentedString(supervisoryAuthority)) + .append("\n"); + sb.append(" registrationLicenseId: ") + .append(toIndentedString(registrationLicenseId)) + .append("\n"); + sb.append(" statusStartDate: ").append(toIndentedString(statusStartDate)).append("\n"); + sb.append(" statusExpirationDate: ") + .append(toIndentedString(statusExpirationDate)) + .append("\n"); + sb.append(" lastChecked: ").append(toIndentedString(lastChecked)).append("\n"); + sb.append(" additionalInformation: ") + .append(toIndentedString(additionalInformation)) + .append("\n"); + sb.append(" subsidiaryOf: ").append(toIndentedString(subsidiaryOf)).append("\n"); + sb.append(" piiDidkey: ").append(toIndentedString(piiDidkey)).append("\n"); + sb.append(" compliancePhase: ").append(toIndentedString(compliancePhase)).append("\n"); + sb.append(" compliancePhaseData: ") + .append(toIndentedString(compliancePhaseData)) + .append("\n"); + sb.append(" vaspnetId: ").append(toIndentedString(vaspnetId)).append("\n"); + sb.append(" vaspnetUpdatedAt: ").append(toIndentedString(vaspnetUpdatedAt)).append("\n"); + sb.append(" vaspnetImmutableFields: ") + .append(toIndentedString(vaspnetImmutableFields)) + .append("\n"); + sb.append(" nodeDidkey: ").append(toIndentedString(nodeDidkey)).append("\n"); + sb.append(" ddq: ").append(toIndentedString(ddq)).append("\n"); + sb.append(" targetProtocol: ").append(toIndentedString(targetProtocol)).append("\n"); + sb.append(" parentGateway: ").append(toIndentedString(parentGateway)).append("\n"); + sb.append(" isActiveSender: ").append(toIndentedString(isActiveSender)).append("\n"); + sb.append(" isActiveReceiver: ").append(toIndentedString(isActiveReceiver)).append("\n"); + sb.append(" subsidiaries: ").append(toIndentedString(subsidiaries)).append("\n"); sb.append("}"); return sb.toString(); } @@ -1768,6 +2918,16 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getJurisdictions())))); } + // add `division` to the URL query string + if (getDivision() != null) { + joiner.add( + String.format( + "%sdivision%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getDivision())))); + } + // add `street` to the URL query string if (getStreet() != null) { joiner.add( @@ -1818,6 +2978,149 @@ public String toUrlQueryString(String prefix) { ApiClient.urlEncode(ApiClient.valueToString(getState())))); } + // add `otherLegalName` to the URL query string + if (getOtherLegalName() != null) { + joiner.add( + String.format( + "%sotherLegalName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getOtherLegalName())))); + } + + // add `gleifUpdatedAt` to the URL query string + if (getGleifUpdatedAt() != null) { + joiner.add( + String.format( + "%sgleifUpdatedAt%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getGleifUpdatedAt())))); + } + + // add `leiNumber` to the URL query string + if (getLeiNumber() != null) { + joiner.add( + String.format( + "%sleiNumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getLeiNumber())))); + } + + // add `legalForm` to the URL query string + if (getLegalForm() != null) { + joiner.add( + String.format( + "%slegalForm%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getLegalForm())))); + } + + // add `entityCategory` to the URL query string + if (getEntityCategory() != null) { + joiner.add( + String.format( + "%sentityCategory%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getEntityCategory())))); + } + + // add `entityStatus` to the URL query string + if (getEntityStatus() != null) { + joiner.add( + String.format( + "%sentityStatus%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getEntityStatus())))); + } + + // add `externalEntityConfig` to the URL query string + if (getExternalEntityConfig() != null) { + for (int i = 0; i < getExternalEntityConfig().size(); i++) { + if (getExternalEntityConfig().get(i) != null) { + joiner.add( + getExternalEntityConfig() + .get(i) + .toUrlQueryString( + String.format( + "%sexternalEntityConfig%s%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", + containerPrefix, + i, + containerSuffix)))); + } + } + } + + // add `hqStreet` to the URL query string + if (getHqStreet() != null) { + joiner.add( + String.format( + "%shqStreet%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqStreet())))); + } + + // add `hqNumber` to the URL query string + if (getHqNumber() != null) { + joiner.add( + String.format( + "%shqNumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqNumber())))); + } + + // add `hqPostcode` to the URL query string + if (getHqPostcode() != null) { + joiner.add( + String.format( + "%shqPostcode%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqPostcode())))); + } + + // add `hqRegion` to the URL query string + if (getHqRegion() != null) { + joiner.add( + String.format( + "%shqRegion%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqRegion())))); + } + + // add `hqCity` to the URL query string + if (getHqCity() != null) { + joiner.add( + String.format( + "%shqCity%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqCity())))); + } + + // add `hqCountry` to the URL query string + if (getHqCountry() != null) { + joiner.add( + String.format( + "%shqCountry%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqCountry())))); + } + // add `certificates` to the URL query string if (getCertificates() != null) { joiner.add( @@ -2014,6 +3317,244 @@ public String toUrlQueryString(String prefix) { joiner.add(getIssuers().toUrlQueryString(prefix + "issuers" + suffix)); } + // add `regulatoryStatus` to the URL query string + if (getRegulatoryStatus() != null) { + joiner.add( + String.format( + "%sregulatoryStatus%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getRegulatoryStatus())))); + } + + // add `supervisoryAuthority` to the URL query string + if (getSupervisoryAuthority() != null) { + joiner.add( + String.format( + "%ssupervisoryAuthority%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getSupervisoryAuthority())))); + } + + // add `registrationLicenseId` to the URL query string + if (getRegistrationLicenseId() != null) { + joiner.add( + String.format( + "%sregistrationLicenseId%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getRegistrationLicenseId())))); + } + + // add `statusStartDate` to the URL query string + if (getStatusStartDate() != null) { + joiner.add( + String.format( + "%sstatusStartDate%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getStatusStartDate())))); + } + + // add `statusExpirationDate` to the URL query string + if (getStatusExpirationDate() != null) { + joiner.add( + String.format( + "%sstatusExpirationDate%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getStatusExpirationDate())))); + } + + // add `lastChecked` to the URL query string + if (getLastChecked() != null) { + joiner.add( + String.format( + "%slastChecked%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getLastChecked())))); + } + + // add `additionalInformation` to the URL query string + if (getAdditionalInformation() != null) { + joiner.add( + String.format( + "%sadditionalInformation%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getAdditionalInformation())))); + } + + // add `subsidiaryOf` to the URL query string + if (getSubsidiaryOf() != null) { + joiner.add( + String.format( + "%ssubsidiaryOf%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getSubsidiaryOf())))); + } + + // add `pii_didkey` to the URL query string + if (getPiiDidkey() != null) { + joiner.add( + String.format( + "%spii_didkey%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getPiiDidkey())))); + } + + // add `compliancePhase` to the URL query string + if (getCompliancePhase() != null) { + joiner.add( + String.format( + "%scompliancePhase%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getCompliancePhase())))); + } + + // add `compliancePhaseData` to the URL query string + if (getCompliancePhaseData() != null) { + for (String _key : getCompliancePhaseData().keySet()) { + joiner.add( + String.format( + "%scompliancePhaseData%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, _key, containerSuffix), + getCompliancePhaseData().get(_key), + ApiClient.urlEncode( + ApiClient.valueToString( + getCompliancePhaseData().get(_key))))); + } + } + + // add `vaspnetId` to the URL query string + if (getVaspnetId() != null) { + joiner.add( + String.format( + "%svaspnetId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getVaspnetId())))); + } + + // add `vaspnetUpdatedAt` to the URL query string + if (getVaspnetUpdatedAt() != null) { + joiner.add( + String.format( + "%svaspnetUpdatedAt%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getVaspnetUpdatedAt())))); + } + + // add `vaspnetImmutableFields` to the URL query string + if (getVaspnetImmutableFields() != null) { + for (int i = 0; i < getVaspnetImmutableFields().size(); i++) { + joiner.add( + String.format( + "%svaspnetImmutableFields%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, i, containerSuffix), + ApiClient.urlEncode( + ApiClient.valueToString( + getVaspnetImmutableFields().get(i))))); + } + } + + // add `node_didkey` to the URL query string + if (getNodeDidkey() != null) { + joiner.add( + String.format( + "%snode_didkey%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getNodeDidkey())))); + } + + // add `ddq` to the URL query string + if (getDdq() != null) { + joiner.add( + String.format( + "%sddq%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getDdq())))); + } + + // add `targetProtocol` to the URL query string + if (getTargetProtocol() != null) { + joiner.add( + String.format( + "%stargetProtocol%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getTargetProtocol())))); + } + + // add `parentGateway` to the URL query string + if (getParentGateway() != null) { + joiner.add( + String.format( + "%sparentGateway%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getParentGateway())))); + } + + // add `isActiveSender` to the URL query string + if (getIsActiveSender() != null) { + joiner.add( + String.format( + "%sisActiveSender%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIsActiveSender())))); + } + + // add `isActiveReceiver` to the URL query string + if (getIsActiveReceiver() != null) { + joiner.add( + String.format( + "%sisActiveReceiver%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getIsActiveReceiver())))); + } + + // add `subsidiaries` to the URL query string + if (getSubsidiaries() != null) { + for (int i = 0; i < getSubsidiaries().size(); i++) { + joiner.add( + String.format( + "%ssubsidiaries%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, i, containerSuffix), + ApiClient.urlEncode( + ApiClient.valueToString(getSubsidiaries().get(i))))); + } + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntity.java b/src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntity.java new file mode 100644 index 00000000..9090ee18 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntity.java @@ -0,0 +1,959 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@fireblocks.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.fireblocks.sdk.model; + + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** + * The VASP's entity data as held by an external registry. These fields mirror a subset of the + * top-level VASP fields, but carry the registry's values rather than the VASP's own, so the + * two may differ. + */ +@JsonPropertyOrder({ + TravelRuleVASPExternalEntity.JSON_PROPERTY_LEGAL_NAME, + TravelRuleVASPExternalEntity.JSON_PROPERTY_OTHER_LEGAL_NAME, + TravelRuleVASPExternalEntity.JSON_PROPERTY_LEGAL_FORM, + TravelRuleVASPExternalEntity.JSON_PROPERTY_LEGAL_STRUCTURE, + TravelRuleVASPExternalEntity.JSON_PROPERTY_ENTITY_CATEGORY, + TravelRuleVASPExternalEntity.JSON_PROPERTY_ENTITY_STATUS, + TravelRuleVASPExternalEntity.JSON_PROPERTY_BUSINESS_NUMBER, + TravelRuleVASPExternalEntity.JSON_PROPERTY_YEAR_FOUNDED, + TravelRuleVASPExternalEntity.JSON_PROPERTY_JURISDICTIONS, + TravelRuleVASPExternalEntity.JSON_PROPERTY_ADDRESS_LINE1, + TravelRuleVASPExternalEntity.JSON_PROPERTY_NUMBER, + TravelRuleVASPExternalEntity.JSON_PROPERTY_POST_CODE, + TravelRuleVASPExternalEntity.JSON_PROPERTY_CITY, + TravelRuleVASPExternalEntity.JSON_PROPERTY_STATE, + TravelRuleVASPExternalEntity.JSON_PROPERTY_COUNTRY, + TravelRuleVASPExternalEntity.JSON_PROPERTY_HQ_STREET, + TravelRuleVASPExternalEntity.JSON_PROPERTY_HQ_NUMBER, + TravelRuleVASPExternalEntity.JSON_PROPERTY_HQ_POSTCODE, + TravelRuleVASPExternalEntity.JSON_PROPERTY_HQ_CITY, + TravelRuleVASPExternalEntity.JSON_PROPERTY_HQ_REGION, + TravelRuleVASPExternalEntity.JSON_PROPERTY_HQ_COUNTRY +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class TravelRuleVASPExternalEntity { + public static final String JSON_PROPERTY_LEGAL_NAME = "legalName"; + @jakarta.annotation.Nullable private String legalName; + + public static final String JSON_PROPERTY_OTHER_LEGAL_NAME = "otherLegalName"; + @jakarta.annotation.Nullable private String otherLegalName; + + public static final String JSON_PROPERTY_LEGAL_FORM = "legalForm"; + @jakarta.annotation.Nullable private String legalForm; + + public static final String JSON_PROPERTY_LEGAL_STRUCTURE = "legalStructure"; + @jakarta.annotation.Nullable private String legalStructure; + + public static final String JSON_PROPERTY_ENTITY_CATEGORY = "entityCategory"; + @jakarta.annotation.Nullable private String entityCategory; + + public static final String JSON_PROPERTY_ENTITY_STATUS = "entityStatus"; + @jakarta.annotation.Nullable private String entityStatus; + + public static final String JSON_PROPERTY_BUSINESS_NUMBER = "businessNumber"; + @jakarta.annotation.Nullable private String businessNumber; + + public static final String JSON_PROPERTY_YEAR_FOUNDED = "yearFounded"; + @jakarta.annotation.Nullable private String yearFounded; + + public static final String JSON_PROPERTY_JURISDICTIONS = "jurisdictions"; + @jakarta.annotation.Nullable private String jurisdictions; + + public static final String JSON_PROPERTY_ADDRESS_LINE1 = "addressLine1"; + @jakarta.annotation.Nullable private String addressLine1; + + public static final String JSON_PROPERTY_NUMBER = "number"; + @jakarta.annotation.Nullable private String number; + + public static final String JSON_PROPERTY_POST_CODE = "postCode"; + @jakarta.annotation.Nullable private String postCode; + + public static final String JSON_PROPERTY_CITY = "city"; + @jakarta.annotation.Nullable private String city; + + public static final String JSON_PROPERTY_STATE = "state"; + @jakarta.annotation.Nullable private String state; + + public static final String JSON_PROPERTY_COUNTRY = "country"; + @jakarta.annotation.Nullable private String country; + + public static final String JSON_PROPERTY_HQ_STREET = "hqStreet"; + @jakarta.annotation.Nullable private String hqStreet; + + public static final String JSON_PROPERTY_HQ_NUMBER = "hqNumber"; + @jakarta.annotation.Nullable private String hqNumber; + + public static final String JSON_PROPERTY_HQ_POSTCODE = "hqPostcode"; + @jakarta.annotation.Nullable private String hqPostcode; + + public static final String JSON_PROPERTY_HQ_CITY = "hqCity"; + @jakarta.annotation.Nullable private String hqCity; + + public static final String JSON_PROPERTY_HQ_REGION = "hqRegion"; + @jakarta.annotation.Nullable private String hqRegion; + + public static final String JSON_PROPERTY_HQ_COUNTRY = "hqCountry"; + @jakarta.annotation.Nullable private String hqCountry; + + public TravelRuleVASPExternalEntity() {} + + public TravelRuleVASPExternalEntity legalName(@jakarta.annotation.Nullable String legalName) { + this.legalName = legalName; + return this; + } + + /** + * The legal name of the entity as recorded by the external registry. + * + * @return legalName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LEGAL_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getLegalName() { + return legalName; + } + + @JsonProperty(JSON_PROPERTY_LEGAL_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setLegalName(@jakarta.annotation.Nullable String legalName) { + this.legalName = legalName; + } + + public TravelRuleVASPExternalEntity otherLegalName( + @jakarta.annotation.Nullable String otherLegalName) { + this.otherLegalName = otherLegalName; + return this; + } + + /** + * Alternative legal names of the entity, as a comma-separated list. + * + * @return otherLegalName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_OTHER_LEGAL_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getOtherLegalName() { + return otherLegalName; + } + + @JsonProperty(JSON_PROPERTY_OTHER_LEGAL_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setOtherLegalName(@jakarta.annotation.Nullable String otherLegalName) { + this.otherLegalName = otherLegalName; + } + + public TravelRuleVASPExternalEntity legalForm(@jakarta.annotation.Nullable String legalForm) { + this.legalForm = legalForm; + return this; + } + + /** + * The Entity Legal Form (ELF) code of the entity. + * + * @return legalForm + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LEGAL_FORM) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getLegalForm() { + return legalForm; + } + + @JsonProperty(JSON_PROPERTY_LEGAL_FORM) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setLegalForm(@jakarta.annotation.Nullable String legalForm) { + this.legalForm = legalForm; + } + + public TravelRuleVASPExternalEntity legalStructure( + @jakarta.annotation.Nullable String legalStructure) { + this.legalStructure = legalStructure; + return this; + } + + /** + * The legal structure of the entity. The external registry may return the Entity Legal Form + * code in this field, so its value can duplicate `legalForm`. + * + * @return legalStructure + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LEGAL_STRUCTURE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getLegalStructure() { + return legalStructure; + } + + @JsonProperty(JSON_PROPERTY_LEGAL_STRUCTURE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setLegalStructure(@jakarta.annotation.Nullable String legalStructure) { + this.legalStructure = legalStructure; + } + + public TravelRuleVASPExternalEntity entityCategory( + @jakarta.annotation.Nullable String entityCategory) { + this.entityCategory = entityCategory; + return this; + } + + /** + * The category assigned to the entity by the external registry. + * + * @return entityCategory + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ENTITY_CATEGORY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getEntityCategory() { + return entityCategory; + } + + @JsonProperty(JSON_PROPERTY_ENTITY_CATEGORY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEntityCategory(@jakarta.annotation.Nullable String entityCategory) { + this.entityCategory = entityCategory; + } + + public TravelRuleVASPExternalEntity entityStatus( + @jakarta.annotation.Nullable String entityStatus) { + this.entityStatus = entityStatus; + return this; + } + + /** + * The status of the entity at the external registry. + * + * @return entityStatus + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ENTITY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getEntityStatus() { + return entityStatus; + } + + @JsonProperty(JSON_PROPERTY_ENTITY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEntityStatus(@jakarta.annotation.Nullable String entityStatus) { + this.entityStatus = entityStatus; + } + + public TravelRuleVASPExternalEntity businessNumber( + @jakarta.annotation.Nullable String businessNumber) { + this.businessNumber = businessNumber; + return this; + } + + /** + * The business registration number of the entity. + * + * @return businessNumber + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUSINESS_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getBusinessNumber() { + return businessNumber; + } + + @JsonProperty(JSON_PROPERTY_BUSINESS_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBusinessNumber(@jakarta.annotation.Nullable String businessNumber) { + this.businessNumber = businessNumber; + } + + public TravelRuleVASPExternalEntity yearFounded( + @jakarta.annotation.Nullable String yearFounded) { + this.yearFounded = yearFounded; + return this; + } + + /** + * The year the entity was founded. Returned as a string, not an integer. + * + * @return yearFounded + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_YEAR_FOUNDED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getYearFounded() { + return yearFounded; + } + + @JsonProperty(JSON_PROPERTY_YEAR_FOUNDED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setYearFounded(@jakarta.annotation.Nullable String yearFounded) { + this.yearFounded = yearFounded; + } + + public TravelRuleVASPExternalEntity jurisdictions( + @jakarta.annotation.Nullable String jurisdictions) { + this.jurisdictions = jurisdictions; + return this; + } + + /** + * The jurisdictions the entity is registered in. + * + * @return jurisdictions + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_JURISDICTIONS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getJurisdictions() { + return jurisdictions; + } + + @JsonProperty(JSON_PROPERTY_JURISDICTIONS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setJurisdictions(@jakarta.annotation.Nullable String jurisdictions) { + this.jurisdictions = jurisdictions; + } + + public TravelRuleVASPExternalEntity addressLine1( + @jakarta.annotation.Nullable String addressLine1) { + this.addressLine1 = addressLine1; + return this; + } + + /** + * The first line of the entity's registered address. + * + * @return addressLine1 + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ADDRESS_LINE1) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAddressLine1() { + return addressLine1; + } + + @JsonProperty(JSON_PROPERTY_ADDRESS_LINE1) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAddressLine1(@jakarta.annotation.Nullable String addressLine1) { + this.addressLine1 = addressLine1; + } + + public TravelRuleVASPExternalEntity number(@jakarta.annotation.Nullable String number) { + this.number = number; + return this; + } + + /** + * The building number of the entity's registered address. May be returned as an empty + * string as well as `null` when not supplied. + * + * @return number + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNumber() { + return number; + } + + @JsonProperty(JSON_PROPERTY_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNumber(@jakarta.annotation.Nullable String number) { + this.number = number; + } + + public TravelRuleVASPExternalEntity postCode(@jakarta.annotation.Nullable String postCode) { + this.postCode = postCode; + return this; + } + + /** + * The postal code of the entity's registered address. + * + * @return postCode + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_POST_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getPostCode() { + return postCode; + } + + @JsonProperty(JSON_PROPERTY_POST_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPostCode(@jakarta.annotation.Nullable String postCode) { + this.postCode = postCode; + } + + public TravelRuleVASPExternalEntity city(@jakarta.annotation.Nullable String city) { + this.city = city; + return this; + } + + /** + * The city of the entity's registered address. + * + * @return city + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCity() { + return city; + } + + @JsonProperty(JSON_PROPERTY_CITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCity(@jakarta.annotation.Nullable String city) { + this.city = city; + } + + public TravelRuleVASPExternalEntity state(@jakarta.annotation.Nullable String state) { + this.state = state; + return this; + } + + /** + * The state or region of the entity's registered address, as an ISO-3166-2 subdivision + * code. + * + * @return state + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getState() { + return state; + } + + @JsonProperty(JSON_PROPERTY_STATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setState(@jakarta.annotation.Nullable String state) { + this.state = state; + } + + public TravelRuleVASPExternalEntity country(@jakarta.annotation.Nullable String country) { + this.country = country; + return this; + } + + /** + * The country of the entity's registered address (ISO-3166 Alpha-2 code). + * + * @return country + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COUNTRY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCountry() { + return country; + } + + @JsonProperty(JSON_PROPERTY_COUNTRY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCountry(@jakarta.annotation.Nullable String country) { + this.country = country; + } + + public TravelRuleVASPExternalEntity hqStreet(@jakarta.annotation.Nullable String hqStreet) { + this.hqStreet = hqStreet; + return this; + } + + /** + * The street of the entity's headquarters address. + * + * @return hqStreet + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_STREET) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqStreet() { + return hqStreet; + } + + @JsonProperty(JSON_PROPERTY_HQ_STREET) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqStreet(@jakarta.annotation.Nullable String hqStreet) { + this.hqStreet = hqStreet; + } + + public TravelRuleVASPExternalEntity hqNumber(@jakarta.annotation.Nullable String hqNumber) { + this.hqNumber = hqNumber; + return this; + } + + /** + * The building number of the entity's headquarters address. May be returned as an empty + * string as well as `null` when not supplied. + * + * @return hqNumber + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqNumber() { + return hqNumber; + } + + @JsonProperty(JSON_PROPERTY_HQ_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqNumber(@jakarta.annotation.Nullable String hqNumber) { + this.hqNumber = hqNumber; + } + + public TravelRuleVASPExternalEntity hqPostcode(@jakarta.annotation.Nullable String hqPostcode) { + this.hqPostcode = hqPostcode; + return this; + } + + /** + * The postal code of the entity's headquarters address. + * + * @return hqPostcode + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_POSTCODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqPostcode() { + return hqPostcode; + } + + @JsonProperty(JSON_PROPERTY_HQ_POSTCODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqPostcode(@jakarta.annotation.Nullable String hqPostcode) { + this.hqPostcode = hqPostcode; + } + + public TravelRuleVASPExternalEntity hqCity(@jakarta.annotation.Nullable String hqCity) { + this.hqCity = hqCity; + return this; + } + + /** + * The city of the entity's headquarters address. + * + * @return hqCity + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_CITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqCity() { + return hqCity; + } + + @JsonProperty(JSON_PROPERTY_HQ_CITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqCity(@jakarta.annotation.Nullable String hqCity) { + this.hqCity = hqCity; + } + + public TravelRuleVASPExternalEntity hqRegion(@jakarta.annotation.Nullable String hqRegion) { + this.hqRegion = hqRegion; + return this; + } + + /** + * The region of the entity's headquarters address, as an ISO-3166-2 subdivision code. + * + * @return hqRegion + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_REGION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqRegion() { + return hqRegion; + } + + @JsonProperty(JSON_PROPERTY_HQ_REGION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqRegion(@jakarta.annotation.Nullable String hqRegion) { + this.hqRegion = hqRegion; + } + + public TravelRuleVASPExternalEntity hqCountry(@jakarta.annotation.Nullable String hqCountry) { + this.hqCountry = hqCountry; + return this; + } + + /** + * The country of the entity's headquarters address (ISO-3166 Alpha-2 code). + * + * @return hqCountry + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_HQ_COUNTRY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getHqCountry() { + return hqCountry; + } + + @JsonProperty(JSON_PROPERTY_HQ_COUNTRY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setHqCountry(@jakarta.annotation.Nullable String hqCountry) { + this.hqCountry = hqCountry; + } + + /** Return true if this TravelRuleVASPExternalEntity object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TravelRuleVASPExternalEntity travelRuleVASPExternalEntity = + (TravelRuleVASPExternalEntity) o; + return Objects.equals(this.legalName, travelRuleVASPExternalEntity.legalName) + && Objects.equals(this.otherLegalName, travelRuleVASPExternalEntity.otherLegalName) + && Objects.equals(this.legalForm, travelRuleVASPExternalEntity.legalForm) + && Objects.equals(this.legalStructure, travelRuleVASPExternalEntity.legalStructure) + && Objects.equals(this.entityCategory, travelRuleVASPExternalEntity.entityCategory) + && Objects.equals(this.entityStatus, travelRuleVASPExternalEntity.entityStatus) + && Objects.equals(this.businessNumber, travelRuleVASPExternalEntity.businessNumber) + && Objects.equals(this.yearFounded, travelRuleVASPExternalEntity.yearFounded) + && Objects.equals(this.jurisdictions, travelRuleVASPExternalEntity.jurisdictions) + && Objects.equals(this.addressLine1, travelRuleVASPExternalEntity.addressLine1) + && Objects.equals(this.number, travelRuleVASPExternalEntity.number) + && Objects.equals(this.postCode, travelRuleVASPExternalEntity.postCode) + && Objects.equals(this.city, travelRuleVASPExternalEntity.city) + && Objects.equals(this.state, travelRuleVASPExternalEntity.state) + && Objects.equals(this.country, travelRuleVASPExternalEntity.country) + && Objects.equals(this.hqStreet, travelRuleVASPExternalEntity.hqStreet) + && Objects.equals(this.hqNumber, travelRuleVASPExternalEntity.hqNumber) + && Objects.equals(this.hqPostcode, travelRuleVASPExternalEntity.hqPostcode) + && Objects.equals(this.hqCity, travelRuleVASPExternalEntity.hqCity) + && Objects.equals(this.hqRegion, travelRuleVASPExternalEntity.hqRegion) + && Objects.equals(this.hqCountry, travelRuleVASPExternalEntity.hqCountry); + } + + @Override + public int hashCode() { + return Objects.hash( + legalName, + otherLegalName, + legalForm, + legalStructure, + entityCategory, + entityStatus, + businessNumber, + yearFounded, + jurisdictions, + addressLine1, + number, + postCode, + city, + state, + country, + hqStreet, + hqNumber, + hqPostcode, + hqCity, + hqRegion, + hqCountry); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TravelRuleVASPExternalEntity {\n"); + sb.append(" legalName: ").append(toIndentedString(legalName)).append("\n"); + sb.append(" otherLegalName: ").append(toIndentedString(otherLegalName)).append("\n"); + sb.append(" legalForm: ").append(toIndentedString(legalForm)).append("\n"); + sb.append(" legalStructure: ").append(toIndentedString(legalStructure)).append("\n"); + sb.append(" entityCategory: ").append(toIndentedString(entityCategory)).append("\n"); + sb.append(" entityStatus: ").append(toIndentedString(entityStatus)).append("\n"); + sb.append(" businessNumber: ").append(toIndentedString(businessNumber)).append("\n"); + sb.append(" yearFounded: ").append(toIndentedString(yearFounded)).append("\n"); + sb.append(" jurisdictions: ").append(toIndentedString(jurisdictions)).append("\n"); + sb.append(" addressLine1: ").append(toIndentedString(addressLine1)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); + sb.append(" postCode: ").append(toIndentedString(postCode)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" hqStreet: ").append(toIndentedString(hqStreet)).append("\n"); + sb.append(" hqNumber: ").append(toIndentedString(hqNumber)).append("\n"); + sb.append(" hqPostcode: ").append(toIndentedString(hqPostcode)).append("\n"); + sb.append(" hqCity: ").append(toIndentedString(hqCity)).append("\n"); + sb.append(" hqRegion: ").append(toIndentedString(hqRegion)).append("\n"); + sb.append(" hqCountry: ").append(toIndentedString(hqCountry)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `legalName` to the URL query string + if (getLegalName() != null) { + joiner.add( + String.format( + "%slegalName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getLegalName())))); + } + + // add `otherLegalName` to the URL query string + if (getOtherLegalName() != null) { + joiner.add( + String.format( + "%sotherLegalName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getOtherLegalName())))); + } + + // add `legalForm` to the URL query string + if (getLegalForm() != null) { + joiner.add( + String.format( + "%slegalForm%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getLegalForm())))); + } + + // add `legalStructure` to the URL query string + if (getLegalStructure() != null) { + joiner.add( + String.format( + "%slegalStructure%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getLegalStructure())))); + } + + // add `entityCategory` to the URL query string + if (getEntityCategory() != null) { + joiner.add( + String.format( + "%sentityCategory%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getEntityCategory())))); + } + + // add `entityStatus` to the URL query string + if (getEntityStatus() != null) { + joiner.add( + String.format( + "%sentityStatus%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getEntityStatus())))); + } + + // add `businessNumber` to the URL query string + if (getBusinessNumber() != null) { + joiner.add( + String.format( + "%sbusinessNumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBusinessNumber())))); + } + + // add `yearFounded` to the URL query string + if (getYearFounded() != null) { + joiner.add( + String.format( + "%syearFounded%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getYearFounded())))); + } + + // add `jurisdictions` to the URL query string + if (getJurisdictions() != null) { + joiner.add( + String.format( + "%sjurisdictions%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getJurisdictions())))); + } + + // add `addressLine1` to the URL query string + if (getAddressLine1() != null) { + joiner.add( + String.format( + "%saddressLine1%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAddressLine1())))); + } + + // add `number` to the URL query string + if (getNumber() != null) { + joiner.add( + String.format( + "%snumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getNumber())))); + } + + // add `postCode` to the URL query string + if (getPostCode() != null) { + joiner.add( + String.format( + "%spostCode%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getPostCode())))); + } + + // add `city` to the URL query string + if (getCity() != null) { + joiner.add( + String.format( + "%scity%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getCity())))); + } + + // add `state` to the URL query string + if (getState() != null) { + joiner.add( + String.format( + "%sstate%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getState())))); + } + + // add `country` to the URL query string + if (getCountry() != null) { + joiner.add( + String.format( + "%scountry%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getCountry())))); + } + + // add `hqStreet` to the URL query string + if (getHqStreet() != null) { + joiner.add( + String.format( + "%shqStreet%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqStreet())))); + } + + // add `hqNumber` to the URL query string + if (getHqNumber() != null) { + joiner.add( + String.format( + "%shqNumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqNumber())))); + } + + // add `hqPostcode` to the URL query string + if (getHqPostcode() != null) { + joiner.add( + String.format( + "%shqPostcode%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqPostcode())))); + } + + // add `hqCity` to the URL query string + if (getHqCity() != null) { + joiner.add( + String.format( + "%shqCity%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqCity())))); + } + + // add `hqRegion` to the URL query string + if (getHqRegion() != null) { + joiner.add( + String.format( + "%shqRegion%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqRegion())))); + } + + // add `hqCountry` to the URL query string + if (getHqCountry() != null) { + joiner.add( + String.format( + "%shqCountry%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getHqCountry())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityConfig.java b/src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityConfig.java new file mode 100644 index 00000000..7d2420b6 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityConfig.java @@ -0,0 +1,340 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@fireblocks.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.fireblocks.sdk.model; + + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** + * An entity record for the VASP as resolved from an external registry, together with the + * registration state reported by that registry. + */ +@JsonPropertyOrder({ + TravelRuleVASPExternalEntityConfig.JSON_PROPERTY_PROVIDER, + TravelRuleVASPExternalEntityConfig.JSON_PROPERTY_EXTERNAL_ID, + TravelRuleVASPExternalEntityConfig.JSON_PROPERTY_UPDATED_AT, + TravelRuleVASPExternalEntityConfig.JSON_PROPERTY_RESOLVED_AT, + TravelRuleVASPExternalEntityConfig.JSON_PROPERTY_ENTITY, + TravelRuleVASPExternalEntityConfig.JSON_PROPERTY_REGISTRATION +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class TravelRuleVASPExternalEntityConfig { + public static final String JSON_PROPERTY_PROVIDER = "provider"; + @jakarta.annotation.Nullable private String provider; + + public static final String JSON_PROPERTY_EXTERNAL_ID = "externalId"; + @jakarta.annotation.Nullable private String externalId; + + public static final String JSON_PROPERTY_UPDATED_AT = "updatedAt"; + @jakarta.annotation.Nullable private String updatedAt; + + public static final String JSON_PROPERTY_RESOLVED_AT = "resolvedAt"; + @jakarta.annotation.Nullable private String resolvedAt; + + public static final String JSON_PROPERTY_ENTITY = "entity"; + @jakarta.annotation.Nullable private TravelRuleVASPExternalEntity entity; + + public static final String JSON_PROPERTY_REGISTRATION = "registration"; + @jakarta.annotation.Nullable private TravelRuleVASPExternalEntityRegistration registration; + + public TravelRuleVASPExternalEntityConfig() {} + + public TravelRuleVASPExternalEntityConfig provider( + @jakarta.annotation.Nullable String provider) { + this.provider = provider; + return this; + } + + /** + * The external registry the record was resolved from. Returned in lower case, for example + * `gleif`. + * + * @return provider + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROVIDER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProvider() { + return provider; + } + + @JsonProperty(JSON_PROPERTY_PROVIDER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProvider(@jakarta.annotation.Nullable String provider) { + this.provider = provider; + } + + public TravelRuleVASPExternalEntityConfig externalId( + @jakarta.annotation.Nullable String externalId) { + this.externalId = externalId; + return this; + } + + /** + * The VASP's identifier within the external registry. For the `gleif` provider + * this is the Legal Entity Identifier (LEI). + * + * @return externalId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_EXTERNAL_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getExternalId() { + return externalId; + } + + @JsonProperty(JSON_PROPERTY_EXTERNAL_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setExternalId(@jakarta.annotation.Nullable String externalId) { + this.externalId = externalId; + } + + public TravelRuleVASPExternalEntityConfig updatedAt( + @jakarta.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Timestamp of the last change to the record at the external registry. + * + * @return updatedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_UPDATED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUpdatedAt() { + return updatedAt; + } + + @JsonProperty(JSON_PROPERTY_UPDATED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUpdatedAt(@jakarta.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + public TravelRuleVASPExternalEntityConfig resolvedAt( + @jakarta.annotation.Nullable String resolvedAt) { + this.resolvedAt = resolvedAt; + return this; + } + + /** + * Timestamp when the record was last resolved from the external registry. + * + * @return resolvedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_RESOLVED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getResolvedAt() { + return resolvedAt; + } + + @JsonProperty(JSON_PROPERTY_RESOLVED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setResolvedAt(@jakarta.annotation.Nullable String resolvedAt) { + this.resolvedAt = resolvedAt; + } + + public TravelRuleVASPExternalEntityConfig entity( + @jakarta.annotation.Nullable TravelRuleVASPExternalEntity entity) { + this.entity = entity; + return this; + } + + /** + * Get entity + * + * @return entity + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ENTITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TravelRuleVASPExternalEntity getEntity() { + return entity; + } + + @JsonProperty(JSON_PROPERTY_ENTITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEntity(@jakarta.annotation.Nullable TravelRuleVASPExternalEntity entity) { + this.entity = entity; + } + + public TravelRuleVASPExternalEntityConfig registration( + @jakarta.annotation.Nullable TravelRuleVASPExternalEntityRegistration registration) { + this.registration = registration; + return this; + } + + /** + * Get registration + * + * @return registration + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_REGISTRATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TravelRuleVASPExternalEntityRegistration getRegistration() { + return registration; + } + + @JsonProperty(JSON_PROPERTY_REGISTRATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRegistration( + @jakarta.annotation.Nullable TravelRuleVASPExternalEntityRegistration registration) { + this.registration = registration; + } + + /** Return true if this TravelRuleVASPExternalEntityConfig object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TravelRuleVASPExternalEntityConfig travelRuleVASPExternalEntityConfig = + (TravelRuleVASPExternalEntityConfig) o; + return Objects.equals(this.provider, travelRuleVASPExternalEntityConfig.provider) + && Objects.equals(this.externalId, travelRuleVASPExternalEntityConfig.externalId) + && Objects.equals(this.updatedAt, travelRuleVASPExternalEntityConfig.updatedAt) + && Objects.equals(this.resolvedAt, travelRuleVASPExternalEntityConfig.resolvedAt) + && Objects.equals(this.entity, travelRuleVASPExternalEntityConfig.entity) + && Objects.equals( + this.registration, travelRuleVASPExternalEntityConfig.registration); + } + + @Override + public int hashCode() { + return Objects.hash(provider, externalId, updatedAt, resolvedAt, entity, registration); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TravelRuleVASPExternalEntityConfig {\n"); + sb.append(" provider: ").append(toIndentedString(provider)).append("\n"); + sb.append(" externalId: ").append(toIndentedString(externalId)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" resolvedAt: ").append(toIndentedString(resolvedAt)).append("\n"); + sb.append(" entity: ").append(toIndentedString(entity)).append("\n"); + sb.append(" registration: ").append(toIndentedString(registration)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `provider` to the URL query string + if (getProvider() != null) { + joiner.add( + String.format( + "%sprovider%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getProvider())))); + } + + // add `externalId` to the URL query string + if (getExternalId() != null) { + joiner.add( + String.format( + "%sexternalId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getExternalId())))); + } + + // add `updatedAt` to the URL query string + if (getUpdatedAt() != null) { + joiner.add( + String.format( + "%supdatedAt%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getUpdatedAt())))); + } + + // add `resolvedAt` to the URL query string + if (getResolvedAt() != null) { + joiner.add( + String.format( + "%sresolvedAt%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getResolvedAt())))); + } + + // add `entity` to the URL query string + if (getEntity() != null) { + joiner.add(getEntity().toUrlQueryString(prefix + "entity" + suffix)); + } + + // add `registration` to the URL query string + if (getRegistration() != null) { + joiner.add(getRegistration().toUrlQueryString(prefix + "registration" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityRegistration.java b/src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityRegistration.java new file mode 100644 index 00000000..82d73e10 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityRegistration.java @@ -0,0 +1,232 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@fireblocks.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.fireblocks.sdk.model; + + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** The registration state of the VASP as reported by an external registry. */ +@JsonPropertyOrder({ + TravelRuleVASPExternalEntityRegistration.JSON_PROPERTY_STATUS, + TravelRuleVASPExternalEntityRegistration.JSON_PROPERTY_NEXT_RENEWAL_DATE, + TravelRuleVASPExternalEntityRegistration.JSON_PROPERTY_CORROBORATION_LEVEL +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class TravelRuleVASPExternalEntityRegistration { + public static final String JSON_PROPERTY_STATUS = "status"; + @jakarta.annotation.Nullable private String status; + + public static final String JSON_PROPERTY_NEXT_RENEWAL_DATE = "nextRenewalDate"; + @jakarta.annotation.Nullable private String nextRenewalDate; + + public static final String JSON_PROPERTY_CORROBORATION_LEVEL = "corroborationLevel"; + @jakarta.annotation.Nullable private String corroborationLevel; + + public TravelRuleVASPExternalEntityRegistration() {} + + public TravelRuleVASPExternalEntityRegistration status( + @jakarta.annotation.Nullable String status) { + this.status = status; + return this; + } + + /** + * The registration status at the external registry, for example `ISSUED`, + * `LAPSED` or `RETIRED`. The value set is defined by the registry, not by + * Fireblocks. + * + * @return status + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getStatus() { + return status; + } + + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStatus(@jakarta.annotation.Nullable String status) { + this.status = status; + } + + public TravelRuleVASPExternalEntityRegistration nextRenewalDate( + @jakarta.annotation.Nullable String nextRenewalDate) { + this.nextRenewalDate = nextRenewalDate; + return this; + } + + /** + * The date the registration is next due for renewal at the external registry. + * + * @return nextRenewalDate + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NEXT_RENEWAL_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNextRenewalDate() { + return nextRenewalDate; + } + + @JsonProperty(JSON_PROPERTY_NEXT_RENEWAL_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNextRenewalDate(@jakarta.annotation.Nullable String nextRenewalDate) { + this.nextRenewalDate = nextRenewalDate; + } + + public TravelRuleVASPExternalEntityRegistration corroborationLevel( + @jakarta.annotation.Nullable String corroborationLevel) { + this.corroborationLevel = corroborationLevel; + return this; + } + + /** + * The level to which the registry has corroborated the entity data, for example + * `FULLY_CORROBORATED`. The value set is defined by the registry, not by Fireblocks. + * + * @return corroborationLevel + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CORROBORATION_LEVEL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCorroborationLevel() { + return corroborationLevel; + } + + @JsonProperty(JSON_PROPERTY_CORROBORATION_LEVEL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCorroborationLevel(@jakarta.annotation.Nullable String corroborationLevel) { + this.corroborationLevel = corroborationLevel; + } + + /** Return true if this TravelRuleVASPExternalEntityRegistration object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TravelRuleVASPExternalEntityRegistration travelRuleVASPExternalEntityRegistration = + (TravelRuleVASPExternalEntityRegistration) o; + return Objects.equals(this.status, travelRuleVASPExternalEntityRegistration.status) + && Objects.equals( + this.nextRenewalDate, + travelRuleVASPExternalEntityRegistration.nextRenewalDate) + && Objects.equals( + this.corroborationLevel, + travelRuleVASPExternalEntityRegistration.corroborationLevel); + } + + @Override + public int hashCode() { + return Objects.hash(status, nextRenewalDate, corroborationLevel); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TravelRuleVASPExternalEntityRegistration {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" nextRenewalDate: ").append(toIndentedString(nextRenewalDate)).append("\n"); + sb.append(" corroborationLevel: ") + .append(toIndentedString(corroborationLevel)) + .append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first + * line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add( + String.format( + "%sstatus%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getStatus())))); + } + + // add `nextRenewalDate` to the URL query string + if (getNextRenewalDate() != null) { + joiner.add( + String.format( + "%snextRenewalDate%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getNextRenewalDate())))); + } + + // add `corroborationLevel` to the URL query string + if (getCorroborationLevel() != null) { + joiner.add( + String.format( + "%scorroborationLevel%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getCorroborationLevel())))); + } + + return joiner.toString(); + } +} diff --git a/src/test/java/com/fireblocks/sdk/api/TravelRuleApiTest.java b/src/test/java/com/fireblocks/sdk/api/TravelRuleApiTest.java index d6aece5a..eecefd24 100644 --- a/src/test/java/com/fireblocks/sdk/api/TravelRuleApiTest.java +++ b/src/test/java/com/fireblocks/sdk/api/TravelRuleApiTest.java @@ -70,7 +70,9 @@ public void getTrustProofOfAddressTest() throws ApiException { /** * Get VASP details * - *

Get VASP Details. Returns information about a VASP that has the specified DID. + *

Get VASP Details. Returns information about a VASP that has the specified DID. The + * response may contain fields that are not documented in the schema below. Clients must ignore + * unrecognised fields rather than failing to deserialize. * * @throws ApiException if the Api call fails */ @@ -84,7 +86,9 @@ public void getVASPByDIDTest() throws ApiException { /** * Get All VASPs * - *

Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted. + *

Get All VASPs. Returns a list of VASPs. VASPs can be searched and sorted. Each VASP in the + * response may contain fields that are not documented in the schema below. Clients must ignore + * unrecognised fields rather than failing to deserialize. * * @throws ApiException if the Api call fails */ diff --git a/src/test/java/com/fireblocks/sdk/model/TravelRuleIssuerTest.java b/src/test/java/com/fireblocks/sdk/model/TravelRuleIssuerTest.java index b0b08e35..8f3e3bc7 100644 --- a/src/test/java/com/fireblocks/sdk/model/TravelRuleIssuerTest.java +++ b/src/test/java/com/fireblocks/sdk/model/TravelRuleIssuerTest.java @@ -30,4 +30,16 @@ void testTravelRuleIssuer() { void issuerDidTest() { // TODO: test issuerDid } + + /** Test the property 'issuedDate' */ + @Test + void issuedDateTest() { + // TODO: test issuedDate + } + + /** Test the property 'issuerName' */ + @Test + void issuerNameTest() { + // TODO: test issuerName + } } diff --git a/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityConfigTest.java b/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityConfigTest.java new file mode 100644 index 00000000..928bff58 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityConfigTest.java @@ -0,0 +1,64 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@fireblocks.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.fireblocks.sdk.model; + + +import org.junit.jupiter.api.Test; + +/** Model tests for TravelRuleVASPExternalEntityConfig */ +class TravelRuleVASPExternalEntityConfigTest { + private final TravelRuleVASPExternalEntityConfig model = + new TravelRuleVASPExternalEntityConfig(); + + /** Model tests for TravelRuleVASPExternalEntityConfig */ + @Test + void testTravelRuleVASPExternalEntityConfig() { + // TODO: test TravelRuleVASPExternalEntityConfig + } + + /** Test the property 'provider' */ + @Test + void providerTest() { + // TODO: test provider + } + + /** Test the property 'externalId' */ + @Test + void externalIdTest() { + // TODO: test externalId + } + + /** Test the property 'updatedAt' */ + @Test + void updatedAtTest() { + // TODO: test updatedAt + } + + /** Test the property 'resolvedAt' */ + @Test + void resolvedAtTest() { + // TODO: test resolvedAt + } + + /** Test the property 'entity' */ + @Test + void entityTest() { + // TODO: test entity + } + + /** Test the property 'registration' */ + @Test + void registrationTest() { + // TODO: test registration + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityRegistrationTest.java b/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityRegistrationTest.java new file mode 100644 index 00000000..0b9f5635 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityRegistrationTest.java @@ -0,0 +1,46 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@fireblocks.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.fireblocks.sdk.model; + + +import org.junit.jupiter.api.Test; + +/** Model tests for TravelRuleVASPExternalEntityRegistration */ +class TravelRuleVASPExternalEntityRegistrationTest { + private final TravelRuleVASPExternalEntityRegistration model = + new TravelRuleVASPExternalEntityRegistration(); + + /** Model tests for TravelRuleVASPExternalEntityRegistration */ + @Test + void testTravelRuleVASPExternalEntityRegistration() { + // TODO: test TravelRuleVASPExternalEntityRegistration + } + + /** Test the property 'status' */ + @Test + void statusTest() { + // TODO: test status + } + + /** Test the property 'nextRenewalDate' */ + @Test + void nextRenewalDateTest() { + // TODO: test nextRenewalDate + } + + /** Test the property 'corroborationLevel' */ + @Test + void corroborationLevelTest() { + // TODO: test corroborationLevel + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityTest.java b/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityTest.java new file mode 100644 index 00000000..c5c0f9d3 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPExternalEntityTest.java @@ -0,0 +1,153 @@ +/* + * Fireblocks API + * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com) + * + * The version of the OpenAPI document: 1.6.2 + * Contact: developers@fireblocks.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.fireblocks.sdk.model; + + +import org.junit.jupiter.api.Test; + +/** Model tests for TravelRuleVASPExternalEntity */ +class TravelRuleVASPExternalEntityTest { + private final TravelRuleVASPExternalEntity model = new TravelRuleVASPExternalEntity(); + + /** Model tests for TravelRuleVASPExternalEntity */ + @Test + void testTravelRuleVASPExternalEntity() { + // TODO: test TravelRuleVASPExternalEntity + } + + /** Test the property 'legalName' */ + @Test + void legalNameTest() { + // TODO: test legalName + } + + /** Test the property 'otherLegalName' */ + @Test + void otherLegalNameTest() { + // TODO: test otherLegalName + } + + /** Test the property 'legalForm' */ + @Test + void legalFormTest() { + // TODO: test legalForm + } + + /** Test the property 'legalStructure' */ + @Test + void legalStructureTest() { + // TODO: test legalStructure + } + + /** Test the property 'entityCategory' */ + @Test + void entityCategoryTest() { + // TODO: test entityCategory + } + + /** Test the property 'entityStatus' */ + @Test + void entityStatusTest() { + // TODO: test entityStatus + } + + /** Test the property 'businessNumber' */ + @Test + void businessNumberTest() { + // TODO: test businessNumber + } + + /** Test the property 'yearFounded' */ + @Test + void yearFoundedTest() { + // TODO: test yearFounded + } + + /** Test the property 'jurisdictions' */ + @Test + void jurisdictionsTest() { + // TODO: test jurisdictions + } + + /** Test the property 'addressLine1' */ + @Test + void addressLine1Test() { + // TODO: test addressLine1 + } + + /** Test the property 'number' */ + @Test + void numberTest() { + // TODO: test number + } + + /** Test the property 'postCode' */ + @Test + void postCodeTest() { + // TODO: test postCode + } + + /** Test the property 'city' */ + @Test + void cityTest() { + // TODO: test city + } + + /** Test the property 'state' */ + @Test + void stateTest() { + // TODO: test state + } + + /** Test the property 'country' */ + @Test + void countryTest() { + // TODO: test country + } + + /** Test the property 'hqStreet' */ + @Test + void hqStreetTest() { + // TODO: test hqStreet + } + + /** Test the property 'hqNumber' */ + @Test + void hqNumberTest() { + // TODO: test hqNumber + } + + /** Test the property 'hqPostcode' */ + @Test + void hqPostcodeTest() { + // TODO: test hqPostcode + } + + /** Test the property 'hqCity' */ + @Test + void hqCityTest() { + // TODO: test hqCity + } + + /** Test the property 'hqRegion' */ + @Test + void hqRegionTest() { + // TODO: test hqRegion + } + + /** Test the property 'hqCountry' */ + @Test + void hqCountryTest() { + // TODO: test hqCountry + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPTest.java b/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPTest.java index 2dbfcd51..cb56f062 100644 --- a/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPTest.java +++ b/src/test/java/com/fireblocks/sdk/model/TravelRuleVASPTest.java @@ -151,6 +151,12 @@ void jurisdictionsTest() { // TODO: test jurisdictions } + /** Test the property 'division' */ + @Test + void divisionTest() { + // TODO: test division + } + /** Test the property 'street' */ @Test void streetTest() { @@ -181,6 +187,84 @@ void stateTest() { // TODO: test state } + /** Test the property 'otherLegalName' */ + @Test + void otherLegalNameTest() { + // TODO: test otherLegalName + } + + /** Test the property 'gleifUpdatedAt' */ + @Test + void gleifUpdatedAtTest() { + // TODO: test gleifUpdatedAt + } + + /** Test the property 'leiNumber' */ + @Test + void leiNumberTest() { + // TODO: test leiNumber + } + + /** Test the property 'legalForm' */ + @Test + void legalFormTest() { + // TODO: test legalForm + } + + /** Test the property 'entityCategory' */ + @Test + void entityCategoryTest() { + // TODO: test entityCategory + } + + /** Test the property 'entityStatus' */ + @Test + void entityStatusTest() { + // TODO: test entityStatus + } + + /** Test the property 'externalEntityConfig' */ + @Test + void externalEntityConfigTest() { + // TODO: test externalEntityConfig + } + + /** Test the property 'hqStreet' */ + @Test + void hqStreetTest() { + // TODO: test hqStreet + } + + /** Test the property 'hqNumber' */ + @Test + void hqNumberTest() { + // TODO: test hqNumber + } + + /** Test the property 'hqPostcode' */ + @Test + void hqPostcodeTest() { + // TODO: test hqPostcode + } + + /** Test the property 'hqRegion' */ + @Test + void hqRegionTest() { + // TODO: test hqRegion + } + + /** Test the property 'hqCity' */ + @Test + void hqCityTest() { + // TODO: test hqCity + } + + /** Test the property 'hqCountry' */ + @Test + void hqCountryTest() { + // TODO: test hqCountry + } + /** Test the property 'certificates' */ @Test void certificatesTest() { @@ -300,4 +384,130 @@ void isNotifiableTest() { void issuersTest() { // TODO: test issuers } + + /** Test the property 'regulatoryStatus' */ + @Test + void regulatoryStatusTest() { + // TODO: test regulatoryStatus + } + + /** Test the property 'supervisoryAuthority' */ + @Test + void supervisoryAuthorityTest() { + // TODO: test supervisoryAuthority + } + + /** Test the property 'registrationLicenseId' */ + @Test + void registrationLicenseIdTest() { + // TODO: test registrationLicenseId + } + + /** Test the property 'statusStartDate' */ + @Test + void statusStartDateTest() { + // TODO: test statusStartDate + } + + /** Test the property 'statusExpirationDate' */ + @Test + void statusExpirationDateTest() { + // TODO: test statusExpirationDate + } + + /** Test the property 'lastChecked' */ + @Test + void lastCheckedTest() { + // TODO: test lastChecked + } + + /** Test the property 'additionalInformation' */ + @Test + void additionalInformationTest() { + // TODO: test additionalInformation + } + + /** Test the property 'subsidiaryOf' */ + @Test + void subsidiaryOfTest() { + // TODO: test subsidiaryOf + } + + /** Test the property 'piiDidkey' */ + @Test + void piiDidkeyTest() { + // TODO: test piiDidkey + } + + /** Test the property 'compliancePhase' */ + @Test + void compliancePhaseTest() { + // TODO: test compliancePhase + } + + /** Test the property 'compliancePhaseData' */ + @Test + void compliancePhaseDataTest() { + // TODO: test compliancePhaseData + } + + /** Test the property 'vaspnetId' */ + @Test + void vaspnetIdTest() { + // TODO: test vaspnetId + } + + /** Test the property 'vaspnetUpdatedAt' */ + @Test + void vaspnetUpdatedAtTest() { + // TODO: test vaspnetUpdatedAt + } + + /** Test the property 'vaspnetImmutableFields' */ + @Test + void vaspnetImmutableFieldsTest() { + // TODO: test vaspnetImmutableFields + } + + /** Test the property 'nodeDidkey' */ + @Test + void nodeDidkeyTest() { + // TODO: test nodeDidkey + } + + /** Test the property 'ddq' */ + @Test + void ddqTest() { + // TODO: test ddq + } + + /** Test the property 'targetProtocol' */ + @Test + void targetProtocolTest() { + // TODO: test targetProtocol + } + + /** Test the property 'parentGateway' */ + @Test + void parentGatewayTest() { + // TODO: test parentGateway + } + + /** Test the property 'isActiveSender' */ + @Test + void isActiveSenderTest() { + // TODO: test isActiveSender + } + + /** Test the property 'isActiveReceiver' */ + @Test + void isActiveReceiverTest() { + // TODO: test isActiveReceiver + } + + /** Test the property 'subsidiaries' */ + @Test + void subsidiariesTest() { + // TODO: test subsidiaries + } }