From af7082205e98fa767566e627e0bf2c1e37595ff8 Mon Sep 17 00:00:00 2001 From: fireblocks_dx_team Date: Mon, 27 Jul 2026 21:21:15 +0000 Subject: [PATCH] Generated SDK #2710156551 --- .github/workflows/draft-release-from-pr.yml | 92 ---- .github/workflows/publish-maven.yml | 47 +- .../workflows/publish-release-on-pr-merge.yml | 96 ++++ .openapi-generator/FILES | 42 ++ CHANGELOG.md | 239 --------- README.md | 20 +- api/openapi.yaml | 491 +++++++++++++++++- build.gradle | 2 +- docs/CipsAddress.md | 17 + docs/CipsDestination.md | 23 + docs/CreateWebhookRequest.md | 2 + docs/Delegation.md | 2 +- docs/FailureReason.md | 4 + docs/FiatDestination.md | 54 ++ docs/FpsHkAddress.md | 18 + docs/FpsHkDestination.md | 22 + docs/FpsUkAddress.md | 15 + docs/FpsUkDestination.md | 22 + docs/InstaPayAddress.md | 15 + docs/InstaPayDestination.md | 22 + docs/NequiAddress.md | 13 + docs/NequiDestination.md | 22 + docs/PaymentInstructionsOneOf.md | 6 +- docs/PesonetAddress.md | 15 + docs/PesonetDestination.md | 22 + docs/Position.md | 2 +- docs/SolanaRewardsBreakdown.md | 2 +- docs/TransferRail.md | 12 + docs/UpdateWebhookRequest.md | 2 + docs/Webhook.md | 2 + docs/WebhookOAuth.md | 17 + docs/WebhookOAuthResponse.md | 16 + pom.xml | 2 +- .../com/fireblocks/sdk/Configuration.java | 2 +- .../com/fireblocks/sdk/model/CipsAddress.java | 310 +++++++++++ .../fireblocks/sdk/model/CipsDestination.java | 255 +++++++++ .../sdk/model/CreateWebhookRequest.java | 104 +++- .../com/fireblocks/sdk/model/Delegation.java | 12 +- .../fireblocks/sdk/model/FailureReason.java | 6 +- .../fireblocks/sdk/model/FiatDestination.java | 474 ++++++++++++++++- .../fireblocks/sdk/model/FpsHkAddress.java | 338 ++++++++++++ .../sdk/model/FpsHkDestination.java | 213 ++++++++ .../fireblocks/sdk/model/FpsUkAddress.java | 228 ++++++++ .../sdk/model/FpsUkDestination.java | 213 ++++++++ .../fireblocks/sdk/model/InstaPayAddress.java | 228 ++++++++ .../sdk/model/InstaPayDestination.java | 216 ++++++++ .../fireblocks/sdk/model/NequiAddress.java | 145 ++++++ .../sdk/model/NequiDestination.java | 213 ++++++++ .../sdk/model/PaymentInstructionsOneOf.java | 18 +- .../fireblocks/sdk/model/PesonetAddress.java | 228 ++++++++ .../sdk/model/PesonetDestination.java | 216 ++++++++ .../com/fireblocks/sdk/model/Position.java | 12 +- .../sdk/model/SolanaRewardsBreakdown.java | 44 +- .../fireblocks/sdk/model/TransferRail.java | 27 +- .../sdk/model/UpdateWebhookRequest.java | 103 +++- .../com/fireblocks/sdk/model/Webhook.java | 104 +++- .../fireblocks/sdk/model/WebhookOAuth.java | 279 ++++++++++ .../sdk/model/WebhookOAuthResponse.java | 236 +++++++++ .../fireblocks/sdk/model/CipsAddressTest.java | 57 ++ .../sdk/model/CipsDestinationTest.java | 45 ++ .../sdk/model/CreateWebhookRequestTest.java | 12 + .../sdk/model/FiatDestinationTest.java | 6 + .../sdk/model/FpsHkAddressTest.java | 63 +++ .../sdk/model/FpsHkDestinationTest.java | 39 ++ .../sdk/model/FpsUkAddressTest.java | 45 ++ .../sdk/model/FpsUkDestinationTest.java | 39 ++ .../sdk/model/InstaPayAddressTest.java | 45 ++ .../sdk/model/InstaPayDestinationTest.java | 39 ++ .../sdk/model/NequiAddressTest.java | 33 ++ .../sdk/model/NequiDestinationTest.java | 39 ++ .../sdk/model/PesonetAddressTest.java | 45 ++ .../sdk/model/PesonetDestinationTest.java | 39 ++ .../sdk/model/SolanaRewardsBreakdownTest.java | 6 +- .../sdk/model/UpdateWebhookRequestTest.java | 12 + .../sdk/model/WebhookOAuthResponseTest.java | 45 ++ .../sdk/model/WebhookOAuthTest.java | 51 ++ .../com/fireblocks/sdk/model/WebhookTest.java | 12 + 77 files changed, 5826 insertions(+), 448 deletions(-) delete mode 100644 .github/workflows/draft-release-from-pr.yml create mode 100644 .github/workflows/publish-release-on-pr-merge.yml delete mode 100644 CHANGELOG.md create mode 100644 docs/CipsAddress.md create mode 100644 docs/CipsDestination.md create mode 100644 docs/FpsHkAddress.md create mode 100644 docs/FpsHkDestination.md create mode 100644 docs/FpsUkAddress.md create mode 100644 docs/FpsUkDestination.md create mode 100644 docs/InstaPayAddress.md create mode 100644 docs/InstaPayDestination.md create mode 100644 docs/NequiAddress.md create mode 100644 docs/NequiDestination.md create mode 100644 docs/PesonetAddress.md create mode 100644 docs/PesonetDestination.md create mode 100644 docs/WebhookOAuth.md create mode 100644 docs/WebhookOAuthResponse.md create mode 100644 src/main/java/com/fireblocks/sdk/model/CipsAddress.java create mode 100644 src/main/java/com/fireblocks/sdk/model/CipsDestination.java create mode 100644 src/main/java/com/fireblocks/sdk/model/FpsHkAddress.java create mode 100644 src/main/java/com/fireblocks/sdk/model/FpsHkDestination.java create mode 100644 src/main/java/com/fireblocks/sdk/model/FpsUkAddress.java create mode 100644 src/main/java/com/fireblocks/sdk/model/FpsUkDestination.java create mode 100644 src/main/java/com/fireblocks/sdk/model/InstaPayAddress.java create mode 100644 src/main/java/com/fireblocks/sdk/model/InstaPayDestination.java create mode 100644 src/main/java/com/fireblocks/sdk/model/NequiAddress.java create mode 100644 src/main/java/com/fireblocks/sdk/model/NequiDestination.java create mode 100644 src/main/java/com/fireblocks/sdk/model/PesonetAddress.java create mode 100644 src/main/java/com/fireblocks/sdk/model/PesonetDestination.java create mode 100644 src/main/java/com/fireblocks/sdk/model/WebhookOAuth.java create mode 100644 src/main/java/com/fireblocks/sdk/model/WebhookOAuthResponse.java create mode 100644 src/test/java/com/fireblocks/sdk/model/CipsAddressTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/CipsDestinationTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/FpsHkAddressTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/FpsHkDestinationTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/FpsUkAddressTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/FpsUkDestinationTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/InstaPayAddressTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/InstaPayDestinationTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/NequiAddressTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/NequiDestinationTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/PesonetAddressTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/PesonetDestinationTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/WebhookOAuthResponseTest.java create mode 100644 src/test/java/com/fireblocks/sdk/model/WebhookOAuthTest.java diff --git a/.github/workflows/draft-release-from-pr.yml b/.github/workflows/draft-release-from-pr.yml deleted file mode 100644 index 794d1750..00000000 --- a/.github/workflows/draft-release-from-pr.yml +++ /dev/null @@ -1,92 +0,0 @@ -name: Draft Release from PR - -on: - push: - branches: - - master - -permissions: - contents: write - pull-requests: read - -jobs: - draft-release: - runs-on: ubuntu-latest - if: "!startsWith(github.event.head_commit.message, 'release ')" - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Get last merged PR - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh pr list \ - --state merged \ - --base master \ - --limit 1 \ - --json number,title,body,labels \ - > pr.json - - PR_NUM=$(jq -r '.[0].number // "none"' pr.json) - PR_TITLE=$(jq -r '.[0].title // "none"' pr.json) - echo "Found merged PR: #$PR_NUM - $PR_TITLE" - - - name: Get latest release version - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - LAST_TAG=$(gh release list --limit 1 --json tagName -q '.[0].tagName') - - if [[ -z "$LAST_TAG" || "$LAST_TAG" == "null" ]]; then - echo "No existing release found. A release tag is required to calculate the next version." - exit 1 - fi - - echo "Found latest release: $LAST_TAG" - echo "LAST_TAG=$LAST_TAG" >> $GITHUB_ENV - - - name: Calculate next version from labels - run: | - V="${LAST_TAG#v}" - - MAJOR=$(echo $V | cut -d. -f1) - MINOR=$(echo $V | cut -d. -f2) - PATCH=$(echo $V | cut -d. -f3) - - LABELS=$(jq -r '.[0].labels[].name' pr.json) - echo "Found labels: $LABELS" - - if echo "$LABELS" | grep -q "major"; then - echo "Bumping MAJOR version" - MAJOR=$((MAJOR+1)) - MINOR=0 - PATCH=0 - elif echo "$LABELS" | grep -q "minor"; then - echo "Bumping MINOR version" - MINOR=$((MINOR+1)) - PATCH=0 - else - echo "Bumping PATCH version" - PATCH=$((PATCH+1)) - fi - - echo "Calculated next version: v$MAJOR.$MINOR.$PATCH" - echo "VERSION=v$MAJOR.$MINOR.$PATCH" >> $GITHUB_ENV - - - name: Create DRAFT release using PR BODY - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - PR_BODY=$(jq -r '.[0].body // ""' pr.json) - - echo "Creating draft release..." - echo "Version: $VERSION" - - gh release create "$VERSION" \ - --draft \ - --title "$VERSION" \ - --notes "$PR_BODY" - - echo "Draft release created successfully!" \ No newline at end of file diff --git a/.github/workflows/publish-maven.yml b/.github/workflows/publish-maven.yml index 530c0469..0cc63d3e 100644 --- a/.github/workflows/publish-maven.yml +++ b/.github/workflows/publish-maven.yml @@ -3,6 +3,12 @@ name: Publish Maven on: release: types: [published] + workflow_dispatch: + inputs: + version: + description: 'Version to use for this test run (no commit/push/tag/deploy will actually happen)' + required: false + default: '0.0.0-test' jobs: bump-version: @@ -29,10 +35,15 @@ jobs: pip install bump-my-version npm i -g auto-changelog - name: Bump version + env: + INITIAL_TAG: ${{ github.event.release.tag_name || inputs.version }} + # TEMPORARY DRY-RUN OVERRIDE - forces test mode even for real releases. + # Original: ${{ github.event_name == 'workflow_dispatch' }} + # Revert this commit before running a real release. + IS_TEST_RUN: 'true' run: | - initialTag=${{ github.event.release.tag_name }} - tag="${initialTag//[v]/}" - echo $tag + tag="${INITIAL_TAG//[v]/}" + echo "$tag" git remote update git fetch echo "finished fetching" @@ -41,18 +52,25 @@ jobs: git config --global user.email "github-actions@github.com" git config --global user.name "Github Actions" echo "finished configuration" - bump-my-version bump --config-file .bump_version.toml --current-version 0.0.0 --new-version $tag + bump-my-version bump --config-file .bump_version.toml --current-version 0.0.0 --new-version "$tag" echo "bumpversion finished" auto-changelog git add . git commit -m "release $tag" - git push + if [ "$IS_TEST_RUN" = "true" ]; then + echo "Test run: skipping git push" + else + git push + fi - name: Move tag + # TEMPORARY DRY-RUN OVERRIDE - original: github.event_name == 'release' + if: false + env: + TAG_NAME: ${{ github.event.release.tag_name }} run: | - TAG_NAME=${{ github.event.release.tag_name }} - echo $tag - git tag --force $TAG_NAME - git push --force origin $TAG_NAME + echo "$TAG_NAME" + git tag --force "$TAG_NAME" + git push --force origin "$TAG_NAME" publish: needs: bump-version @@ -78,7 +96,16 @@ jobs: run: | echo -n "${{ secrets.GPG_SIGNING_KEY }}" | base64 --decode | gpg --import --batch - name: Publish package - run: mvn --batch-mode deploy -Dgpg.passphrase='${{ secrets.GPG_PASSWORD }}' env: MAVEN_USERNAME: ${{ secrets.MAVEN_OSSRH_USERNAME }} MAVEN_PASSWORD: ${{ secrets.MAVEN_OSSRH_TOKEN }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSWORD }} + # TEMPORARY DRY-RUN OVERRIDE - original: ${{ github.event_name == 'workflow_dispatch' }} + IS_TEST_RUN: 'true' + run: | + if [ "$IS_TEST_RUN" = "true" ]; then + # 'verify' runs through compile/test/package/sign without the 'deploy' phase, so nothing is uploaded + mvn --batch-mode verify -Dgpg.passphrase="$GPG_PASSPHRASE" + else + mvn --batch-mode deploy -Dgpg.passphrase="$GPG_PASSPHRASE" + fi diff --git a/.github/workflows/publish-release-on-pr-merge.yml b/.github/workflows/publish-release-on-pr-merge.yml new file mode 100644 index 00000000..337ca9bd --- /dev/null +++ b/.github/workflows/publish-release-on-pr-merge.yml @@ -0,0 +1,96 @@ +name: Publish Release on PR Merge + +on: + pull_request: + types: [closed] + branches: [master] + +permissions: + contents: write + pull-requests: read + +jobs: + publish-release: + runs-on: ubuntu-latest + if: >- + github.event.pull_request.merged == true && + startsWith(github.event.pull_request.head.ref, 'fireblocks-api-spec/generated/') + steps: + - name: Check for existing release + id: existing + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + marker="" + existing_url=$(gh release list --limit 20 --json tagName,url \ + --jq '.[].tagName' | while read -r tag; do + body=$(gh release view "$tag" --json body --jq '.body') + if [[ "$body" == *"$marker"* ]]; then + gh release view "$tag" --json url --jq '.url' + break + fi + done) + + if [[ -n "$existing_url" ]]; then + echo "Release for PR #${PR_NUMBER} was already published (found idempotency marker) - skipping." + echo "Existing release: $existing_url" + echo "skip=true" >> "$GITHUB_OUTPUT" + else + echo "skip=false" >> "$GITHUB_OUTPUT" + fi + + - name: Calculate next version + id: version + if: steps.existing.outputs.skip == 'false' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_TITLE: ${{ github.event.pull_request.title }} + run: | + LAST_TAG=$(gh release list --limit 1 --json tagName -q '.[0].tagName') + if [[ -z "$LAST_TAG" || "$LAST_TAG" == "null" ]]; then + echo "ERROR: No existing release found. A release tag is required to calculate the next version." + exit 1 + fi + echo "Found latest release: $LAST_TAG" + + V="${LAST_TAG#v}" + MAJOR=$(echo "$V" | cut -d. -f1) + MINOR=$(echo "$V" | cut -d. -f2) + PATCH=$(echo "$V" | cut -d. -f3) + + if [[ "$PR_TITLE" =~ \(major\) ]]; then + echo "Bumping MAJOR version" + MAJOR=$((MAJOR + 1)) + MINOR=0 + PATCH=0 + elif [[ "$PR_TITLE" =~ \(minor\) ]]; then + echo "Bumping MINOR version" + MINOR=$((MINOR + 1)) + PATCH=0 + else + echo "Bumping PATCH version" + PATCH=$((PATCH + 1)) + fi + + echo "version=v${MAJOR}.${MINOR}.${PATCH}" >> "$GITHUB_OUTPUT" + + - name: Create published release + if: steps.existing.outputs.skip == 'false' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_NUMBER: ${{ github.event.pull_request.number }} + PR_BODY: ${{ github.event.pull_request.body }} + MERGE_SHA: ${{ github.event.pull_request.merge_commit_sha }} + VERSION: ${{ steps.version.outputs.version }} + run: | + marker="" + notes=$(printf '%s\n\n%s' "$PR_BODY" "$marker") + + echo "Creating published release: $VERSION (target: $MERGE_SHA)" + gh release create "$VERSION" \ + --target "$MERGE_SHA" \ + --title "$VERSION" \ + --notes "$notes" + + echo "Published release created successfully!" diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 0c7fea12..ab0e20ce 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -185,6 +185,8 @@ docs/ChannelDvnConfigWithConfirmations.md docs/ChapsAddress.md docs/ChapsDestination.md docs/ChapsPaymentInfo.md +docs/CipsAddress.md +docs/CipsDestination.md docs/ClaimRewardsRequest.md docs/CollectionBurnRequestDto.md docs/CollectionBurnResponseDto.md @@ -458,6 +460,10 @@ docs/FiatTransfer.md docs/FixedAmountTypeEnum.md docs/FixedFee.md docs/FlowDirection.md +docs/FpsHkAddress.md +docs/FpsHkDestination.md +docs/FpsUkAddress.md +docs/FpsUkDestination.md docs/FreezeTransactionResponse.md docs/FunctionDoc.md docs/Funds.md @@ -517,6 +523,8 @@ docs/IdentificationPolicyOverride.md docs/IdlType.md docs/InitiatorConfig.md docs/InitiatorConfigPattern.md +docs/InstaPayAddress.md +docs/InstaPayDestination.md docs/InstructionAmount.md docs/InteracAddress.md docs/InteracDestination.md @@ -600,6 +608,8 @@ docs/ModifyValidationKeyDto.md docs/MomoPaymentInfo.md docs/MpcKey.md docs/MultichainDeploymentMetadata.md +docs/NequiAddress.md +docs/NequiDestination.md docs/NetworkChannel.md docs/NetworkConnection.md docs/NetworkConnectionResponse.md @@ -685,6 +695,8 @@ docs/PersonalIdentification.md docs/PersonalIdentificationDocument.md docs/PersonalIdentificationFullName.md docs/PersonalIdentificationType.md +docs/PesonetAddress.md +docs/PesonetDestination.md docs/PixAddress.md docs/PixDestination.md docs/PixPaymentInfo.md @@ -1208,6 +1220,8 @@ docs/WebhookEvent.md docs/WebhookMetric.md docs/WebhookMtls.md docs/WebhookMtlsCsrResponse.md +docs/WebhookOAuth.md +docs/WebhookOAuthResponse.md docs/WebhookPaginatedResponse.md docs/WebhooksApi.md docs/WebhooksV2Api.md @@ -1477,6 +1491,8 @@ src/main/java/com/fireblocks/sdk/model/ChannelDvnConfigWithConfirmations.java src/main/java/com/fireblocks/sdk/model/ChapsAddress.java src/main/java/com/fireblocks/sdk/model/ChapsDestination.java src/main/java/com/fireblocks/sdk/model/ChapsPaymentInfo.java +src/main/java/com/fireblocks/sdk/model/CipsAddress.java +src/main/java/com/fireblocks/sdk/model/CipsDestination.java src/main/java/com/fireblocks/sdk/model/ClaimRewardsRequest.java src/main/java/com/fireblocks/sdk/model/CollectionBurnRequestDto.java src/main/java/com/fireblocks/sdk/model/CollectionBurnResponseDto.java @@ -1736,6 +1752,10 @@ src/main/java/com/fireblocks/sdk/model/FiatTransfer.java src/main/java/com/fireblocks/sdk/model/FixedAmountTypeEnum.java src/main/java/com/fireblocks/sdk/model/FixedFee.java src/main/java/com/fireblocks/sdk/model/FlowDirection.java +src/main/java/com/fireblocks/sdk/model/FpsHkAddress.java +src/main/java/com/fireblocks/sdk/model/FpsHkDestination.java +src/main/java/com/fireblocks/sdk/model/FpsUkAddress.java +src/main/java/com/fireblocks/sdk/model/FpsUkDestination.java src/main/java/com/fireblocks/sdk/model/FreezeTransactionResponse.java src/main/java/com/fireblocks/sdk/model/FunctionDoc.java src/main/java/com/fireblocks/sdk/model/Funds.java @@ -1793,6 +1813,8 @@ src/main/java/com/fireblocks/sdk/model/IdentificationPolicyOverride.java src/main/java/com/fireblocks/sdk/model/IdlType.java src/main/java/com/fireblocks/sdk/model/InitiatorConfig.java src/main/java/com/fireblocks/sdk/model/InitiatorConfigPattern.java +src/main/java/com/fireblocks/sdk/model/InstaPayAddress.java +src/main/java/com/fireblocks/sdk/model/InstaPayDestination.java src/main/java/com/fireblocks/sdk/model/InstructionAmount.java src/main/java/com/fireblocks/sdk/model/InteracAddress.java src/main/java/com/fireblocks/sdk/model/InteracDestination.java @@ -1873,6 +1895,8 @@ src/main/java/com/fireblocks/sdk/model/ModifyValidationKeyDto.java src/main/java/com/fireblocks/sdk/model/MomoPaymentInfo.java src/main/java/com/fireblocks/sdk/model/MpcKey.java src/main/java/com/fireblocks/sdk/model/MultichainDeploymentMetadata.java +src/main/java/com/fireblocks/sdk/model/NequiAddress.java +src/main/java/com/fireblocks/sdk/model/NequiDestination.java src/main/java/com/fireblocks/sdk/model/NetworkChannel.java src/main/java/com/fireblocks/sdk/model/NetworkConnection.java src/main/java/com/fireblocks/sdk/model/NetworkConnectionResponse.java @@ -1952,6 +1976,8 @@ src/main/java/com/fireblocks/sdk/model/PersonalIdentification.java src/main/java/com/fireblocks/sdk/model/PersonalIdentificationDocument.java src/main/java/com/fireblocks/sdk/model/PersonalIdentificationFullName.java src/main/java/com/fireblocks/sdk/model/PersonalIdentificationType.java +src/main/java/com/fireblocks/sdk/model/PesonetAddress.java +src/main/java/com/fireblocks/sdk/model/PesonetDestination.java src/main/java/com/fireblocks/sdk/model/PixAddress.java src/main/java/com/fireblocks/sdk/model/PixDestination.java src/main/java/com/fireblocks/sdk/model/PixPaymentInfo.java @@ -2457,6 +2483,8 @@ src/main/java/com/fireblocks/sdk/model/WebhookEvent.java src/main/java/com/fireblocks/sdk/model/WebhookMetric.java src/main/java/com/fireblocks/sdk/model/WebhookMtls.java src/main/java/com/fireblocks/sdk/model/WebhookMtlsCsrResponse.java +src/main/java/com/fireblocks/sdk/model/WebhookOAuth.java +src/main/java/com/fireblocks/sdk/model/WebhookOAuthResponse.java src/main/java/com/fireblocks/sdk/model/WebhookPaginatedResponse.java src/main/java/com/fireblocks/sdk/model/WithdrawRequest.java src/main/java/com/fireblocks/sdk/model/WorkflowConfigStatus.java @@ -2699,6 +2727,8 @@ src/test/java/com/fireblocks/sdk/model/ChannelDvnConfigWithConfirmationsTest.jav src/test/java/com/fireblocks/sdk/model/ChapsAddressTest.java src/test/java/com/fireblocks/sdk/model/ChapsDestinationTest.java src/test/java/com/fireblocks/sdk/model/ChapsPaymentInfoTest.java +src/test/java/com/fireblocks/sdk/model/CipsAddressTest.java +src/test/java/com/fireblocks/sdk/model/CipsDestinationTest.java src/test/java/com/fireblocks/sdk/model/ClaimRewardsRequestTest.java src/test/java/com/fireblocks/sdk/model/CollectionBurnRequestDtoTest.java src/test/java/com/fireblocks/sdk/model/CollectionBurnResponseDtoTest.java @@ -2958,6 +2988,10 @@ src/test/java/com/fireblocks/sdk/model/FiatTransferTest.java src/test/java/com/fireblocks/sdk/model/FixedAmountTypeEnumTest.java src/test/java/com/fireblocks/sdk/model/FixedFeeTest.java src/test/java/com/fireblocks/sdk/model/FlowDirectionTest.java +src/test/java/com/fireblocks/sdk/model/FpsHkAddressTest.java +src/test/java/com/fireblocks/sdk/model/FpsHkDestinationTest.java +src/test/java/com/fireblocks/sdk/model/FpsUkAddressTest.java +src/test/java/com/fireblocks/sdk/model/FpsUkDestinationTest.java src/test/java/com/fireblocks/sdk/model/FreezeTransactionResponseTest.java src/test/java/com/fireblocks/sdk/model/FunctionDocTest.java src/test/java/com/fireblocks/sdk/model/FundsTest.java @@ -3015,6 +3049,8 @@ src/test/java/com/fireblocks/sdk/model/IdentificationTest.java src/test/java/com/fireblocks/sdk/model/IdlTypeTest.java src/test/java/com/fireblocks/sdk/model/InitiatorConfigPatternTest.java src/test/java/com/fireblocks/sdk/model/InitiatorConfigTest.java +src/test/java/com/fireblocks/sdk/model/InstaPayAddressTest.java +src/test/java/com/fireblocks/sdk/model/InstaPayDestinationTest.java src/test/java/com/fireblocks/sdk/model/InstructionAmountTest.java src/test/java/com/fireblocks/sdk/model/InteracAddressTest.java src/test/java/com/fireblocks/sdk/model/InteracDestinationTest.java @@ -3095,6 +3131,8 @@ src/test/java/com/fireblocks/sdk/model/ModifyValidationKeyDtoTest.java src/test/java/com/fireblocks/sdk/model/MomoPaymentInfoTest.java src/test/java/com/fireblocks/sdk/model/MpcKeyTest.java src/test/java/com/fireblocks/sdk/model/MultichainDeploymentMetadataTest.java +src/test/java/com/fireblocks/sdk/model/NequiAddressTest.java +src/test/java/com/fireblocks/sdk/model/NequiDestinationTest.java src/test/java/com/fireblocks/sdk/model/NetworkChannelTest.java src/test/java/com/fireblocks/sdk/model/NetworkConnectionResponseTest.java src/test/java/com/fireblocks/sdk/model/NetworkConnectionRoutingPolicyValueTest.java @@ -3174,6 +3212,8 @@ src/test/java/com/fireblocks/sdk/model/PersonalIdentificationDocumentTest.java src/test/java/com/fireblocks/sdk/model/PersonalIdentificationFullNameTest.java src/test/java/com/fireblocks/sdk/model/PersonalIdentificationTest.java src/test/java/com/fireblocks/sdk/model/PersonalIdentificationTypeTest.java +src/test/java/com/fireblocks/sdk/model/PesonetAddressTest.java +src/test/java/com/fireblocks/sdk/model/PesonetDestinationTest.java src/test/java/com/fireblocks/sdk/model/PixAddressTest.java src/test/java/com/fireblocks/sdk/model/PixDestinationTest.java src/test/java/com/fireblocks/sdk/model/PixPaymentInfoTest.java @@ -3678,6 +3718,8 @@ src/test/java/com/fireblocks/sdk/model/WebhookEventTest.java src/test/java/com/fireblocks/sdk/model/WebhookMetricTest.java src/test/java/com/fireblocks/sdk/model/WebhookMtlsCsrResponseTest.java src/test/java/com/fireblocks/sdk/model/WebhookMtlsTest.java +src/test/java/com/fireblocks/sdk/model/WebhookOAuthResponseTest.java +src/test/java/com/fireblocks/sdk/model/WebhookOAuthTest.java src/test/java/com/fireblocks/sdk/model/WebhookPaginatedResponseTest.java src/test/java/com/fireblocks/sdk/model/WebhookTest.java src/test/java/com/fireblocks/sdk/model/WithdrawRequestTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index d40ca176..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). - -## [v24.0.0](https://github.com/fireblocks/java-sdk/compare/v15.0.0...v24.0.0) - 2026-07-23 - -### Merged - -- Generated SDK #2700459745 (major) [`#141`](https://github.com/fireblocks/java-sdk/pull/141) - -## [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 ee79a4da..6efe3745 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Add this dependency to your project's POM: com.fireblocks.sdk fireblocks-sdk - 24.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:24.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-24.0.0.jar` +- `target/fireblocks-sdk-0.0.0.jar` - `target/lib/*.jar` @@ -769,6 +769,8 @@ Class | Method | HTTP request | Description - [ChapsAddress](docs/ChapsAddress.md) - [ChapsDestination](docs/ChapsDestination.md) - [ChapsPaymentInfo](docs/ChapsPaymentInfo.md) + - [CipsAddress](docs/CipsAddress.md) + - [CipsDestination](docs/CipsDestination.md) - [ClaimRewardsRequest](docs/ClaimRewardsRequest.md) - [CollectionBurnRequestDto](docs/CollectionBurnRequestDto.md) - [CollectionBurnResponseDto](docs/CollectionBurnResponseDto.md) @@ -1028,6 +1030,10 @@ Class | Method | HTTP request | Description - [FixedAmountTypeEnum](docs/FixedAmountTypeEnum.md) - [FixedFee](docs/FixedFee.md) - [FlowDirection](docs/FlowDirection.md) + - [FpsHkAddress](docs/FpsHkAddress.md) + - [FpsHkDestination](docs/FpsHkDestination.md) + - [FpsUkAddress](docs/FpsUkAddress.md) + - [FpsUkDestination](docs/FpsUkDestination.md) - [FreezeTransactionResponse](docs/FreezeTransactionResponse.md) - [FunctionDoc](docs/FunctionDoc.md) - [Funds](docs/Funds.md) @@ -1085,6 +1091,8 @@ Class | Method | HTTP request | Description - [IdlType](docs/IdlType.md) - [InitiatorConfig](docs/InitiatorConfig.md) - [InitiatorConfigPattern](docs/InitiatorConfigPattern.md) + - [InstaPayAddress](docs/InstaPayAddress.md) + - [InstaPayDestination](docs/InstaPayDestination.md) - [InstructionAmount](docs/InstructionAmount.md) - [InteracAddress](docs/InteracAddress.md) - [InteracDestination](docs/InteracDestination.md) @@ -1165,6 +1173,8 @@ Class | Method | HTTP request | Description - [MomoPaymentInfo](docs/MomoPaymentInfo.md) - [MpcKey](docs/MpcKey.md) - [MultichainDeploymentMetadata](docs/MultichainDeploymentMetadata.md) + - [NequiAddress](docs/NequiAddress.md) + - [NequiDestination](docs/NequiDestination.md) - [NetworkChannel](docs/NetworkChannel.md) - [NetworkConnection](docs/NetworkConnection.md) - [NetworkConnectionResponse](docs/NetworkConnectionResponse.md) @@ -1244,6 +1254,8 @@ Class | Method | HTTP request | Description - [PersonalIdentificationDocument](docs/PersonalIdentificationDocument.md) - [PersonalIdentificationFullName](docs/PersonalIdentificationFullName.md) - [PersonalIdentificationType](docs/PersonalIdentificationType.md) + - [PesonetAddress](docs/PesonetAddress.md) + - [PesonetDestination](docs/PesonetDestination.md) - [PixAddress](docs/PixAddress.md) - [PixDestination](docs/PixDestination.md) - [PixPaymentInfo](docs/PixPaymentInfo.md) @@ -1749,6 +1761,8 @@ Class | Method | HTTP request | Description - [WebhookMetric](docs/WebhookMetric.md) - [WebhookMtls](docs/WebhookMtls.md) - [WebhookMtlsCsrResponse](docs/WebhookMtlsCsrResponse.md) + - [WebhookOAuth](docs/WebhookOAuth.md) + - [WebhookOAuthResponse](docs/WebhookOAuthResponse.md) - [WebhookPaginatedResponse](docs/WebhookPaginatedResponse.md) - [WithdrawRequest](docs/WithdrawRequest.md) - [WorkflowConfigStatus](docs/WorkflowConfigStatus.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index 7fdbded0..5e6169a3 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -56972,6 +56972,48 @@ components: required: - clientSignedCert type: object + WebhookOAuthResponse: + description: OAuth 2.0 client credentials configuration for the webhook. Present + only when OAuth is configured. The `clientSecret` is write-only and is never + returned. + example: + clientId: my-client-id + url: https://auth.example.com/oauth/token + mtlsClientSignedCert: |- + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- + properties: + clientId: + description: OAuth client ID used to authenticate with the token endpoint. + example: my-client-id + type: string + url: + description: Token endpoint URL. + example: https://auth.example.com/oauth/token + type: string + mtlsClientSignedCert: + description: Signed client certificate PEM used for mTLS when connecting + to the token endpoint. + example: |- + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- + nullable: true + type: string + required: + - clientId + - url + type: object + WebhookCustomHeadersResponse: + description: Names of the custom headers configured for this webhook. Header + values are never returned. + example: + - x-gateway-key + - x-region-tag + items: + type: string + type: array Webhook: example: createdAt: 1625126400000 @@ -56982,10 +57024,20 @@ components: -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- + oauth: + clientId: my-client-id + url: https://auth.example.com/oauth/token + mtlsClientSignedCert: |- + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- url: https://example.com/webhook events: - transaction.created - transaction.status.updated + customHeaders: + - x-gateway-key + - x-region-tag status: ENABLED updatedAt: 1625126400000 properties: @@ -57033,6 +57085,17 @@ components: type: integer mtls: $ref: "#/components/schemas/WebhookMtls" + oauth: + $ref: "#/components/schemas/WebhookOAuthResponse" + customHeaders: + description: Names of the custom headers configured for this webhook. Header + values are never returned. + example: + - x-gateway-key + - x-region-tag + items: + type: string + type: array required: - createdAt - events @@ -57053,10 +57116,20 @@ components: -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- + oauth: + clientId: my-client-id + url: https://auth.example.com/oauth/token + mtlsClientSignedCert: |- + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- url: https://example.com/webhook events: - transaction.created - transaction.status.updated + customHeaders: + - x-gateway-key + - x-region-tag status: ENABLED updatedAt: 1625126400000 - createdAt: 1625126400000 @@ -57067,10 +57140,20 @@ components: -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- + oauth: + clientId: my-client-id + url: https://auth.example.com/oauth/token + mtlsClientSignedCert: |- + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- url: https://example.com/webhook events: - transaction.created - transaction.status.updated + customHeaders: + - x-gateway-key + - x-region-tag status: ENABLED updatedAt: 1625126400000 properties: @@ -57087,6 +57170,72 @@ components: required: - data type: object + WebhookOAuth: + description: "OAuth 2.0 client credentials configuration for the webhook. When\ + \ set, the webhook dispatcher fetches a bearer token from the configured token\ + \ endpoint before each delivery and attaches it as `Authorization: Bearer\ + \ {token}`. Send `null` to remove OAuth configuration entirely." + example: + clientId: my-client-id + clientSecret: my-client-secret + url: https://auth.example.com/oauth/token + mtlsClientSignedCert: |- + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- + nullable: true + properties: + clientId: + description: OAuth client ID used to authenticate with the token endpoint. + example: my-client-id + maxLength: 255 + type: string + clientSecret: + description: OAuth client secret. Write-only — never returned in responses. + example: my-client-secret + maxLength: 480 + type: string + url: + description: Token endpoint URL. Must be HTTPS. + example: https://auth.example.com/oauth/token + maxLength: 2048 + pattern: ^https:// + type: string + mtlsClientSignedCert: + description: Signed client certificate PEM used for mTLS when connecting + to the token endpoint. Same format as the webhook mTLS certificate. Send + `null` to remove. + example: |- + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- + nullable: true + type: string + required: + - clientId + - clientSecret + - url + type: object + WebhookCustomHeaders: + additionalProperties: + description: Header value. Must not contain CR or LF characters. + maxLength: 1024 + minLength: 1 + pattern: "^[^\\r\\n]*$" + type: string + description: "Custom HTTP headers attached to every notification delivered by\ + \ this webhook (max 10). Header names must be valid RFC 7230 tokens (printable\ + \ ASCII, no separators), are treated case-insensitively (duplicate names differing\ + \ only in case are rejected), and may not exceed 128 characters. The following\ + \ names are reserved and cannot be used: Host, Content-Type, Content-Length,\ + \ Transfer-Encoding, Connection, User-Agent, Accept, Accept-Encoding, Fireblocks-Signature,\ + \ Fireblocks-Webhook-Signature. Header values are write-only — never returned\ + \ in responses." + example: + X-Gateway-Key: abc123 + X-Region-Tag: eu + maxProperties: 10 + type: object CreateWebhookRequest: example: description: This webhook is used for transactions notifications @@ -57095,11 +57244,22 @@ components: -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- + oauth: + clientId: my-client-id + clientSecret: my-client-secret + url: https://auth.example.com/oauth/token + mtlsClientSignedCert: |- + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- url: https://example.com/webhook events: - transaction.created - transaction.status.updated enabled: false + customHeaders: + X-Gateway-Key: abc123 + X-Region-Tag: eu properties: url: description: "The url of the webhook where notifications will be sent. URL\ @@ -57128,6 +57288,28 @@ components: type: boolean mtls: $ref: "#/components/schemas/WebhookMtls" + oauth: + $ref: "#/components/schemas/WebhookOAuth" + customHeaders: + additionalProperties: + description: Header value. Must not contain CR or LF characters. + maxLength: 1024 + minLength: 1 + pattern: "^[^\\r\\n]*$" + type: string + description: "Custom HTTP headers attached to every notification delivered\ + \ by this webhook (max 10). Header names must be valid RFC 7230 tokens\ + \ (printable ASCII, no separators), are treated case-insensitively (duplicate\ + \ names differing only in case are rejected), and may not exceed 128 characters.\ + \ The following names are reserved and cannot be used: Host, Content-Type,\ + \ Content-Length, Transfer-Encoding, Connection, User-Agent, Accept, Accept-Encoding,\ + \ Fireblocks-Signature, Fireblocks-Webhook-Signature. Header values are\ + \ write-only — never returned in responses." + example: + X-Gateway-Key: abc123 + X-Region-Tag: eu + maxProperties: 10 + type: object required: - events - url @@ -57150,6 +57332,24 @@ components: required: - csr type: object + WebhookCustomHeadersUpdate: + additionalProperties: + maxLength: 1024 + minLength: 1 + nullable: true + type: string + description: "Custom headers delta: entries with a string value are added or\ + \ updated, entries with a `null` value delete that header (no-op if absent),\ + \ and header names omitted from the payload are left untouched. The resulting\ + \ set is limited to 10 headers. Header names are case-insensitive, up to 128\ + \ characters, and limited to valid HTTP header name characters. Some system\ + \ header names are reserved and cannot be used. Values are write-only — never\ + \ returned in responses." + example: + X-Gateway-Key: abc123 + X-Region-Tag: null + maxProperties: 10 + type: object UpdateWebhookRequest: example: description: This webhook is used for transactions notifications @@ -57158,11 +57358,22 @@ components: -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- + oauth: + clientId: my-client-id + clientSecret: my-client-secret + url: https://auth.example.com/oauth/token + mtlsClientSignedCert: |- + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- url: https://example.com/webhook events: - transaction.created - transaction.status.updated enabled: false + customHeaders: + X-Gateway-Key: abc123 + X-Region-Tag: null properties: url: description: "The url of the webhook where notifications will be sent. URL\ @@ -57190,6 +57401,26 @@ components: type: boolean mtls: $ref: "#/components/schemas/WebhookMtls" + oauth: + $ref: "#/components/schemas/WebhookOAuth" + customHeaders: + additionalProperties: + maxLength: 1024 + minLength: 1 + nullable: true + type: string + description: "Custom headers delta: entries with a string value are added\ + \ or updated, entries with a `null` value delete that header (no-op if\ + \ absent), and header names omitted from the payload are left untouched.\ + \ The resulting set is limited to 10 headers. Header names are case-insensitive,\ + \ up to 128 characters, and limited to valid HTTP header name characters.\ + \ Some system header names are reserved and cannot be used. Values are\ + \ write-only — never returned in responses." + example: + X-Gateway-Key: abc123 + X-Region-Tag: null + maxProperties: 10 + type: object type: object WebhookMetric: example: @@ -62813,12 +63044,12 @@ components: SolanaRewardsBreakdown: description: A breakdown of the staking rewards earned by the position. example: - issuance: "0.000856038" + inflation: "0.000856038" mev: "0.000123456" lastRewardSyncedAt: 2023-07-13T15:55:34.256Z properties: - issuance: - description: "The issuance reward amount earned by the position, measured\ + inflation: + description: "The inflation reward amount earned by the position, measured\ \ in the staked asset unit." example: "0.000856038" type: string @@ -62833,7 +63064,7 @@ components: format: date-time type: string required: - - issuance + - inflation - lastRewardSyncedAt - mev type: object @@ -62845,7 +63076,7 @@ components: example: stakeAccountAddress: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq rewardsBreakdown: - issuance: "0.000856038" + inflation: "0.000856038" mev: "0.000123456" lastRewardSyncedAt: 2023-07-13T15:55:34.256Z properties: @@ -62926,7 +63157,7 @@ components: blockchainPositionInfo: stakeAccountAddress: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq rewardsBreakdown: - issuance: "0.000856038" + inflation: "0.000856038" mev: "0.000123456" lastRewardSyncedAt: 2023-07-13T15:55:34.256Z chainDescriptor: SOL @@ -62983,8 +63214,10 @@ components: type: string rewardsAmount: description: "The amount staked in the position, measured in the staked\ - \ asset unit." + \ asset unit. Returned as null for chains where reward tracking is not\ + \ supported (Cosmos-family chains), instead of a numeric value." example: "0.000856038" + nullable: true type: string dateCreated: description: When was the request made (ISO Date). @@ -63076,7 +63309,7 @@ components: blockchainPositionInfo: stakeAccountAddress: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq rewardsBreakdown: - issuance: "0.000856038" + inflation: "0.000856038" mev: "0.000123456" lastRewardSyncedAt: 2023-07-13T15:55:34.256Z chainDescriptor: SOL @@ -63123,8 +63356,10 @@ components: type: string rewardsAmount: description: "The amount staked in the position, measured in the staked\ - \ asset unit." + \ asset unit. Returned as null for chains where reward tracking is not\ + \ supported (Cosmos-family chains), instead of a numeric value." example: "0.000856038" + nullable: true type: string dateCreated: description: When was the request made (ISO Date). @@ -63213,7 +63448,7 @@ components: blockchainPositionInfo: stakeAccountAddress: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq rewardsBreakdown: - issuance: "0.000856038" + inflation: "0.000856038" mev: "0.000123456" lastRewardSyncedAt: 2023-07-13T15:55:34.256Z chainDescriptor: SOL @@ -63235,7 +63470,7 @@ components: blockchainPositionInfo: stakeAccountAddress: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq rewardsBreakdown: - issuance: "0.000856038" + inflation: "0.000856038" mev: "0.000123456" lastRewardSyncedAt: 2023-07-13T15:55:34.256Z chainDescriptor: SOL @@ -64486,13 +64721,16 @@ components: \ Clearing House transfer, typically takes longer but not as expensive as\ \ wire transfers\n* **SEPA** - Euro transfers within the SEPA zone\n* **SPEI**\ \ - Mexican interbank electronic payment system\n* **PIX** - Brazilian instant\ - \ payment system\n* **LBT** - Local bank transfers within Africa\n* **MOMO**\ - \ - Mobile money transfers (e.g. M-Pesa)\n* **CHAPS** - The Clearing House\ - \ Automated Payment System (CHAPS) is a real-time gross settlement payment\ - \ system used for transactions in the United Kingdom\n* **PAYID** - PayID\ - \ payment identifier system (Australia)\n* **INTERAC** - Interac electronic\ - \ funds transfer (Canada)\n* **INTERNAL_TRANSFER** - Internal transfer between\ - \ accounts\n" + \ payment system\n* **LBT** - Local bank transfers\n* **MOMO** - Mobile money\ + \ transfers (e.g. M-Pesa)\n* **CHAPS** - The Clearing House Automated Payment\ + \ System (CHAPS) is a real-time gross settlement payment system used for transactions\ + \ in the United Kingdom\n* **PAYID** - PayID payment identifier system (Australia)\n\ + * **INTERAC** - Interac electronic funds transfer (Canada)\n* **INTERNAL_TRANSFER**\ + \ - Internal transfer between accounts\n* **CIPS** - Cross-Border Interbank\ + \ Payment System (China)\n* **NEQUI** - Nequi mobile payment (Colombia)\n\ + * **FPS_UK** - UK Faster Payments (GBP)\n* **FPS_HK** - Hong Kong Faster Payment\ + \ System (HKD)\n* **INSTA_PAY** - InstaPay instant payment (Philippines)\n\ + * **PESONET** - PesoNet batch payment (Philippines)\n" enum: - BLOCKCHAIN - INTERNAL @@ -64509,6 +64747,12 @@ components: - PAYID - INTERAC - INTERNAL_TRANSFER + - CIPS + - NEQUI + - FPS_UK + - FPS_HK + - INSTA_PAY + - PESONET example: BLOCKCHAIN type: string FlowDirection: @@ -67809,6 +68053,209 @@ components: required: - type type: object + CipsAddress: + properties: + accountHolder: + $ref: "#/components/schemas/AccountHolderDetails" + bankName: + description: Name of the recipient's bank + example: Bank of China + type: string + bankCountry: + description: ISO 3166-1 alpha-2 country code of the bank + example: CN + type: string + swiftCode: + description: SWIFT/BIC code of the recipient bank + example: BKCHCNBJ + type: string + accountNumber: + description: Recipient bank account number + example: "6217000010000000000" + type: string + required: + - accountHolder + - accountNumber + - bankCountry + - bankName + - swiftCode + type: object + CipsDestination: + properties: + type: + description: The transfer rail type for the destination + enum: + - CIPS + example: CIPS + type: string + address: + $ref: "#/components/schemas/CipsAddress" + referenceId: + description: Optional payment reference + example: INV-2024-0001 + type: string + required: + - address + - type + type: object + NequiAddress: + properties: + phone: + description: Recipient phone number in E.164 format + example: "+573001234567" + type: string + required: + - phone + type: object + NequiDestination: + properties: + type: + description: The transfer rail type for the destination + enum: + - NEQUI + example: NEQUI + type: string + address: + $ref: "#/components/schemas/NequiAddress" + required: + - address + - type + type: object + FpsUkAddress: + properties: + accountHolder: + $ref: "#/components/schemas/AccountHolderDetails" + accountNumber: + description: UK bank account number + example: "12345678" + type: string + sortCode: + description: UK sort code (format XX-XX-XX) + example: 12-34-56 + type: string + required: + - accountHolder + - accountNumber + - sortCode + type: object + FpsUkDestination: + properties: + type: + description: The transfer rail type for the destination + enum: + - FPS_UK + example: FPS_UK + type: string + address: + $ref: "#/components/schemas/FpsUkAddress" + required: + - address + - type + type: object + FpsHkAddress: + properties: + recipientLegalName: + description: Full legal name of the recipient + example: Chan Tai Man + type: string + accountNumber: + description: Recipient bank account number + example: "1234567890" + type: string + bankCode: + description: Hong Kong bank code + example: "003" + type: string + phone: + description: Recipient phone number in E.164 format + example: "+85291234567" + type: string + email: + description: Recipient email address + example: chan.taiman@email.com + type: string + fpsId: + description: Hong Kong FPS identifier + example: "163912345" + type: string + type: object + FpsHkDestination: + properties: + type: + description: The transfer rail type for the destination + enum: + - FPS_HK + example: FPS_HK + type: string + address: + $ref: "#/components/schemas/FpsHkAddress" + required: + - address + - type + type: object + InstaPayAddress: + properties: + accountHolder: + $ref: "#/components/schemas/AccountHolderDetails" + bankName: + description: "Name of the recipient's bank or wallet (e.g. BDO, BPI, GCash,\ + \ Maya)" + example: BDO Unibank + type: string + accountNumber: + description: Recipient bank account or wallet number + example: "001234567890" + type: string + required: + - accountHolder + - accountNumber + - bankName + type: object + InstaPayDestination: + properties: + type: + description: The transfer rail type for the destination + enum: + - INSTA_PAY + example: INSTA_PAY + type: string + address: + $ref: "#/components/schemas/InstaPayAddress" + required: + - address + - type + type: object + PesonetAddress: + properties: + accountHolder: + $ref: "#/components/schemas/AccountHolderDetails" + bankName: + description: Name of the recipient's bank + example: BPI + type: string + accountNumber: + description: Recipient bank account number + example: "001234567890" + type: string + required: + - accountHolder + - accountNumber + - bankName + type: object + PesonetDestination: + properties: + type: + description: The transfer rail type for the destination + enum: + - PESONET + example: PESONET + type: string + address: + $ref: "#/components/schemas/PesonetAddress" + required: + - address + - type + type: object FiatDestination: oneOf: - $ref: "#/components/schemas/IbanDestination" @@ -67825,6 +68272,12 @@ components: - $ref: "#/components/schemas/InteracDestination" - $ref: "#/components/schemas/PayidDestination" - $ref: "#/components/schemas/InternalTransferDestination" + - $ref: "#/components/schemas/CipsDestination" + - $ref: "#/components/schemas/NequiDestination" + - $ref: "#/components/schemas/FpsUkDestination" + - $ref: "#/components/schemas/FpsHkDestination" + - $ref: "#/components/schemas/InstaPayDestination" + - $ref: "#/components/schemas/PesonetDestination" FiatPaymentMetadata: properties: referenceId: @@ -67862,6 +68315,8 @@ components: - EXTERNAL_SOURCE_NOT_SUPPORTED - UNSUPPORTED_REGION - DESTINATION_NOT_WHITELISTED + - MISSING_DESTINATION_DETAILS + - MISSING_WORKSPACE_DETAILS type: string Failure: properties: diff --git a/build.gradle b/build.gradle index ed0db0f1..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 = '24.0.0' +version = '0.0.0' buildscript { repositories { diff --git a/docs/CipsAddress.md b/docs/CipsAddress.md new file mode 100644 index 00000000..359e057f --- /dev/null +++ b/docs/CipsAddress.md @@ -0,0 +1,17 @@ + + +# CipsAddress + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**accountHolder** | [**AccountHolderDetails**](AccountHolderDetails.md) | | | +|**bankName** | **String** | Name of the recipient's bank | | +|**bankCountry** | **String** | ISO 3166-1 alpha-2 country code of the bank | | +|**swiftCode** | **String** | SWIFT/BIC code of the recipient bank | | +|**accountNumber** | **String** | Recipient bank account number | | + + + diff --git a/docs/CipsDestination.md b/docs/CipsDestination.md new file mode 100644 index 00000000..7895b170 --- /dev/null +++ b/docs/CipsDestination.md @@ -0,0 +1,23 @@ + + +# CipsDestination + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | The transfer rail type for the destination | | +|**address** | [**CipsAddress**](CipsAddress.md) | | | +|**referenceId** | **String** | Optional payment reference | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CIPS | "CIPS" | + + + diff --git a/docs/CreateWebhookRequest.md b/docs/CreateWebhookRequest.md index 339a51d5..37253622 100644 --- a/docs/CreateWebhookRequest.md +++ b/docs/CreateWebhookRequest.md @@ -12,6 +12,8 @@ |**events** | **List<WebhookEvent>** | event types the webhook will subscribe to | | |**enabled** | **Boolean** | The status of the webhook. If false, the webhook will not receive notifications. | [optional] | |**mtls** | [**WebhookMtls**](WebhookMtls.md) | | [optional] | +|**oauth** | [**WebhookOAuth**](WebhookOAuth.md) | | [optional] | +|**customHeaders** | **Map<String, String>** | Custom HTTP headers attached to every notification delivered by this webhook (max 10). Header names must be valid RFC 7230 tokens (printable ASCII, no separators), are treated case-insensitively (duplicate names differing only in case are rejected), and may not exceed 128 characters. The following names are reserved and cannot be used: Host, Content-Type, Content-Length, Transfer-Encoding, Connection, User-Agent, Accept, Accept-Encoding, Fireblocks-Signature, Fireblocks-Webhook-Signature. Header values are write-only — never returned in responses. | [optional] | diff --git a/docs/Delegation.md b/docs/Delegation.md index 820d8049..cb1040c2 100644 --- a/docs/Delegation.md +++ b/docs/Delegation.md @@ -13,7 +13,7 @@ |**providerName** | **String** | The destination validator provider name | | |**chainDescriptor** | **String** | The protocol identifier (e.g. \"ETH\"/ \"SOL\") to use | | |**amount** | **String** | Total value of the staking position. For Solana, Lido and Ethereum (compounding validator): includes the original stake plus accumulated rewards. For MATIC, Cosmos and Ethereum (legacy validator): refers to the amount currently staked. | | -|**rewardsAmount** | **String** | The amount staked in the position, measured in the staked asset unit. | | +|**rewardsAmount** | **String** | The amount staked in the position, measured in the staked asset unit. Returned as null for chains where reward tracking is not supported (Cosmos-family chains), instead of a numeric value. | | |**dateCreated** | **OffsetDateTime** | When was the request made (ISO Date). | | |**dateUpdated** | **OffsetDateTime** | When has the position last changed (ISO Date). | | |**status** | **String** | The current status. | | diff --git a/docs/FailureReason.md b/docs/FailureReason.md index d39db1ea..0089bd43 100644 --- a/docs/FailureReason.md +++ b/docs/FailureReason.md @@ -57,5 +57,9 @@ * `DESTINATION_NOT_WHITELISTED` (value: `"DESTINATION_NOT_WHITELISTED"`) +* `MISSING_DESTINATION_DETAILS` (value: `"MISSING_DESTINATION_DETAILS"`) + +* `MISSING_WORKSPACE_DETAILS` (value: `"MISSING_WORKSPACE_DETAILS"`) + diff --git a/docs/FiatDestination.md b/docs/FiatDestination.md index 7900a3cb..8d378c17 100644 --- a/docs/FiatDestination.md +++ b/docs/FiatDestination.md @@ -5,13 +5,19 @@ ## oneOf schemas * [AchDestination](AchDestination.md) * [ChapsDestination](ChapsDestination.md) +* [CipsDestination](CipsDestination.md) * [EuropeanSEPADestination](EuropeanSEPADestination.md) +* [FpsHkDestination](FpsHkDestination.md) +* [FpsUkDestination](FpsUkDestination.md) * [IbanDestination](IbanDestination.md) +* [InstaPayDestination](InstaPayDestination.md) * [InteracDestination](InteracDestination.md) * [InternalTransferDestination](InternalTransferDestination.md) * [LocalBankTransferAfricaDestination](LocalBankTransferAfricaDestination.md) * [MobileMoneyDestination](MobileMoneyDestination.md) +* [NequiDestination](NequiDestination.md) * [PayidDestination](PayidDestination.md) +* [PesonetDestination](PesonetDestination.md) * [PixDestination](PixDestination.md) * [SEPADestination](SEPADestination.md) * [SpeiDestination](SpeiDestination.md) @@ -24,13 +30,19 @@ import com.fireblocks.sdk.model.FiatDestination; import com.fireblocks.sdk.model.AchDestination; import com.fireblocks.sdk.model.ChapsDestination; +import com.fireblocks.sdk.model.CipsDestination; import com.fireblocks.sdk.model.EuropeanSEPADestination; +import com.fireblocks.sdk.model.FpsHkDestination; +import com.fireblocks.sdk.model.FpsUkDestination; import com.fireblocks.sdk.model.IbanDestination; +import com.fireblocks.sdk.model.InstaPayDestination; import com.fireblocks.sdk.model.InteracDestination; import com.fireblocks.sdk.model.InternalTransferDestination; import com.fireblocks.sdk.model.LocalBankTransferAfricaDestination; import com.fireblocks.sdk.model.MobileMoneyDestination; +import com.fireblocks.sdk.model.NequiDestination; import com.fireblocks.sdk.model.PayidDestination; +import com.fireblocks.sdk.model.PesonetDestination; import com.fireblocks.sdk.model.PixDestination; import com.fireblocks.sdk.model.SEPADestination; import com.fireblocks.sdk.model.SpeiDestination; @@ -55,6 +67,13 @@ public class Example { // to get back the ChapsDestination set earlier ChapsDestination testChapsDestination = (ChapsDestination) exampleFiatDestination.getActualInstance(); + // create a new CipsDestination + CipsDestination exampleCipsDestination = new CipsDestination(); + // set FiatDestination to CipsDestination + exampleFiatDestination.setActualInstance(exampleCipsDestination); + // to get back the CipsDestination set earlier + CipsDestination testCipsDestination = (CipsDestination) exampleFiatDestination.getActualInstance(); + // create a new EuropeanSEPADestination EuropeanSEPADestination exampleEuropeanSEPADestination = new EuropeanSEPADestination(); // set FiatDestination to EuropeanSEPADestination @@ -62,6 +81,20 @@ public class Example { // to get back the EuropeanSEPADestination set earlier EuropeanSEPADestination testEuropeanSEPADestination = (EuropeanSEPADestination) exampleFiatDestination.getActualInstance(); + // create a new FpsHkDestination + FpsHkDestination exampleFpsHkDestination = new FpsHkDestination(); + // set FiatDestination to FpsHkDestination + exampleFiatDestination.setActualInstance(exampleFpsHkDestination); + // to get back the FpsHkDestination set earlier + FpsHkDestination testFpsHkDestination = (FpsHkDestination) exampleFiatDestination.getActualInstance(); + + // create a new FpsUkDestination + FpsUkDestination exampleFpsUkDestination = new FpsUkDestination(); + // set FiatDestination to FpsUkDestination + exampleFiatDestination.setActualInstance(exampleFpsUkDestination); + // to get back the FpsUkDestination set earlier + FpsUkDestination testFpsUkDestination = (FpsUkDestination) exampleFiatDestination.getActualInstance(); + // create a new IbanDestination IbanDestination exampleIbanDestination = new IbanDestination(); // set FiatDestination to IbanDestination @@ -69,6 +102,13 @@ public class Example { // to get back the IbanDestination set earlier IbanDestination testIbanDestination = (IbanDestination) exampleFiatDestination.getActualInstance(); + // create a new InstaPayDestination + InstaPayDestination exampleInstaPayDestination = new InstaPayDestination(); + // set FiatDestination to InstaPayDestination + exampleFiatDestination.setActualInstance(exampleInstaPayDestination); + // to get back the InstaPayDestination set earlier + InstaPayDestination testInstaPayDestination = (InstaPayDestination) exampleFiatDestination.getActualInstance(); + // create a new InteracDestination InteracDestination exampleInteracDestination = new InteracDestination(); // set FiatDestination to InteracDestination @@ -97,6 +137,13 @@ public class Example { // to get back the MobileMoneyDestination set earlier MobileMoneyDestination testMobileMoneyDestination = (MobileMoneyDestination) exampleFiatDestination.getActualInstance(); + // create a new NequiDestination + NequiDestination exampleNequiDestination = new NequiDestination(); + // set FiatDestination to NequiDestination + exampleFiatDestination.setActualInstance(exampleNequiDestination); + // to get back the NequiDestination set earlier + NequiDestination testNequiDestination = (NequiDestination) exampleFiatDestination.getActualInstance(); + // create a new PayidDestination PayidDestination examplePayidDestination = new PayidDestination(); // set FiatDestination to PayidDestination @@ -104,6 +151,13 @@ public class Example { // to get back the PayidDestination set earlier PayidDestination testPayidDestination = (PayidDestination) exampleFiatDestination.getActualInstance(); + // create a new PesonetDestination + PesonetDestination examplePesonetDestination = new PesonetDestination(); + // set FiatDestination to PesonetDestination + exampleFiatDestination.setActualInstance(examplePesonetDestination); + // to get back the PesonetDestination set earlier + PesonetDestination testPesonetDestination = (PesonetDestination) exampleFiatDestination.getActualInstance(); + // create a new PixDestination PixDestination examplePixDestination = new PixDestination(); // set FiatDestination to PixDestination diff --git a/docs/FpsHkAddress.md b/docs/FpsHkAddress.md new file mode 100644 index 00000000..fe9ee458 --- /dev/null +++ b/docs/FpsHkAddress.md @@ -0,0 +1,18 @@ + + +# FpsHkAddress + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**recipientLegalName** | **String** | Full legal name of the recipient | [optional] | +|**accountNumber** | **String** | Recipient bank account number | [optional] | +|**bankCode** | **String** | Hong Kong bank code | [optional] | +|**phone** | **String** | Recipient phone number in E.164 format | [optional] | +|**email** | **String** | Recipient email address | [optional] | +|**fpsId** | **String** | Hong Kong FPS identifier | [optional] | + + + diff --git a/docs/FpsHkDestination.md b/docs/FpsHkDestination.md new file mode 100644 index 00000000..879269e5 --- /dev/null +++ b/docs/FpsHkDestination.md @@ -0,0 +1,22 @@ + + +# FpsHkDestination + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | The transfer rail type for the destination | | +|**address** | [**FpsHkAddress**](FpsHkAddress.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| FPS_HK | "FPS_HK" | + + + diff --git a/docs/FpsUkAddress.md b/docs/FpsUkAddress.md new file mode 100644 index 00000000..fe9345b6 --- /dev/null +++ b/docs/FpsUkAddress.md @@ -0,0 +1,15 @@ + + +# FpsUkAddress + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**accountHolder** | [**AccountHolderDetails**](AccountHolderDetails.md) | | | +|**accountNumber** | **String** | UK bank account number | | +|**sortCode** | **String** | UK sort code (format XX-XX-XX) | | + + + diff --git a/docs/FpsUkDestination.md b/docs/FpsUkDestination.md new file mode 100644 index 00000000..e621c2b4 --- /dev/null +++ b/docs/FpsUkDestination.md @@ -0,0 +1,22 @@ + + +# FpsUkDestination + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | The transfer rail type for the destination | | +|**address** | [**FpsUkAddress**](FpsUkAddress.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| FPS_UK | "FPS_UK" | + + + diff --git a/docs/InstaPayAddress.md b/docs/InstaPayAddress.md new file mode 100644 index 00000000..437bd37d --- /dev/null +++ b/docs/InstaPayAddress.md @@ -0,0 +1,15 @@ + + +# InstaPayAddress + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**accountHolder** | [**AccountHolderDetails**](AccountHolderDetails.md) | | | +|**bankName** | **String** | Name of the recipient's bank or wallet (e.g. BDO, BPI, GCash, Maya) | | +|**accountNumber** | **String** | Recipient bank account or wallet number | | + + + diff --git a/docs/InstaPayDestination.md b/docs/InstaPayDestination.md new file mode 100644 index 00000000..d19b68bc --- /dev/null +++ b/docs/InstaPayDestination.md @@ -0,0 +1,22 @@ + + +# InstaPayDestination + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | The transfer rail type for the destination | | +|**address** | [**InstaPayAddress**](InstaPayAddress.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| INSTA_PAY | "INSTA_PAY" | + + + diff --git a/docs/NequiAddress.md b/docs/NequiAddress.md new file mode 100644 index 00000000..7444ff67 --- /dev/null +++ b/docs/NequiAddress.md @@ -0,0 +1,13 @@ + + +# NequiAddress + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**phone** | **String** | Recipient phone number in E.164 format | | + + + diff --git a/docs/NequiDestination.md b/docs/NequiDestination.md new file mode 100644 index 00000000..9b65d752 --- /dev/null +++ b/docs/NequiDestination.md @@ -0,0 +1,22 @@ + + +# NequiDestination + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | The transfer rail type for the destination | | +|**address** | [**NequiAddress**](NequiAddress.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| NEQUI | "NEQUI" | + + + diff --git a/docs/PaymentInstructionsOneOf.md b/docs/PaymentInstructionsOneOf.md index d36fbfab..fac23e2b 100644 --- a/docs/PaymentInstructionsOneOf.md +++ b/docs/PaymentInstructionsOneOf.md @@ -7,8 +7,8 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**type** | [**TypeEnum**](#TypeEnum) | | | -|**address** | [**InternalTransferAddress**](InternalTransferAddress.md) | | | +|**type** | [**TypeEnum**](#TypeEnum) | The transfer rail type for the destination | | +|**address** | [**PesonetAddress**](PesonetAddress.md) | | | |**referenceId** | **String** | | [optional] | @@ -17,7 +17,7 @@ | Name | Value | |---- | -----| -| INTERNAL_TRANSFER | "INTERNAL_TRANSFER" | +| PESONET | "PESONET" | diff --git a/docs/PesonetAddress.md b/docs/PesonetAddress.md new file mode 100644 index 00000000..dfb3ed80 --- /dev/null +++ b/docs/PesonetAddress.md @@ -0,0 +1,15 @@ + + +# PesonetAddress + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**accountHolder** | [**AccountHolderDetails**](AccountHolderDetails.md) | | | +|**bankName** | **String** | Name of the recipient's bank | | +|**accountNumber** | **String** | Recipient bank account number | | + + + diff --git a/docs/PesonetDestination.md b/docs/PesonetDestination.md new file mode 100644 index 00000000..e3aefb3f --- /dev/null +++ b/docs/PesonetDestination.md @@ -0,0 +1,22 @@ + + +# PesonetDestination + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | The transfer rail type for the destination | | +|**address** | [**PesonetAddress**](PesonetAddress.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| PESONET | "PESONET" | + + + diff --git a/docs/Position.md b/docs/Position.md index 75d1423f..6e6b155d 100644 --- a/docs/Position.md +++ b/docs/Position.md @@ -13,7 +13,7 @@ |**providerName** | **String** | The destination validator provider name | | |**chainDescriptor** | **String** | The protocol identifier (e.g. \"ETH\"/ \"SOL\") to use | | |**amount** | **String** | Total value of the staking position. For Solana, Lido and Ethereum (compounding validator): includes the original stake plus accumulated rewards. For MATIC, Cosmos and Ethereum (legacy validator): refers to the amount currently staked. | | -|**rewardsAmount** | **String** | The amount staked in the position, measured in the staked asset unit. | | +|**rewardsAmount** | **String** | The amount staked in the position, measured in the staked asset unit. Returned as null for chains where reward tracking is not supported (Cosmos-family chains), instead of a numeric value. | | |**dateCreated** | **OffsetDateTime** | When was the request made (ISO Date). | | |**dateUpdated** | **OffsetDateTime** | When has the position last changed (ISO Date). | | |**status** | [**StatusEnum**](#StatusEnum) | The current status. | | diff --git a/docs/SolanaRewardsBreakdown.md b/docs/SolanaRewardsBreakdown.md index 0290d6de..cb53d37b 100644 --- a/docs/SolanaRewardsBreakdown.md +++ b/docs/SolanaRewardsBreakdown.md @@ -8,7 +8,7 @@ A breakdown of the staking rewards earned by the position. | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**issuance** | **String** | The issuance reward amount earned by the position, measured in the staked asset unit. | | +|**inflation** | **String** | The inflation reward amount earned by the position, measured in the staked asset unit. | | |**mev** | **String** | The MEV reward amount earned by the position, measured in the staked asset unit. | | |**lastRewardSyncedAt** | **OffsetDateTime** | The last time the rewards were synced (ISO Date). | | diff --git a/docs/TransferRail.md b/docs/TransferRail.md index 7a2f3bc6..503125f7 100644 --- a/docs/TransferRail.md +++ b/docs/TransferRail.md @@ -35,5 +35,17 @@ * `INTERNAL_TRANSFER` (value: `"INTERNAL_TRANSFER"`) +* `CIPS` (value: `"CIPS"`) + +* `NEQUI` (value: `"NEQUI"`) + +* `FPS_UK` (value: `"FPS_UK"`) + +* `FPS_HK` (value: `"FPS_HK"`) + +* `INSTA_PAY` (value: `"INSTA_PAY"`) + +* `PESONET` (value: `"PESONET"`) + diff --git a/docs/UpdateWebhookRequest.md b/docs/UpdateWebhookRequest.md index 677e5a15..975995b2 100644 --- a/docs/UpdateWebhookRequest.md +++ b/docs/UpdateWebhookRequest.md @@ -12,6 +12,8 @@ |**events** | **List<WebhookEvent>** | The events that the webhook will be subscribed to | [optional] | |**enabled** | **Boolean** | The status of the webhook | [optional] | |**mtls** | [**WebhookMtls**](WebhookMtls.md) | | [optional] | +|**oauth** | [**WebhookOAuth**](WebhookOAuth.md) | | [optional] | +|**customHeaders** | **Map<String, String>** | Custom headers delta: entries with a string value are added or updated, entries with a `null` value delete that header (no-op if absent), and header names omitted from the payload are left untouched. The resulting set is limited to 10 headers. Header names are case-insensitive, up to 128 characters, and limited to valid HTTP header name characters. Some system header names are reserved and cannot be used. Values are write-only — never returned in responses. | [optional] | diff --git a/docs/Webhook.md b/docs/Webhook.md index fae2e01c..fa9ce76e 100644 --- a/docs/Webhook.md +++ b/docs/Webhook.md @@ -15,6 +15,8 @@ |**createdAt** | **Long** | The date and time the webhook was created in milliseconds | | |**updatedAt** | **Long** | The date and time the webhook was last updated in milliseconds | | |**mtls** | [**WebhookMtls**](WebhookMtls.md) | | [optional] | +|**oauth** | [**WebhookOAuthResponse**](WebhookOAuthResponse.md) | | [optional] | +|**customHeaders** | **List<String>** | Names of the custom headers configured for this webhook. Header values are never returned. | [optional] | diff --git a/docs/WebhookOAuth.md b/docs/WebhookOAuth.md new file mode 100644 index 00000000..4db72df7 --- /dev/null +++ b/docs/WebhookOAuth.md @@ -0,0 +1,17 @@ + + +# WebhookOAuth + +OAuth 2.0 client credentials configuration for the webhook. When set, the webhook dispatcher fetches a bearer token from the configured token endpoint before each delivery and attaches it as `Authorization: Bearer {token}`. Send `null` to remove OAuth configuration entirely. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**clientId** | **String** | OAuth client ID used to authenticate with the token endpoint. | | +|**clientSecret** | **String** | OAuth client secret. Write-only — never returned in responses. | | +|**url** | **String** | Token endpoint URL. Must be HTTPS. | | +|**mtlsClientSignedCert** | **String** | Signed client certificate PEM used for mTLS when connecting to the token endpoint. Same format as the webhook mTLS certificate. Send `null` to remove. | [optional] | + + + diff --git a/docs/WebhookOAuthResponse.md b/docs/WebhookOAuthResponse.md new file mode 100644 index 00000000..fc76f213 --- /dev/null +++ b/docs/WebhookOAuthResponse.md @@ -0,0 +1,16 @@ + + +# WebhookOAuthResponse + +OAuth 2.0 client credentials configuration for the webhook. Present only when OAuth is configured. The `clientSecret` is write-only and is never returned. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**clientId** | **String** | OAuth client ID used to authenticate with the token endpoint. | | +|**url** | **String** | Token endpoint URL. | | +|**mtlsClientSignedCert** | **String** | Signed client certificate PEM used for mTLS when connecting to the token endpoint. | [optional] | + + + diff --git a/pom.xml b/pom.xml index 173940d9..5c58d835 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ fireblocks-sdk jar fireblocks-sdk - 24.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 229c60a6..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 = "24.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/model/CipsAddress.java b/src/main/java/com/fireblocks/sdk/model/CipsAddress.java new file mode 100644 index 00000000..45882b4d --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/CipsAddress.java @@ -0,0 +1,310 @@ +/* + * 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.JsonCreator; +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; + +/** CipsAddress */ +@JsonPropertyOrder({ + CipsAddress.JSON_PROPERTY_ACCOUNT_HOLDER, + CipsAddress.JSON_PROPERTY_BANK_NAME, + CipsAddress.JSON_PROPERTY_BANK_COUNTRY, + CipsAddress.JSON_PROPERTY_SWIFT_CODE, + CipsAddress.JSON_PROPERTY_ACCOUNT_NUMBER +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class CipsAddress { + public static final String JSON_PROPERTY_ACCOUNT_HOLDER = "accountHolder"; + @jakarta.annotation.Nonnull private AccountHolderDetails accountHolder; + + public static final String JSON_PROPERTY_BANK_NAME = "bankName"; + @jakarta.annotation.Nonnull private String bankName; + + public static final String JSON_PROPERTY_BANK_COUNTRY = "bankCountry"; + @jakarta.annotation.Nonnull private String bankCountry; + + public static final String JSON_PROPERTY_SWIFT_CODE = "swiftCode"; + @jakarta.annotation.Nonnull private String swiftCode; + + public static final String JSON_PROPERTY_ACCOUNT_NUMBER = "accountNumber"; + @jakarta.annotation.Nonnull private String accountNumber; + + public CipsAddress() {} + + @JsonCreator + public CipsAddress( + @JsonProperty(value = JSON_PROPERTY_ACCOUNT_HOLDER, required = true) + AccountHolderDetails accountHolder, + @JsonProperty(value = JSON_PROPERTY_BANK_NAME, required = true) String bankName, + @JsonProperty(value = JSON_PROPERTY_BANK_COUNTRY, required = true) String bankCountry, + @JsonProperty(value = JSON_PROPERTY_SWIFT_CODE, required = true) String swiftCode, + @JsonProperty(value = JSON_PROPERTY_ACCOUNT_NUMBER, required = true) + String accountNumber) { + this.accountHolder = accountHolder; + this.bankName = bankName; + this.bankCountry = bankCountry; + this.swiftCode = swiftCode; + this.accountNumber = accountNumber; + } + + public CipsAddress accountHolder( + @jakarta.annotation.Nonnull AccountHolderDetails accountHolder) { + this.accountHolder = accountHolder; + return this; + } + + /** + * Get accountHolder + * + * @return accountHolder + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AccountHolderDetails getAccountHolder() { + return accountHolder; + } + + @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAccountHolder(@jakarta.annotation.Nonnull AccountHolderDetails accountHolder) { + this.accountHolder = accountHolder; + } + + public CipsAddress bankName(@jakarta.annotation.Nonnull String bankName) { + this.bankName = bankName; + return this; + } + + /** + * Name of the recipient's bank + * + * @return bankName + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_BANK_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getBankName() { + return bankName; + } + + @JsonProperty(JSON_PROPERTY_BANK_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setBankName(@jakarta.annotation.Nonnull String bankName) { + this.bankName = bankName; + } + + public CipsAddress bankCountry(@jakarta.annotation.Nonnull String bankCountry) { + this.bankCountry = bankCountry; + return this; + } + + /** + * ISO 3166-1 alpha-2 country code of the bank + * + * @return bankCountry + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_BANK_COUNTRY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getBankCountry() { + return bankCountry; + } + + @JsonProperty(JSON_PROPERTY_BANK_COUNTRY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setBankCountry(@jakarta.annotation.Nonnull String bankCountry) { + this.bankCountry = bankCountry; + } + + public CipsAddress swiftCode(@jakarta.annotation.Nonnull String swiftCode) { + this.swiftCode = swiftCode; + return this; + } + + /** + * SWIFT/BIC code of the recipient bank + * + * @return swiftCode + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_SWIFT_CODE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getSwiftCode() { + return swiftCode; + } + + @JsonProperty(JSON_PROPERTY_SWIFT_CODE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setSwiftCode(@jakarta.annotation.Nonnull String swiftCode) { + this.swiftCode = swiftCode; + } + + public CipsAddress accountNumber(@jakarta.annotation.Nonnull String accountNumber) { + this.accountNumber = accountNumber; + return this; + } + + /** + * Recipient bank account number + * + * @return accountNumber + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getAccountNumber() { + return accountNumber; + } + + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAccountNumber(@jakarta.annotation.Nonnull String accountNumber) { + this.accountNumber = accountNumber; + } + + /** Return true if this CipsAddress object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CipsAddress cipsAddress = (CipsAddress) o; + return Objects.equals(this.accountHolder, cipsAddress.accountHolder) + && Objects.equals(this.bankName, cipsAddress.bankName) + && Objects.equals(this.bankCountry, cipsAddress.bankCountry) + && Objects.equals(this.swiftCode, cipsAddress.swiftCode) + && Objects.equals(this.accountNumber, cipsAddress.accountNumber); + } + + @Override + public int hashCode() { + return Objects.hash(accountHolder, bankName, bankCountry, swiftCode, accountNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CipsAddress {\n"); + sb.append(" accountHolder: ").append(toIndentedString(accountHolder)).append("\n"); + sb.append(" bankName: ").append(toIndentedString(bankName)).append("\n"); + sb.append(" bankCountry: ").append(toIndentedString(bankCountry)).append("\n"); + sb.append(" swiftCode: ").append(toIndentedString(swiftCode)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).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 `accountHolder` to the URL query string + if (getAccountHolder() != null) { + joiner.add(getAccountHolder().toUrlQueryString(prefix + "accountHolder" + suffix)); + } + + // add `bankName` to the URL query string + if (getBankName() != null) { + joiner.add( + String.format( + "%sbankName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBankName())))); + } + + // add `bankCountry` to the URL query string + if (getBankCountry() != null) { + joiner.add( + String.format( + "%sbankCountry%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBankCountry())))); + } + + // add `swiftCode` to the URL query string + if (getSwiftCode() != null) { + joiner.add( + String.format( + "%sswiftCode%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getSwiftCode())))); + } + + // add `accountNumber` to the URL query string + if (getAccountNumber() != null) { + joiner.add( + String.format( + "%saccountNumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAccountNumber())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/CipsDestination.java b/src/main/java/com/fireblocks/sdk/model/CipsDestination.java new file mode 100644 index 00000000..6900513c --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/CipsDestination.java @@ -0,0 +1,255 @@ +/* + * 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.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** CipsDestination */ +@JsonPropertyOrder({ + CipsDestination.JSON_PROPERTY_TYPE, + CipsDestination.JSON_PROPERTY_ADDRESS, + CipsDestination.JSON_PROPERTY_REFERENCE_ID +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class CipsDestination { + /** The transfer rail type for the destination */ + public enum TypeEnum { + CIPS(String.valueOf("CIPS")); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_TYPE = "type"; + @jakarta.annotation.Nonnull private TypeEnum type; + + public static final String JSON_PROPERTY_ADDRESS = "address"; + @jakarta.annotation.Nonnull private CipsAddress address; + + public static final String JSON_PROPERTY_REFERENCE_ID = "referenceId"; + @jakarta.annotation.Nullable private String referenceId; + + public CipsDestination() {} + + @JsonCreator + public CipsDestination( + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type, + @JsonProperty(value = JSON_PROPERTY_ADDRESS, required = true) CipsAddress address) { + this.type = type; + this.address = address; + } + + public CipsDestination type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * The transfer rail type for the destination + * + * @return type + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TypeEnum getType() { + return type; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + public CipsDestination address(@jakarta.annotation.Nonnull CipsAddress address) { + this.address = address; + return this; + } + + /** + * Get address + * + * @return address + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public CipsAddress getAddress() { + return address; + } + + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAddress(@jakarta.annotation.Nonnull CipsAddress address) { + this.address = address; + } + + public CipsDestination referenceId(@jakarta.annotation.Nullable String referenceId) { + this.referenceId = referenceId; + return this; + } + + /** + * Optional payment reference + * + * @return referenceId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_REFERENCE_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getReferenceId() { + return referenceId; + } + + @JsonProperty(JSON_PROPERTY_REFERENCE_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setReferenceId(@jakarta.annotation.Nullable String referenceId) { + this.referenceId = referenceId; + } + + /** Return true if this CipsDestination object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CipsDestination cipsDestination = (CipsDestination) o; + return Objects.equals(this.type, cipsDestination.type) + && Objects.equals(this.address, cipsDestination.address) + && Objects.equals(this.referenceId, cipsDestination.referenceId); + } + + @Override + public int hashCode() { + return Objects.hash(type, address, referenceId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CipsDestination {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).append("\n"); + sb.append(" referenceId: ").append(toIndentedString(referenceId)).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 `type` to the URL query string + if (getType() != null) { + joiner.add( + String.format( + "%stype%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `address` to the URL query string + if (getAddress() != null) { + joiner.add(getAddress().toUrlQueryString(prefix + "address" + suffix)); + } + + // add `referenceId` to the URL query string + if (getReferenceId() != null) { + joiner.add( + String.format( + "%sreferenceId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getReferenceId())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/CreateWebhookRequest.java b/src/main/java/com/fireblocks/sdk/model/CreateWebhookRequest.java index ed9c0253..2e1e361e 100644 --- a/src/main/java/com/fireblocks/sdk/model/CreateWebhookRequest.java +++ b/src/main/java/com/fireblocks/sdk/model/CreateWebhookRequest.java @@ -19,7 +19,9 @@ 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; @@ -29,7 +31,9 @@ CreateWebhookRequest.JSON_PROPERTY_DESCRIPTION, CreateWebhookRequest.JSON_PROPERTY_EVENTS, CreateWebhookRequest.JSON_PROPERTY_ENABLED, - CreateWebhookRequest.JSON_PROPERTY_MTLS + CreateWebhookRequest.JSON_PROPERTY_MTLS, + CreateWebhookRequest.JSON_PROPERTY_OAUTH, + CreateWebhookRequest.JSON_PROPERTY_CUSTOM_HEADERS }) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -50,6 +54,12 @@ public class CreateWebhookRequest { public static final String JSON_PROPERTY_MTLS = "mtls"; @jakarta.annotation.Nullable private WebhookMtls mtls; + public static final String JSON_PROPERTY_OAUTH = "oauth"; + @jakarta.annotation.Nullable private WebhookOAuth oauth; + + public static final String JSON_PROPERTY_CUSTOM_HEADERS = "customHeaders"; + @jakarta.annotation.Nullable private Map customHeaders; + public CreateWebhookRequest() {} @JsonCreator @@ -184,6 +194,67 @@ public void setMtls(@jakarta.annotation.Nullable WebhookMtls mtls) { this.mtls = mtls; } + public CreateWebhookRequest oauth(@jakarta.annotation.Nullable WebhookOAuth oauth) { + this.oauth = oauth; + return this; + } + + /** + * Get oauth + * + * @return oauth + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_OAUTH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public WebhookOAuth getOauth() { + return oauth; + } + + @JsonProperty(JSON_PROPERTY_OAUTH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setOauth(@jakarta.annotation.Nullable WebhookOAuth oauth) { + this.oauth = oauth; + } + + public CreateWebhookRequest customHeaders( + @jakarta.annotation.Nullable Map customHeaders) { + this.customHeaders = customHeaders; + return this; + } + + public CreateWebhookRequest putCustomHeadersItem(String key, String customHeadersItem) { + if (this.customHeaders == null) { + this.customHeaders = new HashMap<>(); + } + this.customHeaders.put(key, customHeadersItem); + return this; + } + + /** + * Custom HTTP headers attached to every notification delivered by this webhook (max 10). Header + * names must be valid RFC 7230 tokens (printable ASCII, no separators), are treated + * case-insensitively (duplicate names differing only in case are rejected), and may not exceed + * 128 characters. The following names are reserved and cannot be used: Host, Content-Type, + * Content-Length, Transfer-Encoding, Connection, User-Agent, Accept, Accept-Encoding, + * Fireblocks-Signature, Fireblocks-Webhook-Signature. Header values are write-only — never + * returned in responses. + * + * @return customHeaders + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CUSTOM_HEADERS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getCustomHeaders() { + return customHeaders; + } + + @JsonProperty(JSON_PROPERTY_CUSTOM_HEADERS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomHeaders(@jakarta.annotation.Nullable Map customHeaders) { + this.customHeaders = customHeaders; + } + /** Return true if this CreateWebhookRequest object is equal to o. */ @Override public boolean equals(Object o) { @@ -198,12 +269,14 @@ public boolean equals(Object o) { && Objects.equals(this.description, createWebhookRequest.description) && Objects.equals(this.events, createWebhookRequest.events) && Objects.equals(this.enabled, createWebhookRequest.enabled) - && Objects.equals(this.mtls, createWebhookRequest.mtls); + && Objects.equals(this.mtls, createWebhookRequest.mtls) + && Objects.equals(this.oauth, createWebhookRequest.oauth) + && Objects.equals(this.customHeaders, createWebhookRequest.customHeaders); } @Override public int hashCode() { - return Objects.hash(url, description, events, enabled, mtls); + return Objects.hash(url, description, events, enabled, mtls, oauth, customHeaders); } @Override @@ -215,6 +288,8 @@ public String toString() { sb.append(" events: ").append(toIndentedString(events)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" mtls: ").append(toIndentedString(mtls)).append("\n"); + sb.append(" oauth: ").append(toIndentedString(oauth)).append("\n"); + sb.append(" customHeaders: ").append(toIndentedString(customHeaders)).append("\n"); sb.append("}"); return sb.toString(); } @@ -316,6 +391,29 @@ public String toUrlQueryString(String prefix) { joiner.add(getMtls().toUrlQueryString(prefix + "mtls" + suffix)); } + // add `oauth` to the URL query string + if (getOauth() != null) { + joiner.add(getOauth().toUrlQueryString(prefix + "oauth" + suffix)); + } + + // add `customHeaders` to the URL query string + if (getCustomHeaders() != null) { + for (String _key : getCustomHeaders().keySet()) { + joiner.add( + String.format( + "%scustomHeaders%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, _key, containerSuffix), + getCustomHeaders().get(_key), + ApiClient.urlEncode( + ApiClient.valueToString(getCustomHeaders().get(_key))))); + } + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/Delegation.java b/src/main/java/com/fireblocks/sdk/model/Delegation.java index 0450777d..785d1e51 100644 --- a/src/main/java/com/fireblocks/sdk/model/Delegation.java +++ b/src/main/java/com/fireblocks/sdk/model/Delegation.java @@ -68,7 +68,7 @@ public class Delegation { @jakarta.annotation.Nonnull private String amount; public static final String JSON_PROPERTY_REWARDS_AMOUNT = "rewardsAmount"; - @jakarta.annotation.Nonnull private String rewardsAmount; + @jakarta.annotation.Nullable private String rewardsAmount; public static final String JSON_PROPERTY_DATE_CREATED = "dateCreated"; @jakarta.annotation.Nonnull private OffsetDateTime dateCreated; @@ -292,17 +292,19 @@ public void setAmount(@jakarta.annotation.Nonnull String amount) { this.amount = amount; } - public Delegation rewardsAmount(@jakarta.annotation.Nonnull String rewardsAmount) { + public Delegation rewardsAmount(@jakarta.annotation.Nullable String rewardsAmount) { this.rewardsAmount = rewardsAmount; return this; } /** - * The amount staked in the position, measured in the staked asset unit. + * The amount staked in the position, measured in the staked asset unit. Returned as null for + * chains where reward tracking is not supported (Cosmos-family chains), instead of a numeric + * value. * * @return rewardsAmount */ - @jakarta.annotation.Nonnull + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_REWARDS_AMOUNT) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getRewardsAmount() { @@ -311,7 +313,7 @@ public String getRewardsAmount() { @JsonProperty(JSON_PROPERTY_REWARDS_AMOUNT) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setRewardsAmount(@jakarta.annotation.Nonnull String rewardsAmount) { + public void setRewardsAmount(@jakarta.annotation.Nullable String rewardsAmount) { this.rewardsAmount = rewardsAmount; } diff --git a/src/main/java/com/fireblocks/sdk/model/FailureReason.java b/src/main/java/com/fireblocks/sdk/model/FailureReason.java index c49606c9..54bc31d1 100644 --- a/src/main/java/com/fireblocks/sdk/model/FailureReason.java +++ b/src/main/java/com/fireblocks/sdk/model/FailureReason.java @@ -68,7 +68,11 @@ public enum FailureReason { UNSUPPORTED_REGION("UNSUPPORTED_REGION"), - DESTINATION_NOT_WHITELISTED("DESTINATION_NOT_WHITELISTED"); + DESTINATION_NOT_WHITELISTED("DESTINATION_NOT_WHITELISTED"), + + MISSING_DESTINATION_DETAILS("MISSING_DESTINATION_DETAILS"), + + MISSING_WORKSPACE_DETAILS("MISSING_WORKSPACE_DETAILS"); private String value; diff --git a/src/main/java/com/fireblocks/sdk/model/FiatDestination.java b/src/main/java/com/fireblocks/sdk/model/FiatDestination.java index c219fce3..f55c232e 100644 --- a/src/main/java/com/fireblocks/sdk/model/FiatDestination.java +++ b/src/main/java/com/fireblocks/sdk/model/FiatDestination.java @@ -162,6 +162,48 @@ public FiatDestination deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'ChapsDestination'", e); } + // deserialize CipsDestination + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (CipsDestination.class.equals(Integer.class) + || CipsDestination.class.equals(Long.class) + || CipsDestination.class.equals(Float.class) + || CipsDestination.class.equals(Double.class) + || CipsDestination.class.equals(Boolean.class) + || CipsDestination.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((CipsDestination.class.equals(Integer.class) + || CipsDestination.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((CipsDestination.class.equals(Float.class) + || CipsDestination.class.equals(Double.class)) + && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= + (CipsDestination.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE + || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (CipsDestination.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(CipsDestination.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'CipsDestination'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'CipsDestination'", e); + } + // deserialize EuropeanSEPADestination try { boolean attemptParsing = true; @@ -209,6 +251,90 @@ public FiatDestination deserialize(JsonParser jp, DeserializationContext ctxt) e); } + // deserialize FpsHkDestination + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (FpsHkDestination.class.equals(Integer.class) + || FpsHkDestination.class.equals(Long.class) + || FpsHkDestination.class.equals(Float.class) + || FpsHkDestination.class.equals(Double.class) + || FpsHkDestination.class.equals(Boolean.class) + || FpsHkDestination.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((FpsHkDestination.class.equals(Integer.class) + || FpsHkDestination.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((FpsHkDestination.class.equals(Float.class) + || FpsHkDestination.class.equals(Double.class)) + && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= + (FpsHkDestination.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE + || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (FpsHkDestination.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(FpsHkDestination.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'FpsHkDestination'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'FpsHkDestination'", e); + } + + // deserialize FpsUkDestination + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (FpsUkDestination.class.equals(Integer.class) + || FpsUkDestination.class.equals(Long.class) + || FpsUkDestination.class.equals(Float.class) + || FpsUkDestination.class.equals(Double.class) + || FpsUkDestination.class.equals(Boolean.class) + || FpsUkDestination.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((FpsUkDestination.class.equals(Integer.class) + || FpsUkDestination.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((FpsUkDestination.class.equals(Float.class) + || FpsUkDestination.class.equals(Double.class)) + && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= + (FpsUkDestination.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE + || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (FpsUkDestination.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(FpsUkDestination.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'FpsUkDestination'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'FpsUkDestination'", e); + } + // deserialize IbanDestination try { boolean attemptParsing = true; @@ -251,6 +377,49 @@ public FiatDestination deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'IbanDestination'", e); } + // deserialize InstaPayDestination + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (InstaPayDestination.class.equals(Integer.class) + || InstaPayDestination.class.equals(Long.class) + || InstaPayDestination.class.equals(Float.class) + || InstaPayDestination.class.equals(Double.class) + || InstaPayDestination.class.equals(Boolean.class) + || InstaPayDestination.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((InstaPayDestination.class.equals(Integer.class) + || InstaPayDestination.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((InstaPayDestination.class.equals(Float.class) + || InstaPayDestination.class.equals(Double.class)) + && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= + (InstaPayDestination.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE + || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (InstaPayDestination.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = + tree.traverse(jp.getCodec()).readValueAs(InstaPayDestination.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'InstaPayDestination'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'InstaPayDestination'", e); + } + // deserialize InteracDestination try { boolean attemptParsing = true; @@ -441,6 +610,48 @@ public FiatDestination deserialize(JsonParser jp, DeserializationContext ctxt) e); } + // deserialize NequiDestination + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (NequiDestination.class.equals(Integer.class) + || NequiDestination.class.equals(Long.class) + || NequiDestination.class.equals(Float.class) + || NequiDestination.class.equals(Double.class) + || NequiDestination.class.equals(Boolean.class) + || NequiDestination.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((NequiDestination.class.equals(Integer.class) + || NequiDestination.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((NequiDestination.class.equals(Float.class) + || NequiDestination.class.equals(Double.class)) + && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= + (NequiDestination.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE + || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (NequiDestination.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(NequiDestination.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'NequiDestination'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'NequiDestination'", e); + } + // deserialize PayidDestination try { boolean attemptParsing = true; @@ -483,6 +694,49 @@ public FiatDestination deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'PayidDestination'", e); } + // deserialize PesonetDestination + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (PesonetDestination.class.equals(Integer.class) + || PesonetDestination.class.equals(Long.class) + || PesonetDestination.class.equals(Float.class) + || PesonetDestination.class.equals(Double.class) + || PesonetDestination.class.equals(Boolean.class) + || PesonetDestination.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((PesonetDestination.class.equals(Integer.class) + || PesonetDestination.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((PesonetDestination.class.equals(Float.class) + || PesonetDestination.class.equals(Double.class)) + && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= + (PesonetDestination.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE + || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (PesonetDestination.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = + tree.traverse(jp.getCodec()).readValueAs(PesonetDestination.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'PesonetDestination'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'PesonetDestination'", e); + } + // deserialize PixDestination try { boolean attemptParsing = true; @@ -731,16 +985,36 @@ public FiatDestination(ChapsDestination o) { setActualInstance(o); } + public FiatDestination(CipsDestination o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public FiatDestination(EuropeanSEPADestination o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } + public FiatDestination(FpsHkDestination o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public FiatDestination(FpsUkDestination o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public FiatDestination(IbanDestination o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } + public FiatDestination(InstaPayDestination o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public FiatDestination(InteracDestination o) { super("oneOf", Boolean.FALSE); setActualInstance(o); @@ -761,11 +1035,21 @@ public FiatDestination(MobileMoneyDestination o) { setActualInstance(o); } + public FiatDestination(NequiDestination o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public FiatDestination(PayidDestination o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } + public FiatDestination(PesonetDestination o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public FiatDestination(PixDestination o) { super("oneOf", Boolean.FALSE); setActualInstance(o); @@ -794,13 +1078,19 @@ public FiatDestination(USWireDestination o) { static { schemas.put("AchDestination", AchDestination.class); schemas.put("ChapsDestination", ChapsDestination.class); + schemas.put("CipsDestination", CipsDestination.class); schemas.put("EuropeanSEPADestination", EuropeanSEPADestination.class); + schemas.put("FpsHkDestination", FpsHkDestination.class); + schemas.put("FpsUkDestination", FpsUkDestination.class); schemas.put("IbanDestination", IbanDestination.class); + schemas.put("InstaPayDestination", InstaPayDestination.class); schemas.put("InteracDestination", InteracDestination.class); schemas.put("InternalTransferDestination", InternalTransferDestination.class); schemas.put("LocalBankTransferAfricaDestination", LocalBankTransferAfricaDestination.class); schemas.put("MobileMoneyDestination", MobileMoneyDestination.class); + schemas.put("NequiDestination", NequiDestination.class); schemas.put("PayidDestination", PayidDestination.class); + schemas.put("PesonetDestination", PesonetDestination.class); schemas.put("PixDestination", PixDestination.class); schemas.put("SEPADestination", SEPADestination.class); schemas.put("SpeiDestination", SpeiDestination.class); @@ -816,10 +1106,12 @@ public Map> getSchemas() { /** * Set the instance that matches the oneOf child schema, check the instance parameter is valid - * against the oneOf child schemas: AchDestination, ChapsDestination, EuropeanSEPADestination, - * IbanDestination, InteracDestination, InternalTransferDestination, - * LocalBankTransferAfricaDestination, MobileMoneyDestination, PayidDestination, PixDestination, - * SEPADestination, SpeiDestination, SwiftDestination, USWireDestination + * against the oneOf child schemas: AchDestination, ChapsDestination, CipsDestination, + * EuropeanSEPADestination, FpsHkDestination, FpsUkDestination, IbanDestination, + * InstaPayDestination, InteracDestination, InternalTransferDestination, + * LocalBankTransferAfricaDestination, MobileMoneyDestination, NequiDestination, + * PayidDestination, PesonetDestination, PixDestination, SEPADestination, SpeiDestination, + * SwiftDestination, USWireDestination * *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be * a composed schema (allOf, anyOf, oneOf). @@ -836,16 +1128,36 @@ public void setActualInstance(Object instance) { return; } + if (JSON.isInstanceOf(CipsDestination.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf(EuropeanSEPADestination.class, instance, new HashSet>())) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(FpsHkDestination.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(FpsUkDestination.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf(IbanDestination.class, instance, new HashSet>())) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(InstaPayDestination.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf(InteracDestination.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -868,11 +1180,21 @@ public void setActualInstance(Object instance) { return; } + if (JSON.isInstanceOf(NequiDestination.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf(PayidDestination.class, instance, new HashSet>())) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(PesonetDestination.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf(PixDestination.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -899,23 +1221,29 @@ public void setActualInstance(Object instance) { } throw new RuntimeException( - "Invalid instance type. Must be AchDestination, ChapsDestination," - + " EuropeanSEPADestination, IbanDestination, InteracDestination," - + " InternalTransferDestination, LocalBankTransferAfricaDestination," - + " MobileMoneyDestination, PayidDestination, PixDestination, SEPADestination," - + " SpeiDestination, SwiftDestination, USWireDestination"); + "Invalid instance type. Must be AchDestination, ChapsDestination, CipsDestination," + + " EuropeanSEPADestination, FpsHkDestination, FpsUkDestination," + + " IbanDestination, InstaPayDestination, InteracDestination," + + " InternalTransferDestination, LocalBankTransferAfricaDestination," + + " MobileMoneyDestination, NequiDestination, PayidDestination," + + " PesonetDestination, PixDestination, SEPADestination, SpeiDestination," + + " SwiftDestination, USWireDestination"); } /** * Get the actual instance, which can be the following: AchDestination, ChapsDestination, - * EuropeanSEPADestination, IbanDestination, InteracDestination, InternalTransferDestination, - * LocalBankTransferAfricaDestination, MobileMoneyDestination, PayidDestination, PixDestination, - * SEPADestination, SpeiDestination, SwiftDestination, USWireDestination + * CipsDestination, EuropeanSEPADestination, FpsHkDestination, FpsUkDestination, + * IbanDestination, InstaPayDestination, InteracDestination, InternalTransferDestination, + * LocalBankTransferAfricaDestination, MobileMoneyDestination, NequiDestination, + * PayidDestination, PesonetDestination, PixDestination, SEPADestination, SpeiDestination, + * SwiftDestination, USWireDestination * - * @return The actual instance (AchDestination, ChapsDestination, EuropeanSEPADestination, - * IbanDestination, InteracDestination, InternalTransferDestination, - * LocalBankTransferAfricaDestination, MobileMoneyDestination, PayidDestination, - * PixDestination, SEPADestination, SpeiDestination, SwiftDestination, USWireDestination) + * @return The actual instance (AchDestination, ChapsDestination, CipsDestination, + * EuropeanSEPADestination, FpsHkDestination, FpsUkDestination, IbanDestination, + * InstaPayDestination, InteracDestination, InternalTransferDestination, + * LocalBankTransferAfricaDestination, MobileMoneyDestination, NequiDestination, + * PayidDestination, PesonetDestination, PixDestination, SEPADestination, SpeiDestination, + * SwiftDestination, USWireDestination) */ @Override public Object getActualInstance() { @@ -944,6 +1272,17 @@ public ChapsDestination getChapsDestination() throws ClassCastException { return (ChapsDestination) super.getActualInstance(); } + /** + * Get the actual instance of `CipsDestination`. If the actual instance is not + * `CipsDestination`, the ClassCastException will be thrown. + * + * @return The actual instance of `CipsDestination` + * @throws ClassCastException if the instance is not `CipsDestination` + */ + public CipsDestination getCipsDestination() throws ClassCastException { + return (CipsDestination) super.getActualInstance(); + } + /** * Get the actual instance of `EuropeanSEPADestination`. If the actual instance is not * `EuropeanSEPADestination`, the ClassCastException will be thrown. @@ -955,6 +1294,28 @@ public EuropeanSEPADestination getEuropeanSEPADestination() throws ClassCastExce return (EuropeanSEPADestination) super.getActualInstance(); } + /** + * Get the actual instance of `FpsHkDestination`. If the actual instance is not + * `FpsHkDestination`, the ClassCastException will be thrown. + * + * @return The actual instance of `FpsHkDestination` + * @throws ClassCastException if the instance is not `FpsHkDestination` + */ + public FpsHkDestination getFpsHkDestination() throws ClassCastException { + return (FpsHkDestination) super.getActualInstance(); + } + + /** + * Get the actual instance of `FpsUkDestination`. If the actual instance is not + * `FpsUkDestination`, the ClassCastException will be thrown. + * + * @return The actual instance of `FpsUkDestination` + * @throws ClassCastException if the instance is not `FpsUkDestination` + */ + public FpsUkDestination getFpsUkDestination() throws ClassCastException { + return (FpsUkDestination) super.getActualInstance(); + } + /** * Get the actual instance of `IbanDestination`. If the actual instance is not * `IbanDestination`, the ClassCastException will be thrown. @@ -966,6 +1327,17 @@ public IbanDestination getIbanDestination() throws ClassCastException { return (IbanDestination) super.getActualInstance(); } + /** + * Get the actual instance of `InstaPayDestination`. If the actual instance is not + * `InstaPayDestination`, the ClassCastException will be thrown. + * + * @return The actual instance of `InstaPayDestination` + * @throws ClassCastException if the instance is not `InstaPayDestination` + */ + public InstaPayDestination getInstaPayDestination() throws ClassCastException { + return (InstaPayDestination) super.getActualInstance(); + } + /** * Get the actual instance of `InteracDestination`. If the actual instance is not * `InteracDestination`, the ClassCastException will be thrown. @@ -1011,6 +1383,17 @@ public MobileMoneyDestination getMobileMoneyDestination() throws ClassCastExcept return (MobileMoneyDestination) super.getActualInstance(); } + /** + * Get the actual instance of `NequiDestination`. If the actual instance is not + * `NequiDestination`, the ClassCastException will be thrown. + * + * @return The actual instance of `NequiDestination` + * @throws ClassCastException if the instance is not `NequiDestination` + */ + public NequiDestination getNequiDestination() throws ClassCastException { + return (NequiDestination) super.getActualInstance(); + } + /** * Get the actual instance of `PayidDestination`. If the actual instance is not * `PayidDestination`, the ClassCastException will be thrown. @@ -1022,6 +1405,17 @@ public PayidDestination getPayidDestination() throws ClassCastException { return (PayidDestination) super.getActualInstance(); } + /** + * Get the actual instance of `PesonetDestination`. If the actual instance is not + * `PesonetDestination`, the ClassCastException will be thrown. + * + * @return The actual instance of `PesonetDestination` + * @throws ClassCastException if the instance is not `PesonetDestination` + */ + public PesonetDestination getPesonetDestination() throws ClassCastException { + return (PesonetDestination) super.getActualInstance(); + } + /** * Get the actual instance of `PixDestination`. If the actual instance is not `PixDestination`, * the ClassCastException will be thrown. @@ -1221,6 +1615,54 @@ public String toUrlQueryString(String prefix) { } return joiner.toString(); } + if (getActualInstance() instanceof CipsDestination) { + if (getActualInstance() != null) { + joiner.add( + ((CipsDestination) getActualInstance()) + .toUrlQueryString(prefix + "one_of_14" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof NequiDestination) { + if (getActualInstance() != null) { + joiner.add( + ((NequiDestination) getActualInstance()) + .toUrlQueryString(prefix + "one_of_15" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof FpsUkDestination) { + if (getActualInstance() != null) { + joiner.add( + ((FpsUkDestination) getActualInstance()) + .toUrlQueryString(prefix + "one_of_16" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof FpsHkDestination) { + if (getActualInstance() != null) { + joiner.add( + ((FpsHkDestination) getActualInstance()) + .toUrlQueryString(prefix + "one_of_17" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof InstaPayDestination) { + if (getActualInstance() != null) { + joiner.add( + ((InstaPayDestination) getActualInstance()) + .toUrlQueryString(prefix + "one_of_18" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof PesonetDestination) { + if (getActualInstance() != null) { + joiner.add( + ((PesonetDestination) getActualInstance()) + .toUrlQueryString(prefix + "one_of_19" + suffix)); + } + return joiner.toString(); + } return null; } } diff --git a/src/main/java/com/fireblocks/sdk/model/FpsHkAddress.java b/src/main/java/com/fireblocks/sdk/model/FpsHkAddress.java new file mode 100644 index 00000000..a12b5ae5 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/FpsHkAddress.java @@ -0,0 +1,338 @@ +/* + * 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; + +/** FpsHkAddress */ +@JsonPropertyOrder({ + FpsHkAddress.JSON_PROPERTY_RECIPIENT_LEGAL_NAME, + FpsHkAddress.JSON_PROPERTY_ACCOUNT_NUMBER, + FpsHkAddress.JSON_PROPERTY_BANK_CODE, + FpsHkAddress.JSON_PROPERTY_PHONE, + FpsHkAddress.JSON_PROPERTY_EMAIL, + FpsHkAddress.JSON_PROPERTY_FPS_ID +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class FpsHkAddress { + public static final String JSON_PROPERTY_RECIPIENT_LEGAL_NAME = "recipientLegalName"; + @jakarta.annotation.Nullable private String recipientLegalName; + + public static final String JSON_PROPERTY_ACCOUNT_NUMBER = "accountNumber"; + @jakarta.annotation.Nullable private String accountNumber; + + public static final String JSON_PROPERTY_BANK_CODE = "bankCode"; + @jakarta.annotation.Nullable private String bankCode; + + public static final String JSON_PROPERTY_PHONE = "phone"; + @jakarta.annotation.Nullable private String phone; + + public static final String JSON_PROPERTY_EMAIL = "email"; + @jakarta.annotation.Nullable private String email; + + public static final String JSON_PROPERTY_FPS_ID = "fpsId"; + @jakarta.annotation.Nullable private String fpsId; + + public FpsHkAddress() {} + + public FpsHkAddress recipientLegalName(@jakarta.annotation.Nullable String recipientLegalName) { + this.recipientLegalName = recipientLegalName; + return this; + } + + /** + * Full legal name of the recipient + * + * @return recipientLegalName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_RECIPIENT_LEGAL_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getRecipientLegalName() { + return recipientLegalName; + } + + @JsonProperty(JSON_PROPERTY_RECIPIENT_LEGAL_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRecipientLegalName(@jakarta.annotation.Nullable String recipientLegalName) { + this.recipientLegalName = recipientLegalName; + } + + public FpsHkAddress accountNumber(@jakarta.annotation.Nullable String accountNumber) { + this.accountNumber = accountNumber; + return this; + } + + /** + * Recipient bank account number + * + * @return accountNumber + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAccountNumber() { + return accountNumber; + } + + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAccountNumber(@jakarta.annotation.Nullable String accountNumber) { + this.accountNumber = accountNumber; + } + + public FpsHkAddress bankCode(@jakarta.annotation.Nullable String bankCode) { + this.bankCode = bankCode; + return this; + } + + /** + * Hong Kong bank code + * + * @return bankCode + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BANK_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getBankCode() { + return bankCode; + } + + @JsonProperty(JSON_PROPERTY_BANK_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBankCode(@jakarta.annotation.Nullable String bankCode) { + this.bankCode = bankCode; + } + + public FpsHkAddress phone(@jakarta.annotation.Nullable String phone) { + this.phone = phone; + return this; + } + + /** + * Recipient phone number in E.164 format + * + * @return phone + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PHONE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getPhone() { + return phone; + } + + @JsonProperty(JSON_PROPERTY_PHONE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPhone(@jakarta.annotation.Nullable String phone) { + this.phone = phone; + } + + public FpsHkAddress email(@jakarta.annotation.Nullable String email) { + this.email = email; + return this; + } + + /** + * Recipient email address + * + * @return email + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_EMAIL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getEmail() { + return email; + } + + @JsonProperty(JSON_PROPERTY_EMAIL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEmail(@jakarta.annotation.Nullable String email) { + this.email = email; + } + + public FpsHkAddress fpsId(@jakarta.annotation.Nullable String fpsId) { + this.fpsId = fpsId; + return this; + } + + /** + * Hong Kong FPS identifier + * + * @return fpsId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_FPS_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getFpsId() { + return fpsId; + } + + @JsonProperty(JSON_PROPERTY_FPS_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setFpsId(@jakarta.annotation.Nullable String fpsId) { + this.fpsId = fpsId; + } + + /** Return true if this FpsHkAddress object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FpsHkAddress fpsHkAddress = (FpsHkAddress) o; + return Objects.equals(this.recipientLegalName, fpsHkAddress.recipientLegalName) + && Objects.equals(this.accountNumber, fpsHkAddress.accountNumber) + && Objects.equals(this.bankCode, fpsHkAddress.bankCode) + && Objects.equals(this.phone, fpsHkAddress.phone) + && Objects.equals(this.email, fpsHkAddress.email) + && Objects.equals(this.fpsId, fpsHkAddress.fpsId); + } + + @Override + public int hashCode() { + return Objects.hash(recipientLegalName, accountNumber, bankCode, phone, email, fpsId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FpsHkAddress {\n"); + sb.append(" recipientLegalName: ") + .append(toIndentedString(recipientLegalName)) + .append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" bankCode: ").append(toIndentedString(bankCode)).append("\n"); + sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" fpsId: ").append(toIndentedString(fpsId)).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 `recipientLegalName` to the URL query string + if (getRecipientLegalName() != null) { + joiner.add( + String.format( + "%srecipientLegalName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getRecipientLegalName())))); + } + + // add `accountNumber` to the URL query string + if (getAccountNumber() != null) { + joiner.add( + String.format( + "%saccountNumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAccountNumber())))); + } + + // add `bankCode` to the URL query string + if (getBankCode() != null) { + joiner.add( + String.format( + "%sbankCode%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBankCode())))); + } + + // add `phone` to the URL query string + if (getPhone() != null) { + joiner.add( + String.format( + "%sphone%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getPhone())))); + } + + // add `email` to the URL query string + if (getEmail() != null) { + joiner.add( + String.format( + "%semail%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getEmail())))); + } + + // add `fpsId` to the URL query string + if (getFpsId() != null) { + joiner.add( + String.format( + "%sfpsId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getFpsId())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/FpsHkDestination.java b/src/main/java/com/fireblocks/sdk/model/FpsHkDestination.java new file mode 100644 index 00000000..fac6b265 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/FpsHkDestination.java @@ -0,0 +1,213 @@ +/* + * 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.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** FpsHkDestination */ +@JsonPropertyOrder({FpsHkDestination.JSON_PROPERTY_TYPE, FpsHkDestination.JSON_PROPERTY_ADDRESS}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class FpsHkDestination { + /** The transfer rail type for the destination */ + public enum TypeEnum { + FPS_HK(String.valueOf("FPS_HK")); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_TYPE = "type"; + @jakarta.annotation.Nonnull private TypeEnum type; + + public static final String JSON_PROPERTY_ADDRESS = "address"; + @jakarta.annotation.Nonnull private FpsHkAddress address; + + public FpsHkDestination() {} + + @JsonCreator + public FpsHkDestination( + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type, + @JsonProperty(value = JSON_PROPERTY_ADDRESS, required = true) FpsHkAddress address) { + this.type = type; + this.address = address; + } + + public FpsHkDestination type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * The transfer rail type for the destination + * + * @return type + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TypeEnum getType() { + return type; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + public FpsHkDestination address(@jakarta.annotation.Nonnull FpsHkAddress address) { + this.address = address; + return this; + } + + /** + * Get address + * + * @return address + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public FpsHkAddress getAddress() { + return address; + } + + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAddress(@jakarta.annotation.Nonnull FpsHkAddress address) { + this.address = address; + } + + /** Return true if this FpsHkDestination object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FpsHkDestination fpsHkDestination = (FpsHkDestination) o; + return Objects.equals(this.type, fpsHkDestination.type) + && Objects.equals(this.address, fpsHkDestination.address); + } + + @Override + public int hashCode() { + return Objects.hash(type, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FpsHkDestination {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).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 `type` to the URL query string + if (getType() != null) { + joiner.add( + String.format( + "%stype%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `address` to the URL query string + if (getAddress() != null) { + joiner.add(getAddress().toUrlQueryString(prefix + "address" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/FpsUkAddress.java b/src/main/java/com/fireblocks/sdk/model/FpsUkAddress.java new file mode 100644 index 00000000..7e034002 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/FpsUkAddress.java @@ -0,0 +1,228 @@ +/* + * 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.JsonCreator; +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; + +/** FpsUkAddress */ +@JsonPropertyOrder({ + FpsUkAddress.JSON_PROPERTY_ACCOUNT_HOLDER, + FpsUkAddress.JSON_PROPERTY_ACCOUNT_NUMBER, + FpsUkAddress.JSON_PROPERTY_SORT_CODE +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class FpsUkAddress { + public static final String JSON_PROPERTY_ACCOUNT_HOLDER = "accountHolder"; + @jakarta.annotation.Nonnull private AccountHolderDetails accountHolder; + + public static final String JSON_PROPERTY_ACCOUNT_NUMBER = "accountNumber"; + @jakarta.annotation.Nonnull private String accountNumber; + + public static final String JSON_PROPERTY_SORT_CODE = "sortCode"; + @jakarta.annotation.Nonnull private String sortCode; + + public FpsUkAddress() {} + + @JsonCreator + public FpsUkAddress( + @JsonProperty(value = JSON_PROPERTY_ACCOUNT_HOLDER, required = true) + AccountHolderDetails accountHolder, + @JsonProperty(value = JSON_PROPERTY_ACCOUNT_NUMBER, required = true) + String accountNumber, + @JsonProperty(value = JSON_PROPERTY_SORT_CODE, required = true) String sortCode) { + this.accountHolder = accountHolder; + this.accountNumber = accountNumber; + this.sortCode = sortCode; + } + + public FpsUkAddress accountHolder( + @jakarta.annotation.Nonnull AccountHolderDetails accountHolder) { + this.accountHolder = accountHolder; + return this; + } + + /** + * Get accountHolder + * + * @return accountHolder + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AccountHolderDetails getAccountHolder() { + return accountHolder; + } + + @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAccountHolder(@jakarta.annotation.Nonnull AccountHolderDetails accountHolder) { + this.accountHolder = accountHolder; + } + + public FpsUkAddress accountNumber(@jakarta.annotation.Nonnull String accountNumber) { + this.accountNumber = accountNumber; + return this; + } + + /** + * UK bank account number + * + * @return accountNumber + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getAccountNumber() { + return accountNumber; + } + + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAccountNumber(@jakarta.annotation.Nonnull String accountNumber) { + this.accountNumber = accountNumber; + } + + public FpsUkAddress sortCode(@jakarta.annotation.Nonnull String sortCode) { + this.sortCode = sortCode; + return this; + } + + /** + * UK sort code (format XX-XX-XX) + * + * @return sortCode + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_SORT_CODE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getSortCode() { + return sortCode; + } + + @JsonProperty(JSON_PROPERTY_SORT_CODE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setSortCode(@jakarta.annotation.Nonnull String sortCode) { + this.sortCode = sortCode; + } + + /** Return true if this FpsUkAddress object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FpsUkAddress fpsUkAddress = (FpsUkAddress) o; + return Objects.equals(this.accountHolder, fpsUkAddress.accountHolder) + && Objects.equals(this.accountNumber, fpsUkAddress.accountNumber) + && Objects.equals(this.sortCode, fpsUkAddress.sortCode); + } + + @Override + public int hashCode() { + return Objects.hash(accountHolder, accountNumber, sortCode); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FpsUkAddress {\n"); + sb.append(" accountHolder: ").append(toIndentedString(accountHolder)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).append("\n"); + sb.append(" sortCode: ").append(toIndentedString(sortCode)).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 `accountHolder` to the URL query string + if (getAccountHolder() != null) { + joiner.add(getAccountHolder().toUrlQueryString(prefix + "accountHolder" + suffix)); + } + + // add `accountNumber` to the URL query string + if (getAccountNumber() != null) { + joiner.add( + String.format( + "%saccountNumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAccountNumber())))); + } + + // add `sortCode` to the URL query string + if (getSortCode() != null) { + joiner.add( + String.format( + "%ssortCode%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getSortCode())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/FpsUkDestination.java b/src/main/java/com/fireblocks/sdk/model/FpsUkDestination.java new file mode 100644 index 00000000..c0d79760 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/FpsUkDestination.java @@ -0,0 +1,213 @@ +/* + * 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.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** FpsUkDestination */ +@JsonPropertyOrder({FpsUkDestination.JSON_PROPERTY_TYPE, FpsUkDestination.JSON_PROPERTY_ADDRESS}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class FpsUkDestination { + /** The transfer rail type for the destination */ + public enum TypeEnum { + FPS_UK(String.valueOf("FPS_UK")); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_TYPE = "type"; + @jakarta.annotation.Nonnull private TypeEnum type; + + public static final String JSON_PROPERTY_ADDRESS = "address"; + @jakarta.annotation.Nonnull private FpsUkAddress address; + + public FpsUkDestination() {} + + @JsonCreator + public FpsUkDestination( + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type, + @JsonProperty(value = JSON_PROPERTY_ADDRESS, required = true) FpsUkAddress address) { + this.type = type; + this.address = address; + } + + public FpsUkDestination type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * The transfer rail type for the destination + * + * @return type + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TypeEnum getType() { + return type; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + public FpsUkDestination address(@jakarta.annotation.Nonnull FpsUkAddress address) { + this.address = address; + return this; + } + + /** + * Get address + * + * @return address + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public FpsUkAddress getAddress() { + return address; + } + + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAddress(@jakarta.annotation.Nonnull FpsUkAddress address) { + this.address = address; + } + + /** Return true if this FpsUkDestination object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FpsUkDestination fpsUkDestination = (FpsUkDestination) o; + return Objects.equals(this.type, fpsUkDestination.type) + && Objects.equals(this.address, fpsUkDestination.address); + } + + @Override + public int hashCode() { + return Objects.hash(type, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class FpsUkDestination {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).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 `type` to the URL query string + if (getType() != null) { + joiner.add( + String.format( + "%stype%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `address` to the URL query string + if (getAddress() != null) { + joiner.add(getAddress().toUrlQueryString(prefix + "address" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/InstaPayAddress.java b/src/main/java/com/fireblocks/sdk/model/InstaPayAddress.java new file mode 100644 index 00000000..fa75ce98 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/InstaPayAddress.java @@ -0,0 +1,228 @@ +/* + * 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.JsonCreator; +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; + +/** InstaPayAddress */ +@JsonPropertyOrder({ + InstaPayAddress.JSON_PROPERTY_ACCOUNT_HOLDER, + InstaPayAddress.JSON_PROPERTY_BANK_NAME, + InstaPayAddress.JSON_PROPERTY_ACCOUNT_NUMBER +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class InstaPayAddress { + public static final String JSON_PROPERTY_ACCOUNT_HOLDER = "accountHolder"; + @jakarta.annotation.Nonnull private AccountHolderDetails accountHolder; + + public static final String JSON_PROPERTY_BANK_NAME = "bankName"; + @jakarta.annotation.Nonnull private String bankName; + + public static final String JSON_PROPERTY_ACCOUNT_NUMBER = "accountNumber"; + @jakarta.annotation.Nonnull private String accountNumber; + + public InstaPayAddress() {} + + @JsonCreator + public InstaPayAddress( + @JsonProperty(value = JSON_PROPERTY_ACCOUNT_HOLDER, required = true) + AccountHolderDetails accountHolder, + @JsonProperty(value = JSON_PROPERTY_BANK_NAME, required = true) String bankName, + @JsonProperty(value = JSON_PROPERTY_ACCOUNT_NUMBER, required = true) + String accountNumber) { + this.accountHolder = accountHolder; + this.bankName = bankName; + this.accountNumber = accountNumber; + } + + public InstaPayAddress accountHolder( + @jakarta.annotation.Nonnull AccountHolderDetails accountHolder) { + this.accountHolder = accountHolder; + return this; + } + + /** + * Get accountHolder + * + * @return accountHolder + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AccountHolderDetails getAccountHolder() { + return accountHolder; + } + + @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAccountHolder(@jakarta.annotation.Nonnull AccountHolderDetails accountHolder) { + this.accountHolder = accountHolder; + } + + public InstaPayAddress bankName(@jakarta.annotation.Nonnull String bankName) { + this.bankName = bankName; + return this; + } + + /** + * Name of the recipient's bank or wallet (e.g. BDO, BPI, GCash, Maya) + * + * @return bankName + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_BANK_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getBankName() { + return bankName; + } + + @JsonProperty(JSON_PROPERTY_BANK_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setBankName(@jakarta.annotation.Nonnull String bankName) { + this.bankName = bankName; + } + + public InstaPayAddress accountNumber(@jakarta.annotation.Nonnull String accountNumber) { + this.accountNumber = accountNumber; + return this; + } + + /** + * Recipient bank account or wallet number + * + * @return accountNumber + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getAccountNumber() { + return accountNumber; + } + + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAccountNumber(@jakarta.annotation.Nonnull String accountNumber) { + this.accountNumber = accountNumber; + } + + /** Return true if this InstaPayAddress object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstaPayAddress instaPayAddress = (InstaPayAddress) o; + return Objects.equals(this.accountHolder, instaPayAddress.accountHolder) + && Objects.equals(this.bankName, instaPayAddress.bankName) + && Objects.equals(this.accountNumber, instaPayAddress.accountNumber); + } + + @Override + public int hashCode() { + return Objects.hash(accountHolder, bankName, accountNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstaPayAddress {\n"); + sb.append(" accountHolder: ").append(toIndentedString(accountHolder)).append("\n"); + sb.append(" bankName: ").append(toIndentedString(bankName)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).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 `accountHolder` to the URL query string + if (getAccountHolder() != null) { + joiner.add(getAccountHolder().toUrlQueryString(prefix + "accountHolder" + suffix)); + } + + // add `bankName` to the URL query string + if (getBankName() != null) { + joiner.add( + String.format( + "%sbankName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBankName())))); + } + + // add `accountNumber` to the URL query string + if (getAccountNumber() != null) { + joiner.add( + String.format( + "%saccountNumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAccountNumber())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/InstaPayDestination.java b/src/main/java/com/fireblocks/sdk/model/InstaPayDestination.java new file mode 100644 index 00000000..eb65e65f --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/InstaPayDestination.java @@ -0,0 +1,216 @@ +/* + * 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.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** InstaPayDestination */ +@JsonPropertyOrder({ + InstaPayDestination.JSON_PROPERTY_TYPE, + InstaPayDestination.JSON_PROPERTY_ADDRESS +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class InstaPayDestination { + /** The transfer rail type for the destination */ + public enum TypeEnum { + INSTA_PAY(String.valueOf("INSTA_PAY")); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_TYPE = "type"; + @jakarta.annotation.Nonnull private TypeEnum type; + + public static final String JSON_PROPERTY_ADDRESS = "address"; + @jakarta.annotation.Nonnull private InstaPayAddress address; + + public InstaPayDestination() {} + + @JsonCreator + public InstaPayDestination( + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type, + @JsonProperty(value = JSON_PROPERTY_ADDRESS, required = true) InstaPayAddress address) { + this.type = type; + this.address = address; + } + + public InstaPayDestination type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * The transfer rail type for the destination + * + * @return type + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TypeEnum getType() { + return type; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + public InstaPayDestination address(@jakarta.annotation.Nonnull InstaPayAddress address) { + this.address = address; + return this; + } + + /** + * Get address + * + * @return address + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public InstaPayAddress getAddress() { + return address; + } + + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAddress(@jakarta.annotation.Nonnull InstaPayAddress address) { + this.address = address; + } + + /** Return true if this InstaPayDestination object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + InstaPayDestination instaPayDestination = (InstaPayDestination) o; + return Objects.equals(this.type, instaPayDestination.type) + && Objects.equals(this.address, instaPayDestination.address); + } + + @Override + public int hashCode() { + return Objects.hash(type, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class InstaPayDestination {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).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 `type` to the URL query string + if (getType() != null) { + joiner.add( + String.format( + "%stype%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `address` to the URL query string + if (getAddress() != null) { + joiner.add(getAddress().toUrlQueryString(prefix + "address" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/NequiAddress.java b/src/main/java/com/fireblocks/sdk/model/NequiAddress.java new file mode 100644 index 00000000..8fc57453 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/NequiAddress.java @@ -0,0 +1,145 @@ +/* + * 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.JsonCreator; +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; + +/** NequiAddress */ +@JsonPropertyOrder({NequiAddress.JSON_PROPERTY_PHONE}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class NequiAddress { + public static final String JSON_PROPERTY_PHONE = "phone"; + @jakarta.annotation.Nonnull private String phone; + + public NequiAddress() {} + + @JsonCreator + public NequiAddress(@JsonProperty(value = JSON_PROPERTY_PHONE, required = true) String phone) { + this.phone = phone; + } + + public NequiAddress phone(@jakarta.annotation.Nonnull String phone) { + this.phone = phone; + return this; + } + + /** + * Recipient phone number in E.164 format + * + * @return phone + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_PHONE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getPhone() { + return phone; + } + + @JsonProperty(JSON_PROPERTY_PHONE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setPhone(@jakarta.annotation.Nonnull String phone) { + this.phone = phone; + } + + /** Return true if this NequiAddress object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NequiAddress nequiAddress = (NequiAddress) o; + return Objects.equals(this.phone, nequiAddress.phone); + } + + @Override + public int hashCode() { + return Objects.hash(phone); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NequiAddress {\n"); + sb.append(" phone: ").append(toIndentedString(phone)).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 `phone` to the URL query string + if (getPhone() != null) { + joiner.add( + String.format( + "%sphone%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getPhone())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/NequiDestination.java b/src/main/java/com/fireblocks/sdk/model/NequiDestination.java new file mode 100644 index 00000000..5f0c5ef1 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/NequiDestination.java @@ -0,0 +1,213 @@ +/* + * 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.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** NequiDestination */ +@JsonPropertyOrder({NequiDestination.JSON_PROPERTY_TYPE, NequiDestination.JSON_PROPERTY_ADDRESS}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class NequiDestination { + /** The transfer rail type for the destination */ + public enum TypeEnum { + NEQUI(String.valueOf("NEQUI")); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_TYPE = "type"; + @jakarta.annotation.Nonnull private TypeEnum type; + + public static final String JSON_PROPERTY_ADDRESS = "address"; + @jakarta.annotation.Nonnull private NequiAddress address; + + public NequiDestination() {} + + @JsonCreator + public NequiDestination( + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type, + @JsonProperty(value = JSON_PROPERTY_ADDRESS, required = true) NequiAddress address) { + this.type = type; + this.address = address; + } + + public NequiDestination type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * The transfer rail type for the destination + * + * @return type + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TypeEnum getType() { + return type; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + public NequiDestination address(@jakarta.annotation.Nonnull NequiAddress address) { + this.address = address; + return this; + } + + /** + * Get address + * + * @return address + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public NequiAddress getAddress() { + return address; + } + + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAddress(@jakarta.annotation.Nonnull NequiAddress address) { + this.address = address; + } + + /** Return true if this NequiDestination object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NequiDestination nequiDestination = (NequiDestination) o; + return Objects.equals(this.type, nequiDestination.type) + && Objects.equals(this.address, nequiDestination.address); + } + + @Override + public int hashCode() { + return Objects.hash(type, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NequiDestination {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).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 `type` to the URL query string + if (getType() != null) { + joiner.add( + String.format( + "%stype%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `address` to the URL query string + if (getAddress() != null) { + joiner.add(getAddress().toUrlQueryString(prefix + "address" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/PaymentInstructionsOneOf.java b/src/main/java/com/fireblocks/sdk/model/PaymentInstructionsOneOf.java index e63e9f56..5e5000a5 100644 --- a/src/main/java/com/fireblocks/sdk/model/PaymentInstructionsOneOf.java +++ b/src/main/java/com/fireblocks/sdk/model/PaymentInstructionsOneOf.java @@ -32,9 +32,9 @@ value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.14.0") public class PaymentInstructionsOneOf { - /** Gets or Sets type */ + /** The transfer rail type for the destination */ public enum TypeEnum { - INTERNAL_TRANSFER(String.valueOf("INTERNAL_TRANSFER")); + PESONET(String.valueOf("PESONET")); private String value; @@ -67,7 +67,7 @@ public static TypeEnum fromValue(String value) { @jakarta.annotation.Nonnull private TypeEnum type; public static final String JSON_PROPERTY_ADDRESS = "address"; - @jakarta.annotation.Nonnull private InternalTransferAddress address; + @jakarta.annotation.Nonnull private PesonetAddress address; public static final String JSON_PROPERTY_REFERENCE_ID = "referenceId"; @jakarta.annotation.Nullable private String referenceId; @@ -77,8 +77,7 @@ public PaymentInstructionsOneOf() {} @JsonCreator public PaymentInstructionsOneOf( @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type, - @JsonProperty(value = JSON_PROPERTY_ADDRESS, required = true) - InternalTransferAddress address) { + @JsonProperty(value = JSON_PROPERTY_ADDRESS, required = true) PesonetAddress address) { this.type = type; this.address = address; } @@ -89,7 +88,7 @@ public PaymentInstructionsOneOf type(@jakarta.annotation.Nonnull TypeEnum type) } /** - * Get type + * The transfer rail type for the destination * * @return type */ @@ -106,8 +105,7 @@ public void setType(@jakarta.annotation.Nonnull TypeEnum type) { this.type = type; } - public PaymentInstructionsOneOf address( - @jakarta.annotation.Nonnull InternalTransferAddress address) { + public PaymentInstructionsOneOf address(@jakarta.annotation.Nonnull PesonetAddress address) { this.address = address; return this; } @@ -120,13 +118,13 @@ public PaymentInstructionsOneOf address( @jakarta.annotation.Nonnull @JsonProperty(JSON_PROPERTY_ADDRESS) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public InternalTransferAddress getAddress() { + public PesonetAddress getAddress() { return address; } @JsonProperty(JSON_PROPERTY_ADDRESS) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setAddress(@jakarta.annotation.Nonnull InternalTransferAddress address) { + public void setAddress(@jakarta.annotation.Nonnull PesonetAddress address) { this.address = address; } diff --git a/src/main/java/com/fireblocks/sdk/model/PesonetAddress.java b/src/main/java/com/fireblocks/sdk/model/PesonetAddress.java new file mode 100644 index 00000000..d1a2cbc2 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/PesonetAddress.java @@ -0,0 +1,228 @@ +/* + * 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.JsonCreator; +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; + +/** PesonetAddress */ +@JsonPropertyOrder({ + PesonetAddress.JSON_PROPERTY_ACCOUNT_HOLDER, + PesonetAddress.JSON_PROPERTY_BANK_NAME, + PesonetAddress.JSON_PROPERTY_ACCOUNT_NUMBER +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class PesonetAddress { + public static final String JSON_PROPERTY_ACCOUNT_HOLDER = "accountHolder"; + @jakarta.annotation.Nonnull private AccountHolderDetails accountHolder; + + public static final String JSON_PROPERTY_BANK_NAME = "bankName"; + @jakarta.annotation.Nonnull private String bankName; + + public static final String JSON_PROPERTY_ACCOUNT_NUMBER = "accountNumber"; + @jakarta.annotation.Nonnull private String accountNumber; + + public PesonetAddress() {} + + @JsonCreator + public PesonetAddress( + @JsonProperty(value = JSON_PROPERTY_ACCOUNT_HOLDER, required = true) + AccountHolderDetails accountHolder, + @JsonProperty(value = JSON_PROPERTY_BANK_NAME, required = true) String bankName, + @JsonProperty(value = JSON_PROPERTY_ACCOUNT_NUMBER, required = true) + String accountNumber) { + this.accountHolder = accountHolder; + this.bankName = bankName; + this.accountNumber = accountNumber; + } + + public PesonetAddress accountHolder( + @jakarta.annotation.Nonnull AccountHolderDetails accountHolder) { + this.accountHolder = accountHolder; + return this; + } + + /** + * Get accountHolder + * + * @return accountHolder + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AccountHolderDetails getAccountHolder() { + return accountHolder; + } + + @JsonProperty(JSON_PROPERTY_ACCOUNT_HOLDER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAccountHolder(@jakarta.annotation.Nonnull AccountHolderDetails accountHolder) { + this.accountHolder = accountHolder; + } + + public PesonetAddress bankName(@jakarta.annotation.Nonnull String bankName) { + this.bankName = bankName; + return this; + } + + /** + * Name of the recipient's bank + * + * @return bankName + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_BANK_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getBankName() { + return bankName; + } + + @JsonProperty(JSON_PROPERTY_BANK_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setBankName(@jakarta.annotation.Nonnull String bankName) { + this.bankName = bankName; + } + + public PesonetAddress accountNumber(@jakarta.annotation.Nonnull String accountNumber) { + this.accountNumber = accountNumber; + return this; + } + + /** + * Recipient bank account number + * + * @return accountNumber + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getAccountNumber() { + return accountNumber; + } + + @JsonProperty(JSON_PROPERTY_ACCOUNT_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAccountNumber(@jakarta.annotation.Nonnull String accountNumber) { + this.accountNumber = accountNumber; + } + + /** Return true if this PesonetAddress object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PesonetAddress pesonetAddress = (PesonetAddress) o; + return Objects.equals(this.accountHolder, pesonetAddress.accountHolder) + && Objects.equals(this.bankName, pesonetAddress.bankName) + && Objects.equals(this.accountNumber, pesonetAddress.accountNumber); + } + + @Override + public int hashCode() { + return Objects.hash(accountHolder, bankName, accountNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PesonetAddress {\n"); + sb.append(" accountHolder: ").append(toIndentedString(accountHolder)).append("\n"); + sb.append(" bankName: ").append(toIndentedString(bankName)).append("\n"); + sb.append(" accountNumber: ").append(toIndentedString(accountNumber)).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 `accountHolder` to the URL query string + if (getAccountHolder() != null) { + joiner.add(getAccountHolder().toUrlQueryString(prefix + "accountHolder" + suffix)); + } + + // add `bankName` to the URL query string + if (getBankName() != null) { + joiner.add( + String.format( + "%sbankName%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getBankName())))); + } + + // add `accountNumber` to the URL query string + if (getAccountNumber() != null) { + joiner.add( + String.format( + "%saccountNumber%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getAccountNumber())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/PesonetDestination.java b/src/main/java/com/fireblocks/sdk/model/PesonetDestination.java new file mode 100644 index 00000000..21b7d4de --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/PesonetDestination.java @@ -0,0 +1,216 @@ +/* + * 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.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fireblocks.sdk.ApiClient; +import java.util.Objects; +import java.util.StringJoiner; + +/** PesonetDestination */ +@JsonPropertyOrder({ + PesonetDestination.JSON_PROPERTY_TYPE, + PesonetDestination.JSON_PROPERTY_ADDRESS +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class PesonetDestination { + /** The transfer rail type for the destination */ + public enum TypeEnum { + PESONET(String.valueOf("PESONET")); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + public static final String JSON_PROPERTY_TYPE = "type"; + @jakarta.annotation.Nonnull private TypeEnum type; + + public static final String JSON_PROPERTY_ADDRESS = "address"; + @jakarta.annotation.Nonnull private PesonetAddress address; + + public PesonetDestination() {} + + @JsonCreator + public PesonetDestination( + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) TypeEnum type, + @JsonProperty(value = JSON_PROPERTY_ADDRESS, required = true) PesonetAddress address) { + this.type = type; + this.address = address; + } + + public PesonetDestination type(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * The transfer rail type for the destination + * + * @return type + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TypeEnum getType() { + return type; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setType(@jakarta.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + public PesonetDestination address(@jakarta.annotation.Nonnull PesonetAddress address) { + this.address = address; + return this; + } + + /** + * Get address + * + * @return address + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public PesonetAddress getAddress() { + return address; + } + + @JsonProperty(JSON_PROPERTY_ADDRESS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAddress(@jakarta.annotation.Nonnull PesonetAddress address) { + this.address = address; + } + + /** Return true if this PesonetDestination object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PesonetDestination pesonetDestination = (PesonetDestination) o; + return Objects.equals(this.type, pesonetDestination.type) + && Objects.equals(this.address, pesonetDestination.address); + } + + @Override + public int hashCode() { + return Objects.hash(type, address); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PesonetDestination {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" address: ").append(toIndentedString(address)).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 `type` to the URL query string + if (getType() != null) { + joiner.add( + String.format( + "%stype%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `address` to the URL query string + if (getAddress() != null) { + joiner.add(getAddress().toUrlQueryString(prefix + "address" + suffix)); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/Position.java b/src/main/java/com/fireblocks/sdk/model/Position.java index 583b3bf4..2bd21553 100644 --- a/src/main/java/com/fireblocks/sdk/model/Position.java +++ b/src/main/java/com/fireblocks/sdk/model/Position.java @@ -67,7 +67,7 @@ public class Position { @jakarta.annotation.Nonnull private String amount; public static final String JSON_PROPERTY_REWARDS_AMOUNT = "rewardsAmount"; - @jakarta.annotation.Nonnull private String rewardsAmount; + @jakarta.annotation.Nullable private String rewardsAmount; public static final String JSON_PROPERTY_DATE_CREATED = "dateCreated"; @jakarta.annotation.Nonnull private OffsetDateTime dateCreated; @@ -378,17 +378,19 @@ public void setAmount(@jakarta.annotation.Nonnull String amount) { this.amount = amount; } - public Position rewardsAmount(@jakarta.annotation.Nonnull String rewardsAmount) { + public Position rewardsAmount(@jakarta.annotation.Nullable String rewardsAmount) { this.rewardsAmount = rewardsAmount; return this; } /** - * The amount staked in the position, measured in the staked asset unit. + * The amount staked in the position, measured in the staked asset unit. Returned as null for + * chains where reward tracking is not supported (Cosmos-family chains), instead of a numeric + * value. * * @return rewardsAmount */ - @jakarta.annotation.Nonnull + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_REWARDS_AMOUNT) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getRewardsAmount() { @@ -397,7 +399,7 @@ public String getRewardsAmount() { @JsonProperty(JSON_PROPERTY_REWARDS_AMOUNT) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setRewardsAmount(@jakarta.annotation.Nonnull String rewardsAmount) { + public void setRewardsAmount(@jakarta.annotation.Nullable String rewardsAmount) { this.rewardsAmount = rewardsAmount; } diff --git a/src/main/java/com/fireblocks/sdk/model/SolanaRewardsBreakdown.java b/src/main/java/com/fireblocks/sdk/model/SolanaRewardsBreakdown.java index df20e2ba..87630328 100644 --- a/src/main/java/com/fireblocks/sdk/model/SolanaRewardsBreakdown.java +++ b/src/main/java/com/fireblocks/sdk/model/SolanaRewardsBreakdown.java @@ -24,7 +24,7 @@ /** A breakdown of the staking rewards earned by the position. */ @JsonPropertyOrder({ - SolanaRewardsBreakdown.JSON_PROPERTY_ISSUANCE, + SolanaRewardsBreakdown.JSON_PROPERTY_INFLATION, SolanaRewardsBreakdown.JSON_PROPERTY_MEV, SolanaRewardsBreakdown.JSON_PROPERTY_LAST_REWARD_SYNCED_AT }) @@ -32,8 +32,8 @@ value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.14.0") public class SolanaRewardsBreakdown { - public static final String JSON_PROPERTY_ISSUANCE = "issuance"; - @jakarta.annotation.Nonnull private String issuance; + public static final String JSON_PROPERTY_INFLATION = "inflation"; + @jakarta.annotation.Nonnull private String inflation; public static final String JSON_PROPERTY_MEV = "mev"; @jakarta.annotation.Nonnull private String mev; @@ -45,36 +45,36 @@ public SolanaRewardsBreakdown() {} @JsonCreator public SolanaRewardsBreakdown( - @JsonProperty(value = JSON_PROPERTY_ISSUANCE, required = true) String issuance, + @JsonProperty(value = JSON_PROPERTY_INFLATION, required = true) String inflation, @JsonProperty(value = JSON_PROPERTY_MEV, required = true) String mev, @JsonProperty(value = JSON_PROPERTY_LAST_REWARD_SYNCED_AT, required = true) OffsetDateTime lastRewardSyncedAt) { - this.issuance = issuance; + this.inflation = inflation; this.mev = mev; this.lastRewardSyncedAt = lastRewardSyncedAt; } - public SolanaRewardsBreakdown issuance(@jakarta.annotation.Nonnull String issuance) { - this.issuance = issuance; + public SolanaRewardsBreakdown inflation(@jakarta.annotation.Nonnull String inflation) { + this.inflation = inflation; return this; } /** - * The issuance reward amount earned by the position, measured in the staked asset unit. + * The inflation reward amount earned by the position, measured in the staked asset unit. * - * @return issuance + * @return inflation */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ISSUANCE) + @JsonProperty(JSON_PROPERTY_INFLATION) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public String getIssuance() { - return issuance; + public String getInflation() { + return inflation; } - @JsonProperty(JSON_PROPERTY_ISSUANCE) + @JsonProperty(JSON_PROPERTY_INFLATION) @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setIssuance(@jakarta.annotation.Nonnull String issuance) { - this.issuance = issuance; + public void setInflation(@jakarta.annotation.Nonnull String inflation) { + this.inflation = inflation; } public SolanaRewardsBreakdown mev(@jakarta.annotation.Nonnull String mev) { @@ -135,7 +135,7 @@ public boolean equals(Object o) { return false; } SolanaRewardsBreakdown solanaRewardsBreakdown = (SolanaRewardsBreakdown) o; - return Objects.equals(this.issuance, solanaRewardsBreakdown.issuance) + return Objects.equals(this.inflation, solanaRewardsBreakdown.inflation) && Objects.equals(this.mev, solanaRewardsBreakdown.mev) && Objects.equals( this.lastRewardSyncedAt, solanaRewardsBreakdown.lastRewardSyncedAt); @@ -143,14 +143,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(issuance, mev, lastRewardSyncedAt); + return Objects.hash(inflation, mev, lastRewardSyncedAt); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class SolanaRewardsBreakdown {\n"); - sb.append(" issuance: ").append(toIndentedString(issuance)).append("\n"); + sb.append(" inflation: ").append(toIndentedString(inflation)).append("\n"); sb.append(" mev: ").append(toIndentedString(mev)).append("\n"); sb.append(" lastRewardSyncedAt: ") .append(toIndentedString(lastRewardSyncedAt)) @@ -202,14 +202,14 @@ public String toUrlQueryString(String prefix) { StringJoiner joiner = new StringJoiner("&"); - // add `issuance` to the URL query string - if (getIssuance() != null) { + // add `inflation` to the URL query string + if (getInflation() != null) { joiner.add( String.format( - "%sissuance%s=%s", + "%sinflation%s=%s", prefix, suffix, - ApiClient.urlEncode(ApiClient.valueToString(getIssuance())))); + ApiClient.urlEncode(ApiClient.valueToString(getInflation())))); } // add `mev` to the URL query string diff --git a/src/main/java/com/fireblocks/sdk/model/TransferRail.java b/src/main/java/com/fireblocks/sdk/model/TransferRail.java index 7ea1cdf5..f6e3c6d4 100644 --- a/src/main/java/com/fireblocks/sdk/model/TransferRail.java +++ b/src/main/java/com/fireblocks/sdk/model/TransferRail.java @@ -23,11 +23,14 @@ * wire transfer within the United States (e.g. FedWire) * **ACH** - Automated Clearing House * transfer, typically takes longer but not as expensive as wire transfers * **SEPA** - Euro * transfers within the SEPA zone * **SPEI** - Mexican interbank electronic payment system * **PIX** - * - Brazilian instant payment system * **LBT** - Local bank transfers within Africa * **MOMO** - - * Mobile money transfers (e.g. M-Pesa) * **CHAPS** - The Clearing House Automated Payment System - * (CHAPS) is a real-time gross settlement payment system used for transactions in the United - * Kingdom * **PAYID** - PayID payment identifier system (Australia) * **INTERAC** - Interac - * electronic funds transfer (Canada) * **INTERNAL_TRANSFER** - Internal transfer between accounts + * - Brazilian instant payment system * **LBT** - Local bank transfers * **MOMO** - Mobile money + * transfers (e.g. M-Pesa) * **CHAPS** - The Clearing House Automated Payment System (CHAPS) is a + * real-time gross settlement payment system used for transactions in the United Kingdom * **PAYID** + * - PayID payment identifier system (Australia) * **INTERAC** - Interac electronic funds transfer + * (Canada) * **INTERNAL_TRANSFER** - Internal transfer between accounts * **CIPS** - Cross-Border + * Interbank Payment System (China) * **NEQUI** - Nequi mobile payment (Colombia) * **FPS_UK** - UK + * Faster Payments (GBP) * **FPS_HK** - Hong Kong Faster Payment System (HKD) * **INSTA_PAY** - + * InstaPay instant payment (Philippines) * **PESONET** - PesoNet batch payment (Philippines) */ public enum TransferRail { BLOCKCHAIN("BLOCKCHAIN"), @@ -58,7 +61,19 @@ public enum TransferRail { INTERAC("INTERAC"), - INTERNAL_TRANSFER("INTERNAL_TRANSFER"); + INTERNAL_TRANSFER("INTERNAL_TRANSFER"), + + CIPS("CIPS"), + + NEQUI("NEQUI"), + + FPS_UK("FPS_UK"), + + FPS_HK("FPS_HK"), + + INSTA_PAY("INSTA_PAY"), + + PESONET("PESONET"); private String value; diff --git a/src/main/java/com/fireblocks/sdk/model/UpdateWebhookRequest.java b/src/main/java/com/fireblocks/sdk/model/UpdateWebhookRequest.java index 957db65b..dca22514 100644 --- a/src/main/java/com/fireblocks/sdk/model/UpdateWebhookRequest.java +++ b/src/main/java/com/fireblocks/sdk/model/UpdateWebhookRequest.java @@ -18,7 +18,9 @@ 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; @@ -28,7 +30,9 @@ UpdateWebhookRequest.JSON_PROPERTY_DESCRIPTION, UpdateWebhookRequest.JSON_PROPERTY_EVENTS, UpdateWebhookRequest.JSON_PROPERTY_ENABLED, - UpdateWebhookRequest.JSON_PROPERTY_MTLS + UpdateWebhookRequest.JSON_PROPERTY_MTLS, + UpdateWebhookRequest.JSON_PROPERTY_OAUTH, + UpdateWebhookRequest.JSON_PROPERTY_CUSTOM_HEADERS }) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -49,6 +53,12 @@ public class UpdateWebhookRequest { public static final String JSON_PROPERTY_MTLS = "mtls"; @jakarta.annotation.Nullable private WebhookMtls mtls; + public static final String JSON_PROPERTY_OAUTH = "oauth"; + @jakarta.annotation.Nullable private WebhookOAuth oauth; + + public static final String JSON_PROPERTY_CUSTOM_HEADERS = "customHeaders"; + @jakarta.annotation.Nullable private Map customHeaders; + public UpdateWebhookRequest() {} public UpdateWebhookRequest url(@jakarta.annotation.Nullable String url) { @@ -174,6 +184,66 @@ public void setMtls(@jakarta.annotation.Nullable WebhookMtls mtls) { this.mtls = mtls; } + public UpdateWebhookRequest oauth(@jakarta.annotation.Nullable WebhookOAuth oauth) { + this.oauth = oauth; + return this; + } + + /** + * Get oauth + * + * @return oauth + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_OAUTH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public WebhookOAuth getOauth() { + return oauth; + } + + @JsonProperty(JSON_PROPERTY_OAUTH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setOauth(@jakarta.annotation.Nullable WebhookOAuth oauth) { + this.oauth = oauth; + } + + public UpdateWebhookRequest customHeaders( + @jakarta.annotation.Nullable Map customHeaders) { + this.customHeaders = customHeaders; + return this; + } + + public UpdateWebhookRequest putCustomHeadersItem(String key, String customHeadersItem) { + if (this.customHeaders == null) { + this.customHeaders = new HashMap<>(); + } + this.customHeaders.put(key, customHeadersItem); + return this; + } + + /** + * Custom headers delta: entries with a string value are added or updated, entries with a + * `null` value delete that header (no-op if absent), and header names omitted from + * the payload are left untouched. The resulting set is limited to 10 headers. Header names are + * case-insensitive, up to 128 characters, and limited to valid HTTP header name characters. + * Some system header names are reserved and cannot be used. Values are write-only — never + * returned in responses. + * + * @return customHeaders + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CUSTOM_HEADERS) + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.USE_DEFAULTS) + public Map getCustomHeaders() { + return customHeaders; + } + + @JsonProperty(JSON_PROPERTY_CUSTOM_HEADERS) + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomHeaders(@jakarta.annotation.Nullable Map customHeaders) { + this.customHeaders = customHeaders; + } + /** Return true if this UpdateWebhookRequest object is equal to o. */ @Override public boolean equals(Object o) { @@ -188,12 +258,14 @@ public boolean equals(Object o) { && Objects.equals(this.description, updateWebhookRequest.description) && Objects.equals(this.events, updateWebhookRequest.events) && Objects.equals(this.enabled, updateWebhookRequest.enabled) - && Objects.equals(this.mtls, updateWebhookRequest.mtls); + && Objects.equals(this.mtls, updateWebhookRequest.mtls) + && Objects.equals(this.oauth, updateWebhookRequest.oauth) + && Objects.equals(this.customHeaders, updateWebhookRequest.customHeaders); } @Override public int hashCode() { - return Objects.hash(url, description, events, enabled, mtls); + return Objects.hash(url, description, events, enabled, mtls, oauth, customHeaders); } @Override @@ -205,6 +277,8 @@ public String toString() { sb.append(" events: ").append(toIndentedString(events)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" mtls: ").append(toIndentedString(mtls)).append("\n"); + sb.append(" oauth: ").append(toIndentedString(oauth)).append("\n"); + sb.append(" customHeaders: ").append(toIndentedString(customHeaders)).append("\n"); sb.append("}"); return sb.toString(); } @@ -306,6 +380,29 @@ public String toUrlQueryString(String prefix) { joiner.add(getMtls().toUrlQueryString(prefix + "mtls" + suffix)); } + // add `oauth` to the URL query string + if (getOauth() != null) { + joiner.add(getOauth().toUrlQueryString(prefix + "oauth" + suffix)); + } + + // add `customHeaders` to the URL query string + if (getCustomHeaders() != null) { + for (String _key : getCustomHeaders().keySet()) { + joiner.add( + String.format( + "%scustomHeaders%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, _key, containerSuffix), + getCustomHeaders().get(_key), + ApiClient.urlEncode( + ApiClient.valueToString(getCustomHeaders().get(_key))))); + } + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/Webhook.java b/src/main/java/com/fireblocks/sdk/model/Webhook.java index b0f859de..64dcb5e8 100644 --- a/src/main/java/com/fireblocks/sdk/model/Webhook.java +++ b/src/main/java/com/fireblocks/sdk/model/Webhook.java @@ -34,7 +34,9 @@ Webhook.JSON_PROPERTY_STATUS, Webhook.JSON_PROPERTY_CREATED_AT, Webhook.JSON_PROPERTY_UPDATED_AT, - Webhook.JSON_PROPERTY_MTLS + Webhook.JSON_PROPERTY_MTLS, + Webhook.JSON_PROPERTY_OAUTH, + Webhook.JSON_PROPERTY_CUSTOM_HEADERS }) @jakarta.annotation.Generated( value = "org.openapitools.codegen.languages.JavaClientCodegen", @@ -99,6 +101,12 @@ public static StatusEnum fromValue(String value) { public static final String JSON_PROPERTY_MTLS = "mtls"; @jakarta.annotation.Nullable private WebhookMtls mtls; + public static final String JSON_PROPERTY_OAUTH = "oauth"; + @jakarta.annotation.Nullable private WebhookOAuthResponse oauth; + + public static final String JSON_PROPERTY_CUSTOM_HEADERS = "customHeaders"; + @jakarta.annotation.Nullable private List customHeaders; + public Webhook() {} @JsonCreator @@ -309,6 +317,60 @@ public void setMtls(@jakarta.annotation.Nullable WebhookMtls mtls) { this.mtls = mtls; } + public Webhook oauth(@jakarta.annotation.Nullable WebhookOAuthResponse oauth) { + this.oauth = oauth; + return this; + } + + /** + * Get oauth + * + * @return oauth + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_OAUTH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public WebhookOAuthResponse getOauth() { + return oauth; + } + + @JsonProperty(JSON_PROPERTY_OAUTH) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setOauth(@jakarta.annotation.Nullable WebhookOAuthResponse oauth) { + this.oauth = oauth; + } + + public Webhook customHeaders(@jakarta.annotation.Nullable List customHeaders) { + this.customHeaders = customHeaders; + return this; + } + + public Webhook addCustomHeadersItem(String customHeadersItem) { + if (this.customHeaders == null) { + this.customHeaders = new ArrayList<>(); + } + this.customHeaders.add(customHeadersItem); + return this; + } + + /** + * Names of the custom headers configured for this webhook. Header values are never returned. + * + * @return customHeaders + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CUSTOM_HEADERS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getCustomHeaders() { + return customHeaders; + } + + @JsonProperty(JSON_PROPERTY_CUSTOM_HEADERS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCustomHeaders(@jakarta.annotation.Nullable List customHeaders) { + this.customHeaders = customHeaders; + } + /** Return true if this Webhook object is equal to o. */ @Override public boolean equals(Object o) { @@ -326,12 +388,24 @@ public boolean equals(Object o) { && Objects.equals(this.status, webhook.status) && Objects.equals(this.createdAt, webhook.createdAt) && Objects.equals(this.updatedAt, webhook.updatedAt) - && Objects.equals(this.mtls, webhook.mtls); + && Objects.equals(this.mtls, webhook.mtls) + && Objects.equals(this.oauth, webhook.oauth) + && Objects.equals(this.customHeaders, webhook.customHeaders); } @Override public int hashCode() { - return Objects.hash(id, url, description, events, status, createdAt, updatedAt, mtls); + return Objects.hash( + id, + url, + description, + events, + status, + createdAt, + updatedAt, + mtls, + oauth, + customHeaders); } @Override @@ -346,6 +420,8 @@ public String toString() { sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append(" mtls: ").append(toIndentedString(mtls)).append("\n"); + sb.append(" oauth: ").append(toIndentedString(oauth)).append("\n"); + sb.append(" customHeaders: ").append(toIndentedString(customHeaders)).append("\n"); sb.append("}"); return sb.toString(); } @@ -475,6 +551,28 @@ public String toUrlQueryString(String prefix) { joiner.add(getMtls().toUrlQueryString(prefix + "mtls" + suffix)); } + // add `oauth` to the URL query string + if (getOauth() != null) { + joiner.add(getOauth().toUrlQueryString(prefix + "oauth" + suffix)); + } + + // add `customHeaders` to the URL query string + if (getCustomHeaders() != null) { + for (int i = 0; i < getCustomHeaders().size(); i++) { + joiner.add( + String.format( + "%scustomHeaders%s%s=%s", + prefix, + suffix, + "".equals(suffix) + ? "" + : String.format( + "%s%d%s", containerPrefix, i, containerSuffix), + ApiClient.urlEncode( + ApiClient.valueToString(getCustomHeaders().get(i))))); + } + } + return joiner.toString(); } } diff --git a/src/main/java/com/fireblocks/sdk/model/WebhookOAuth.java b/src/main/java/com/fireblocks/sdk/model/WebhookOAuth.java new file mode 100644 index 00000000..54dca853 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/WebhookOAuth.java @@ -0,0 +1,279 @@ +/* + * 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.JsonCreator; +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; + +/** + * OAuth 2.0 client credentials configuration for the webhook. When set, the webhook dispatcher + * fetches a bearer token from the configured token endpoint before each delivery and attaches it as + * `Authorization: Bearer {token}`. Send `null` to remove OAuth configuration + * entirely. + */ +@JsonPropertyOrder({ + WebhookOAuth.JSON_PROPERTY_CLIENT_ID, + WebhookOAuth.JSON_PROPERTY_CLIENT_SECRET, + WebhookOAuth.JSON_PROPERTY_URL, + WebhookOAuth.JSON_PROPERTY_MTLS_CLIENT_SIGNED_CERT +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class WebhookOAuth { + public static final String JSON_PROPERTY_CLIENT_ID = "clientId"; + @jakarta.annotation.Nonnull private String clientId; + + public static final String JSON_PROPERTY_CLIENT_SECRET = "clientSecret"; + @jakarta.annotation.Nonnull private String clientSecret; + + public static final String JSON_PROPERTY_URL = "url"; + @jakarta.annotation.Nonnull private String url; + + public static final String JSON_PROPERTY_MTLS_CLIENT_SIGNED_CERT = "mtlsClientSignedCert"; + @jakarta.annotation.Nullable private String mtlsClientSignedCert; + + public WebhookOAuth() {} + + @JsonCreator + public WebhookOAuth( + @JsonProperty(value = JSON_PROPERTY_CLIENT_ID, required = true) String clientId, + @JsonProperty(value = JSON_PROPERTY_CLIENT_SECRET, required = true) String clientSecret, + @JsonProperty(value = JSON_PROPERTY_URL, required = true) String url) { + this.clientId = clientId; + this.clientSecret = clientSecret; + this.url = url; + } + + public WebhookOAuth clientId(@jakarta.annotation.Nonnull String clientId) { + this.clientId = clientId; + return this; + } + + /** + * OAuth client ID used to authenticate with the token endpoint. + * + * @return clientId + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_CLIENT_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getClientId() { + return clientId; + } + + @JsonProperty(JSON_PROPERTY_CLIENT_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setClientId(@jakarta.annotation.Nonnull String clientId) { + this.clientId = clientId; + } + + public WebhookOAuth clientSecret(@jakarta.annotation.Nonnull String clientSecret) { + this.clientSecret = clientSecret; + return this; + } + + /** + * OAuth client secret. Write-only — never returned in responses. + * + * @return clientSecret + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_CLIENT_SECRET) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getClientSecret() { + return clientSecret; + } + + @JsonProperty(JSON_PROPERTY_CLIENT_SECRET) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setClientSecret(@jakarta.annotation.Nonnull String clientSecret) { + this.clientSecret = clientSecret; + } + + public WebhookOAuth url(@jakarta.annotation.Nonnull String url) { + this.url = url; + return this; + } + + /** + * Token endpoint URL. Must be HTTPS. + * + * @return url + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getUrl() { + return url; + } + + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setUrl(@jakarta.annotation.Nonnull String url) { + this.url = url; + } + + public WebhookOAuth mtlsClientSignedCert( + @jakarta.annotation.Nullable String mtlsClientSignedCert) { + this.mtlsClientSignedCert = mtlsClientSignedCert; + return this; + } + + /** + * Signed client certificate PEM used for mTLS when connecting to the token endpoint. Same + * format as the webhook mTLS certificate. Send `null` to remove. + * + * @return mtlsClientSignedCert + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MTLS_CLIENT_SIGNED_CERT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getMtlsClientSignedCert() { + return mtlsClientSignedCert; + } + + @JsonProperty(JSON_PROPERTY_MTLS_CLIENT_SIGNED_CERT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMtlsClientSignedCert(@jakarta.annotation.Nullable String mtlsClientSignedCert) { + this.mtlsClientSignedCert = mtlsClientSignedCert; + } + + /** Return true if this WebhookOAuth object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookOAuth webhookOAuth = (WebhookOAuth) o; + return Objects.equals(this.clientId, webhookOAuth.clientId) + && Objects.equals(this.clientSecret, webhookOAuth.clientSecret) + && Objects.equals(this.url, webhookOAuth.url) + && Objects.equals(this.mtlsClientSignedCert, webhookOAuth.mtlsClientSignedCert); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, clientSecret, url, mtlsClientSignedCert); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookOAuth {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" clientSecret: ").append(toIndentedString(clientSecret)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" mtlsClientSignedCert: ") + .append(toIndentedString(mtlsClientSignedCert)) + .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 `clientId` to the URL query string + if (getClientId() != null) { + joiner.add( + String.format( + "%sclientId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getClientId())))); + } + + // add `clientSecret` to the URL query string + if (getClientSecret() != null) { + joiner.add( + String.format( + "%sclientSecret%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getClientSecret())))); + } + + // add `url` to the URL query string + if (getUrl() != null) { + joiner.add( + String.format( + "%surl%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getUrl())))); + } + + // add `mtlsClientSignedCert` to the URL query string + if (getMtlsClientSignedCert() != null) { + joiner.add( + String.format( + "%smtlsClientSignedCert%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getMtlsClientSignedCert())))); + } + + return joiner.toString(); + } +} diff --git a/src/main/java/com/fireblocks/sdk/model/WebhookOAuthResponse.java b/src/main/java/com/fireblocks/sdk/model/WebhookOAuthResponse.java new file mode 100644 index 00000000..2bd40dd4 --- /dev/null +++ b/src/main/java/com/fireblocks/sdk/model/WebhookOAuthResponse.java @@ -0,0 +1,236 @@ +/* + * 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.JsonCreator; +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; + +/** + * OAuth 2.0 client credentials configuration for the webhook. Present only when OAuth is + * configured. The `clientSecret` is write-only and is never returned. + */ +@JsonPropertyOrder({ + WebhookOAuthResponse.JSON_PROPERTY_CLIENT_ID, + WebhookOAuthResponse.JSON_PROPERTY_URL, + WebhookOAuthResponse.JSON_PROPERTY_MTLS_CLIENT_SIGNED_CERT +}) +@jakarta.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.14.0") +public class WebhookOAuthResponse { + public static final String JSON_PROPERTY_CLIENT_ID = "clientId"; + @jakarta.annotation.Nonnull private String clientId; + + public static final String JSON_PROPERTY_URL = "url"; + @jakarta.annotation.Nonnull private String url; + + public static final String JSON_PROPERTY_MTLS_CLIENT_SIGNED_CERT = "mtlsClientSignedCert"; + @jakarta.annotation.Nullable private String mtlsClientSignedCert; + + public WebhookOAuthResponse() {} + + @JsonCreator + public WebhookOAuthResponse( + @JsonProperty(value = JSON_PROPERTY_CLIENT_ID, required = true) String clientId, + @JsonProperty(value = JSON_PROPERTY_URL, required = true) String url) { + this.clientId = clientId; + this.url = url; + } + + public WebhookOAuthResponse clientId(@jakarta.annotation.Nonnull String clientId) { + this.clientId = clientId; + return this; + } + + /** + * OAuth client ID used to authenticate with the token endpoint. + * + * @return clientId + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_CLIENT_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getClientId() { + return clientId; + } + + @JsonProperty(JSON_PROPERTY_CLIENT_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setClientId(@jakarta.annotation.Nonnull String clientId) { + this.clientId = clientId; + } + + public WebhookOAuthResponse url(@jakarta.annotation.Nonnull String url) { + this.url = url; + return this; + } + + /** + * Token endpoint URL. + * + * @return url + */ + @jakarta.annotation.Nonnull + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getUrl() { + return url; + } + + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setUrl(@jakarta.annotation.Nonnull String url) { + this.url = url; + } + + public WebhookOAuthResponse mtlsClientSignedCert( + @jakarta.annotation.Nullable String mtlsClientSignedCert) { + this.mtlsClientSignedCert = mtlsClientSignedCert; + return this; + } + + /** + * Signed client certificate PEM used for mTLS when connecting to the token endpoint. + * + * @return mtlsClientSignedCert + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MTLS_CLIENT_SIGNED_CERT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getMtlsClientSignedCert() { + return mtlsClientSignedCert; + } + + @JsonProperty(JSON_PROPERTY_MTLS_CLIENT_SIGNED_CERT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMtlsClientSignedCert(@jakarta.annotation.Nullable String mtlsClientSignedCert) { + this.mtlsClientSignedCert = mtlsClientSignedCert; + } + + /** Return true if this WebhookOAuthResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WebhookOAuthResponse webhookOAuthResponse = (WebhookOAuthResponse) o; + return Objects.equals(this.clientId, webhookOAuthResponse.clientId) + && Objects.equals(this.url, webhookOAuthResponse.url) + && Objects.equals( + this.mtlsClientSignedCert, webhookOAuthResponse.mtlsClientSignedCert); + } + + @Override + public int hashCode() { + return Objects.hash(clientId, url, mtlsClientSignedCert); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WebhookOAuthResponse {\n"); + sb.append(" clientId: ").append(toIndentedString(clientId)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" mtlsClientSignedCert: ") + .append(toIndentedString(mtlsClientSignedCert)) + .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 `clientId` to the URL query string + if (getClientId() != null) { + joiner.add( + String.format( + "%sclientId%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getClientId())))); + } + + // add `url` to the URL query string + if (getUrl() != null) { + joiner.add( + String.format( + "%surl%s=%s", + prefix, + suffix, + ApiClient.urlEncode(ApiClient.valueToString(getUrl())))); + } + + // add `mtlsClientSignedCert` to the URL query string + if (getMtlsClientSignedCert() != null) { + joiner.add( + String.format( + "%smtlsClientSignedCert%s=%s", + prefix, + suffix, + ApiClient.urlEncode( + ApiClient.valueToString(getMtlsClientSignedCert())))); + } + + return joiner.toString(); + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/CipsAddressTest.java b/src/test/java/com/fireblocks/sdk/model/CipsAddressTest.java new file mode 100644 index 00000000..e4860884 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/CipsAddressTest.java @@ -0,0 +1,57 @@ +/* + * 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 CipsAddress */ +class CipsAddressTest { + private final CipsAddress model = new CipsAddress(); + + /** Model tests for CipsAddress */ + @Test + void testCipsAddress() { + // TODO: test CipsAddress + } + + /** Test the property 'accountHolder' */ + @Test + void accountHolderTest() { + // TODO: test accountHolder + } + + /** Test the property 'bankName' */ + @Test + void bankNameTest() { + // TODO: test bankName + } + + /** Test the property 'bankCountry' */ + @Test + void bankCountryTest() { + // TODO: test bankCountry + } + + /** Test the property 'swiftCode' */ + @Test + void swiftCodeTest() { + // TODO: test swiftCode + } + + /** Test the property 'accountNumber' */ + @Test + void accountNumberTest() { + // TODO: test accountNumber + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/CipsDestinationTest.java b/src/test/java/com/fireblocks/sdk/model/CipsDestinationTest.java new file mode 100644 index 00000000..33884a0a --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/CipsDestinationTest.java @@ -0,0 +1,45 @@ +/* + * 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 CipsDestination */ +class CipsDestinationTest { + private final CipsDestination model = new CipsDestination(); + + /** Model tests for CipsDestination */ + @Test + void testCipsDestination() { + // TODO: test CipsDestination + } + + /** Test the property 'type' */ + @Test + void typeTest() { + // TODO: test type + } + + /** Test the property 'address' */ + @Test + void addressTest() { + // TODO: test address + } + + /** Test the property 'referenceId' */ + @Test + void referenceIdTest() { + // TODO: test referenceId + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/CreateWebhookRequestTest.java b/src/test/java/com/fireblocks/sdk/model/CreateWebhookRequestTest.java index a2effaba..557a64ee 100644 --- a/src/test/java/com/fireblocks/sdk/model/CreateWebhookRequestTest.java +++ b/src/test/java/com/fireblocks/sdk/model/CreateWebhookRequestTest.java @@ -54,4 +54,16 @@ void enabledTest() { void mtlsTest() { // TODO: test mtls } + + /** Test the property 'oauth' */ + @Test + void oauthTest() { + // TODO: test oauth + } + + /** Test the property 'customHeaders' */ + @Test + void customHeadersTest() { + // TODO: test customHeaders + } } diff --git a/src/test/java/com/fireblocks/sdk/model/FiatDestinationTest.java b/src/test/java/com/fireblocks/sdk/model/FiatDestinationTest.java index 20680b44..35a50d74 100644 --- a/src/test/java/com/fireblocks/sdk/model/FiatDestinationTest.java +++ b/src/test/java/com/fireblocks/sdk/model/FiatDestinationTest.java @@ -36,4 +36,10 @@ void typeTest() { void addressTest() { // TODO: test address } + + /** Test the property 'referenceId' */ + @Test + void referenceIdTest() { + // TODO: test referenceId + } } diff --git a/src/test/java/com/fireblocks/sdk/model/FpsHkAddressTest.java b/src/test/java/com/fireblocks/sdk/model/FpsHkAddressTest.java new file mode 100644 index 00000000..e6dac929 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/FpsHkAddressTest.java @@ -0,0 +1,63 @@ +/* + * 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 FpsHkAddress */ +class FpsHkAddressTest { + private final FpsHkAddress model = new FpsHkAddress(); + + /** Model tests for FpsHkAddress */ + @Test + void testFpsHkAddress() { + // TODO: test FpsHkAddress + } + + /** Test the property 'recipientLegalName' */ + @Test + void recipientLegalNameTest() { + // TODO: test recipientLegalName + } + + /** Test the property 'accountNumber' */ + @Test + void accountNumberTest() { + // TODO: test accountNumber + } + + /** Test the property 'bankCode' */ + @Test + void bankCodeTest() { + // TODO: test bankCode + } + + /** Test the property 'phone' */ + @Test + void phoneTest() { + // TODO: test phone + } + + /** Test the property 'email' */ + @Test + void emailTest() { + // TODO: test email + } + + /** Test the property 'fpsId' */ + @Test + void fpsIdTest() { + // TODO: test fpsId + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/FpsHkDestinationTest.java b/src/test/java/com/fireblocks/sdk/model/FpsHkDestinationTest.java new file mode 100644 index 00000000..00106dac --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/FpsHkDestinationTest.java @@ -0,0 +1,39 @@ +/* + * 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 FpsHkDestination */ +class FpsHkDestinationTest { + private final FpsHkDestination model = new FpsHkDestination(); + + /** Model tests for FpsHkDestination */ + @Test + void testFpsHkDestination() { + // TODO: test FpsHkDestination + } + + /** Test the property 'type' */ + @Test + void typeTest() { + // TODO: test type + } + + /** Test the property 'address' */ + @Test + void addressTest() { + // TODO: test address + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/FpsUkAddressTest.java b/src/test/java/com/fireblocks/sdk/model/FpsUkAddressTest.java new file mode 100644 index 00000000..f8bd6481 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/FpsUkAddressTest.java @@ -0,0 +1,45 @@ +/* + * 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 FpsUkAddress */ +class FpsUkAddressTest { + private final FpsUkAddress model = new FpsUkAddress(); + + /** Model tests for FpsUkAddress */ + @Test + void testFpsUkAddress() { + // TODO: test FpsUkAddress + } + + /** Test the property 'accountHolder' */ + @Test + void accountHolderTest() { + // TODO: test accountHolder + } + + /** Test the property 'accountNumber' */ + @Test + void accountNumberTest() { + // TODO: test accountNumber + } + + /** Test the property 'sortCode' */ + @Test + void sortCodeTest() { + // TODO: test sortCode + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/FpsUkDestinationTest.java b/src/test/java/com/fireblocks/sdk/model/FpsUkDestinationTest.java new file mode 100644 index 00000000..a1ea8428 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/FpsUkDestinationTest.java @@ -0,0 +1,39 @@ +/* + * 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 FpsUkDestination */ +class FpsUkDestinationTest { + private final FpsUkDestination model = new FpsUkDestination(); + + /** Model tests for FpsUkDestination */ + @Test + void testFpsUkDestination() { + // TODO: test FpsUkDestination + } + + /** Test the property 'type' */ + @Test + void typeTest() { + // TODO: test type + } + + /** Test the property 'address' */ + @Test + void addressTest() { + // TODO: test address + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/InstaPayAddressTest.java b/src/test/java/com/fireblocks/sdk/model/InstaPayAddressTest.java new file mode 100644 index 00000000..d9673b90 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/InstaPayAddressTest.java @@ -0,0 +1,45 @@ +/* + * 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 InstaPayAddress */ +class InstaPayAddressTest { + private final InstaPayAddress model = new InstaPayAddress(); + + /** Model tests for InstaPayAddress */ + @Test + void testInstaPayAddress() { + // TODO: test InstaPayAddress + } + + /** Test the property 'accountHolder' */ + @Test + void accountHolderTest() { + // TODO: test accountHolder + } + + /** Test the property 'bankName' */ + @Test + void bankNameTest() { + // TODO: test bankName + } + + /** Test the property 'accountNumber' */ + @Test + void accountNumberTest() { + // TODO: test accountNumber + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/InstaPayDestinationTest.java b/src/test/java/com/fireblocks/sdk/model/InstaPayDestinationTest.java new file mode 100644 index 00000000..129fd0d5 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/InstaPayDestinationTest.java @@ -0,0 +1,39 @@ +/* + * 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 InstaPayDestination */ +class InstaPayDestinationTest { + private final InstaPayDestination model = new InstaPayDestination(); + + /** Model tests for InstaPayDestination */ + @Test + void testInstaPayDestination() { + // TODO: test InstaPayDestination + } + + /** Test the property 'type' */ + @Test + void typeTest() { + // TODO: test type + } + + /** Test the property 'address' */ + @Test + void addressTest() { + // TODO: test address + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/NequiAddressTest.java b/src/test/java/com/fireblocks/sdk/model/NequiAddressTest.java new file mode 100644 index 00000000..a243410d --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/NequiAddressTest.java @@ -0,0 +1,33 @@ +/* + * 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 NequiAddress */ +class NequiAddressTest { + private final NequiAddress model = new NequiAddress(); + + /** Model tests for NequiAddress */ + @Test + void testNequiAddress() { + // TODO: test NequiAddress + } + + /** Test the property 'phone' */ + @Test + void phoneTest() { + // TODO: test phone + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/NequiDestinationTest.java b/src/test/java/com/fireblocks/sdk/model/NequiDestinationTest.java new file mode 100644 index 00000000..c1010b21 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/NequiDestinationTest.java @@ -0,0 +1,39 @@ +/* + * 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 NequiDestination */ +class NequiDestinationTest { + private final NequiDestination model = new NequiDestination(); + + /** Model tests for NequiDestination */ + @Test + void testNequiDestination() { + // TODO: test NequiDestination + } + + /** Test the property 'type' */ + @Test + void typeTest() { + // TODO: test type + } + + /** Test the property 'address' */ + @Test + void addressTest() { + // TODO: test address + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/PesonetAddressTest.java b/src/test/java/com/fireblocks/sdk/model/PesonetAddressTest.java new file mode 100644 index 00000000..e85af2b6 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/PesonetAddressTest.java @@ -0,0 +1,45 @@ +/* + * 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 PesonetAddress */ +class PesonetAddressTest { + private final PesonetAddress model = new PesonetAddress(); + + /** Model tests for PesonetAddress */ + @Test + void testPesonetAddress() { + // TODO: test PesonetAddress + } + + /** Test the property 'accountHolder' */ + @Test + void accountHolderTest() { + // TODO: test accountHolder + } + + /** Test the property 'bankName' */ + @Test + void bankNameTest() { + // TODO: test bankName + } + + /** Test the property 'accountNumber' */ + @Test + void accountNumberTest() { + // TODO: test accountNumber + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/PesonetDestinationTest.java b/src/test/java/com/fireblocks/sdk/model/PesonetDestinationTest.java new file mode 100644 index 00000000..d12274f6 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/PesonetDestinationTest.java @@ -0,0 +1,39 @@ +/* + * 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 PesonetDestination */ +class PesonetDestinationTest { + private final PesonetDestination model = new PesonetDestination(); + + /** Model tests for PesonetDestination */ + @Test + void testPesonetDestination() { + // TODO: test PesonetDestination + } + + /** Test the property 'type' */ + @Test + void typeTest() { + // TODO: test type + } + + /** Test the property 'address' */ + @Test + void addressTest() { + // TODO: test address + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/SolanaRewardsBreakdownTest.java b/src/test/java/com/fireblocks/sdk/model/SolanaRewardsBreakdownTest.java index 6c6e8d6a..8a259365 100644 --- a/src/test/java/com/fireblocks/sdk/model/SolanaRewardsBreakdownTest.java +++ b/src/test/java/com/fireblocks/sdk/model/SolanaRewardsBreakdownTest.java @@ -25,10 +25,10 @@ void testSolanaRewardsBreakdown() { // TODO: test SolanaRewardsBreakdown } - /** Test the property 'issuance' */ + /** Test the property 'inflation' */ @Test - void issuanceTest() { - // TODO: test issuance + void inflationTest() { + // TODO: test inflation } /** Test the property 'mev' */ diff --git a/src/test/java/com/fireblocks/sdk/model/UpdateWebhookRequestTest.java b/src/test/java/com/fireblocks/sdk/model/UpdateWebhookRequestTest.java index 83b0fb2e..1d33418e 100644 --- a/src/test/java/com/fireblocks/sdk/model/UpdateWebhookRequestTest.java +++ b/src/test/java/com/fireblocks/sdk/model/UpdateWebhookRequestTest.java @@ -54,4 +54,16 @@ void enabledTest() { void mtlsTest() { // TODO: test mtls } + + /** Test the property 'oauth' */ + @Test + void oauthTest() { + // TODO: test oauth + } + + /** Test the property 'customHeaders' */ + @Test + void customHeadersTest() { + // TODO: test customHeaders + } } diff --git a/src/test/java/com/fireblocks/sdk/model/WebhookOAuthResponseTest.java b/src/test/java/com/fireblocks/sdk/model/WebhookOAuthResponseTest.java new file mode 100644 index 00000000..b158be90 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/WebhookOAuthResponseTest.java @@ -0,0 +1,45 @@ +/* + * 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 WebhookOAuthResponse */ +class WebhookOAuthResponseTest { + private final WebhookOAuthResponse model = new WebhookOAuthResponse(); + + /** Model tests for WebhookOAuthResponse */ + @Test + void testWebhookOAuthResponse() { + // TODO: test WebhookOAuthResponse + } + + /** Test the property 'clientId' */ + @Test + void clientIdTest() { + // TODO: test clientId + } + + /** Test the property 'url' */ + @Test + void urlTest() { + // TODO: test url + } + + /** Test the property 'mtlsClientSignedCert' */ + @Test + void mtlsClientSignedCertTest() { + // TODO: test mtlsClientSignedCert + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/WebhookOAuthTest.java b/src/test/java/com/fireblocks/sdk/model/WebhookOAuthTest.java new file mode 100644 index 00000000..a52fa748 --- /dev/null +++ b/src/test/java/com/fireblocks/sdk/model/WebhookOAuthTest.java @@ -0,0 +1,51 @@ +/* + * 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 WebhookOAuth */ +class WebhookOAuthTest { + private final WebhookOAuth model = new WebhookOAuth(); + + /** Model tests for WebhookOAuth */ + @Test + void testWebhookOAuth() { + // TODO: test WebhookOAuth + } + + /** Test the property 'clientId' */ + @Test + void clientIdTest() { + // TODO: test clientId + } + + /** Test the property 'clientSecret' */ + @Test + void clientSecretTest() { + // TODO: test clientSecret + } + + /** Test the property 'url' */ + @Test + void urlTest() { + // TODO: test url + } + + /** Test the property 'mtlsClientSignedCert' */ + @Test + void mtlsClientSignedCertTest() { + // TODO: test mtlsClientSignedCert + } +} diff --git a/src/test/java/com/fireblocks/sdk/model/WebhookTest.java b/src/test/java/com/fireblocks/sdk/model/WebhookTest.java index 87e447d4..81442e89 100644 --- a/src/test/java/com/fireblocks/sdk/model/WebhookTest.java +++ b/src/test/java/com/fireblocks/sdk/model/WebhookTest.java @@ -72,4 +72,16 @@ void updatedAtTest() { void mtlsTest() { // TODO: test mtls } + + /** Test the property 'oauth' */ + @Test + void oauthTest() { + // TODO: test oauth + } + + /** Test the property 'customHeaders' */ + @Test + void customHeadersTest() { + // TODO: test customHeaders + } }