From bbc47fac2a5a63b30e1dc3ee9bf4aada37d76df1 Mon Sep 17 00:00:00 2001 From: Mirko Da Corte Date: Sat, 12 Mar 2022 16:09:32 +0100 Subject: [PATCH 1/6] update api to bee 1.5.0-rc3 --- tools/openapi/Swarm.yaml | 2 +- tools/openapi/SwarmCommon.yaml | 22 +++++++++++----------- tools/openapi/SwarmDebug.yaml | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/tools/openapi/Swarm.yaml b/tools/openapi/Swarm.yaml index a28d6833..e331bbcf 100644 --- a/tools/openapi/Swarm.yaml +++ b/tools/openapi/Swarm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: - version: 2.0.0 + version: 3.0.0 title: Bee API description: "A list of the currently provided Interfaces to interact with the swarm, implementing file operations and sending messages" diff --git a/tools/openapi/SwarmCommon.yaml b/tools/openapi/SwarmCommon.yaml index 08c9b584..e105ae5b 100644 --- a/tools/openapi/SwarmCommon.yaml +++ b/tools/openapi/SwarmCommon.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - version: 1.0.0 + version: 2.0.0 title: Common Data Types description: | \*****bzzz***** @@ -136,7 +136,7 @@ components: properties: lastcheques: type: array - nullable: true + nullable: false items: $ref: "#/components/schemas/ChequePeerResponse" @@ -287,7 +287,7 @@ components: properties: peers: type: array - nullable: true + nullable: false items: $ref: "#/components/schemas/Address" @@ -321,16 +321,16 @@ components: properties: stamps: type: array - nullable: true + nullable: false items: $ref: "#/components/schemas/DebugPostageBatch" DebugPostageAllBatchesResponse: type: object properties: - stamps: + batches: type: array - nullable: true + nullable: false items: $ref: "#/components/schemas/PostageBatchShort" @@ -469,7 +469,7 @@ components: type: integer buckets: type: array - nullable: true + nullable: false items: $ref: "#/components/schemas/StampBucketData" @@ -492,7 +492,7 @@ components: type: integer settlements: type: array - nullable: true + nullable: false items: $ref: "#/components/schemas/Settlement" @@ -529,9 +529,9 @@ components: SwarmOnlyReferencesList: type: object properties: - addresses: + references: type: array - nullable: true + nullable: false items: $ref: "#/components/schemas/SwarmOnlyReference" @@ -606,7 +606,7 @@ components: properties: pendingTransactions: type: array - nullable: true + nullable: false items: $ref: "#/components/schemas/TransactionInfo" diff --git a/tools/openapi/SwarmDebug.yaml b/tools/openapi/SwarmDebug.yaml index 6cfc1aba..89112ecf 100644 --- a/tools/openapi/SwarmDebug.yaml +++ b/tools/openapi/SwarmDebug.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - version: 1.2.1 + version: 2.0.0 title: Bee Debug API description: "A list of the currently provided debug interfaces to interact with the bee node" @@ -850,7 +850,7 @@ paths: - in: path name: amount schema: - type: integer + $ref: "SwarmCommon.yaml#/components/schemas/BigInt" required: true description: Amount of BZZ added that the postage batch will have. - in: path From 3987bddb24adab9948e6239004faa9e774011f00 Mon Sep 17 00:00:00 2001 From: Mirko Da Corte Date: Sat, 12 Mar 2022 16:20:10 +0100 Subject: [PATCH 2/6] remove ignored files for this branch --- .dockerignore | 25 - .editorconfig | 17 - .gitattributes | 63 - .github/workflows/myget-unstable-deploy.yml | 34 - .github/workflows/nuget-stable-deploy.yml | 33 - .gitignore | 263 - .vs/Bee.Net/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 19739 bytes .vs/BeeNet/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 381541 bytes .vs/BeeNet/config/applicationhost.config | 1015 +++ .vs/BeeNet/project-colors.json | 11 + .vs/BeeNet/v16/.suo | Bin 0 -> 356864 bytes .vs/BeeNet/v16/TestStore/0/004.testlog | Bin 0 -> 102429 bytes .vs/BeeNet/v16/TestStore/0/testlog.manifest | Bin 0 -> 24 bytes .vs/BeeNet/v17/.futdcache.v1 | Bin 0 -> 114 bytes .vs/BeeNet/v17/.suo | Bin 0 -> 142848 bytes BeeNet.sln | 64 - BeeNet.sln.licenseheader | 47 - CODE_OF_CONDUCT.md | 128 - CONTRIBUTING.md | 106 - GitVersion.yml | 5 - LICENSE | 201 - README.md | 29 - src/BeeNet/BeeNet.csproj | 47 - src/BeeNet/BeeNodeClient.cs | 105 - src/BeeNet/Clients/DebugApi/BeeDebugClient.cs | 418 - .../Clients/DebugApi/DebugApiVersion.cs | 22 - .../Clients/DebugApi/IBeeDebugClient.cs | 292 - .../DebugApi/V1_2_1/BeeDebugClient_1_2_1.cs | 7439 ----------------- .../DebugApi/v1_2_0/BeeDebugClient_1_2_0.cs | 7170 ---------------- .../Clients/GatewayApi/BeeGatewayClient.cs | 311 - .../Clients/GatewayApi/GatewayApiVersion.cs | 21 - .../Clients/GatewayApi/IBeeGatewayClient.cs | 277 - .../v2_0_0/BeeGatewayClient_2_0_0.cs | 5748 ------------- src/BeeNet/DtoModels/AddressDetailDto.cs | 55 - src/BeeNet/DtoModels/AnonymousDto.cs | 56 - src/BeeNet/DtoModels/AuthDto.cs | 34 - src/BeeNet/DtoModels/BalanceDto.cs | 63 - src/BeeNet/DtoModels/BeeModeDto.cs | 27 - src/BeeNet/DtoModels/BucketDto.cs | 44 - src/BeeNet/DtoModels/ChainstateDto.cs | 47 - src/BeeNet/DtoModels/ChequebookBalanceDto.cs | 45 - .../DtoModels/ChequebookCashoutGetDto.cs | 55 - .../DtoModels/ChequebookChequeGetDto.cs | 67 - src/BeeNet/DtoModels/ConnectedPeersDto.cs | 60 - src/BeeNet/DtoModels/DisconnectedPeersDto.cs | 44 - src/BeeNet/DtoModels/LastCashedChequeDto.cs | 48 - src/BeeNet/DtoModels/LastReceivedDto.cs | 68 - src/BeeNet/DtoModels/LastSentDto.cs | 68 - src/BeeNet/DtoModels/MessageResponseDto.cs | 98 - src/BeeNet/DtoModels/MetricsDto.cs | 56 - src/BeeNet/DtoModels/NodeInfoDto.cs | 49 - src/BeeNet/DtoModels/PendingTransactionDto.cs | 66 - src/BeeNet/DtoModels/PostageBatchDto.cs | 131 - src/BeeNet/DtoModels/ReserveStateDto.cs | 51 - src/BeeNet/DtoModels/ResultChequebookDto.cs | 48 - src/BeeNet/DtoModels/SettlementDataDto.cs | 67 - src/BeeNet/DtoModels/SettlementDto.cs | 51 - src/BeeNet/DtoModels/StampsBucketsDto.cs | 52 - src/BeeNet/DtoModels/StewardshipGetDto.cs | 34 - src/BeeNet/DtoModels/TagDto.cs | 65 - src/BeeNet/DtoModels/TagInfoDto.cs | 66 - src/BeeNet/DtoModels/TimesettlementsDto.cs | 51 - src/BeeNet/DtoModels/TopologyDto.cs | 65 - src/BeeNet/DtoModels/TransactionsDto.cs | 66 - src/BeeNet/DtoModels/VersionDto.cs | 116 - .../Exceptions/BeeNetDebugApiException.cs | 69 - .../Exceptions/BeeNetGatewayApiException.cs | 69 - src/BeeNet/GlobalSuppressions.cs | 22 - src/BeeNet/IBeeNodeClient.cs | 25 - src/BeeNet/InputModels/FileParameterInput.cs | 34 - src/BeeNet/Properties/AssemblyInfo.cs | 17 - tools/README.md | 11 - tools/swarm-debug-api.nswag | 102 - tools/swarm-gateway-api.nswag | 102 - 74 files changed, 1026 insertions(+), 25229 deletions(-) delete mode 100644 .dockerignore delete mode 100644 .editorconfig delete mode 100644 .gitattributes delete mode 100644 .github/workflows/myget-unstable-deploy.yml delete mode 100644 .github/workflows/nuget-stable-deploy.yml delete mode 100644 .gitignore create mode 100644 .vs/Bee.Net/DesignTimeBuild/.dtbcache.v2 create mode 100644 .vs/BeeNet/DesignTimeBuild/.dtbcache.v2 create mode 100644 .vs/BeeNet/config/applicationhost.config create mode 100644 .vs/BeeNet/project-colors.json create mode 100644 .vs/BeeNet/v16/.suo create mode 100644 .vs/BeeNet/v16/TestStore/0/004.testlog create mode 100644 .vs/BeeNet/v16/TestStore/0/testlog.manifest create mode 100644 .vs/BeeNet/v17/.futdcache.v1 create mode 100644 .vs/BeeNet/v17/.suo delete mode 100644 BeeNet.sln delete mode 100644 BeeNet.sln.licenseheader delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 GitVersion.yml delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 src/BeeNet/BeeNet.csproj delete mode 100644 src/BeeNet/BeeNodeClient.cs delete mode 100644 src/BeeNet/Clients/DebugApi/BeeDebugClient.cs delete mode 100644 src/BeeNet/Clients/DebugApi/DebugApiVersion.cs delete mode 100644 src/BeeNet/Clients/DebugApi/IBeeDebugClient.cs delete mode 100644 src/BeeNet/Clients/DebugApi/V1_2_1/BeeDebugClient_1_2_1.cs delete mode 100644 src/BeeNet/Clients/DebugApi/v1_2_0/BeeDebugClient_1_2_0.cs delete mode 100644 src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs delete mode 100644 src/BeeNet/Clients/GatewayApi/GatewayApiVersion.cs delete mode 100644 src/BeeNet/Clients/GatewayApi/IBeeGatewayClient.cs delete mode 100644 src/BeeNet/Clients/GatewayApi/v2_0_0/BeeGatewayClient_2_0_0.cs delete mode 100644 src/BeeNet/DtoModels/AddressDetailDto.cs delete mode 100644 src/BeeNet/DtoModels/AnonymousDto.cs delete mode 100644 src/BeeNet/DtoModels/AuthDto.cs delete mode 100644 src/BeeNet/DtoModels/BalanceDto.cs delete mode 100644 src/BeeNet/DtoModels/BeeModeDto.cs delete mode 100644 src/BeeNet/DtoModels/BucketDto.cs delete mode 100644 src/BeeNet/DtoModels/ChainstateDto.cs delete mode 100644 src/BeeNet/DtoModels/ChequebookBalanceDto.cs delete mode 100644 src/BeeNet/DtoModels/ChequebookCashoutGetDto.cs delete mode 100644 src/BeeNet/DtoModels/ChequebookChequeGetDto.cs delete mode 100644 src/BeeNet/DtoModels/ConnectedPeersDto.cs delete mode 100644 src/BeeNet/DtoModels/DisconnectedPeersDto.cs delete mode 100644 src/BeeNet/DtoModels/LastCashedChequeDto.cs delete mode 100644 src/BeeNet/DtoModels/LastReceivedDto.cs delete mode 100644 src/BeeNet/DtoModels/LastSentDto.cs delete mode 100644 src/BeeNet/DtoModels/MessageResponseDto.cs delete mode 100644 src/BeeNet/DtoModels/MetricsDto.cs delete mode 100644 src/BeeNet/DtoModels/NodeInfoDto.cs delete mode 100644 src/BeeNet/DtoModels/PendingTransactionDto.cs delete mode 100644 src/BeeNet/DtoModels/PostageBatchDto.cs delete mode 100644 src/BeeNet/DtoModels/ReserveStateDto.cs delete mode 100644 src/BeeNet/DtoModels/ResultChequebookDto.cs delete mode 100644 src/BeeNet/DtoModels/SettlementDataDto.cs delete mode 100644 src/BeeNet/DtoModels/SettlementDto.cs delete mode 100644 src/BeeNet/DtoModels/StampsBucketsDto.cs delete mode 100644 src/BeeNet/DtoModels/StewardshipGetDto.cs delete mode 100644 src/BeeNet/DtoModels/TagDto.cs delete mode 100644 src/BeeNet/DtoModels/TagInfoDto.cs delete mode 100644 src/BeeNet/DtoModels/TimesettlementsDto.cs delete mode 100644 src/BeeNet/DtoModels/TopologyDto.cs delete mode 100644 src/BeeNet/DtoModels/TransactionsDto.cs delete mode 100644 src/BeeNet/DtoModels/VersionDto.cs delete mode 100644 src/BeeNet/Exceptions/BeeNetDebugApiException.cs delete mode 100644 src/BeeNet/Exceptions/BeeNetGatewayApiException.cs delete mode 100644 src/BeeNet/GlobalSuppressions.cs delete mode 100644 src/BeeNet/IBeeNodeClient.cs delete mode 100644 src/BeeNet/InputModels/FileParameterInput.cs delete mode 100644 src/BeeNet/Properties/AssemblyInfo.cs delete mode 100644 tools/README.md delete mode 100644 tools/swarm-debug-api.nswag delete mode 100644 tools/swarm-gateway-api.nswag diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 3729ff0c..00000000 --- a/.dockerignore +++ /dev/null @@ -1,25 +0,0 @@ -**/.classpath -**/.dockerignore -**/.env -**/.git -**/.gitignore -**/.project -**/.settings -**/.toolstarget -**/.vs -**/.vscode -**/*.*proj.user -**/*.dbmdl -**/*.jfm -**/azds.yaml -**/bin -**/charts -**/docker-compose* -**/Dockerfile* -**/node_modules -**/npm-debug.log -**/obj -**/secrets.dev.yaml -**/values.dev.yaml -LICENSE -README.md \ No newline at end of file diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 7dd8dac9..00000000 --- a/.editorconfig +++ /dev/null @@ -1,17 +0,0 @@ -# Remove the line below if you want to inherit .editorconfig settings from higher directories -root = true - -#### Define style #### - -# All files -[*] -indent_style = space - -# C# Project files -[*.csproj] -indent_size = 2 - -#### Suppress warnings #### - -# C# files -[*.cs] diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1ff0c423..00000000 --- a/.gitattributes +++ /dev/null @@ -1,63 +0,0 @@ -############################################################################### -# Set default behavior to automatically normalize line endings. -############################################################################### -* text=auto - -############################################################################### -# Set default behavior for command prompt diff. -# -# This is need for earlier builds of msysgit that does not have it on by -# default for csharp files. -# Note: This is only used by command line -############################################################################### -#*.cs diff=csharp - -############################################################################### -# Set the merge driver for project and solution files -# -# Merging from the command prompt will add diff markers to the files if there -# are conflicts (Merging from VS is not affected by the settings below, in VS -# the diff markers are never inserted). Diff markers may cause the following -# file extensions to fail to load in VS. An alternative would be to treat -# these files as binary and thus will always conflict and require user -# intervention with every merge. To do so, just uncomment the entries below -############################################################################### -#*.sln merge=binary -#*.csproj merge=binary -#*.vbproj merge=binary -#*.vcxproj merge=binary -#*.vcproj merge=binary -#*.dbproj merge=binary -#*.fsproj merge=binary -#*.lsproj merge=binary -#*.wixproj merge=binary -#*.modelproj merge=binary -#*.sqlproj merge=binary -#*.wwaproj merge=binary - -############################################################################### -# behavior for image files -# -# image files are treated as binary by default. -############################################################################### -#*.jpg binary -#*.png binary -#*.gif binary - -############################################################################### -# diff behavior for common document formats -# -# Convert binary document formats to text before diffing them. This feature -# is only available from the command line. Turn it on by uncommenting the -# entries below. -############################################################################### -#*.doc diff=astextplain -#*.DOC diff=astextplain -#*.docx diff=astextplain -#*.DOCX diff=astextplain -#*.dot diff=astextplain -#*.DOT diff=astextplain -#*.pdf diff=astextplain -#*.PDF diff=astextplain -#*.rtf diff=astextplain -#*.RTF diff=astextplain diff --git a/.github/workflows/myget-unstable-deploy.yml b/.github/workflows/myget-unstable-deploy.yml deleted file mode 100644 index 272760ab..00000000 --- a/.github/workflows/myget-unstable-deploy.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Unstable release deploy to MyGet - -on: - push: - branches: - - dev - - 'hotfix/**' - -jobs: - build-test-package: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@master - with: - fetch-depth: 0 - - - name: Setup .NET SDK 5.0.x - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '5.0.x' - - - name: Build with dotnet - run: dotnet build --configuration Release - - - name: Run unit tests - run: dotnet test --configuration Release - - - name: Generate nuget package - run: dotnet pack --configuration Release -o nupkg - - - name: Push packages - run: dotnet nuget push './nupkg/*.nupkg' --api-key ${{secrets.MYGET_APIKEY}} --source https://www.myget.org/F/etherna/api/v3/index.json diff --git a/.github/workflows/nuget-stable-deploy.yml b/.github/workflows/nuget-stable-deploy.yml deleted file mode 100644 index a040dd13..00000000 --- a/.github/workflows/nuget-stable-deploy.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Stable release deploy to NuGet - -on: - push: - tags: - - 'v*.*.*' - -jobs: - build-test-package: - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@master - with: - fetch-depth: 0 - - - name: Setup .NET SDK 5.0.x - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '5.0.x' - - - name: Build with dotnet - run: dotnet build --configuration Release - - - name: Run unit tests - run: dotnet test --configuration Release - - - name: Generate nuget package - run: dotnet pack --configuration Release -o nupkg - - - name: Push packages - run: dotnet nuget push './nupkg/*.nupkg' --api-key ${{secrets.NUGET_KEY}} --source https://api.nuget.org/v3/index.json diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 28f83ffa..00000000 --- a/.gitignore +++ /dev/null @@ -1,263 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates -*.vscode -*.DS_Store - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -[Xx]64/ -[Xx]86/ -[Bb]uild/ -bld/ -[Bb]in/ -[Oo]bj/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# DNX -project.lock.json -artifacts/ - -# ASP.NET client libraries and scripts -src/*/wwwroot/_references.js -src/*/wwwroot/lib -src/*/wwwroot/dist -src/*/React/dist - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Generated client files -*.min.css -*.min.js - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml - -# TODO: Un-comment the next line if you do not want to checkin -# your web deploy settings because they may include unencrypted -# passwords -#*.pubxml -*.publishproj - -# NuGet Packages -*.nupkg -*.snupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignoreable files -*.nuget.props -*.nuget.targets - -# Laravel mix manifest files -mix-manifest.json - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Microsoft Azure ApplicationInsights config file -ApplicationInsights.config - -# Windows Store app package directory -AppPackages/ -BundleArtifacts/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ -orleans.codegen.cs -npm-debug.log -package-lock.json - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# LightSwitch generated files -GeneratedArtifacts/ -ModelManifest.xml - -# Paket dependency manager -.paket/paket.exe - -# FAKE - F# Make -.fake/ \ No newline at end of file diff --git a/.vs/Bee.Net/DesignTimeBuild/.dtbcache.v2 b/.vs/Bee.Net/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..026e0f74f108512ea0331e200db50bc353db1e5f GIT binary patch literal 19739 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 KztUfR`TqdE`EphO literal 0 HcmV?d00001 diff --git a/.vs/BeeNet/DesignTimeBuild/.dtbcache.v2 b/.vs/BeeNet/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..bc281eb42f1cef15ace45a94c48c4d9fc401eec3 GIT binary patch literal 381541 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 h_xPjkX`?`CztN&u-=CS*%Cdc7y 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 literal 0 HcmV?d00001 diff --git a/.vs/BeeNet/config/applicationhost.config b/.vs/BeeNet/config/applicationhost.config new file mode 100644 index 00000000..98fc570d --- /dev/null +++ b/.vs/BeeNet/config/applicationhost.config @@ -0,0 +1,1015 @@ + + + + + + + +

+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.vs/BeeNet/project-colors.json b/.vs/BeeNet/project-colors.json new file mode 100644 index 00000000..d84fc254 --- /dev/null +++ b/.vs/BeeNet/project-colors.json @@ -0,0 +1,11 @@ +{ + "Version": 1, + "ProjectMap": { + "653beb35-743e-4612-bef4-7b26c6fb3d8f": { + "ProjectGuid": "653beb35-743e-4612-bef4-7b26c6fb3d8f", + "DisplayName": "BeeNet", + "ColorIndex": 0 + } + }, + "NextColorIndex": 1 +} \ No newline at end of file diff --git a/.vs/BeeNet/v16/.suo b/.vs/BeeNet/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..ac242c4d645cb2cc2d3dfc8350176540b33f4265 GIT binary patch literal 356864 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 literal 0 HcmV?d00001 diff --git a/.vs/BeeNet/v16/TestStore/0/004.testlog b/.vs/BeeNet/v16/TestStore/0/004.testlog new file mode 100644 index 0000000000000000000000000000000000000000..dc8114907bdc7f00512062249ea80c8554a9152a GIT binary patch literal 102429 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 literal 0 HcmV?d00001 diff --git a/.vs/BeeNet/v16/TestStore/0/testlog.manifest b/.vs/BeeNet/v16/TestStore/0/testlog.manifest new file mode 100644 index 0000000000000000000000000000000000000000..35dd20eb5bfb495d0e56ea6ecf1d4f144db58695 GIT binary patch literal 24 bcmXR;&-W=QP7PsZU|?VYVh}i>tmp~=Mt%f_ literal 0 HcmV?d00001 diff --git a/.vs/BeeNet/v17/.futdcache.v1 b/.vs/BeeNet/v17/.futdcache.v1 new file mode 100644 index 0000000000000000000000000000000000000000..4f5026ba29f73e8e262ffa3d2bc511b1d27fa2c2 GIT binary patch literal 114 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 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index fd48ff85..00000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,128 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -info@etherna.io. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.0, available at -https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. - -Community Impact Guidelines were inspired by [Mozilla's code of conduct -enforcement ladder](https://github.com/mozilla/diversity). - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see the FAQ at -https://www.contributor-covenant.org/faq. Translations are available at -https://www.contributor-covenant.org/translations. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 33143f8b..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,106 +0,0 @@ -# Contributing to Bee.Net - -:+1::tada: First off, thanks for taking the time to contribute! :tada::+1: - -The following is a set of guidelines for contributing to Bee.Net and its packages. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request. - -#### Table Of Contents - -[Code of Conduct](#code-of-conduct) - -[I don't want to read this whole thing, I just have a question!!!](#i-dont-want-to-read-this-whole-thing-i-just-have-a-question) - -[How Can I Contribute?](#how-can-i-contribute) - * [Reporting Bugs](#reporting-bugs) - * [Suggesting Enhancements](#suggesting-enhancements) - -[Styleguides](#styleguides) - * [Git Commit Messages](#git-commit-messages) - -## Code of Conduct - -This project and everyone participating in it is governed by the [Etherna Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [info@etherna.io](mailto:info@etherna.io). - -## I don't want to read this whole thing I just have a question!!! - -> **Note:** Please don't file an issue to ask a question. You'll get faster results by using the resources below. - -We have a FAQ on [our website](https://etherna.io/faq), official discussion groups on [Telegram](https://t.me/etherna) and [Discord](https://discord.gg/82DAxpN5), and a forum on [GitHub](https://github.com/Etherna/etherna/discussions). - -## How Can I Contribute? - -### Reporting Bugs - -This section guides you through submitting a bug report for Bee.Net. Following these guidelines helps maintainers and the community understand your report :pencil:, reproduce the behavior :computer: :computer:, and find related reports :mag_right:. - -Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). - -> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one. - -#### Before Submitting A Bug Report - -* **Check the [discussions](https://github.com/Etherna/etherna/discussions)** for a list of common questions and problems. -* **Perform a [issue search](https://etherna.atlassian.net/browse/BNET)** to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue instead of opening a new one. - -#### How Do I Submit A (Good) Bug Report? - -Bugs are tracked as issues on our [Jira site](https://etherna.atlassian.net/). After you've determined which project your bug is related to, create an issue on it. - -Explain the problem and include additional details to help maintainers reproduce the problem: - -* **Use a clear and descriptive title** for the issue to identify the problem. -* **Describe the exact steps which reproduce the problem** in as many details as possible. For example, start by explaining how you configured the service or how you are integrating the library, e.g. which command exactly you used in the terminal, or environment details. -* **Provide specific examples to demonstrate the steps**. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use Jira code blocks. -* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior. -* **Explain which behavior you expected to see instead and why.** -* **Include screenshots and animated GIFs** which show you following the described steps and clearly demonstrate the problem. -* **If you're reporting that service or library crashed**, include a crash report with a stack trace from the operating system. Include the crash report in the issue in a code block, a file attachment, or put it in a [gist](https://gist.github.com/) and provide link to that gist. -* **If the problem wasn't triggered by a specific action**, describe what you were doing before the problem happened and share more information using the guidelines below. - -Provide more context by answering these questions: - -* **Did the problem start happening recently** (e.g. after updating to a new version of service/tool) or was this always a problem? -* If the problem started happening recently, **can you reproduce the problem in an older version?** What's the most recent version in which the problem doesn't happen? -* **Can you reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens. -* If the problem is related to working with files (e.g. opening and editing files), **does the problem happen for all files and projects or only some?** Does the problem happen only when working with local or remote files (e.g. on network drives), with files of a specific type, with large files, or with files in a specific encoding? Is there anything else special about the files you are using? - -Include details about your configuration and environment: - -* **Which version of service/tool are you using?** -* **What's the name and version of the OS you're using?** -* **Are you running service/tool in a virtual machine or Docker container?** If so, which VM software are you using and which operating systems and versions are used for the host and the guest? -* **Which additional packages do you have installed?** - -### Suggesting Enhancements - -This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion :pencil: and find related suggestions :mag_right:. - -Before creating enhancement suggestions, please check [this list](#before-submitting-an-enhancement-suggestion) as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). Include the steps that you imagine you would take if the feature you're requesting existed. - -#### Before Submitting An Enhancement Suggestion - -* **Determine which repository the enhancement should be suggested in.** -* **Perform a [issue search](https://etherna.atlassian.net/browse/BNET)** to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one. - -#### How Do I Submit A (Good) Enhancement Suggestion? - -Enhancement suggestions are tracked as issues on our [Jira site](https://etherna.atlassian.net/). After you've determined which project your enhancement suggestion is related to, create an issue on it and provide the following information: - -* **Use a clear and descriptive title** for the issue to identify the suggestion. -* **Provide a step-by-step description of the suggested enhancement** in as many details as possible. -* **Provide specific examples to demonstrate the steps**. Include copy/pasteable snippets which you use in those examples, as code blocks. -* **Describe the current behavior** and **explain which behavior you expected to see instead** and why. -* **Include screenshots and animated GIFs** which help you demonstrate the steps or point out the part which the suggestion is related to. -* **Explain why this enhancement would be useful** to most service/tool users and isn't something that can or should be implemented as an external package. -* **Specify which version of software you're using.** -* **Specify the name and version of the OS you're using.** - -## Styleguides - -### Git Commit Messages - -* Use the present tense ("Add feature" not "Added feature") -* Use the imperative mood ("Move cursor to..." not "Moves cursor to...") -* Limit the first line to 72 characters or less -* Reference issues and pull requests liberally after the first line -* When only changing documentation, include `[ci skip]` in the commit title diff --git a/GitVersion.yml b/GitVersion.yml deleted file mode 100644 index d43e1d22..00000000 --- a/GitVersion.yml +++ /dev/null @@ -1,5 +0,0 @@ -mode: ContinuousDeployment -branches: {} -ignore: - sha: [] -merge-message-formats: {} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 261eeb9e..00000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md deleted file mode 100644 index 0ed9941d..00000000 --- a/README.md +++ /dev/null @@ -1,29 +0,0 @@ -Bee.Net -========= - -## Overview - -Bee.Net is a .Net client for the [Bee Swarm](https://github.com/ethersphere/bee) node. - -With this client you can consume public and debug api of any Bee node exposing them. - -Current release is compatible with Bee nodes from version `1.4.1` to `1.4.3`. Other versions could have issues. - -Package repositories --------------------- - -You can get latest public releases from Nuget.org feed. Here you can see our [published packages](https://www.nuget.org/profiles/etherna). - -If you'd like to work with latest internal releases, you can use our [custom feed](https://www.myget.org/F/etherna/api/v3/index.json) (NuGet V3) based on MyGet. - -Issue reports -------------- - -If you've discovered a bug, or have an idea for a new feature, please report it to our issue manager based on Jira https://etherna.atlassian.net/projects/BNET. - -Detailed reports with stack traces, actual and expected behaviours are welcome. - -Questions? Problems? ---------------------- - -For questions or problems please write an email to [info@etherna.io](mailto:info@etherna.io). diff --git a/src/BeeNet/BeeNet.csproj b/src/BeeNet/BeeNet.csproj deleted file mode 100644 index 7b842151..00000000 --- a/src/BeeNet/BeeNet.csproj +++ /dev/null @@ -1,47 +0,0 @@ - - - - netstandard2.0 - true - Etherna.BeeNet - - Etherna Sagl - A .Net client for Swarm Bee - - 9.0 - enable - true - AllEnabledByDefault - - Bee.Net - https://github.com/Etherna/bee-net - git - true - true - snupkg - LICENSE - true - true - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - True - - - - - diff --git a/src/BeeNet/BeeNodeClient.cs b/src/BeeNet/BeeNodeClient.cs deleted file mode 100644 index d8eb433a..00000000 --- a/src/BeeNet/BeeNodeClient.cs +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using Etherna.BeeNet.Clients.DebugApi; -using Etherna.BeeNet.Clients.GatewayApi; -using System; -using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Net.Http; -using System.Text.RegularExpressions; - -namespace Etherna.BeeNet -{ - public class BeeNodeClient : IBeeNodeClient, IDisposable - { - // Fields. - private readonly HttpClient httpClient; - private bool disposed; - - // Constructors. - [SuppressMessage("Design", "CA1054:URI-like parameters should not be strings", - Justification = "A string is required by Nswag generated client")] - public BeeNodeClient( - string baseUrl = "http://localhost/", - int? gatewayApiPort = 1633, - int? debugApiPort = 1635, - GatewayApiVersion gatewayApiVersion = GatewayApiVersion.v2_0_0, - DebugApiVersion debugApiVersion = DebugApiVersion.v1_2_0) - { - httpClient = new HttpClient(); - - if (debugApiPort is not null) - { - DebugApiUrl = new Uri(BuildBaseUrl(baseUrl, debugApiPort.Value)); - DebugClient = new BeeDebugClient(httpClient, DebugApiUrl, debugApiVersion); - } - - if (gatewayApiPort is not null) - { - GatewayApiUrl = new Uri(BuildBaseUrl(baseUrl, gatewayApiPort.Value)); - GatewayClient = new BeeGatewayClient(httpClient, GatewayApiUrl, gatewayApiVersion); - } - } - - // Dispose. - public void Dispose() - { - Dispose(true); - GC.SuppressFinalize(this); - } - - protected virtual void Dispose(bool disposing) - { - if (disposed) return; - - // Dispose managed resources. - if (disposing) - httpClient.Dispose(); - - disposed = true; - } - - - // Properties. - public Uri? DebugApiUrl { get; } - public IBeeDebugClient? DebugClient { get; } - public Uri? GatewayApiUrl { get; } - public IBeeGatewayClient? GatewayClient { get; } - - // Helpers. - private static string BuildBaseUrl(string url, int port) - { - var normalizedUrl = url; - if (normalizedUrl.Last() != '/') - normalizedUrl += '/'; - - var baseUrl = ""; - - var urlRegex = new Regex(@"^((?\w+)://)?(?[^/:]+)", - RegexOptions.None, TimeSpan.FromMilliseconds(150)); - var urlMatch = urlRegex.Match(normalizedUrl); - - if (!urlMatch.Success) - throw new ArgumentException("Url is not valid", nameof(url)); - - if (!string.IsNullOrEmpty(urlMatch.Groups["proto"].Value)) - baseUrl += urlMatch.Groups["proto"].Value + "://"; - - baseUrl += $"{urlMatch.Groups["host"].Value}:{port}"; - - return baseUrl; - } - } -} \ No newline at end of file diff --git a/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs b/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs deleted file mode 100644 index 8573ee6b..00000000 --- a/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs +++ /dev/null @@ -1,418 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using Etherna.BeeNet.Clients.DebugApi.V1_2_0; -using Etherna.BeeNet.Clients.DebugApi.V1_2_1; -using Etherna.BeeNet.DtoModels; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.Http; -using System.Text.Json; -using System.Threading.Tasks; - -namespace Etherna.BeeNet.Clients.DebugApi -{ - public class BeeDebugClient : IBeeDebugClient - { - // Fields. - private readonly IBeeDebugClient_1_2_0 beeDebugClient_1_2_0; - private readonly IBeeDebugClient_1_2_1 beeDebugClient_1_2_1; - - // Constructors. - public BeeDebugClient(HttpClient httpClient, Uri baseUrl, DebugApiVersion apiVersion) - { - if (baseUrl is null) - throw new ArgumentNullException(nameof(baseUrl)); - - beeDebugClient_1_2_0 = new BeeDebugClient_1_2_0(httpClient) { BaseUrl = baseUrl.ToString() }; - beeDebugClient_1_2_1 = new BeeDebugClient_1_2_1(httpClient) { BaseUrl = baseUrl.ToString() }; - CurrentApiVersion = apiVersion; - } - - // Properties. - public DebugApiVersion CurrentApiVersion { get; set; } - - // Methods. - public async Task BuyPostageBatchAsync( - int amount, - int depth, - string? label = null, - bool? immutable = null, - int? gasPrice = null) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => ((JsonElement)(await beeDebugClient_1_2_0.StampsPostAsync(amount, depth, label, immutable, gasPrice).ConfigureAwait(false)).BatchID).ToString(), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.StampsPostAsync(amount, depth, label, immutable, gasPrice).ConfigureAwait(false)).BatchID, - _ => throw new InvalidOperationException() - }; - - public async Task CashoutChequeForPeerAsync( - string peerId, - int? gasPrice = null, - long? gasLimit = null) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookCashoutPostAsync(peerId, gasPrice, gasLimit).ConfigureAwait(false)).TransactionHash, - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookCashoutPostAsync(peerId, gasPrice, gasLimit).ConfigureAwait(false)).TransactionHash, - _ => throw new InvalidOperationException() - }; - - public async Task ConnectToPeerAsync(string address) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ConnectAsync(address).ConfigureAwait(false)).Address, - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ConnectAsync(address).ConfigureAwait(false)).Address, - _ => throw new InvalidOperationException() - }; - - public async Task DeleteChunkAsync(string address) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new MessageResponseDto(await beeDebugClient_1_2_0.ChunksDeleteAsync(address).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new MessageResponseDto(await beeDebugClient_1_2_1.ChunksDeleteAsync(address).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task DeletePeerAsync(string address) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new MessageResponseDto(await beeDebugClient_1_2_0.PeersDeleteAsync(address).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new MessageResponseDto(await beeDebugClient_1_2_1.PeersDeleteAsync(address).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task DeleteTransactionAsync( - string txHash, - int? gasPrice = null) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.TransactionsDeleteAsync(txHash).ConfigureAwait(false)).TransactionHash, - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.TransactionsDeleteAsync(txHash).ConfigureAwait(false)).TransactionHash, - _ => throw new InvalidOperationException() - }; - - public async Task DepositIntoChequeBookAsync( - int amount, - int? gasPrice = null) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, - _ => throw new InvalidOperationException() - }; - - public async Task DilutePostageBatchAsync( - string id, - int depth) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => ((JsonElement)(await beeDebugClient_1_2_0.StampsDiluteAsync(id, depth).ConfigureAwait(false)).BatchID).ToString(), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.StampsDiluteAsync(id, depth).ConfigureAwait(false)).BatchID, - _ => throw new InvalidOperationException() - }; - - public async Task GetAddressesAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new AddressDetailDto(await beeDebugClient_1_2_0.AddressesAsync().ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new AddressDetailDto(await beeDebugClient_1_2_1.AddressesAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetAllBalancesAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetAllChequeBookChequesAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques.Select(i => new ChequeBookChequeGetDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques.Select(i => new ChequeBookChequeGetDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetAllConsumedBalancesAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetAllPeerAddressesAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.PeersGetAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.PeersGetAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), - _ => throw new InvalidOperationException() - }; - - public async Task GetAllSettlementsAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new SettlementDto(await beeDebugClient_1_2_0.SettlementsGetAsync().ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new SettlementDto(await beeDebugClient_1_2_1.SettlementsGetAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetAllTimeSettlementsAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new TimeSettlementsDto(await beeDebugClient_1_2_0.TimesettlementsAsync().ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new TimeSettlementsDto(await beeDebugClient_1_2_1.TimesettlementsAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetAllValidPostageBatchesFromAllNodesAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => throw new InvalidOperationException($"Debug API {CurrentApiVersion} doesn't implement this function"), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BatchesAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetBalanceWithPeerAsync(string address) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetBlocklistedPeerAddressesAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.BlocklistAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BlocklistAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), - _ => throw new InvalidOperationException() - }; - - public async Task GetChainStateAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new ChainStateDto(await beeDebugClient_1_2_0.ChainstateAsync().ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new ChainStateDto(await beeDebugClient_1_2_1.ChainstateAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetChequeBookAddressAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookAddressAsync().ConfigureAwait(false)).ChequebookAddress, - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookAddressAsync().ConfigureAwait(false)).ChequebookAddress, - _ => throw new InvalidOperationException() - }; - - public async Task GetChequeBookBalanceAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new ChequeBookBalanceDto(await beeDebugClient_1_2_0.ChequebookBalanceAsync().ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new ChequeBookBalanceDto(await beeDebugClient_1_2_1.ChequebookBalanceAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetChequeBookCashoutForPeerAsync(string peerId) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new ChequeBookCashoutGetDto(await beeDebugClient_1_2_0.ChequebookCashoutGetAsync(peerId).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new ChequeBookCashoutGetDto(await beeDebugClient_1_2_1.ChequebookCashoutGetAsync(peerId).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetChequeBookChequeForPeerAsync(string peerId) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new ChequeBookChequeGetDto(await beeDebugClient_1_2_0.ChequebookChequeGetAsync(peerId).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new ChequeBookChequeGetDto(await beeDebugClient_1_2_1.ChequebookChequeGetAsync(peerId).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetChunkAsync(string address) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new MessageResponseDto(await beeDebugClient_1_2_0.ChunksGetAsync(address).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new MessageResponseDto(await beeDebugClient_1_2_1.ChunksGetAsync(address).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetConsumedBalanceWithPeerAsync(string address) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task GetHealthAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new VersionDto(await beeDebugClient_1_2_0.HealthAsync().ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new VersionDto(await beeDebugClient_1_2_1.HealthAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetNodeInfoAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => throw new InvalidOperationException($"Debug API {CurrentApiVersion} doesn't implement this function"), - DebugApiVersion.v1_2_1 => new NodeInfoDto(await beeDebugClient_1_2_1.NodeAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetOwnedPostageBatchesByNodeAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.StampsGetAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.StampsGetAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetPendingTransactionsAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions.Select(i => new PendingTransactionDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions.Select(i => new PendingTransactionDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task GetPostageBatchAsync(string id) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new PostageBatchDto(await beeDebugClient_1_2_0.StampsGetAsync(id).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new PostageBatchDto(await beeDebugClient_1_2_1.StampsGetAsync(id).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetReadinessAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new VersionDto(await beeDebugClient_1_2_0.ReadinessAsync().ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new VersionDto(await beeDebugClient_1_2_1.ReadinessAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetReserveStateAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new ReserveStateDto(await beeDebugClient_1_2_0.ReservestateAsync().ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new ReserveStateDto(await beeDebugClient_1_2_1.ReservestateAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetSettlementsWithPeerAsync(string address) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.SettlementsGetAsync().ConfigureAwait(false)).Settlements.Select(i => new SettlementDataDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.SettlementsGetAsync().ConfigureAwait(false)).Settlements.Select(i => new SettlementDataDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task GetStampsBucketsForBatchAsync(string batchId) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new StampsBucketsDto(await beeDebugClient_1_2_0.StampsBucketsAsync(batchId).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new StampsBucketsDto(await beeDebugClient_1_2_1.StampsBucketsAsync(batchId).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetSwarmTopologyAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new TopologyDto(await beeDebugClient_1_2_0.TopologyAsync().ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new TopologyDto(await beeDebugClient_1_2_1.TopologyAsync().ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetTagInfoAsync(int uid) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new TagDto(await beeDebugClient_1_2_0.TagsAsync(uid).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new TagDto(await beeDebugClient_1_2_1.TagsAsync(uid).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetTransactionInfoAsync(string txHash) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new TransactionsDto(await beeDebugClient_1_2_0.TransactionsGetAsync(txHash).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new TransactionsDto(await beeDebugClient_1_2_1.TransactionsGetAsync(txHash).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task GetWelcomeMessageAsync() => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.WelcomeMessageGetAsync().ConfigureAwait(false)).WelcomeMessage, - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.WelcomeMessageGetAsync().ConfigureAwait(false)).WelcomeMessage, - _ => throw new InvalidOperationException() - }; - - public async Task RebroadcastTransactionAsync(string txHash) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.TransactionsPostAsync(txHash).ConfigureAwait(false)).TransactionHash, - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.TransactionsPostAsync(txHash).ConfigureAwait(false)).TransactionHash, - _ => throw new InvalidOperationException() - }; - - public async Task SetWelcomeMessageAsync(string welcomeMessage) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => new VersionDto(await beeDebugClient_1_2_0.WelcomeMessagePostAsync( - new DebugApi.V1_2_0.Body - { - WelcomeMessage = welcomeMessage - }).ConfigureAwait(false)), - DebugApiVersion.v1_2_1 => new VersionDto(await beeDebugClient_1_2_1.WelcomeMessagePostAsync( - new DebugApi.V1_2_1.Body - { - WelcomeMessage = welcomeMessage - }).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task TopUpPostageBatchAsync( - string id, - int amount) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => ((JsonElement)(await beeDebugClient_1_2_0.StampsTopupAsync(id, amount).ConfigureAwait(false)).BatchID).ToString(), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.StampsTopupAsync(id, amount).ConfigureAwait(false)).BatchID, - _ => throw new InvalidOperationException() - }; - - public async Task TryConnectToPeerAsync(string peerId) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.PingpongAsync(peerId).ConfigureAwait(false)).Rtt, - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.PingpongAsync(peerId).ConfigureAwait(false)).Rtt, - _ => throw new InvalidOperationException() - }; - - public async Task WithdrawFromChequeBookAsync( - int amount, - int? gasPrice = null) => - CurrentApiVersion switch - { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, - _ => throw new InvalidOperationException() - }; - } -} \ No newline at end of file diff --git a/src/BeeNet/Clients/DebugApi/DebugApiVersion.cs b/src/BeeNet/Clients/DebugApi/DebugApiVersion.cs deleted file mode 100644 index 0ee6ae3f..00000000 --- a/src/BeeNet/Clients/DebugApi/DebugApiVersion.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -namespace Etherna.BeeNet.Clients.DebugApi -{ - public enum DebugApiVersion - { - v1_2_0, - v1_2_1 - } -} diff --git a/src/BeeNet/Clients/DebugApi/IBeeDebugClient.cs b/src/BeeNet/Clients/DebugApi/IBeeDebugClient.cs deleted file mode 100644 index 39bd1a36..00000000 --- a/src/BeeNet/Clients/DebugApi/IBeeDebugClient.cs +++ /dev/null @@ -1,292 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using Etherna.BeeNet.DtoModels; -using System.Collections.Generic; -using System.Threading.Tasks; - -namespace Etherna.BeeNet.Clients.DebugApi -{ - public interface IBeeDebugClient - { - // Properties. - DebugApiVersion CurrentApiVersion { get; set; } - - // Methods. - /// Buy a new postage batch. - /// Amount of BZZ added that the postage batch will have. - /// Batch depth which specifies how many chunks can be signed with the batch. It is a logarithm. Must be higher than default bucket depth (16) - /// An optional label for this batch - /// Gas price for transaction - /// Returns the newly created postage batch ID - /// A server side error occurred. - Task BuyPostageBatchAsync( - int amount, - int depth, - string? label = null, - bool? immutable = null, - int? gasPrice = null); - - /// Cashout the last cheque for the peer - /// Swarm address of peer - /// Gas price for transaction - /// Gas limit for transaction - /// Hash of the transaction - /// A server side error occurred. - Task CashoutChequeForPeerAsync( - string peerId, - int? gasPrice = null, - long? gasLimit = null); - - /// Connect to address - /// Underlay address of peer - /// Returns overlay address of connected peer - /// A server side error occurred. - Task ConnectToPeerAsync(string address); - - /// Delete a chunk from local storage - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - Task DeleteChunkAsync(string address); - - /// Remove peer - /// Swarm address of peer - /// Disconnected peer - /// A server side error occurred. - Task DeletePeerAsync(string address); - - /// Cancel existing transaction - /// Hash of the transaction - /// Gas price for transaction - /// Hash of the transaction - /// A server side error occurred. - Task DeleteTransactionAsync( - string txHash, - int? gasPrice = null); - - /// Deposit tokens from overlay address into chequebook - /// amount of tokens to deposit - /// Gas price for transaction - /// Transaction hash of the deposit transaction - /// A server side error occurred. - Task DepositIntoChequeBookAsync( - int amount, - int? gasPrice = null); - - /// Dilute an existing postage batch. - /// Batch ID to dilute - /// New batch depth. Must be higher than the previous depth. - /// Returns the postage batch ID that was diluted. - /// A server side error occurred. - Task DilutePostageBatchAsync(string id, int depth); - - /// Get overlay and underlay addresses of the node - /// Own node underlay and overlay addresses - /// A server side error occurred. - Task GetAddressesAsync(); - - /// Get the balances with all known peers including prepaid services - /// Own balances with all known peers - /// A server side error occurred. - Task> GetAllBalancesAsync(); - - /// Get last cheques for all peers - /// Last cheques - /// A server side error occurred. - Task> GetAllChequeBookChequesAsync(); - - /// Get the past due consumption balances with all known peers - /// Own past due consumption balances with all known peers - /// A server side error occurred. - Task> GetAllConsumedBalancesAsync(); - - /// Get a list of peers - /// Returns overlay addresses of connected peers - /// A server side error occurred. - Task> GetAllPeerAddressesAsync(); - - /// Get settlements with all known peers and total amount sent or received - /// Settlements with all known peers and total amount sent or received - /// A server side error occurred. - Task GetAllSettlementsAsync(); - - /// Get time based settlements with all known peers and total amount sent or received - /// Time based settlements with all known peers and total amount sent or received - /// A server side error occurred. - Task GetAllTimeSettlementsAsync(); - - /// - /// Get all globally available batches that were purchased by all nodes. - /// - /// - /// Returns an array of all available and currently valid postage batches. - /// A server side error occurred. - Task> GetAllValidPostageBatchesFromAllNodesAsync(); - - /// Get the balances with a specific peer including prepaid services - /// Swarm address of peer - /// Balance with the specific peer - /// A server side error occurred. - Task> GetBalanceWithPeerAsync(string address); - - /// Get a list of blocklisted peers - /// Returns overlay addresses of blocklisted peers - /// A server side error occurred. - Task> GetBlocklistedPeerAddressesAsync(); - - /// Get chain state - /// Chain State - /// A server side error occurred. - Task GetChainStateAsync(); - - /// Get the address of the chequebook contract used - /// Ethereum address of chequebook contract - /// A server side error occurred. - Task GetChequeBookAddressAsync(); - - /// Get the balance of the chequebook - /// Balance of the chequebook - /// A server side error occurred. - Task GetChequeBookBalanceAsync(); - - /// Get last cashout action for the peer - /// Swarm address of peer - /// Cashout status - /// A server side error occurred. - Task GetChequeBookCashoutForPeerAsync(string peerId); - - /// Get last cheques for the peer - /// Swarm address of peer - /// Last cheques - /// A server side error occurred. - Task GetChequeBookChequeForPeerAsync(string peerId); - - /// Check if chunk at address exists locally - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - Task GetChunkAsync(string address); - - /// Get the past due consumption balance with a specific peer - /// Swarm address of peer - /// Past-due consumption balance with the specific peer - /// A server side error occurred. - Task> GetConsumedBalanceWithPeerAsync(string address); - - /// Get health of node - /// Health State of node - /// A server side error occurred. - Task GetHealthAsync(); - - /// - /// Get information about the node - /// - /// Information about the node - /// A server side error occurred. - Task GetNodeInfoAsync(); - - /// Get all owned postage batches by this node - /// List of all owned postage batches - /// A server side error occurred - Task> GetOwnedPostageBatchesByNodeAsync(); - - /// Get list of pending transactions - /// List of pending transactions - /// A server side error occurred. - Task> GetPendingTransactionsAsync(); - - /// Get an individual postage batch status - /// Swarm address of the stamp - /// Returns an individual postage batch state - /// A server side error occurred. - Task GetPostageBatchAsync(string id); - - /// Get readiness state of node - /// Health State of node - /// A server side error occurred. - Task GetReadinessAsync(); - - /// Get reserve state - /// Reserve State - /// A server side error occurred. - Task GetReserveStateAsync(); - - /// Get amount of sent and received from settlements with a peer - /// Swarm address of peer - /// Amount of sent or received from settlements with a peer - /// A server side error occurred. - Task> GetSettlementsWithPeerAsync(string address); - - /// Get extended bucket data of a batch - /// Swarm address of the stamp - /// Returns extended bucket data of the provided batch ID - /// A server side error occurred. - Task GetStampsBucketsForBatchAsync(string batchId); - - /// Swarm topology of the bee node - /// A server side error occurred. - Task GetSwarmTopologyAsync(); - - /// Get Tag information using Uid - /// Uid - /// Tag info - /// A server side error occurred. - Task GetTagInfoAsync(int uid); - - /// Get information about a sent transaction - /// Hash of the transaction - /// Get info about transaction - /// A server side error occurred. - Task GetTransactionInfoAsync(string txHash); - - /// Get configured P2P welcome message - /// Welcome message - /// A server side error occurred. - Task GetWelcomeMessageAsync(); - - /// Rebroadcast existing transaction - /// Hash of the transaction - /// Hash of the transaction - /// A server side error occurred. - Task RebroadcastTransactionAsync(string txHash); - - /// Set P2P welcome message - /// OK - /// A server side error occurred. - Task SetWelcomeMessageAsync(string welcomeMessage); - - /// Top up an existing postage batch. - /// Batch ID to top up - /// Amount of BZZ per chunk to top up to an existing postage batch. - /// Returns the postage batch ID that was topped up - /// A server side error occurred. - Task TopUpPostageBatchAsync(string id, int amount); - - /// Try connection to node - /// Swarm address of peer - /// Returns round trip time for given peer - /// A server side error occurred. - Task TryConnectToPeerAsync(string peerId); - - /// Withdraw tokens from the chequebook to the overlay address - /// amount of tokens to withdraw - /// Gas price for transaction - /// Transaction hash of the withdraw transaction - /// A server side error occurred. - Task WithdrawFromChequeBookAsync( - int amount, - int? gasPrice = null); - } -} diff --git a/src/BeeNet/Clients/DebugApi/V1_2_1/BeeDebugClient_1_2_1.cs b/src/BeeNet/Clients/DebugApi/V1_2_1/BeeDebugClient_1_2_1.cs deleted file mode 100644 index ee5d177a..00000000 --- a/src/BeeNet/Clients/DebugApi/V1_2_1/BeeDebugClient_1_2_1.cs +++ /dev/null @@ -1,7439 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//---------------------- -// -// Generated using the NSwag toolchain v13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org) -// -//---------------------- - -#nullable enable - -using Etherna.BeeNet.Exceptions; - -#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended." -#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword." -#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?' -#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ... -#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..." -#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'" -#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant" -#pragma warning disable 8603 // Disable "CS8603 Possible null reference return" - -namespace Etherna.BeeNet.Clients.DebugApi.V1_2_1 -{ - using System = global::System; - - [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial interface IBeeDebugClient_1_2_1 - { - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get overlay and underlay addresses of the node - /// - /// Own node underlay and overlay addresses - /// A server side error occurred. - System.Threading.Tasks.Task AddressesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balances with all known peers including prepaid services - /// - /// Own balances with all known peers - /// A server side error occurred. - System.Threading.Tasks.Task BalancesGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balances with a specific peer including prepaid services - /// - /// Swarm address of peer - /// Balance with the specific peer - /// A server side error occurred. - System.Threading.Tasks.Task BalancesGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get a list of blocklisted peers - /// - /// Returns overlay addresses of blocklisted peers - /// A server side error occurred. - System.Threading.Tasks.Task BlocklistAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the past due consumption balances with all known peers - /// - /// Own past due consumption balances with all known peers - /// A server side error occurred. - System.Threading.Tasks.Task ConsumedGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the past due consumption balance with a specific peer - /// - /// Swarm address of peer - /// Past-due consumption balance with the specific peer - /// A server side error occurred. - System.Threading.Tasks.Task ConsumedGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the address of the chequebook contract used - /// - /// Ethereum address of chequebook contract - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookAddressAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balance of the chequebook - /// - /// Balance of the chequebook - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookBalanceAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Check if chunk at address exists locally - /// - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - System.Threading.Tasks.Task ChunksGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Delete a chunk from local storage - /// - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - System.Threading.Tasks.Task ChunksDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Connect to address - /// - /// Underlay address of peer - /// Returns overlay address of connected peer - /// A server side error occurred. - System.Threading.Tasks.Task ConnectAsync(string multiAddress, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get reserve state - /// - /// Reserve State - /// A server side error occurred. - System.Threading.Tasks.Task ReservestateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get chain state - /// - /// Chain State - /// A server side error occurred. - System.Threading.Tasks.Task ChainstateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get information about the node - /// - /// Information about the node - /// A server side error occurred. - System.Threading.Tasks.Task NodeAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get health of node - /// - /// Health State of node - /// A server side error occurred. - System.Threading.Tasks.Task HealthAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get a list of peers - /// - /// Returns overlay addresses of connected peers - /// A server side error occurred. - System.Threading.Tasks.Task PeersGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Remove peer - /// - /// Swarm address of peer - /// Disconnected peer - /// A server side error occurred. - System.Threading.Tasks.Task PeersDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Try connection to node - /// - /// Swarm address of peer - /// Returns round trip time for given peer - /// A server side error occurred. - System.Threading.Tasks.Task PingpongAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get readiness state of node - /// - /// Health State of node - /// A server side error occurred. - System.Threading.Tasks.Task ReadinessAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get amount of sent and received from settlements with a peer - /// - /// Swarm address of peer - /// Amount of sent or received from settlements with a peer - /// A server side error occurred. - System.Threading.Tasks.Task SettlementsGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get settlements with all known peers and total amount sent or received - /// - /// Settlements with all known peers and total amount sent or received - /// A server side error occurred. - System.Threading.Tasks.Task SettlementsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get time based settlements with all known peers and total amount sent or received - /// - /// Time based settlements with all known peers and total amount sent or received - /// A server side error occurred. - System.Threading.Tasks.Task TimesettlementsAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// Swarm topology of the bee node - /// A server side error occurred. - System.Threading.Tasks.Task TopologyAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get configured P2P welcome message - /// - /// Welcome message - /// A server side error occurred. - System.Threading.Tasks.Task WelcomeMessageGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Set P2P welcome message - /// - /// OK - /// A server side error occurred. - System.Threading.Tasks.Task WelcomeMessagePostAsync(Body? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cashout action for the peer - /// - /// Swarm address of peer - /// Cashout status - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookCashoutGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Cashout the last cheque for the peer - /// - /// Swarm address of peer - /// Gas price for transaction - /// Gas limit for transaction - /// OK - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookCashoutPostAsync(string peer_id, int? gas_price = null, long? gas_limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cheques for the peer - /// - /// Swarm address of peer - /// Last cheques - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookChequeGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cheques for all peers - /// - /// Last cheques - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookChequeGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Deposit tokens from overlay address into chequebook - /// - /// amount of tokens to deposit - /// Gas price for transaction - /// Transaction hash of the deposit transaction - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookDepositAsync(int amount, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Withdraw tokens from the chequebook to the overlay address - /// - /// amount of tokens to withdraw - /// Gas price for transaction - /// Transaction hash of the withdraw transaction - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookWithdrawAsync(int amount, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get Tag information using Uid - /// - /// Uid - /// Tag info - /// A server side error occurred. - System.Threading.Tasks.Task TagsAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get list of pending transactions - /// - /// List of pending transactions - /// A server side error occurred. - System.Threading.Tasks.Task TransactionsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get information about a sent transaction - /// - /// Hash of the transaction - /// Get info about transaction - /// A server side error occurred. - System.Threading.Tasks.Task TransactionsGetAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Rebroadcast existing transaction - /// - /// Hash of the transaction - /// Hash of the transaction - /// A server side error occurred. - System.Threading.Tasks.Task TransactionsPostAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Cancel existing transaction - /// - /// Hash of the transaction - /// Gas price for transaction - /// Hash of the transaction - /// A server side error occurred. - System.Threading.Tasks.Task TransactionsDeleteAsync(string txHash, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get all available stamps for this node - /// - /// Returns an array of all available postage batches. - /// A server side error occurred. - System.Threading.Tasks.Task StampsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get an individual postage batch status - /// - /// Swarm address of the stamp - /// Returns an individual postage batch state - /// A server side error occurred. - System.Threading.Tasks.Task StampsGetAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get extended bucket data of a batch - /// - /// Swarm address of the stamp - /// Returns extended bucket data of the provided batch ID - /// A server side error occurred. - System.Threading.Tasks.Task StampsBucketsAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Buy a new postage batch. - /// - /// Amount of BZZ added that the postage batch will have. - /// Batch depth which specifies how many chunks can be signed with the batch. It is a logarithm. Must be higher than default bucket depth (16) - /// An optional label for this batch - /// Gas price for transaction - /// Returns the newly created postage batch ID - /// A server side error occurred. - System.Threading.Tasks.Task StampsPostAsync(int amount, int depth, string? label = null, bool? immutable = null, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Top up an existing postage batch. - /// - /// Batch ID to top up - /// Amount of BZZ per chunk to top up to an existing postage batch. - /// Returns the postage batch ID that was topped up - /// A server side error occurred. - System.Threading.Tasks.Task StampsTopupAsync(string id, int amount, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Dilute an existing postage batch. - /// - /// Batch ID to dilute - /// New batch depth. Must be higher than the previous depth. - /// Returns the postage batch ID that was diluted. - /// A server side error occurred. - System.Threading.Tasks.Task StampsDiluteAsync(string id, int depth, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get all globally available batches that were purchased by all nodes. - /// - /// Returns an array of all available and currently valid postage batches. - /// A server side error occurred. - System.Threading.Tasks.Task BatchesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - } - - [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class BeeDebugClient_1_2_1 : IBeeDebugClient_1_2_1 - { - private string _baseUrl = "http://{apiRoot}:{port}"; - private System.Net.Http.HttpClient _httpClient; - private System.Lazy _settings; - - public BeeDebugClient_1_2_1(System.Net.Http.HttpClient httpClient) - { - _httpClient = httpClient; - _settings = new System.Lazy(CreateSerializerSettings); - } - - private System.Text.Json.JsonSerializerOptions CreateSerializerSettings() - { - var settings = new System.Text.Json.JsonSerializerOptions(); - UpdateJsonSerializerSettings(settings); - return settings; - } - - public string BaseUrl - { - get { return _baseUrl; } - set { _baseUrl = value; } - } - - protected System.Text.Json.JsonSerializerOptions JsonSerializerSettings { get { return _settings.Value; } } - - partial void UpdateJsonSerializerSettings(System.Text.Json.JsonSerializerOptions settings); - - partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url); - partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder); - partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get overlay and underlay addresses of the node - /// - /// Own node underlay and overlay addresses - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task AddressesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/addresses"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balances with all known peers including prepaid services - /// - /// Own balances with all known peers - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BalancesGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/balances"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balances with a specific peer including prepaid services - /// - /// Swarm address of peer - /// Balance with the specific peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BalancesGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/balances/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get a list of blocklisted peers - /// - /// Returns overlay addresses of blocklisted peers - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BlocklistAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/blocklist"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the past due consumption balances with all known peers - /// - /// Own past due consumption balances with all known peers - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ConsumedGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/consumed"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the past due consumption balance with a specific peer - /// - /// Swarm address of peer - /// Past-due consumption balance with the specific peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ConsumedGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/consumed/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the address of the chequebook contract used - /// - /// Ethereum address of chequebook contract - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookAddressAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/address"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balance of the chequebook - /// - /// Balance of the chequebook - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookBalanceAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/balance"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Check if chunk at address exists locally - /// - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChunksGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Delete a chunk from local storage - /// - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChunksDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("DELETE"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Connect to address - /// - /// Underlay address of peer - /// Returns overlay address of connected peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ConnectAsync(string multiAddress, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (multiAddress == null) - throw new System.ArgumentNullException("multiAddress"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/connect/{multiAddress}"); - urlBuilder_.Replace("{multiAddress}", System.Uri.EscapeDataString(ConvertToString(multiAddress, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get reserve state - /// - /// Reserve State - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ReservestateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/reservestate"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get chain state - /// - /// Chain State - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChainstateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chainstate"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get information about the node - /// - /// Information about the node - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task NodeAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/node"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get health of node - /// - /// Health State of node - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task HealthAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/health"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get a list of peers - /// - /// Returns overlay addresses of connected peers - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PeersGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/peers"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Remove peer - /// - /// Swarm address of peer - /// Disconnected peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PeersDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/peers/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("DELETE"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Try connection to node - /// - /// Swarm address of peer - /// Returns round trip time for given peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PingpongAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (peer_id == null) - throw new System.ArgumentNullException("peer_id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pingpong/{peer-id}"); - urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get readiness state of node - /// - /// Health State of node - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ReadinessAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/readiness"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get amount of sent and received from settlements with a peer - /// - /// Swarm address of peer - /// Amount of sent or received from settlements with a peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task SettlementsGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/settlements/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get settlements with all known peers and total amount sent or received - /// - /// Settlements with all known peers and total amount sent or received - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task SettlementsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/settlements"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get time based settlements with all known peers and total amount sent or received - /// - /// Time based settlements with all known peers and total amount sent or received - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TimesettlementsAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/timesettlements"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// Swarm topology of the bee node - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TopologyAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/topology"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get configured P2P welcome message - /// - /// Welcome message - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task WelcomeMessageGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/welcome-message"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Set P2P welcome message - /// - /// OK - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task WelcomeMessagePostAsync(Body? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/welcome-message"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); - content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - request_.Content = content_; - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cashout action for the peer - /// - /// Swarm address of peer - /// Cashout status - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookCashoutGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (peer_id == null) - throw new System.ArgumentNullException("peer_id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cashout/{peer-id}"); - urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Cashout the last cheque for the peer - /// - /// Swarm address of peer - /// Gas price for transaction - /// Gas limit for transaction - /// OK - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookCashoutPostAsync(string peer_id, int? gas_price = null, long? gas_limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (peer_id == null) - throw new System.ArgumentNullException("peer_id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cashout/{peer-id}"); - urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - - if (gas_limit != null) - request_.Headers.TryAddWithoutValidation("gas-limit", ConvertToString(gas_limit, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 429) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cheques for the peer - /// - /// Swarm address of peer - /// Last cheques - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookChequeGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (peer_id == null) - throw new System.ArgumentNullException("peer_id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cheque/{peer-id}"); - urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cheques for all peers - /// - /// Last cheques - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookChequeGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cheque"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Deposit tokens from overlay address into chequebook - /// - /// amount of tokens to deposit - /// Gas price for transaction - /// Transaction hash of the deposit transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookDepositAsync(int amount, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (amount == null) - throw new System.ArgumentNullException("amount"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/deposit?"); - urlBuilder_.Append(System.Uri.EscapeDataString("amount") + "=").Append(System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Withdraw tokens from the chequebook to the overlay address - /// - /// amount of tokens to withdraw - /// Gas price for transaction - /// Transaction hash of the withdraw transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookWithdrawAsync(int amount, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (amount == null) - throw new System.ArgumentNullException("amount"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/withdraw?"); - urlBuilder_.Append(System.Uri.EscapeDataString("amount") + "=").Append(System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get Tag information using Uid - /// - /// Uid - /// Tag info - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TagsAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (uid == null) - throw new System.ArgumentNullException("uid"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags/{uid}"); - urlBuilder_.Replace("{uid}", System.Uri.EscapeDataString(ConvertToString(uid, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get list of pending transactions - /// - /// List of pending transactions - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TransactionsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get information about a sent transaction - /// - /// Hash of the transaction - /// Get info about transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TransactionsGetAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (txHash == null) - throw new System.ArgumentNullException("txHash"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions/{txHash}"); - urlBuilder_.Replace("{txHash}", System.Uri.EscapeDataString(ConvertToString(txHash, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Rebroadcast existing transaction - /// - /// Hash of the transaction - /// Hash of the transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TransactionsPostAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (txHash == null) - throw new System.ArgumentNullException("txHash"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions/{txHash}"); - urlBuilder_.Replace("{txHash}", System.Uri.EscapeDataString(ConvertToString(txHash, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Cancel existing transaction - /// - /// Hash of the transaction - /// Gas price for transaction - /// Hash of the transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TransactionsDeleteAsync(string txHash, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (txHash == null) - throw new System.ArgumentNullException("txHash"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions/{txHash}"); - urlBuilder_.Replace("{txHash}", System.Uri.EscapeDataString(ConvertToString(txHash, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - request_.Method = new System.Net.Http.HttpMethod("DELETE"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get all available stamps for this node - /// - /// Returns an array of all available postage batches. - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get an individual postage batch status - /// - /// Swarm address of the stamp - /// Returns an individual postage batch state - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsGetAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (id == null) - throw new System.ArgumentNullException("id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/{id}"); - urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get extended bucket data of a batch - /// - /// Swarm address of the stamp - /// Returns extended bucket data of the provided batch ID - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsBucketsAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (id == null) - throw new System.ArgumentNullException("id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/{id}/buckets"); - urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Buy a new postage batch. - /// - /// Amount of BZZ added that the postage batch will have. - /// Batch depth which specifies how many chunks can be signed with the batch. It is a logarithm. Must be higher than default bucket depth (16) - /// An optional label for this batch - /// Gas price for transaction - /// Returns the newly created postage batch ID - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsPostAsync(int amount, int depth, string? label = null, bool? immutable = null, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (amount == null) - throw new System.ArgumentNullException("amount"); - - if (depth == null) - throw new System.ArgumentNullException("depth"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/{amount}/{depth}?"); - urlBuilder_.Replace("{amount}", System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{depth}", System.Uri.EscapeDataString(ConvertToString(depth, System.Globalization.CultureInfo.InvariantCulture))); - if (label != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("label") + "=").Append(System.Uri.EscapeDataString(ConvertToString(label, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (immutable != null) - request_.Headers.TryAddWithoutValidation("immutable", ConvertToString(immutable, System.Globalization.CultureInfo.InvariantCulture)); - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 429) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Top up an existing postage batch. - /// - /// Batch ID to top up - /// Amount of BZZ per chunk to top up to an existing postage batch. - /// Returns the postage batch ID that was topped up - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsTopupAsync(string id, int amount, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (id == null) - throw new System.ArgumentNullException("id"); - - if (amount == null) - throw new System.ArgumentNullException("amount"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/topup/{id}/{amount}"); - urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{amount}", System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("PATCH"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 202) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 402) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 429) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Dilute an existing postage batch. - /// - /// Batch ID to dilute - /// New batch depth. Must be higher than the previous depth. - /// Returns the postage batch ID that was diluted. - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsDiluteAsync(string id, int depth, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (id == null) - throw new System.ArgumentNullException("id"); - - if (depth == null) - throw new System.ArgumentNullException("depth"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/dilute/{id}/{depth}"); - urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{depth}", System.Uri.EscapeDataString(ConvertToString(depth, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("PATCH"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 202) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 429) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get all globally available batches that were purchased by all nodes. - /// - /// Returns an array of all available and currently valid postage batches. - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BatchesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/batches"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - protected struct ObjectResponseResult - { - public ObjectResponseResult(T responseObject, string responseText) - { - this.Object = responseObject; - this.Text = responseText; - } - - public T Object { get; } - - public string Text { get; } - } - - public bool ReadResponseAsString { get; set; } - - protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken) - { - if (response == null || response.Content == null) - { - return new ObjectResponseResult(default(T)!, string.Empty); - } - - if (ReadResponseAsString) - { - var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - var typedBody = System.Text.Json.JsonSerializer.Deserialize(responseText, JsonSerializerSettings); - return new ObjectResponseResult(typedBody!, responseText); - } - catch (System.Text.Json.JsonException exception) - { - var message = "Could not deserialize the response body string as " + typeof(T).FullName + "."; - throw new BeeNetDebugApiException(message, (int)response.StatusCode, responseText, headers, exception); - } - } - else - { - try - { - using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false)) - { - var typedBody = await System.Text.Json.JsonSerializer.DeserializeAsync(responseStream, JsonSerializerSettings, cancellationToken).ConfigureAwait(false); - return new ObjectResponseResult(typedBody!, string.Empty); - } - } - catch (System.Text.Json.JsonException exception) - { - var message = "Could not deserialize the response body stream as " + typeof(T).FullName + "."; - throw new BeeNetDebugApiException(message, (int)response.StatusCode, string.Empty, headers, exception); - } - } - } - - private string ConvertToString(object? value, System.Globalization.CultureInfo cultureInfo) - { - if (value == null) - { - return ""; - } - - if (value is System.Enum) - { - var name = System.Enum.GetName(value.GetType(), value); - if (name != null) - { - var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name); - if (field != null) - { - var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute)) - as System.Runtime.Serialization.EnumMemberAttribute; - if (attribute != null) - { - return attribute.Value != null ? attribute.Value : name; - } - } - - var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo)); - return converted == null ? string.Empty : converted; - } - } - else if (value is bool) - { - return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant(); - } - else if (value is byte[]) - { - return System.Convert.ToBase64String((byte[]) value); - } - else if (value.GetType().IsArray) - { - var array = System.Linq.Enumerable.OfType((System.Array) value); - return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo))); - } - - var result = System.Convert.ToString(value, cultureInfo); - return result == null ? "" : result; - } - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Body - { - - [System.Text.Json.Serialization.JsonPropertyName("welcomeMessage")] - public string WelcomeMessage { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response - { - - [System.Text.Json.Serialization.JsonPropertyName("overlay")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Overlay { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("underlay")] - public System.Collections.Generic.ICollection Underlay { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("ethereum")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Ethereum { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("publicKey")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{66}$")] - public string PublicKey { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("pssPublicKey")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{66}$")] - public string PssPublicKey { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response2 - { - - [System.Text.Json.Serialization.JsonPropertyName("balances")] - public System.Collections.Generic.ICollection Balances { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response3 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("balance")] - public string Balance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response4 - { - - [System.Text.Json.Serialization.JsonPropertyName("peers")] - public System.Collections.Generic.ICollection? Peers { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response5 - { - - [System.Text.Json.Serialization.JsonPropertyName("balances")] - public System.Collections.Generic.ICollection Balances { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response6 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("balance")] - public string Balance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response7 - { - - [System.Text.Json.Serialization.JsonPropertyName("chequebookAddress")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string ChequebookAddress { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response8 - { - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("totalBalance")] - public string TotalBalance { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("availableBalance")] - public string AvailableBalance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response9 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response10 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response11 - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response12 - { - - [System.Text.Json.Serialization.JsonPropertyName("radius")] - public int Radius { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("available")] - public int Available { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("outer")] - public string Outer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("inner")] - public string Inner { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response13 - { - - [System.Text.Json.Serialization.JsonPropertyName("block")] - public int Block { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("totalAmount")] - public int TotalAmount { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("currentPrice")] - public int CurrentPrice { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response14 - { - /// - /// Gives back in what mode the Bee client has been started. The modes are mutually exclusive * `light` - light node; does not participate in forwarding or storing chunks * `full` - full node * `dev` - development mode; Bee client for development purposes, blockchain operations are mocked - ///
- ///
- - [System.Text.Json.Serialization.JsonPropertyName("beeMode")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] - public Response14BeeMode BeeMode { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("gatewayMode")] - public bool GatewayMode { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebookEnabled")] - public bool ChequebookEnabled { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("swapEnabled")] - public bool SwapEnabled { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response15 - { - - [System.Text.Json.Serialization.JsonPropertyName("status")] - public string Status { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("version")] - public string Version { get; set; } = default!; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] - public string ApiVersion { get; set; } = "0.0.0"; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] - public string DebugApiVersion { get; set; } = "0.0.0"; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response16 - { - - [System.Text.Json.Serialization.JsonPropertyName("peers")] - public System.Collections.Generic.ICollection? Peers { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response17 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response18 - { - /// - /// Go time.Duration format - /// - - [System.Text.Json.Serialization.JsonPropertyName("rtt")] - public string Rtt { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response19 - { - - [System.Text.Json.Serialization.JsonPropertyName("status")] - public string Status { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("version")] - public string Version { get; set; } = default!; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] - public string ApiVersion { get; set; } = "0.0.0"; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] - public string DebugApiVersion { get; set; } = "0.0.0"; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response20 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("received")] - public int Received { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sent")] - public int Sent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response21 - { - - [System.Text.Json.Serialization.JsonPropertyName("totalReceived")] - public int TotalReceived { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("totalSent")] - public int TotalSent { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("settlements")] - public System.Collections.Generic.ICollection? Settlements { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response22 - { - - [System.Text.Json.Serialization.JsonPropertyName("totalReceived")] - public int TotalReceived { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("totalSent")] - public int TotalSent { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("settlements")] - public System.Collections.Generic.ICollection? Settlements { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response23 - { - - [System.Text.Json.Serialization.JsonPropertyName("baseAddr")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string BaseAddr { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("population")] - public int Population { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connected")] - public int Connected { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("timestamp")] - public string Timestamp { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("nnLowWatermark")] - public int NnLowWatermark { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("depth")] - public int Depth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bins")] - public System.Collections.Generic.IDictionary Bins { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response24 - { - - [System.Text.Json.Serialization.JsonPropertyName("welcomeMessage")] - public string WelcomeMessage { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response25 - { - - [System.Text.Json.Serialization.JsonPropertyName("status")] - public string Status { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("version")] - public string Version { get; set; } = default!; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] - public string ApiVersion { get; set; } = "0.0.0"; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] - public string DebugApiVersion { get; set; } = "0.0.0"; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response26 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastCashedCheque")] - public LastCashedCheque LastCashedCheque { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("result")] - public Result Result { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("uncashedAmount")] - public string UncashedAmount { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response27 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response28 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastreceived")] - public Lastreceived Lastreceived { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastsent")] - public Lastsent Lastsent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response29 - { - - [System.Text.Json.Serialization.JsonPropertyName("lastcheques")] - public System.Collections.Generic.ICollection? Lastcheques { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response30 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response31 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response32 - { - - [System.Text.Json.Serialization.JsonPropertyName("total")] - public int Total { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("split")] - public int Split { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("seen")] - public int Seen { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("stored")] - public int Stored { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sent")] - public int Sent { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("synced")] - public int Synced { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("uid")] - public int Uid { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("startedAt")] - public System.DateTimeOffset StartedAt { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response33 - { - - [System.Text.Json.Serialization.JsonPropertyName("pendingTransactions")] - public System.Collections.Generic.ICollection? PendingTransactions { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response34 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("to")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string To { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("nonce")] - public int Nonce { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("gasPrice")] - public string GasPrice { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("gasLimit")] - public int GasLimit { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("data")] - public string Data { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("created")] - public System.DateTimeOffset Created { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("description")] - public string Description { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("value")] - public string Value { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response35 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response36 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response37 - { - - [System.Text.Json.Serialization.JsonPropertyName("stamps")] - public System.Collections.Generic.ICollection? Stamps { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response38 : Anonymous2 - { - /// - /// Internal debugging property. It indicates if the batch is expired. - /// - - [System.Text.Json.Serialization.JsonPropertyName("exists")] - public bool Exists { get; set; } = default!; - - /// - /// The time (in seconds) remaining until the batch expires; -1 signals that the batch never expires; 0 signals that the batch has already expired. - /// - - [System.Text.Json.Serialization.JsonPropertyName("batchTTL")] - public int BatchTTL { get; set; } = default!; - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response39 - { - - [System.Text.Json.Serialization.JsonPropertyName("depth")] - public int Depth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] - public int BucketDepth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bucketUpperBound")] - public int BucketUpperBound { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("buckets")] - public System.Collections.Generic.ICollection? Buckets { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response40 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string BatchID { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response41 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string BatchID { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response42 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string BatchID { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response43 - { - - [System.Text.Json.Serialization.JsonPropertyName("stamps")] - public System.Collections.Generic.ICollection? Stamps { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response44 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response45 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response46 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response47 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response48 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response49 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response50 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response51 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response52 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response53 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response54 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response55 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response56 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response57 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response58 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response59 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response60 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response61 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response62 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response63 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response64 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response65 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response66 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response67 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response68 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response69 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response70 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response71 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response72 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response73 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response74 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response75 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response76 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response77 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response78 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response79 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response80 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response81 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response82 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response83 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response84 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response85 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response86 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response87 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response88 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response89 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response90 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response91 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response92 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response93 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response94 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response95 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response96 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response97 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response98 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response99 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response100 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response101 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response102 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response103 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response104 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Balances - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("balance")] - public string Balance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Peers - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Balances2 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("balance")] - public string Balance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public enum Response14BeeMode - { - - [System.Runtime.Serialization.EnumMember(Value = @"light")] - Light = 0, - - [System.Runtime.Serialization.EnumMember(Value = @"full")] - Full = 1, - - [System.Runtime.Serialization.EnumMember(Value = @"dev")] - Dev = 2, - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Peers2 - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Settlements - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("received")] - public int Received { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sent")] - public int Sent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Settlements2 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("received")] - public int Received { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sent")] - public int Sent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Anonymous - { - - [System.Text.Json.Serialization.JsonPropertyName("population")] - public int Population { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connected")] - public int Connected { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("disconnectedPeers")] - public System.Collections.Generic.ICollection DisconnectedPeers { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connectedPeers")] - public System.Collections.Generic.ICollection ConnectedPeers { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class LastCashedCheque - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Result - { - - [System.Text.Json.Serialization.JsonPropertyName("recipient")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Recipient { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("lastPayout")] - public string LastPayout { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bounced")] - public bool Bounced { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastreceived - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastsent - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastcheques - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastreceived")] - public Lastreceived2 Lastreceived { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastsent")] - public Lastsent2 Lastsent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class PendingTransactions - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("to")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string To { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("nonce")] - public int Nonce { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("gasPrice")] - public string GasPrice { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("gasLimit")] - public int GasLimit { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("data")] - public string Data { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("created")] - public System.DateTimeOffset Created { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("description")] - public string Description { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("value")] - public string Value { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Stamps : Anonymous3 - { - /// - /// Internal debugging property. It indicates if the batch is expired. - /// - - [System.Text.Json.Serialization.JsonPropertyName("exists")] - public bool Exists { get; set; } = default!; - - /// - /// The time (in seconds) remaining until the batch expires; -1 signals that the batch never expires; 0 signals that the batch has already expired. - /// - - [System.Text.Json.Serialization.JsonPropertyName("batchTTL")] - public int BatchTTL { get; set; } = default!; - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Anonymous2 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - public string BatchID { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("utilization")] - public int Utilization { get; set; } = default!; - - /// - /// Indicate that the batch was discovered by the Bee node, but it awaits enough on-chain confirmations before declaring the batch as usable. - /// - - [System.Text.Json.Serialization.JsonPropertyName("usable")] - public bool Usable { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("label")] - public string Label { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("depth")] - public int Depth { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("amount")] - public string Amount { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] - public int BucketDepth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("blockNumber")] - public int BlockNumber { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("immutableFlag")] - public bool ImmutableFlag { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Buckets - { - - [System.Text.Json.Serialization.JsonPropertyName("bucketID")] - public int BucketID { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("collisions")] - public int Collisions { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Stamps2 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string BatchID { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("depth")] - public int Depth { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("value")] - public string Value { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] - public int BucketDepth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("blockNumber")] - public int BlockNumber { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("immutableFlag")] - public bool ImmutableFlag { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("batchTTL")] - public int BatchTTL { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("owner")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Owner { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class DisconnectedPeers - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("metrics")] - public Metrics Metrics { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class ConnectedPeers - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("metrics")] - public Metrics2 Metrics { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastreceived2 - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastsent2 - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Anonymous3 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - public object BatchID { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("utilization")] - public int Utilization { get; set; } = default!; - - /// - /// Indicate that the batch was discovered by the Bee node, but it awaits enough on-chain confirmations before declaring the batch as usable. - /// - - [System.Text.Json.Serialization.JsonPropertyName("usable")] - public bool Usable { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("label")] - public string Label { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("depth")] - public int Depth { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("amount")] - public string Amount { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] - public int BucketDepth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("blockNumber")] - public int BlockNumber { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("immutableFlag")] - public bool ImmutableFlag { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Metrics - { - - [System.Text.Json.Serialization.JsonPropertyName("lastSeenTimestamp")] - public int LastSeenTimestamp { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionRetry")] - public int SessionConnectionRetry { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connectionTotalDuration")] - public double ConnectionTotalDuration { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDuration")] - public double SessionConnectionDuration { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDirection")] - public string SessionConnectionDirection { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("latencyEWMA")] - public int LatencyEWMA { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Metrics2 - { - - [System.Text.Json.Serialization.JsonPropertyName("lastSeenTimestamp")] - public int LastSeenTimestamp { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionRetry")] - public int SessionConnectionRetry { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connectionTotalDuration")] - public double ConnectionTotalDuration { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDuration")] - public double SessionConnectionDuration { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDirection")] - public string SessionConnectionDirection { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("latencyEWMA")] - public int LatencyEWMA { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - -} - -#pragma warning restore 1591 -#pragma warning restore 1573 -#pragma warning restore 472 -#pragma warning restore 114 -#pragma warning restore 108 -#pragma warning restore 3016 -#pragma warning restore 8603 \ No newline at end of file diff --git a/src/BeeNet/Clients/DebugApi/v1_2_0/BeeDebugClient_1_2_0.cs b/src/BeeNet/Clients/DebugApi/v1_2_0/BeeDebugClient_1_2_0.cs deleted file mode 100644 index 3a65dcd0..00000000 --- a/src/BeeNet/Clients/DebugApi/v1_2_0/BeeDebugClient_1_2_0.cs +++ /dev/null @@ -1,7170 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//---------------------- -// -// Generated using the NSwag toolchain v13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org) -// -//---------------------- - -#nullable enable - -using Etherna.BeeNet.Exceptions; - -#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended." -#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword." -#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?' -#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ... -#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..." -#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'" -#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant" -#pragma warning disable 8603 // Disable "CS8603 Possible null reference return" - -namespace Etherna.BeeNet.Clients.DebugApi.V1_2_0 -{ - using System = global::System; - - [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial interface IBeeDebugClient_1_2_0 - { - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get overlay and underlay addresses of the node - /// - /// Own node underlay and overlay addresses - /// A server side error occurred. - System.Threading.Tasks.Task AddressesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balances with all known peers including prepaid services - /// - /// Own balances with all known peers - /// A server side error occurred. - System.Threading.Tasks.Task BalancesGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balances with a specific peer including prepaid services - /// - /// Swarm address of peer - /// Balance with the specific peer - /// A server side error occurred. - System.Threading.Tasks.Task BalancesGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get a list of blocklisted peers - /// - /// Returns overlay addresses of blocklisted peers - /// A server side error occurred. - System.Threading.Tasks.Task BlocklistAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the past due consumption balances with all known peers - /// - /// Own past due consumption balances with all known peers - /// A server side error occurred. - System.Threading.Tasks.Task ConsumedGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the past due consumption balance with a specific peer - /// - /// Swarm address of peer - /// Past-due consumption balance with the specific peer - /// A server side error occurred. - System.Threading.Tasks.Task ConsumedGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the address of the chequebook contract used - /// - /// Ethereum address of chequebook contract - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookAddressAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balance of the chequebook - /// - /// Balance of the chequebook - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookBalanceAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Check if chunk at address exists locally - /// - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - System.Threading.Tasks.Task ChunksGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Delete a chunk from local storage - /// - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - System.Threading.Tasks.Task ChunksDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Connect to address - /// - /// Underlay address of peer - /// Returns overlay address of connected peer - /// A server side error occurred. - System.Threading.Tasks.Task ConnectAsync(string multiAddress, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get reserve state - /// - /// Reserve State - /// A server side error occurred. - System.Threading.Tasks.Task ReservestateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get chain state - /// - /// Chain State - /// A server side error occurred. - System.Threading.Tasks.Task ChainstateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get health of node - /// - /// Health State of node - /// A server side error occurred. - System.Threading.Tasks.Task HealthAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get a list of peers - /// - /// Returns overlay addresses of connected peers - /// A server side error occurred. - System.Threading.Tasks.Task PeersGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Remove peer - /// - /// Swarm address of peer - /// Disconnected peer - /// A server side error occurred. - System.Threading.Tasks.Task PeersDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Try connection to node - /// - /// Swarm address of peer - /// Returns round trip time for given peer - /// A server side error occurred. - System.Threading.Tasks.Task PingpongAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get readiness state of node - /// - /// Health State of node - /// A server side error occurred. - System.Threading.Tasks.Task ReadinessAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get amount of sent and received from settlements with a peer - /// - /// Swarm address of peer - /// Amount of sent or received from settlements with a peer - /// A server side error occurred. - System.Threading.Tasks.Task SettlementsGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get settlements with all known peers and total amount sent or received - /// - /// Settlements with all known peers and total amount sent or received - /// A server side error occurred. - System.Threading.Tasks.Task SettlementsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get time based settlements with all known peers and total amount sent or received - /// - /// Time based settlements with all known peers and total amount sent or received - /// A server side error occurred. - System.Threading.Tasks.Task TimesettlementsAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// Swarm topology of the bee node - /// A server side error occurred. - System.Threading.Tasks.Task TopologyAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get configured P2P welcome message - /// - /// Welcome message - /// A server side error occurred. - System.Threading.Tasks.Task WelcomeMessageGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Set P2P welcome message - /// - /// OK - /// A server side error occurred. - System.Threading.Tasks.Task WelcomeMessagePostAsync(Body? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cashout action for the peer - /// - /// Swarm address of peer - /// Cashout status - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookCashoutGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Cashout the last cheque for the peer - /// - /// Swarm address of peer - /// Gas price for transaction - /// Gas limit for transaction - /// OK - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookCashoutPostAsync(string peer_id, int? gas_price = null, long? gas_limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cheques for the peer - /// - /// Swarm address of peer - /// Last cheques - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookChequeGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cheques for all peers - /// - /// Last cheques - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookChequeGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Deposit tokens from overlay address into chequebook - /// - /// amount of tokens to deposit - /// Gas price for transaction - /// Transaction hash of the deposit transaction - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookDepositAsync(int amount, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Withdraw tokens from the chequebook to the overlay address - /// - /// amount of tokens to withdraw - /// Gas price for transaction - /// Transaction hash of the withdraw transaction - /// A server side error occurred. - System.Threading.Tasks.Task ChequebookWithdrawAsync(int amount, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get Tag information using Uid - /// - /// Uid - /// Tag info - /// A server side error occurred. - System.Threading.Tasks.Task TagsAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get list of pending transactions - /// - /// List of pending transactions - /// A server side error occurred. - System.Threading.Tasks.Task TransactionsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get information about a sent transaction - /// - /// Hash of the transaction - /// Get info about transaction - /// A server side error occurred. - System.Threading.Tasks.Task TransactionsGetAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Rebroadcast existing transaction - /// - /// Hash of the transaction - /// Hash of the transaction - /// A server side error occurred. - System.Threading.Tasks.Task TransactionsPostAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Cancel existing transaction - /// - /// Hash of the transaction - /// Gas price for transaction - /// Hash of the transaction - /// A server side error occurred. - System.Threading.Tasks.Task TransactionsDeleteAsync(string txHash, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get all available stamps for this node - /// - /// Returns an array of all available postage batches. - /// A server side error occurred. - System.Threading.Tasks.Task StampsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get an individual postage batch status - /// - /// Swarm address of the stamp - /// Returns an individual postage batch state - /// A server side error occurred. - System.Threading.Tasks.Task StampsGetAsync(object id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get extended bucket data of a batch - /// - /// Swarm address of the stamp - /// Returns extended bucket data of the provided batch ID - /// A server side error occurred. - System.Threading.Tasks.Task StampsBucketsAsync(object id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Buy a new postage batch. - /// - /// Amount of BZZ added that the postage batch will have. - /// Batch depth which specifies how many chunks can be signed with the batch. It is a logarithm. Must be higher than default bucket depth (16) - /// An optional label for this batch - /// Gas price for transaction - /// Returns the newly created postage batch ID - /// A server side error occurred. - System.Threading.Tasks.Task StampsPostAsync(int amount, int depth, string? label = null, bool? immutable = null, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Top up an existing postage batch. - /// - /// Batch ID to top up - /// Amount of BZZ per chunk to top up to an existing postage batch. - /// Returns the postage batch ID that was topped up - /// A server side error occurred. - System.Threading.Tasks.Task StampsTopupAsync(object id, int amount, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Dilute an existing postage batch. - /// - /// Batch ID to dilute - /// New batch depth. Must be higher than the previous depth. - /// Returns the postage batch ID that was diluted. - /// A server side error occurred. - System.Threading.Tasks.Task StampsDiluteAsync(object id, int depth, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - } - - [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class BeeDebugClient_1_2_0 : IBeeDebugClient_1_2_0 - { - private string _baseUrl = "http://{apiRoot}:{port}"; - private System.Net.Http.HttpClient _httpClient; - private System.Lazy _settings; - - public BeeDebugClient_1_2_0(System.Net.Http.HttpClient httpClient) - { - _httpClient = httpClient; - _settings = new System.Lazy(CreateSerializerSettings); - } - - private System.Text.Json.JsonSerializerOptions CreateSerializerSettings() - { - var settings = new System.Text.Json.JsonSerializerOptions(); - UpdateJsonSerializerSettings(settings); - return settings; - } - - public string BaseUrl - { - get { return _baseUrl; } - set { _baseUrl = value; } - } - - protected System.Text.Json.JsonSerializerOptions JsonSerializerSettings { get { return _settings.Value; } } - - partial void UpdateJsonSerializerSettings(System.Text.Json.JsonSerializerOptions settings); - - partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url); - partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder); - partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get overlay and underlay addresses of the node - /// - /// Own node underlay and overlay addresses - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task AddressesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/addresses"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balances with all known peers including prepaid services - /// - /// Own balances with all known peers - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BalancesGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/balances"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balances with a specific peer including prepaid services - /// - /// Swarm address of peer - /// Balance with the specific peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BalancesGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/balances/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get a list of blocklisted peers - /// - /// Returns overlay addresses of blocklisted peers - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BlocklistAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/blocklist"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the past due consumption balances with all known peers - /// - /// Own past due consumption balances with all known peers - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ConsumedGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/consumed"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the past due consumption balance with a specific peer - /// - /// Swarm address of peer - /// Past-due consumption balance with the specific peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ConsumedGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/consumed/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the address of the chequebook contract used - /// - /// Ethereum address of chequebook contract - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookAddressAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/address"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the balance of the chequebook - /// - /// Balance of the chequebook - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookBalanceAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/balance"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Check if chunk at address exists locally - /// - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChunksGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Delete a chunk from local storage - /// - /// Swarm address of chunk - /// Chunk exists - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChunksDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("DELETE"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Connect to address - /// - /// Underlay address of peer - /// Returns overlay address of connected peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ConnectAsync(string multiAddress, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (multiAddress == null) - throw new System.ArgumentNullException("multiAddress"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/connect/{multiAddress}"); - urlBuilder_.Replace("{multiAddress}", System.Uri.EscapeDataString(ConvertToString(multiAddress, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get reserve state - /// - /// Reserve State - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ReservestateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/reservestate"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get chain state - /// - /// Chain State - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChainstateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chainstate"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get health of node - /// - /// Health State of node - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task HealthAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/health"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get a list of peers - /// - /// Returns overlay addresses of connected peers - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PeersGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/peers"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Remove peer - /// - /// Swarm address of peer - /// Disconnected peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PeersDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/peers/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("DELETE"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Try connection to node - /// - /// Swarm address of peer - /// Returns round trip time for given peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PingpongAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (peer_id == null) - throw new System.ArgumentNullException("peer_id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pingpong/{peer-id}"); - urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get readiness state of node - /// - /// Health State of node - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ReadinessAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/readiness"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get amount of sent and received from settlements with a peer - /// - /// Swarm address of peer - /// Amount of sent or received from settlements with a peer - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task SettlementsGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (address == null) - throw new System.ArgumentNullException("address"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/settlements/{address}"); - urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get settlements with all known peers and total amount sent or received - /// - /// Settlements with all known peers and total amount sent or received - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task SettlementsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/settlements"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get time based settlements with all known peers and total amount sent or received - /// - /// Time based settlements with all known peers and total amount sent or received - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TimesettlementsAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/timesettlements"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// Swarm topology of the bee node - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TopologyAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/topology"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get configured P2P welcome message - /// - /// Welcome message - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task WelcomeMessageGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/welcome-message"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Set P2P welcome message - /// - /// OK - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task WelcomeMessagePostAsync(Body? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/welcome-message"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); - content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - request_.Content = content_; - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cashout action for the peer - /// - /// Swarm address of peer - /// Cashout status - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookCashoutGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (peer_id == null) - throw new System.ArgumentNullException("peer_id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cashout/{peer-id}"); - urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Cashout the last cheque for the peer - /// - /// Swarm address of peer - /// Gas price for transaction - /// Gas limit for transaction - /// OK - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookCashoutPostAsync(string peer_id, int? gas_price = null, long? gas_limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (peer_id == null) - throw new System.ArgumentNullException("peer_id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cashout/{peer-id}"); - urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - - if (gas_limit != null) - request_.Headers.TryAddWithoutValidation("gas-limit", ConvertToString(gas_limit, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 429) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cheques for the peer - /// - /// Swarm address of peer - /// Last cheques - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookChequeGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (peer_id == null) - throw new System.ArgumentNullException("peer_id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cheque/{peer-id}"); - urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get last cheques for all peers - /// - /// Last cheques - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookChequeGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cheque"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Deposit tokens from overlay address into chequebook - /// - /// amount of tokens to deposit - /// Gas price for transaction - /// Transaction hash of the deposit transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookDepositAsync(int amount, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (amount == null) - throw new System.ArgumentNullException("amount"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/deposit?"); - urlBuilder_.Append(System.Uri.EscapeDataString("amount") + "=").Append(System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Withdraw tokens from the chequebook to the overlay address - /// - /// amount of tokens to withdraw - /// Gas price for transaction - /// Transaction hash of the withdraw transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChequebookWithdrawAsync(int amount, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (amount == null) - throw new System.ArgumentNullException("amount"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/withdraw?"); - urlBuilder_.Append(System.Uri.EscapeDataString("amount") + "=").Append(System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get Tag information using Uid - /// - /// Uid - /// Tag info - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TagsAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (uid == null) - throw new System.ArgumentNullException("uid"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags/{uid}"); - urlBuilder_.Replace("{uid}", System.Uri.EscapeDataString(ConvertToString(uid, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get list of pending transactions - /// - /// List of pending transactions - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TransactionsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get information about a sent transaction - /// - /// Hash of the transaction - /// Get info about transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TransactionsGetAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (txHash == null) - throw new System.ArgumentNullException("txHash"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions/{txHash}"); - urlBuilder_.Replace("{txHash}", System.Uri.EscapeDataString(ConvertToString(txHash, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Rebroadcast existing transaction - /// - /// Hash of the transaction - /// Hash of the transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TransactionsPostAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (txHash == null) - throw new System.ArgumentNullException("txHash"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions/{txHash}"); - urlBuilder_.Replace("{txHash}", System.Uri.EscapeDataString(ConvertToString(txHash, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Cancel existing transaction - /// - /// Hash of the transaction - /// Gas price for transaction - /// Hash of the transaction - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TransactionsDeleteAsync(string txHash, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (txHash == null) - throw new System.ArgumentNullException("txHash"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions/{txHash}"); - urlBuilder_.Replace("{txHash}", System.Uri.EscapeDataString(ConvertToString(txHash, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - request_.Method = new System.Net.Http.HttpMethod("DELETE"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get all available stamps for this node - /// - /// Returns an array of all available postage batches. - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get an individual postage batch status - /// - /// Swarm address of the stamp - /// Returns an individual postage batch state - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsGetAsync(object id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (id == null) - throw new System.ArgumentNullException("id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/{id}"); - urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get extended bucket data of a batch - /// - /// Swarm address of the stamp - /// Returns extended bucket data of the provided batch ID - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsBucketsAsync(object id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (id == null) - throw new System.ArgumentNullException("id"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/{id}/buckets"); - urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Buy a new postage batch. - /// - /// Amount of BZZ added that the postage batch will have. - /// Batch depth which specifies how many chunks can be signed with the batch. It is a logarithm. Must be higher than default bucket depth (16) - /// An optional label for this batch - /// Gas price for transaction - /// Returns the newly created postage batch ID - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsPostAsync(int amount, int depth, string? label = null, bool? immutable = null, int? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (amount == null) - throw new System.ArgumentNullException("amount"); - - if (depth == null) - throw new System.ArgumentNullException("depth"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/{amount}/{depth}?"); - urlBuilder_.Replace("{amount}", System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{depth}", System.Uri.EscapeDataString(ConvertToString(depth, System.Globalization.CultureInfo.InvariantCulture))); - if (label != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("label") + "=").Append(System.Uri.EscapeDataString(ConvertToString(label, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (immutable != null) - request_.Headers.TryAddWithoutValidation("immutable", ConvertToString(immutable, System.Globalization.CultureInfo.InvariantCulture)); - - if (gas_price != null) - request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 429) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Top up an existing postage batch. - /// - /// Batch ID to top up - /// Amount of BZZ per chunk to top up to an existing postage batch. - /// Returns the postage batch ID that was topped up - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsTopupAsync(object id, int amount, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (id == null) - throw new System.ArgumentNullException("id"); - - if (amount == null) - throw new System.ArgumentNullException("amount"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/topup/{id}/{amount}"); - urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{amount}", System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("PATCH"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 202) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 402) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 429) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Dilute an existing postage batch. - /// - /// Batch ID to dilute - /// New batch depth. Must be higher than the previous depth. - /// Returns the postage batch ID that was diluted. - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StampsDiluteAsync(object id, int depth, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (id == null) - throw new System.ArgumentNullException("id"); - - if (depth == null) - throw new System.ArgumentNullException("depth"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/dilute/{id}/{depth}"); - urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{depth}", System.Uri.EscapeDataString(ConvertToString(depth, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("PATCH"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 202) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 429) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - protected struct ObjectResponseResult - { - public ObjectResponseResult(T responseObject, string responseText) - { - this.Object = responseObject; - this.Text = responseText; - } - - public T Object { get; } - - public string Text { get; } - } - - public bool ReadResponseAsString { get; set; } - - protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken) - { - if (response == null || response.Content == null) - { - return new ObjectResponseResult(default(T)!, string.Empty); - } - - if (ReadResponseAsString) - { - var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - var typedBody = System.Text.Json.JsonSerializer.Deserialize(responseText, JsonSerializerSettings); - return new ObjectResponseResult(typedBody!, responseText); - } - catch (System.Text.Json.JsonException exception) - { - var message = "Could not deserialize the response body string as " + typeof(T).FullName + "."; - throw new BeeNetDebugApiException(message, (int)response.StatusCode, responseText, headers, exception); - } - } - else - { - try - { - using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false)) - { - var typedBody = await System.Text.Json.JsonSerializer.DeserializeAsync(responseStream, JsonSerializerSettings, cancellationToken).ConfigureAwait(false); - return new ObjectResponseResult(typedBody!, string.Empty); - } - } - catch (System.Text.Json.JsonException exception) - { - var message = "Could not deserialize the response body stream as " + typeof(T).FullName + "."; - throw new BeeNetDebugApiException(message, (int)response.StatusCode, string.Empty, headers, exception); - } - } - } - - private string ConvertToString(object? value, System.Globalization.CultureInfo cultureInfo) - { - if (value == null) - { - return ""; - } - - if (value is System.Enum) - { - var name = System.Enum.GetName(value.GetType(), value); - if (name != null) - { - var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name); - if (field != null) - { - var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute)) - as System.Runtime.Serialization.EnumMemberAttribute; - if (attribute != null) - { - return attribute.Value != null ? attribute.Value : name; - } - } - - var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo)); - return converted == null ? string.Empty : converted; - } - } - else if (value is bool) - { - return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant(); - } - else if (value is byte[]) - { - return System.Convert.ToBase64String((byte[]) value); - } - else if (value.GetType().IsArray) - { - var array = System.Linq.Enumerable.OfType((System.Array) value); - return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo))); - } - - var result = System.Convert.ToString(value, cultureInfo); - return result == null ? "" : result; - } - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Body - { - - [System.Text.Json.Serialization.JsonPropertyName("welcomeMessage")] - public string WelcomeMessage { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response - { - - [System.Text.Json.Serialization.JsonPropertyName("overlay")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Overlay { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("underlay")] - public System.Collections.Generic.ICollection Underlay { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("ethereum")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Ethereum { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("publicKey")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{66}$")] - public string PublicKey { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("pssPublicKey")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{66}$")] - public string PssPublicKey { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response2 - { - - [System.Text.Json.Serialization.JsonPropertyName("balances")] - public System.Collections.Generic.ICollection Balances { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response3 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("balance")] - public string Balance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response4 - { - - [System.Text.Json.Serialization.JsonPropertyName("peers")] - public System.Collections.Generic.ICollection? Peers { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response5 - { - - [System.Text.Json.Serialization.JsonPropertyName("balances")] - public System.Collections.Generic.ICollection Balances { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response6 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("balance")] - public string Balance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response7 - { - - [System.Text.Json.Serialization.JsonPropertyName("chequebookAddress")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string ChequebookAddress { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response8 - { - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("totalBalance")] - public string TotalBalance { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("availableBalance")] - public string AvailableBalance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response9 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response10 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response11 - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response12 - { - - [System.Text.Json.Serialization.JsonPropertyName("radius")] - public int Radius { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("available")] - public int Available { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("outer")] - public string Outer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("inner")] - public string Inner { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response13 - { - - [System.Text.Json.Serialization.JsonPropertyName("block")] - public int Block { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("totalAmount")] - public int TotalAmount { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("currentPrice")] - public int CurrentPrice { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response14 - { - - [System.Text.Json.Serialization.JsonPropertyName("status")] - public string Status { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("version")] - public string Version { get; set; } = default!; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] - public string ApiVersion { get; set; } = "0.0.0"; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] - public string DebugApiVersion { get; set; } = "0.0.0"; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response15 - { - - [System.Text.Json.Serialization.JsonPropertyName("peers")] - public System.Collections.Generic.ICollection? Peers { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response16 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response17 - { - /// - /// Go time.Duration format - /// - - [System.Text.Json.Serialization.JsonPropertyName("rtt")] - public string Rtt { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response18 - { - - [System.Text.Json.Serialization.JsonPropertyName("status")] - public string Status { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("version")] - public string Version { get; set; } = default!; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] - public string ApiVersion { get; set; } = "0.0.0"; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] - public string DebugApiVersion { get; set; } = "0.0.0"; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response19 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("received")] - public int Received { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sent")] - public int Sent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response20 - { - - [System.Text.Json.Serialization.JsonPropertyName("totalReceived")] - public int TotalReceived { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("totalSent")] - public int TotalSent { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("settlements")] - public System.Collections.Generic.ICollection? Settlements { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response21 - { - - [System.Text.Json.Serialization.JsonPropertyName("totalReceived")] - public int TotalReceived { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("totalSent")] - public int TotalSent { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("settlements")] - public System.Collections.Generic.ICollection? Settlements { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response22 - { - - [System.Text.Json.Serialization.JsonPropertyName("baseAddr")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string BaseAddr { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("population")] - public int Population { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connected")] - public int Connected { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("timestamp")] - public string Timestamp { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("nnLowWatermark")] - public int NnLowWatermark { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("depth")] - public int Depth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bins")] - public System.Collections.Generic.IDictionary Bins { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response23 - { - - [System.Text.Json.Serialization.JsonPropertyName("welcomeMessage")] - public string WelcomeMessage { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response24 - { - - [System.Text.Json.Serialization.JsonPropertyName("status")] - public string Status { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("version")] - public string Version { get; set; } = default!; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] - public string ApiVersion { get; set; } = "0.0.0"; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] - public string DebugApiVersion { get; set; } = "0.0.0"; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response25 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastCashedCheque")] - public LastCashedCheque LastCashedCheque { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("result")] - public Result Result { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("uncashedAmount")] - public string UncashedAmount { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response26 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response27 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastreceived")] - public Lastreceived Lastreceived { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastsent")] - public Lastsent Lastsent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response28 - { - - [System.Text.Json.Serialization.JsonPropertyName("lastcheques")] - public System.Collections.Generic.ICollection? Lastcheques { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response29 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response30 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response31 - { - - [System.Text.Json.Serialization.JsonPropertyName("total")] - public int Total { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("split")] - public int Split { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("seen")] - public int Seen { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("stored")] - public int Stored { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sent")] - public int Sent { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("synced")] - public int Synced { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("uid")] - public int Uid { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("startedAt")] - public System.DateTimeOffset StartedAt { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response32 - { - - [System.Text.Json.Serialization.JsonPropertyName("pendingTransactions")] - public System.Collections.Generic.ICollection? PendingTransactions { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response33 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("to")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string To { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("nonce")] - public int Nonce { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("gasPrice")] - public string GasPrice { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("gasLimit")] - public int GasLimit { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("data")] - public string Data { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("created")] - public System.DateTimeOffset Created { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("description")] - public string Description { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("value")] - public string Value { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response34 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response35 - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response36 - { - - [System.Text.Json.Serialization.JsonPropertyName("stamps")] - public System.Collections.Generic.ICollection? Stamps { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response37 : Anonymous2 - { - /// - /// Internal debugging property. It indicates if the batch is expired. - /// - - [System.Text.Json.Serialization.JsonPropertyName("exists")] - public bool Exists { get; set; } = default!; - - /// - /// The time (in seconds) remaining until the batch expires; -1 signals that the batch never expires; 0 signals that the batch has already expired. - /// - - [System.Text.Json.Serialization.JsonPropertyName("batchTTL")] - public int BatchTTL { get; set; } = default!; - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response38 - { - - [System.Text.Json.Serialization.JsonPropertyName("depth")] - public int Depth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] - public int BucketDepth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bucketUpperBound")] - public int BucketUpperBound { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("buckets")] - public System.Collections.Generic.ICollection? Buckets { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response39 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - public object BatchID { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response40 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - public object BatchID { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response41 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - public object BatchID { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response42 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response43 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response44 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response45 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response46 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response47 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response48 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response49 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response50 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response51 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response52 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response53 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response54 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response55 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response56 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response57 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response58 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response59 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response60 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response61 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response62 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response63 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response64 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response65 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response66 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response67 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response68 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response69 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response70 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response71 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response72 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response73 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response74 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response75 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response76 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response77 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response78 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response79 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response80 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response81 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response82 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response83 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response84 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response85 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response86 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response87 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response88 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response89 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response90 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response91 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response92 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response93 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response94 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response95 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response96 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response97 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response98 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response99 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response100 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response101 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response102 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Balances - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("balance")] - public string Balance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Peers - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Balances2 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("balance")] - public string Balance { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Peers2 - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Settlements - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("received")] - public int Received { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sent")] - public int Sent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Settlements2 - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("received")] - public int Received { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sent")] - public int Sent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Anonymous - { - - [System.Text.Json.Serialization.JsonPropertyName("population")] - public int Population { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connected")] - public int Connected { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("disconnectedPeers")] - public System.Collections.Generic.ICollection DisconnectedPeers { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connectedPeers")] - public System.Collections.Generic.ICollection ConnectedPeers { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class LastCashedCheque - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Result - { - - [System.Text.Json.Serialization.JsonPropertyName("recipient")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Recipient { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("lastPayout")] - public string LastPayout { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bounced")] - public bool Bounced { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastreceived - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastsent - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastcheques - { - - [System.Text.Json.Serialization.JsonPropertyName("peer")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Peer { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastreceived")] - public Lastreceived2 Lastreceived { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("lastsent")] - public Lastsent2 Lastsent { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class PendingTransactions - { - - [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] - public string TransactionHash { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("to")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string To { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("nonce")] - public int Nonce { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("gasPrice")] - public string GasPrice { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("gasLimit")] - public int GasLimit { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("data")] - public string Data { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("created")] - public System.DateTimeOffset Created { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("description")] - public string Description { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("value")] - public string Value { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Stamps : Anonymous3 - { - /// - /// Internal debugging property. It indicates if the batch is expired. - /// - - [System.Text.Json.Serialization.JsonPropertyName("exists")] - public bool Exists { get; set; } = default!; - - /// - /// The time (in seconds) remaining until the batch expires; -1 signals that the batch never expires; 0 signals that the batch has already expired. - /// - - [System.Text.Json.Serialization.JsonPropertyName("batchTTL")] - public int BatchTTL { get; set; } = default!; - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Anonymous2 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - public object BatchID { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("utilization")] - public int Utilization { get; set; } = default!; - - /// - /// Indicate that the batch was discovered by the Bee node, but it awaits enough on-chain confirmations before declaring the batch as usable. - /// - - [System.Text.Json.Serialization.JsonPropertyName("usable")] - public bool Usable { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("label")] - public string Label { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("depth")] - public int Depth { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("amount")] - public string Amount { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] - public int BucketDepth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("blockNumber")] - public int BlockNumber { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("immutableFlag")] - public bool ImmutableFlag { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Buckets - { - - [System.Text.Json.Serialization.JsonPropertyName("bucketID")] - public int BucketID { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("collisions")] - public int Collisions { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class DisconnectedPeers - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("metrics")] - public Metrics Metrics { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class ConnectedPeers - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("metrics")] - public Metrics2 Metrics { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastreceived2 - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Lastsent2 - { - - [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Beneficiary { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("chequebook")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] - public string Chequebook { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("payout")] - public string Payout { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Anonymous3 - { - - [System.Text.Json.Serialization.JsonPropertyName("batchID")] - public object BatchID { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("utilization")] - public int Utilization { get; set; } = default!; - - /// - /// Indicate that the batch was discovered by the Bee node, but it awaits enough on-chain confirmations before declaring the batch as usable. - /// - - [System.Text.Json.Serialization.JsonPropertyName("usable")] - public bool Usable { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("label")] - public string Label { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("depth")] - public int Depth { get; set; } = default!; - - /// - /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) - /// - - [System.Text.Json.Serialization.JsonPropertyName("amount")] - public string Amount { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] - public int BucketDepth { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("blockNumber")] - public int BlockNumber { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("immutableFlag")] - public bool ImmutableFlag { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Metrics - { - - [System.Text.Json.Serialization.JsonPropertyName("lastSeenTimestamp")] - public int LastSeenTimestamp { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionRetry")] - public int SessionConnectionRetry { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connectionTotalDuration")] - public double ConnectionTotalDuration { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDuration")] - public double SessionConnectionDuration { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDirection")] - public string SessionConnectionDirection { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("latencyEWMA")] - public int LatencyEWMA { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Metrics2 - { - - [System.Text.Json.Serialization.JsonPropertyName("lastSeenTimestamp")] - public int LastSeenTimestamp { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionRetry")] - public int SessionConnectionRetry { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("connectionTotalDuration")] - public double ConnectionTotalDuration { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDuration")] - public double SessionConnectionDuration { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDirection")] - public string SessionConnectionDirection { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("latencyEWMA")] - public int LatencyEWMA { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - -} - -#pragma warning restore 1591 -#pragma warning restore 1573 -#pragma warning restore 472 -#pragma warning restore 114 -#pragma warning restore 108 -#pragma warning restore 3016 -#pragma warning restore 8603 \ No newline at end of file diff --git a/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs b/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs deleted file mode 100644 index 21d7334a..00000000 --- a/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs +++ /dev/null @@ -1,311 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using Etherna.BeeNet.Clients.GatewayApi.V2_0_0; -using Etherna.BeeNet.DtoModels; -using Etherna.BeeNet.InputModels; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net.Http; -using System.Threading; -using System.Threading.Tasks; - -namespace Etherna.BeeNet.Clients.GatewayApi -{ - public class BeeGatewayClient : IBeeGatewayClient - { - // Fields. - private readonly IBeeGatewayClient_2_0_0 beeGatewayApiClient_2_0_0; - - // Constructors. - public BeeGatewayClient(HttpClient httpClient, Uri baseUrl, GatewayApiVersion apiVersion) - { - if (baseUrl is null) - throw new ArgumentNullException(nameof(baseUrl)); - - beeGatewayApiClient_2_0_0 = new BeeGatewayClient_2_0_0(httpClient) { BaseUrl = baseUrl.ToString() }; - CurrentApiVersion = apiVersion; - } - - // Properties. - public GatewayApiVersion CurrentApiVersion { get; set; } - - // Methods. - public async Task AuthenticateAsync(string role, int expiry) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => new AuthDto(await beeGatewayApiClient_2_0_0.AuthAsync( - new Body - { - Role = role, - Expiry = expiry - }).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task CheckIsContentAvailableAsync(string reference) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => new StewardShipGetDto(await beeGatewayApiClient_2_0_0.StewardshipGetAsync(reference).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task CreateFeedAsync( - string owner, - string topic, - string swarmPostageBatchId, - string? type = null, - bool? swarmPin = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.FeedsPostAsync(owner, topic, swarmPostageBatchId, type, swarmPin).ConfigureAwait(false)).Reference, - _ => throw new InvalidOperationException() - }; - - public async Task CreatePinAsync(string reference) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => new MessageResponseDto(await beeGatewayApiClient_2_0_0.PinsPostAsync(reference).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task CreateTagAsync(string address) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => new TagInfoDto(await beeGatewayApiClient_2_0_0.TagsPostAsync( - new Body3 - { - Address = address - }).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task DeletePinAsync(string reference) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => new MessageResponseDto(await beeGatewayApiClient_2_0_0.PinsDeleteAsync(reference).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public Task DeleteTagAsync(int uid) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.TagsDeleteAsync(uid), - _ => throw new InvalidOperationException() - }; - - public async Task> GetAllPinsAsync() => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.PinsGetAsync().ConfigureAwait(false)).Addresses ?? Array.Empty(), - _ => throw new InvalidOperationException() - }; - - public async Task GetChunkStreamAsync(string reference, string? targets = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.ChunksGetAsync(reference, targets).ConfigureAwait(false)).Stream, - _ => throw new InvalidOperationException() - }; - - public async Task GetDataAsync(string reference) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.BytesGetAsync(reference).ConfigureAwait(false)).Stream, - _ => throw new InvalidOperationException() - }; - - public async Task GetFeedAsync( - string owner, - string topic, - int? at = null, - string? type = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.FeedsGetAsync(owner, topic, at, type).ConfigureAwait(false)).Reference, - _ => throw new InvalidOperationException() - }; - - public async Task GetFileAsync(string reference, string path, string? targets = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.BzzGetAsync(reference, path, targets).ConfigureAwait(false)).Stream, - _ => throw new InvalidOperationException() - }; - - public async Task GetFileAsync(string reference, string? targets = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.BzzGetAsync(reference, targets, CancellationToken.None).ConfigureAwait(false)).Stream, - _ => throw new InvalidOperationException() - }; - - public async Task GetPinStatusAsync(string reference) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => await beeGatewayApiClient_2_0_0.PinsGetAsync(reference).ConfigureAwait(false), - _ => throw new InvalidOperationException() - }; - - public async Task GetTagInfoAsync(int uid) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => new TagInfoDto(await beeGatewayApiClient_2_0_0.TagsGetAsync(uid).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task> GetTagsListAsync(int? offset = null, int? limit = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.TagsGetAsync(offset, limit).ConfigureAwait(false)).Tags.Select(i => new TagInfoDto(i)), - _ => throw new InvalidOperationException() - }; - - public async Task RefreshAuthAsync(string role, int expiry) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.RefreshAsync( - new Body2 - { - Role = role, - Expiry = expiry - }).ConfigureAwait(false)).Key, - _ => throw new InvalidOperationException() - }; - - public Task ReuploadContentAsync(string reference) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.StewardshipPutAsync(reference), - _ => throw new InvalidOperationException() - }; - - public Task SendPssAsync( - string topic, - string targets, - string swarmPostageBatchId, - string? recipient = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.PssSendAsync(topic, targets, swarmPostageBatchId, recipient), - _ => throw new InvalidOperationException() - }; - - public Task SubscribeToPssAsync(string topic) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.PssSubscribeAsync(topic), - _ => throw new InvalidOperationException() - }; - - public async Task UpdateTagAsync(int uid, string? address = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => new VersionDto(await beeGatewayApiClient_2_0_0.TagsPatchAsync( - uid, - address is null ? - null : - new Body4 { Address = address }).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public async Task UploadChunkAsync( - string swarmPostageBatchId, - int? swarmTag = null, - bool? swarmPin = null, - bool? swarmDeferredUpload = null, - Stream? body = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => new VersionDto(await beeGatewayApiClient_2_0_0.ChunksPostAsync( - swarmPostageBatchId, - swarmTag, - swarmPin, - swarmDeferredUpload, - body).ConfigureAwait(false)), - _ => throw new InvalidOperationException() - }; - - public Task UploadChunksStreamAsync( - string swarmPostageBatchId, - int? swarmTag = null, - bool? swarmPin = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.ChunksStreamAsync(swarmPostageBatchId, swarmTag, swarmPin), - _ => throw new InvalidOperationException() - }; - - public async Task UploadDataAsync( - string swarmPostageBatchId, - int? swarmTag = null, - bool? swarmPin = null, - bool? swarmEncrypt = null, - bool? swarmDeferredUpload = null, - Stream? body = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.BytesPostAsync( - swarmPostageBatchId, - swarmTag, - swarmPin, - swarmEncrypt, - swarmDeferredUpload, - body).ConfigureAwait(false)).Reference, - _ => throw new InvalidOperationException() - }; - - public async Task UploadFileAsync( - string swarmPostageBatchId, - string? name, - int? swarmTag, - bool? swarmPin, - bool? swarmEncrypt, - string? contentType, - bool? swarmCollection, - string? swarmIndexDocument, - string? swarmErrorDocument, - bool? swarmDeferredUpload, - IEnumerable? file) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.BzzPostAsync( - swarmPostageBatchId, - name, - swarmTag, - swarmPin, - swarmEncrypt, - contentType, - swarmCollection, - swarmIndexDocument, - swarmErrorDocument, - swarmDeferredUpload, - file.Select(f => new FileParameter(f.Data, f.FileName, f.ContentType))).ConfigureAwait(false)).Reference, - _ => throw new InvalidOperationException() - }; - - public async Task UploadSocAsync( - string owner, - string id, - string sig, - bool? swarmPin = null) => - CurrentApiVersion switch - { - GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.SocAsync(owner, id, sig, swarmPin).ConfigureAwait(false)).Reference, - _ => throw new InvalidOperationException() - }; - } -} \ No newline at end of file diff --git a/src/BeeNet/Clients/GatewayApi/GatewayApiVersion.cs b/src/BeeNet/Clients/GatewayApi/GatewayApiVersion.cs deleted file mode 100644 index 8a780c97..00000000 --- a/src/BeeNet/Clients/GatewayApi/GatewayApiVersion.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -namespace Etherna.BeeNet.Clients.GatewayApi -{ - public enum GatewayApiVersion - { - v2_0_0 - } -} diff --git a/src/BeeNet/Clients/GatewayApi/IBeeGatewayClient.cs b/src/BeeNet/Clients/GatewayApi/IBeeGatewayClient.cs deleted file mode 100644 index 843abc43..00000000 --- a/src/BeeNet/Clients/GatewayApi/IBeeGatewayClient.cs +++ /dev/null @@ -1,277 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using Etherna.BeeNet.DtoModels; -using Etherna.BeeNet.InputModels; -using System.Collections.Generic; -using System.IO; -using System.Threading.Tasks; - -namespace Etherna.BeeNet.Clients.GatewayApi -{ - public interface IBeeGatewayClient - { - // Properties. - GatewayApiVersion CurrentApiVersion { get; set; } - - // Methods. - /// Authenticate - This endpoint is experimental - /// Ok - /// A server side error occurred. - Task AuthenticateAsync(string role, int expiry); - - /// Check if content is available - /// Root hash of content (can be of any type: collection, file, chunk) - /// Returns if the content is retrievable - /// A server side error occurred. - Task CheckIsContentAvailableAsync(string reference); - - /// Create an initial feed root manifest - /// Owner - /// Topic - /// ID of Postage Batch that is used to upload data with - /// Feed indexing scheme (default: sequence) - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Reference hash - /// A server side error occurred. - Task CreateFeedAsync( - string owner, - string topic, - string swarmPostageBatchId, - string? type = null, - bool? swarmPin = null); - - /// Pin the root hash with the given reference - /// Swarm reference of the root hash - /// Pin already exists, so no operation - /// A server side error occurred. - Task CreatePinAsync(string reference); - - /// Create Tag - /// New Tag Info - /// A server side error occurred. - Task CreateTagAsync(string address); - - /// Unpin the root hash with the given reference - /// Swarm reference of the root hash - /// Unpinning root hash with reference - /// A server side error occurred. - Task DeletePinAsync(string reference); - - /// Delete Tag information using Uid - /// Uid - /// The resource was deleted successfully. - /// A server side error occurred. - Task DeleteTagAsync(int uid); - - /// Get the list of pinned root hash references - /// List of pinned root hash references - /// A server side error occurred. - Task> GetAllPinsAsync(); - - /// Get Chunk - /// Swarm address of chunk - /// Global pinning targets prefix - /// Retrieved chunk content - /// A server side error occurred. - Task GetChunkStreamAsync( - string reference, - string? targets = null); - - /// Get referenced data - /// Swarm address reference to content - /// Retrieved content specified by reference - /// A server side error occurred. - Task GetDataAsync(string reference); - - /// Find feed update - /// Owner - /// Topic - /// Timestamp of the update (default: now) - /// Feed indexing scheme (default: sequence) - /// Latest feed update - /// A server side error occurred. - Task GetFeedAsync( - string owner, - string topic, - int? at = null, - string? type = null); - - /// Get referenced file from a collection of files - /// Swarm address of content - /// Path to the file in the collection. - /// Global pinning targets prefix - /// Ok - /// A server side error occurred. - Task GetFileAsync( - string reference, - string path, - string? targets = null); - - /// Get file or index document from a collection of files - /// Swarm address of content - /// Global pinning targets prefix - /// Ok - /// A server side error occurred. - Task GetFileAsync(string reference, string? targets = null); - - /// Get pinning status of the root hash with the given reference - /// Swarm reference of the root hash - /// Reference of the pinned root hash - /// A server side error occurred. - Task GetPinStatusAsync(string reference); - - /// Get Tag information using Uid - /// Uid - /// Tag info - /// A server side error occurred. - Task GetTagInfoAsync(int uid); - - /// Get list of tags - /// The number of items to skip before starting to collect the result set. - /// The numbers of items to return. - /// List of tags - /// A server side error occurred. - Task> GetTagsListAsync( - int? offset = null, - int? limit = null); - - /// Refresh the auth token - This endpoint is experimental - /// Key - /// A server side error occurred. - Task RefreshAuthAsync(string role, int expiry); - - /// Reupload a root hash to the network - /// Root hash of content (can be of any type: collection, file, chunk) - /// Ok - /// A server side error occurred. - Task ReuploadContentAsync(string reference); - - /// Send to recipient or target with Postal Service for Swarm - /// Topic name - /// Target message address prefix. If multiple targets are specified, only one would be matched. - /// ID of Postage Batch that is used to upload data with - /// Recipient publickey - /// Subscribed to topic - /// A server side error occurred. - Task SendPssAsync( - string topic, - string targets, - string swarmPostageBatchId, - string? recipient = null); - - /// Subscribe for messages on the given topic. - /// Topic name - /// Returns a WebSocket with a subscription for incoming message data on the requested topic. - /// A server side error occurred. - Task SubscribeToPssAsync(string topic); - - /// Update Total Count and swarm hash for a tag of an input stream of unknown size using Uid - /// Uid - /// Can contain swarm hash to use for the tag - /// Ok - /// A server side error occurred. - Task UpdateTagAsync( - int uid, - string? address = null); - - /// Upload Chunk - /// ID of Postage Batch that is used to upload data with - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. - /// Ok - /// A server side error occurred. - Task UploadChunkAsync( - string swarmPostageBatchId, - int? swarmTag = null, - bool? swarmPin = null, - bool? swarmDeferredUpload = null, - Stream? body = null); - - /// Upload stream of chunks - /// ID of Postage Batch that is used to upload data with - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Returns a Websocket connection on which stream of chunks can be uploaded. Each chunk sent is acknowledged using a binary response `0` which serves as confirmation of upload of single chunk. Chunks should be packaged as binary messages for uploading. - /// A server side error occurred. - Task UploadChunksStreamAsync( - string swarmPostageBatchId, - int? swarmTag = null, - bool? swarmPin = null); - - /// Upload data - /// ID of Postage Batch that is used to upload data with - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Represents the encrypting state of the file - ///
Warning! Not available for nodes that run in Gateway mode! - /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. - /// Reference hash - /// A server side error occurred. - Task UploadDataAsync( - string swarmPostageBatchId, - int? swarmTag = null, - bool? swarmPin = null, - bool? swarmEncrypt = null, - bool? swarmDeferredUpload = null, - Stream? body = null); - - /// Upload file or a collection of files - /// ID of Postage Batch that is used to upload data with - /// Filename when uploading single file - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Represents the encrypting state of the file - ///
Warning! Not available for nodes that run in Gateway mode! - /// The specified content-type is preserved for download of the asset - /// Upload file/files as a collection - /// Default file to be referenced on path, if exists under that path - /// Configure custom error document to be returned when a specified path can not be found in collection - /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. - /// Reference hash - /// A server side error occurred. - Task UploadFileAsync( - string swarmPostageBatchId, - string? name = null, - int? swarmTag = null, - bool? swarmPin = null, - bool? swarmEncrypt = null, - string? contentType = null, - bool? swarmCollection = null, - string? swarmIndexDocument = null, - string? swarmErrorDocument = null, - bool? swarmDeferredUpload = null, - IEnumerable? file = null); - - /// Upload single owner chunk - /// Owner - /// Id - /// Signature - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Reference hash - /// A server side error occurred. - Task UploadSocAsync( - string owner, - string id, - string sig, - bool? swarmPin = null); - } -} diff --git a/src/BeeNet/Clients/GatewayApi/v2_0_0/BeeGatewayClient_2_0_0.cs b/src/BeeNet/Clients/GatewayApi/v2_0_0/BeeGatewayClient_2_0_0.cs deleted file mode 100644 index a151e1b5..00000000 --- a/src/BeeNet/Clients/GatewayApi/v2_0_0/BeeGatewayClient_2_0_0.cs +++ /dev/null @@ -1,5748 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//---------------------- -// -// Generated using the NSwag toolchain v13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org) -// -//---------------------- - -#nullable enable - -using Etherna.BeeNet.Exceptions; - -#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended." -#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword." -#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?' -#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ... -#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..." -#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'" -#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant" -#pragma warning disable 8603 // Disable "CS8603 Possible null reference return" - -namespace Etherna.BeeNet.Clients.GatewayApi.V2_0_0 -{ - using System = global::System; - - [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial interface IBeeGatewayClient_2_0_0 - { - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Authenticate - This endpoint is experimental - /// - /// Ok - /// A server side error occurred. - System.Threading.Tasks.Task AuthAsync(Body body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Refresh the auth token - This endpoint is experimental - /// - /// Ok - /// A server side error occurred. - System.Threading.Tasks.Task RefreshAsync(Body2 body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload data - /// - /// ID of Postage Batch that is used to upload data with - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Represents the encrypting state of the file - ///
Warning! Not available for nodes that run in Gateway mode! - /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. - /// Ok - /// A server side error occurred. - System.Threading.Tasks.Task BytesPostAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_encrypt = null, bool? swarm_deferred_upload = null, System.IO.Stream? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get referenced data - /// - /// Swarm address reference to content - /// Retrieved content specified by reference - /// A server side error occurred. - System.Threading.Tasks.Task BytesGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get Chunk - /// - /// Swarm address of chunk - /// Global pinning targets prefix - /// Retrieved chunk content - /// A server side error occurred. - System.Threading.Tasks.Task ChunksGetAsync(string reference, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload Chunk - /// - /// ID of Postage Batch that is used to upload data with - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. - /// Chunk binary data that has to have at least 8 bytes. - /// Ok - /// A server side error occurred. - System.Threading.Tasks.Task ChunksPostAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_deferred_upload = null, System.IO.Stream? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload stream of chunks - /// - /// ID of Postage Batch that is used to upload data with - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Returns a Websocket connection on which stream of chunks can be uploaded. Each chunk sent is acknowledged using a binary response `0` which serves as confirmation of upload of single chunk. Chunks should be packaged as binary messages for uploading. - /// A server side error occurred. - System.Threading.Tasks.Task ChunksStreamAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload file or a collection of files - /// - /// ID of Postage Batch that is used to upload data with - /// Filename when uploading single file - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Represents the encrypting state of the file - ///
Warning! Not available for nodes that run in Gateway mode! - /// The specified content-type is preserved for download of the asset - /// Upload file/files as a collection - /// Default file to be referenced on path, if exists under that path - /// Configure custom error document to be returned when a specified path can not be found in collection - /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. - /// Ok - /// A server side error occurred. - System.Threading.Tasks.Task BzzPostAsync(string swarm_postage_batch_id, string? name = null, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_encrypt = null, string? content_Type = null, bool? swarm_collection = null, string? swarm_index_document = null, string? swarm_error_document = null, bool? swarm_deferred_upload = null, System.Collections.Generic.IEnumerable? file = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Reupload a root hash to the network; deprecated: use /stewardship/{reference} instead - /// - /// Root hash of content (can be of any type: collection, file, chunk) - /// Ok - /// A server side error occurred. - [System.Obsolete] - System.Threading.Tasks.Task BzzPatchAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get file or index document from a collection of files - /// - /// Swarm address of content - /// Global pinning targets prefix - /// Ok - /// A server side error occurred. - System.Threading.Tasks.Task BzzGetAsync(string reference, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get referenced file from a collection of files - /// - /// Swarm address of content - /// Path to the file in the collection. - /// Global pinning targets prefix - /// Ok - /// A server side error occurred. - System.Threading.Tasks.Task BzzGetAsync(string reference, string path, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get list of tags - /// - /// The number of items to skip before starting to collect the result set. - /// The numbers of items to return. - /// List of tags - /// A server side error occurred. - System.Threading.Tasks.Task TagsGetAsync(int? offset = null, int? limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Create Tag - /// - /// New Tag Info - /// A server side error occurred. - System.Threading.Tasks.Task TagsPostAsync(Body3 body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get Tag information using Uid - /// - /// Uid - /// Tag info - /// A server side error occurred. - System.Threading.Tasks.Task TagsGetAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Delete Tag information using Uid - /// - /// Uid - /// The resource was deleted successfully. - /// A server side error occurred. - System.Threading.Tasks.Task TagsDeleteAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Update Total Count and swarm hash for a tag of an input stream of unknown size using Uid - /// - /// Uid - /// Can contain swarm hash to use for the tag - /// Ok - /// A server side error occurred. - System.Threading.Tasks.Task TagsPatchAsync(int uid, Body4? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Pin the root hash with the given reference - /// - /// Swarm reference of the root hash - /// Pin already exists, so no operation - /// A server side error occurred. - System.Threading.Tasks.Task PinsPostAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Unpin the root hash with the given reference - /// - /// Swarm reference of the root hash - /// Unpinning root hash with reference - /// A server side error occurred. - System.Threading.Tasks.Task PinsDeleteAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get pinning status of the root hash with the given reference - /// - /// Swarm reference of the root hash - /// Reference of the pinned root hash - /// A server side error occurred. - System.Threading.Tasks.Task PinsGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the list of pinned root hash references - /// - /// List of pinned root hash references - /// A server side error occurred. - System.Threading.Tasks.Task PinsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Send to recipient or target with Postal Service for Swarm - /// - /// Topic name - /// Target message address prefix. If multiple targets are specified, only one would be matched. - /// ID of Postage Batch that is used to upload data with - /// Recipient publickey - /// Subscribed to topic - /// A server side error occurred. - System.Threading.Tasks.Task PssSendAsync(string topic, string targets, string swarm_postage_batch_id, string? recipient = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Subscribe for messages on the given topic. - /// - /// Topic name - /// Returns a WebSocket with a subscription for incoming message data on the requested topic. - /// A server side error occurred. - System.Threading.Tasks.Task PssSubscribeAsync(string topic, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload single owner chunk - /// - /// Owner - /// Id - /// Signature - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Created - /// A server side error occurred. - System.Threading.Tasks.Task SocAsync(string owner, string id, string sig, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Create an initial feed root manifest - /// - /// Owner - /// Topic - /// ID of Postage Batch that is used to upload data with - /// Feed indexing scheme (default: sequence) - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Created - /// A server side error occurred. - System.Threading.Tasks.Task FeedsPostAsync(string owner, string topic, string swarm_postage_batch_id, string? type = null, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Find feed update - /// - /// Owner - /// Topic - /// Timestamp of the update (default: now) - /// Feed indexing scheme (default: sequence) - /// Latest feed update - /// A server side error occurred. - System.Threading.Tasks.Task FeedsGetAsync(string owner, string topic, int? at = null, string? type = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Check if content is available - /// - /// Root hash of content (can be of any type: collection, file, chunk) - /// Returns if the content is retrievable - /// A server side error occurred. - System.Threading.Tasks.Task StewardshipGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Reupload a root hash to the network - /// - /// Root hash of content (can be of any type: collection, file, chunk) - /// Ok - /// A server side error occurred. - System.Threading.Tasks.Task StewardshipPutAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); - - } - - [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class BeeGatewayClient_2_0_0 : IBeeGatewayClient_2_0_0 - { - private string _baseUrl = "http://{apiRoot}:{port}/v1"; - private System.Net.Http.HttpClient _httpClient; - private System.Lazy _settings; - - public BeeGatewayClient_2_0_0(System.Net.Http.HttpClient httpClient) - { - _httpClient = httpClient; - _settings = new System.Lazy(CreateSerializerSettings); - } - - private System.Text.Json.JsonSerializerOptions CreateSerializerSettings() - { - var settings = new System.Text.Json.JsonSerializerOptions(); - UpdateJsonSerializerSettings(settings); - return settings; - } - - public string BaseUrl - { - get { return _baseUrl; } - set { _baseUrl = value; } - } - - protected System.Text.Json.JsonSerializerOptions JsonSerializerSettings { get { return _settings.Value; } } - - partial void UpdateJsonSerializerSettings(System.Text.Json.JsonSerializerOptions settings); - - partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url); - partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder); - partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response); - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Authenticate - This endpoint is experimental - /// - /// Ok - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task AuthAsync(Body body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (body == null) - throw new System.ArgumentNullException("body"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/auth"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); - content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - request_.Content = content_; - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 401) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Refresh the auth token - This endpoint is experimental - /// - /// Ok - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task RefreshAsync(Body2 body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (body == null) - throw new System.ArgumentNullException("body"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/refresh"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); - content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - request_.Content = content_; - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 401) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload data - /// - /// ID of Postage Batch that is used to upload data with - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Represents the encrypting state of the file - ///
Warning! Not available for nodes that run in Gateway mode! - /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. - /// Ok - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BytesPostAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_encrypt = null, bool? swarm_deferred_upload = null, System.IO.Stream? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bytes"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (swarm_postage_batch_id == null) - throw new System.ArgumentNullException("swarm_postage_batch_id"); - request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_tag != null) - request_.Headers.TryAddWithoutValidation("swarm-tag", ConvertToString(swarm_tag, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_pin != null) - request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_encrypt != null) - request_.Headers.TryAddWithoutValidation("swarm-encrypt", ConvertToString(swarm_encrypt, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_deferred_upload != null) - request_.Headers.TryAddWithoutValidation("swarm-deferred-upload", ConvertToString(swarm_deferred_upload, System.Globalization.CultureInfo.InvariantCulture)); - var content_ = new System.Net.Http.StreamContent(body); - content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/octet-stream"); - request_.Content = content_; - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 402) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get referenced data - /// - /// Swarm address reference to content - /// Retrieved content specified by reference - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BytesGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bytes/{reference}"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200 || status_ == 206) - { - var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false); - var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); - disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse - return fileResponse_; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get Chunk - /// - /// Swarm address of chunk - /// Global pinning targets prefix - /// Retrieved chunk content - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChunksGetAsync(string reference, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/{reference}?"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - if (targets != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("targets") + "=").Append(System.Uri.EscapeDataString(ConvertToString(targets, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200 || status_ == 206) - { - var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false); - var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); - disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse - return fileResponse_; - } - else - if (status_ == 202) - { - string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("chunk recovery initiated. retry after sometime.", status_, responseText_, headers_, null); - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload Chunk - /// - /// ID of Postage Batch that is used to upload data with - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. - /// Chunk binary data that has to have at least 8 bytes. - /// Ok - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChunksPostAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_deferred_upload = null, System.IO.Stream? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (swarm_postage_batch_id == null) - throw new System.ArgumentNullException("swarm_postage_batch_id"); - request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_tag != null) - request_.Headers.TryAddWithoutValidation("swarm-tag", ConvertToString(swarm_tag, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_pin != null) - request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_deferred_upload != null) - request_.Headers.TryAddWithoutValidation("swarm-deferred-upload", ConvertToString(swarm_deferred_upload, System.Globalization.CultureInfo.InvariantCulture)); - var content_ = new System.Net.Http.StreamContent(body); - content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/octet-stream"); - request_.Content = content_; - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 402) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload stream of chunks - /// - /// ID of Postage Batch that is used to upload data with - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Returns a Websocket connection on which stream of chunks can be uploaded. Each chunk sent is acknowledged using a binary response `0` which serves as confirmation of upload of single chunk. Chunks should be packaged as binary messages for uploading. - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task ChunksStreamAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/stream"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (swarm_postage_batch_id == null) - throw new System.ArgumentNullException("swarm_postage_batch_id"); - request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_tag != null) - request_.Headers.TryAddWithoutValidation("swarm-tag", ConvertToString(swarm_tag, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_pin != null) - request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); - request_.Method = new System.Net.Http.HttpMethod("GET"); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - return; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload file or a collection of files - /// - /// ID of Postage Batch that is used to upload data with - /// Filename when uploading single file - /// Associate upload with an existing Tag UID - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Represents the encrypting state of the file - ///
Warning! Not available for nodes that run in Gateway mode! - /// The specified content-type is preserved for download of the asset - /// Upload file/files as a collection - /// Default file to be referenced on path, if exists under that path - /// Configure custom error document to be returned when a specified path can not be found in collection - /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. - /// Ok - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BzzPostAsync(string swarm_postage_batch_id, string? name = null, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_encrypt = null, string? content_Type = null, bool? swarm_collection = null, string? swarm_index_document = null, string? swarm_error_document = null, bool? swarm_deferred_upload = null, System.Collections.Generic.IEnumerable? file = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bzz?"); - if (name != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("name") + "=").Append(System.Uri.EscapeDataString(ConvertToString(name, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (swarm_postage_batch_id == null) - throw new System.ArgumentNullException("swarm_postage_batch_id"); - request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_tag != null) - request_.Headers.TryAddWithoutValidation("swarm-tag", ConvertToString(swarm_tag, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_pin != null) - request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_encrypt != null) - request_.Headers.TryAddWithoutValidation("swarm-encrypt", ConvertToString(swarm_encrypt, System.Globalization.CultureInfo.InvariantCulture)); - - if (content_Type != null) - request_.Headers.TryAddWithoutValidation("Content-Type", ConvertToString(content_Type, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_collection != null) - request_.Headers.TryAddWithoutValidation("swarm-collection", ConvertToString(swarm_collection, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_index_document != null) - request_.Headers.TryAddWithoutValidation("swarm-index-document", ConvertToString(swarm_index_document, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_error_document != null) - request_.Headers.TryAddWithoutValidation("swarm-error-document", ConvertToString(swarm_error_document, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_deferred_upload != null) - request_.Headers.TryAddWithoutValidation("swarm-deferred-upload", ConvertToString(swarm_deferred_upload, System.Globalization.CultureInfo.InvariantCulture)); - var boundary_ = System.Guid.NewGuid().ToString(); - var content_ = new System.Net.Http.MultipartFormDataContent(boundary_); - content_.Headers.Remove("Content-Type"); - content_.Headers.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=" + boundary_); - - if (file == null) - throw new System.ArgumentNullException("file"); - else - { - foreach (var item_ in file) - { - var content_file_ = new System.Net.Http.StreamContent(item_.Data); - if (!string.IsNullOrEmpty(item_.ContentType)) - content_file_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse(item_.ContentType); - content_.Add(content_file_, "file", item_.FileName ?? "file"); - } - } - request_.Content = content_; - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 402) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Reupload a root hash to the network; deprecated: use /stewardship/{reference} instead - /// - /// Root hash of content (can be of any type: collection, file, chunk) - /// Ok - /// A server side error occurred. - [System.Obsolete] - public virtual async System.Threading.Tasks.Task BzzPatchAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bzz/{reference}"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("PATCH"); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - return; - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get file or index document from a collection of files - /// - /// Swarm address of content - /// Global pinning targets prefix - /// Ok - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BzzGetAsync(string reference, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bzz/{reference}?"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - if (targets != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("targets") + "=").Append(System.Uri.EscapeDataString(ConvertToString(targets, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200 || status_ == 206) - { - var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false); - var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); - disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse - return fileResponse_; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get referenced file from a collection of files - /// - /// Swarm address of content - /// Path to the file in the collection. - /// Global pinning targets prefix - /// Ok - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task BzzGetAsync(string reference, string path, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - if (path == null) - throw new System.ArgumentNullException("path"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bzz/{reference}/{path}?"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{path}", System.Uri.EscapeDataString(ConvertToString(path, System.Globalization.CultureInfo.InvariantCulture))); - if (targets != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("targets") + "=").Append(System.Uri.EscapeDataString(ConvertToString(targets, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200 || status_ == 206) - { - var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false); - var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); - disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse - return fileResponse_; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get list of tags - /// - /// The number of items to skip before starting to collect the result set. - /// The numbers of items to return. - /// List of tags - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TagsGetAsync(int? offset = null, int? limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags?"); - if (offset != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("offset") + "=").Append(System.Uri.EscapeDataString(ConvertToString(offset, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - if (limit != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("limit") + "=").Append(System.Uri.EscapeDataString(ConvertToString(limit, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Create Tag - /// - /// New Tag Info - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TagsPostAsync(Body3 body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (body == null) - throw new System.ArgumentNullException("body"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); - content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - request_.Content = content_; - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get Tag information using Uid - /// - /// Uid - /// Tag info - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TagsGetAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (uid == null) - throw new System.ArgumentNullException("uid"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags/{uid}"); - urlBuilder_.Replace("{uid}", System.Uri.EscapeDataString(ConvertToString(uid, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Delete Tag information using Uid - /// - /// Uid - /// The resource was deleted successfully. - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TagsDeleteAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (uid == null) - throw new System.ArgumentNullException("uid"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags/{uid}"); - urlBuilder_.Replace("{uid}", System.Uri.EscapeDataString(ConvertToString(uid, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("DELETE"); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 204) - { - return; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Update Total Count and swarm hash for a tag of an input stream of unknown size using Uid - /// - /// Uid - /// Can contain swarm hash to use for the tag - /// Ok - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task TagsPatchAsync(int uid, Body4? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (uid == null) - throw new System.ArgumentNullException("uid"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags/{uid}"); - urlBuilder_.Replace("{uid}", System.Uri.EscapeDataString(ConvertToString(uid, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); - content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); - request_.Content = content_; - request_.Method = new System.Net.Http.HttpMethod("PATCH"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Pin the root hash with the given reference - /// - /// Swarm reference of the root hash - /// Pin already exists, so no operation - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PinsPostAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pins/{reference}"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("New pin with root reference was created", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Unpin the root hash with the given reference - /// - /// Swarm reference of the root hash - /// Unpinning root hash with reference - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PinsDeleteAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pins/{reference}"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("DELETE"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get pinning status of the root hash with the given reference - /// - /// Swarm reference of the root hash - /// Reference of the pinned root hash - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PinsGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pins/{reference}"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Get the list of pinned root hash references - /// - /// List of pinned root hash references - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PinsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pins"); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Send to recipient or target with Postal Service for Swarm - /// - /// Topic name - /// Target message address prefix. If multiple targets are specified, only one would be matched. - /// ID of Postage Batch that is used to upload data with - /// Recipient publickey - /// Subscribed to topic - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PssSendAsync(string topic, string targets, string swarm_postage_batch_id, string? recipient = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (topic == null) - throw new System.ArgumentNullException("topic"); - - if (targets == null) - throw new System.ArgumentNullException("targets"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pss/send/{topic}/{targets}?"); - urlBuilder_.Replace("{topic}", System.Uri.EscapeDataString(ConvertToString(topic, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{targets}", System.Uri.EscapeDataString(ConvertToString(targets, System.Globalization.CultureInfo.InvariantCulture))); - if (recipient != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("recipient") + "=").Append(System.Uri.EscapeDataString(ConvertToString(recipient, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (swarm_postage_batch_id == null) - throw new System.ArgumentNullException("swarm_postage_batch_id"); - request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - return; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 402) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Subscribe for messages on the given topic. - /// - /// Topic name - /// Returns a WebSocket with a subscription for incoming message data on the requested topic. - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task PssSubscribeAsync(string topic, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (topic == null) - throw new System.ArgumentNullException("topic"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pss/subscribe/{topic}"); - urlBuilder_.Replace("{topic}", System.Uri.EscapeDataString(ConvertToString(topic, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - return; - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Upload single owner chunk - /// - /// Owner - /// Id - /// Signature - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Created - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task SocAsync(string owner, string id, string sig, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (owner == null) - throw new System.ArgumentNullException("owner"); - - if (id == null) - throw new System.ArgumentNullException("id"); - - if (sig == null) - throw new System.ArgumentNullException("sig"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/soc/{owner}/{id}?"); - urlBuilder_.Replace("{owner}", System.Uri.EscapeDataString(ConvertToString(owner, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Append(System.Uri.EscapeDataString("sig") + "=").Append(System.Uri.EscapeDataString(ConvertToString(sig, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (swarm_pin != null) - request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 401) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 402) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Create an initial feed root manifest - /// - /// Owner - /// Topic - /// ID of Postage Batch that is used to upload data with - /// Feed indexing scheme (default: sequence) - /// Represents if the uploaded data should be also locally pinned on the node. - ///
Warning! Not available for nodes that run in Gateway mode! - /// Created - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task FeedsPostAsync(string owner, string topic, string swarm_postage_batch_id, string? type = null, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (owner == null) - throw new System.ArgumentNullException("owner"); - - if (topic == null) - throw new System.ArgumentNullException("topic"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/feeds/{owner}/{topic}?"); - urlBuilder_.Replace("{owner}", System.Uri.EscapeDataString(ConvertToString(owner, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{topic}", System.Uri.EscapeDataString(ConvertToString(topic, System.Globalization.CultureInfo.InvariantCulture))); - if (type != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("type") + "=").Append(System.Uri.EscapeDataString(ConvertToString(type, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - - if (swarm_postage_batch_id == null) - throw new System.ArgumentNullException("swarm_postage_batch_id"); - request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); - - if (swarm_pin != null) - request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("POST"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 201) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 401) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 402) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 403) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Find feed update - /// - /// Owner - /// Topic - /// Timestamp of the update (default: now) - /// Feed indexing scheme (default: sequence) - /// Latest feed update - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task FeedsGetAsync(string owner, string topic, int? at = null, string? type = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (owner == null) - throw new System.ArgumentNullException("owner"); - - if (topic == null) - throw new System.ArgumentNullException("topic"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/feeds/{owner}/{topic}?"); - urlBuilder_.Replace("{owner}", System.Uri.EscapeDataString(ConvertToString(owner, System.Globalization.CultureInfo.InvariantCulture))); - urlBuilder_.Replace("{topic}", System.Uri.EscapeDataString(ConvertToString(topic, System.Globalization.CultureInfo.InvariantCulture))); - if (at != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("at") + "=").Append(System.Uri.EscapeDataString(ConvertToString(at, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - if (type != null) - { - urlBuilder_.Append(System.Uri.EscapeDataString("type") + "=").Append(System.Uri.EscapeDataString(ConvertToString(type, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); - } - urlBuilder_.Length--; - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 400) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 401) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Check if content is available - /// - /// Root hash of content (can be of any type: collection, file, chunk) - /// Returns if the content is retrievable - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StewardshipGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stewardship/{reference}"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Method = new System.Net.Http.HttpMethod("GET"); - request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - return objectResponse_.Object; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. - /// - /// Reupload a root hash to the network - /// - /// Root hash of content (can be of any type: collection, file, chunk) - /// Ok - /// A server side error occurred. - public virtual async System.Threading.Tasks.Task StewardshipPutAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) - { - if (reference == null) - throw new System.ArgumentNullException("reference"); - - var urlBuilder_ = new System.Text.StringBuilder(); - urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stewardship/{reference}"); - urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); - - var client_ = _httpClient; - var disposeClient_ = false; - try - { - using (var request_ = new System.Net.Http.HttpRequestMessage()) - { - request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); - request_.Method = new System.Net.Http.HttpMethod("PUT"); - - PrepareRequest(client_, request_, urlBuilder_); - - var url_ = urlBuilder_.ToString(); - request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); - - PrepareRequest(client_, request_, url_); - - var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - var disposeResponse_ = true; - try - { - var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); - if (response_.Content != null && response_.Content.Headers != null) - { - foreach (var item_ in response_.Content.Headers) - headers_[item_.Key] = item_.Value; - } - - ProcessResponse(client_, response_); - - var status_ = (int)response_.StatusCode; - if (status_ == 200) - { - return; - } - else - if (status_ == 404) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - if (status_ == 500) - { - var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); - if (objectResponse_.Object == null) - { - throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); - } - throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); - } - else - { - var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); - throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); - } - } - finally - { - if (disposeResponse_) - response_.Dispose(); - } - } - } - finally - { - if (disposeClient_) - client_.Dispose(); - } - } - - protected struct ObjectResponseResult - { - public ObjectResponseResult(T responseObject, string responseText) - { - this.Object = responseObject; - this.Text = responseText; - } - - public T Object { get; } - - public string Text { get; } - } - - public bool ReadResponseAsString { get; set; } - - protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken) - { - if (response == null || response.Content == null) - { - return new ObjectResponseResult(default(T)!, string.Empty); - } - - if (ReadResponseAsString) - { - var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - var typedBody = System.Text.Json.JsonSerializer.Deserialize(responseText, JsonSerializerSettings); - return new ObjectResponseResult(typedBody!, responseText); - } - catch (System.Text.Json.JsonException exception) - { - var message = "Could not deserialize the response body string as " + typeof(T).FullName + "."; - throw new BeeNetGatewayApiException(message, (int)response.StatusCode, responseText, headers, exception); - } - } - else - { - try - { - using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false)) - { - var typedBody = await System.Text.Json.JsonSerializer.DeserializeAsync(responseStream, JsonSerializerSettings, cancellationToken).ConfigureAwait(false); - return new ObjectResponseResult(typedBody!, string.Empty); - } - } - catch (System.Text.Json.JsonException exception) - { - var message = "Could not deserialize the response body stream as " + typeof(T).FullName + "."; - throw new BeeNetGatewayApiException(message, (int)response.StatusCode, string.Empty, headers, exception); - } - } - } - - private string ConvertToString(object? value, System.Globalization.CultureInfo cultureInfo) - { - if (value == null) - { - return ""; - } - - if (value is System.Enum) - { - var name = System.Enum.GetName(value.GetType(), value); - if (name != null) - { - var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name); - if (field != null) - { - var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute)) - as System.Runtime.Serialization.EnumMemberAttribute; - if (attribute != null) - { - return attribute.Value != null ? attribute.Value : name; - } - } - - var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo)); - return converted == null ? string.Empty : converted; - } - } - else if (value is bool) - { - return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant(); - } - else if (value is byte[]) - { - return System.Convert.ToBase64String((byte[]) value); - } - else if (value.GetType().IsArray) - { - var array = System.Linq.Enumerable.OfType((System.Array) value); - return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo))); - } - - var result = System.Convert.ToString(value, cultureInfo); - return result == null ? "" : result; - } - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Body - { - - [System.Text.Json.Serialization.JsonPropertyName("role")] - public string Role { get; set; } = default!; - - /// - /// Expiration time in seconds - /// - - [System.Text.Json.Serialization.JsonPropertyName("expiry")] - public int Expiry { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Body2 - { - - [System.Text.Json.Serialization.JsonPropertyName("role")] - public string Role { get; set; } = default!; - - /// - /// Expiration time in seconds - /// - - [System.Text.Json.Serialization.JsonPropertyName("expiry")] - public int Expiry { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Body3 - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Body4 - { - - [System.Text.Json.Serialization.JsonPropertyName("address")] - [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] - public string Address { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response - { - - [System.Text.Json.Serialization.JsonPropertyName("key")] - public string Key { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response2 - { - - [System.Text.Json.Serialization.JsonPropertyName("key")] - public string Key { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response3 - { - - [System.Text.Json.Serialization.JsonPropertyName("reference")] - public string Reference { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response4 - { - - [System.Text.Json.Serialization.JsonPropertyName("status")] - public string Status { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("version")] - public string Version { get; set; } = default!; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] - public string ApiVersion { get; set; } = "0.0.0"; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] - public string DebugApiVersion { get; set; } = "0.0.0"; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response5 - { - - [System.Text.Json.Serialization.JsonPropertyName("reference")] - public string Reference { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response6 - { - - [System.Text.Json.Serialization.JsonPropertyName("tags")] - public System.Collections.Generic.ICollection? Tags { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response7 - { - - [System.Text.Json.Serialization.JsonPropertyName("uid")] - public int Uid { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("startedAt")] - public System.DateTimeOffset StartedAt { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("total")] - public int Total { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("processed")] - public int Processed { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("synced")] - public int Synced { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response8 - { - - [System.Text.Json.Serialization.JsonPropertyName("uid")] - public int Uid { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("startedAt")] - public System.DateTimeOffset StartedAt { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("total")] - public int Total { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("processed")] - public int Processed { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("synced")] - public int Synced { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response9 - { - - [System.Text.Json.Serialization.JsonPropertyName("status")] - public string Status { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("version")] - public string Version { get; set; } = default!; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] - public string ApiVersion { get; set; } = "0.0.0"; - - /// - /// The default value is set in case the bee binary was not build correctly. - /// - - [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] - public string DebugApiVersion { get; set; } = "0.0.0"; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response10 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response11 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response12 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response13 - { - - [System.Text.Json.Serialization.JsonPropertyName("addresses")] - public System.Collections.Generic.ICollection? Addresses { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response14 - { - - [System.Text.Json.Serialization.JsonPropertyName("reference")] - public string Reference { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response15 - { - - [System.Text.Json.Serialization.JsonPropertyName("reference")] - public string Reference { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response16 - { - - [System.Text.Json.Serialization.JsonPropertyName("reference")] - public string Reference { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response17 - { - - [System.Text.Json.Serialization.JsonPropertyName("isRetrievable")] - public bool IsRetrievable { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response18 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response19 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response20 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response21 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response22 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response23 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response24 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response25 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response26 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response27 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response28 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response29 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response30 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response31 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response32 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response33 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response34 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response35 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response36 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response37 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response38 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response39 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response40 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response41 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response42 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response43 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response44 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response45 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response46 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response47 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response48 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response49 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response50 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response51 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response52 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response53 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response54 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response55 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response56 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response57 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response58 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response59 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response60 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response61 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response62 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response63 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response64 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response65 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response66 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response67 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response68 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response69 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response70 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response71 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response72 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response73 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response74 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response75 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response76 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response77 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response78 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response79 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response80 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response81 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response82 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response83 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response84 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response85 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response86 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response87 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response88 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response89 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response90 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response91 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response92 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response93 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response94 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response95 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response96 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response97 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response98 - { - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public int Code { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Tags - { - - [System.Text.Json.Serialization.JsonPropertyName("uid")] - public int Uid { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("startedAt")] - public System.DateTimeOffset StartedAt { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("total")] - public int Total { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("processed")] - public int Processed { get; set; } = default!; - - [System.Text.Json.Serialization.JsonPropertyName("synced")] - public int Synced { get; set; } = default!; - - private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); - - [System.Text.Json.Serialization.JsonExtensionData] - public System.Collections.Generic.IDictionary AdditionalProperties - { - get { return _additionalProperties; } - set { _additionalProperties = value; } - } - - } - - [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class FileParameter - { - public FileParameter(System.IO.Stream data) - : this (data, null, null) - { - } - - public FileParameter(System.IO.Stream data, string? fileName) - : this (data, fileName, null) - { - } - - public FileParameter(System.IO.Stream data, string? fileName, string? contentType) - { - Data = data; - FileName = fileName; - ContentType = contentType; - } - - public System.IO.Stream Data { get; private set; } - - public string? FileName { get; private set; } - - public string? ContentType { get; private set; } - } - - [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.7.0 (NJsonSchema v10.6.7.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class FileResponse : System.IDisposable - { - private System.IDisposable? _client; - private System.IDisposable? _response; - - public int StatusCode { get; private set; } - - public System.Collections.Generic.IReadOnlyDictionary> Headers { get; private set; } - - public System.IO.Stream Stream { get; private set; } - - public bool IsPartial - { - get { return StatusCode == 206; } - } - - public FileResponse(int statusCode, System.Collections.Generic.IReadOnlyDictionary> headers, System.IO.Stream stream, System.IDisposable? client, System.IDisposable? response) - { - StatusCode = statusCode; - Headers = headers; - Stream = stream; - _client = client; - _response = response; - } - - public void Dispose() - { - Stream.Dispose(); - if (_response != null) - _response.Dispose(); - if (_client != null) - _client.Dispose(); - } - } - - - -} - -#pragma warning restore 1591 -#pragma warning restore 1573 -#pragma warning restore 472 -#pragma warning restore 114 -#pragma warning restore 108 -#pragma warning restore 3016 -#pragma warning restore 8603 \ No newline at end of file diff --git a/src/BeeNet/DtoModels/AddressDetailDto.cs b/src/BeeNet/DtoModels/AddressDetailDto.cs deleted file mode 100644 index ee50f6cb..00000000 --- a/src/BeeNet/DtoModels/AddressDetailDto.cs +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Etherna.BeeNet.DtoModels -{ - public class AddressDetailDto - { - // Constructors. - public AddressDetailDto(Clients.DebugApi.V1_2_0.Response response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Underlay = response.Underlay.Where(i => !string.IsNullOrWhiteSpace(i)); - Overlay = response.Overlay; - Ethereum = response.Ethereum; - PublicKey = response.PublicKey; - PssPublicKey = response.PssPublicKey; - } - - public AddressDetailDto(Clients.DebugApi.V1_2_1.Response response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Underlay = response.Underlay.Where(i => !string.IsNullOrWhiteSpace(i)); - Overlay = response.Overlay; - Ethereum = response.Ethereum; - PublicKey = response.PublicKey; - PssPublicKey = response.PssPublicKey; - } - - // Properties. - public string Overlay { get; } - public IEnumerable Underlay { get; } - public string Ethereum { get; } - public string PublicKey { get; } - public string PssPublicKey { get; } - } -} diff --git a/src/BeeNet/DtoModels/AnonymousDto.cs b/src/BeeNet/DtoModels/AnonymousDto.cs deleted file mode 100644 index 6c2f15e3..00000000 --- a/src/BeeNet/DtoModels/AnonymousDto.cs +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Etherna.BeeNet.DtoModels -{ - public class AnonymousDto - { - // Constructors. - public AnonymousDto(Clients.DebugApi.V1_2_0.Anonymous anonymous) - { - if (anonymous is null) - throw new ArgumentNullException(nameof(anonymous)); - - Population = anonymous.Population; - Connected = anonymous.Connected; - DisconnectedPeers = anonymous.DisconnectedPeers - .Select(k => new DisconnectedPeersDto(k)); - ConnectedPeers = anonymous.ConnectedPeers - .Select(k => new ConnectedPeersDto(k)); - } - - public AnonymousDto(Clients.DebugApi.V1_2_1.Anonymous anonymous) - { - if (anonymous is null) - throw new ArgumentNullException(nameof(anonymous)); - - Population = anonymous.Population; - Connected = anonymous.Connected; - DisconnectedPeers = anonymous.DisconnectedPeers - .Select(k => new DisconnectedPeersDto(k)); - ConnectedPeers = anonymous.ConnectedPeers - .Select(k => new ConnectedPeersDto(k)); - } - - // Properties. - public int Population { get; } - public int Connected { get; } - public IEnumerable DisconnectedPeers { get; } - public IEnumerable ConnectedPeers { get; } - } -} diff --git a/src/BeeNet/DtoModels/AuthDto.cs b/src/BeeNet/DtoModels/AuthDto.cs deleted file mode 100644 index 843944c5..00000000 --- a/src/BeeNet/DtoModels/AuthDto.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class AuthDto - { - // Constructors. - public AuthDto(Clients.GatewayApi.V2_0_0.Response response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Key = response.Key; - } - - - // Properties. - public string Key { get; } - } -} diff --git a/src/BeeNet/DtoModels/BalanceDto.cs b/src/BeeNet/DtoModels/BalanceDto.cs deleted file mode 100644 index ac639ce9..00000000 --- a/src/BeeNet/DtoModels/BalanceDto.cs +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class BalanceDto - { - // Constructors. - public BalanceDto(Clients.DebugApi.V1_2_0.Balances balance) - { - if (balance is null) - throw new ArgumentNullException(nameof(balance)); - - Peer = balance.Peer; - Balance = long.Parse(balance.Balance, CultureInfo.InvariantCulture); - } - - public BalanceDto(Clients.DebugApi.V1_2_0.Balances2 balance) - { - if (balance is null) - throw new ArgumentNullException(nameof(balance)); - - Peer = balance.Peer; - Balance = long.Parse(balance.Balance, CultureInfo.InvariantCulture); - } - - public BalanceDto(Clients.DebugApi.V1_2_1.Balances balance) - { - if (balance is null) - throw new ArgumentNullException(nameof(balance)); - - Peer = balance.Peer; - Balance = long.Parse(balance.Balance, CultureInfo.InvariantCulture); - } - - public BalanceDto(Clients.DebugApi.V1_2_1.Balances2 balance) - { - if (balance is null) - throw new ArgumentNullException(nameof(balance)); - - Peer = balance.Peer; - Balance = long.Parse(balance.Balance, CultureInfo.InvariantCulture); - } - - // Properties. - public string Peer { get; } - public long Balance { get; } - } -} diff --git a/src/BeeNet/DtoModels/BeeModeDto.cs b/src/BeeNet/DtoModels/BeeModeDto.cs deleted file mode 100644 index 32a8474e..00000000 --- a/src/BeeNet/DtoModels/BeeModeDto.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Generic; -using System.Text; - -namespace Etherna.BeeNet.DtoModels -{ - public enum BeeModeDto - { - Light, - Full, - Dev, - } -} diff --git a/src/BeeNet/DtoModels/BucketDto.cs b/src/BeeNet/DtoModels/BucketDto.cs deleted file mode 100644 index 72236d5f..00000000 --- a/src/BeeNet/DtoModels/BucketDto.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class BucketDto - { - // Constructors. - public BucketDto(Clients.DebugApi.V1_2_0.Buckets bucket) - { - if (bucket is null) - throw new ArgumentNullException(nameof(bucket)); - - BucketId = bucket.BucketID; - Collisions = bucket.Collisions; - } - - public BucketDto(Clients.DebugApi.V1_2_1.Buckets bucket) - { - if (bucket is null) - throw new ArgumentNullException(nameof(bucket)); - - BucketId = bucket.BucketID; - Collisions = bucket.Collisions; - } - - // Properties. - public int BucketId { get; } - public int Collisions { get; } - } -} diff --git a/src/BeeNet/DtoModels/ChainstateDto.cs b/src/BeeNet/DtoModels/ChainstateDto.cs deleted file mode 100644 index 8ffb08e5..00000000 --- a/src/BeeNet/DtoModels/ChainstateDto.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class ChainStateDto - { - // Constructors. - public ChainStateDto(Clients.DebugApi.V1_2_0.Response13 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Block = response.Block; - TotalAmount = response.TotalAmount; - CurrentPrice = response.CurrentPrice; - } - - public ChainStateDto(Clients.DebugApi.V1_2_1.Response13 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Block = response.Block; - TotalAmount = response.TotalAmount; - CurrentPrice = response.CurrentPrice; - } - - // Properties. - public int Block { get; } - public int TotalAmount { get; } - public int CurrentPrice { get; } - } -} diff --git a/src/BeeNet/DtoModels/ChequebookBalanceDto.cs b/src/BeeNet/DtoModels/ChequebookBalanceDto.cs deleted file mode 100644 index 699b3255..00000000 --- a/src/BeeNet/DtoModels/ChequebookBalanceDto.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class ChequeBookBalanceDto - { - // Constructors. - public ChequeBookBalanceDto(Clients.DebugApi.V1_2_0.Response8 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - TotalBalance = long.Parse(response.TotalBalance, CultureInfo.InvariantCulture); - AvailableBalance = long.Parse(response.AvailableBalance, CultureInfo.InvariantCulture); - } - - public ChequeBookBalanceDto(Clients.DebugApi.V1_2_1.Response8 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - TotalBalance = long.Parse(response.TotalBalance, CultureInfo.InvariantCulture); - AvailableBalance = long.Parse(response.AvailableBalance, CultureInfo.InvariantCulture); - } - - // Properties. - public long TotalBalance { get; } - public long AvailableBalance { get; } - } -} diff --git a/src/BeeNet/DtoModels/ChequebookCashoutGetDto.cs b/src/BeeNet/DtoModels/ChequebookCashoutGetDto.cs deleted file mode 100644 index 6c8ac502..00000000 --- a/src/BeeNet/DtoModels/ChequebookCashoutGetDto.cs +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class ChequeBookCashoutGetDto - { - // Constructors. - public ChequeBookCashoutGetDto(Clients.DebugApi.V1_2_0.Response25 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Peer = response.Peer; - LastCashedCheque = new LastCashedChequeDto(response.LastCashedCheque); - TransactionHash = response.TransactionHash; - Result = new ResultChequeBookDto(response.Result); - UncashedAmount = long.Parse(response.UncashedAmount, CultureInfo.InvariantCulture); - } - - public ChequeBookCashoutGetDto(Clients.DebugApi.V1_2_1.Response26 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Peer = response.Peer; - LastCashedCheque = new LastCashedChequeDto(response.LastCashedCheque); - TransactionHash = response.TransactionHash; - Result = new ResultChequeBookDto(response.Result); - UncashedAmount = long.Parse(response.UncashedAmount, CultureInfo.InvariantCulture); - } - - // Properties. - public string Peer { get; } - public LastCashedChequeDto LastCashedCheque { get; } - public string TransactionHash { get; } - public ResultChequeBookDto Result { get; } - public long UncashedAmount { get; } - } - -} diff --git a/src/BeeNet/DtoModels/ChequebookChequeGetDto.cs b/src/BeeNet/DtoModels/ChequebookChequeGetDto.cs deleted file mode 100644 index c6cd03c3..00000000 --- a/src/BeeNet/DtoModels/ChequebookChequeGetDto.cs +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class ChequeBookChequeGetDto - { - // Constructors. - public ChequeBookChequeGetDto(Clients.DebugApi.V1_2_0.Response27 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Peer = response.Peer; - LastReceived = new LastReceivedDto(response.Lastreceived); - LastSent = new LastSentDto(response.Lastsent); - } - - public ChequeBookChequeGetDto(Clients.DebugApi.V1_2_0.Lastcheques lastcheques) - { - if (lastcheques is null) - throw new ArgumentNullException(nameof(lastcheques)); - - Peer = lastcheques.Peer; - LastReceived = new LastReceivedDto(lastcheques.Lastreceived); - LastSent = new LastSentDto(lastcheques.Lastsent); - } - - public ChequeBookChequeGetDto(Clients.DebugApi.V1_2_1.Lastcheques lastcheques) - { - if (lastcheques is null) - throw new ArgumentNullException(nameof(lastcheques)); - - Peer = lastcheques.Peer; - LastReceived = new LastReceivedDto(lastcheques.Lastreceived); - LastSent = new LastSentDto(lastcheques.Lastsent); - } - - public ChequeBookChequeGetDto(Clients.DebugApi.V1_2_1.Response28 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Peer = response.Peer; - LastReceived = new LastReceivedDto(response.Lastreceived); - LastSent = new LastSentDto(response.Lastsent); - } - - // Properties. - public string Peer { get; } - public LastReceivedDto LastReceived { get; } - public LastSentDto LastSent { get; } - } -} diff --git a/src/BeeNet/DtoModels/ConnectedPeersDto.cs b/src/BeeNet/DtoModels/ConnectedPeersDto.cs deleted file mode 100644 index c04bebb5..00000000 --- a/src/BeeNet/DtoModels/ConnectedPeersDto.cs +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class ConnectedPeersDto - { - // Constructors. - public ConnectedPeersDto(Clients.DebugApi.V1_2_0.ConnectedPeers connectedPeers) - { - if (connectedPeers is null) - throw new ArgumentNullException(nameof(connectedPeers)); - - Address = connectedPeers.Address; - LastSeenTimestamp = connectedPeers.Metrics.LastSeenTimestamp; - SessionConnectionRetry = connectedPeers.Metrics.SessionConnectionRetry; - ConnectionTotalDuration = connectedPeers.Metrics.ConnectionTotalDuration; - SessionConnectionDuration = connectedPeers.Metrics.SessionConnectionDuration; - SessionConnectionDirection = connectedPeers.Metrics.SessionConnectionDirection; - LatencyEWMA = connectedPeers.Metrics.LatencyEWMA; - } - - public ConnectedPeersDto(Clients.DebugApi.V1_2_1.ConnectedPeers connectedPeers) - { - if (connectedPeers is null) - throw new ArgumentNullException(nameof(connectedPeers)); - - Address = connectedPeers.Address; - LastSeenTimestamp = connectedPeers.Metrics.LastSeenTimestamp; - SessionConnectionRetry = connectedPeers.Metrics.SessionConnectionRetry; - ConnectionTotalDuration = connectedPeers.Metrics.ConnectionTotalDuration; - SessionConnectionDuration = connectedPeers.Metrics.SessionConnectionDuration; - SessionConnectionDirection = connectedPeers.Metrics.SessionConnectionDirection; - LatencyEWMA = connectedPeers.Metrics.LatencyEWMA; - } - - // Properties. - public string Address { get; } - public int LastSeenTimestamp { get; } - public int SessionConnectionRetry { get; } - public double ConnectionTotalDuration { get; } - public double SessionConnectionDuration { get; } - public string SessionConnectionDirection { get; } - public int LatencyEWMA { get; } - } - -} diff --git a/src/BeeNet/DtoModels/DisconnectedPeersDto.cs b/src/BeeNet/DtoModels/DisconnectedPeersDto.cs deleted file mode 100644 index cd2eff08..00000000 --- a/src/BeeNet/DtoModels/DisconnectedPeersDto.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class DisconnectedPeersDto - { - // Constructors. - public DisconnectedPeersDto(Clients.DebugApi.V1_2_0.DisconnectedPeers disconnectedPeers) - { - if (disconnectedPeers is null) - throw new ArgumentNullException(nameof(disconnectedPeers)); - - Address = disconnectedPeers.Address; - Metrics = new MetricsDto(disconnectedPeers.Metrics); - } - - public DisconnectedPeersDto(Clients.DebugApi.V1_2_1.DisconnectedPeers disconnectedPeers) - { - if (disconnectedPeers is null) - throw new ArgumentNullException(nameof(disconnectedPeers)); - - Address = disconnectedPeers.Address; - Metrics = new MetricsDto(disconnectedPeers.Metrics); - } - - // Properties. - public string Address { get; } - public MetricsDto Metrics { get; } - } -} diff --git a/src/BeeNet/DtoModels/LastCashedChequeDto.cs b/src/BeeNet/DtoModels/LastCashedChequeDto.cs deleted file mode 100644 index 3f2503d8..00000000 --- a/src/BeeNet/DtoModels/LastCashedChequeDto.cs +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class LastCashedChequeDto - { - // Constructors. - public LastCashedChequeDto(Clients.DebugApi.V1_2_0.LastCashedCheque lastCashedCheque) - { - if (lastCashedCheque is null) - throw new ArgumentNullException(nameof(lastCashedCheque)); - - Beneficiary = lastCashedCheque.Beneficiary; - Chequebook = lastCashedCheque.Chequebook; - Payout = long.Parse(lastCashedCheque.Payout, CultureInfo.InvariantCulture); - } - - public LastCashedChequeDto(Clients.DebugApi.V1_2_1.LastCashedCheque lastCashedCheque) - { - if (lastCashedCheque is null) - throw new ArgumentNullException(nameof(lastCashedCheque)); - - Beneficiary = lastCashedCheque.Beneficiary; - Chequebook = lastCashedCheque.Chequebook; - Payout = long.Parse(lastCashedCheque.Payout, CultureInfo.InvariantCulture); - } - - // Properties. - public string Beneficiary { get; } - public string Chequebook { get; } - public long Payout { get; } - } -} diff --git a/src/BeeNet/DtoModels/LastReceivedDto.cs b/src/BeeNet/DtoModels/LastReceivedDto.cs deleted file mode 100644 index aacac72b..00000000 --- a/src/BeeNet/DtoModels/LastReceivedDto.cs +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class LastReceivedDto - { - // Constructors. - public LastReceivedDto(Clients.DebugApi.V1_2_0.Lastreceived lastReceived) - { - if (lastReceived is null) - throw new ArgumentNullException(nameof(lastReceived)); - - Beneficiary = lastReceived.Beneficiary; - Chequebook = lastReceived.Chequebook; - Payout = long.Parse(lastReceived.Payout, CultureInfo.InvariantCulture); - } - - public LastReceivedDto(Clients.DebugApi.V1_2_0.Lastreceived2 lastReceived) - { - if (lastReceived is null) - throw new ArgumentNullException(nameof(lastReceived)); - - Beneficiary = lastReceived.Beneficiary; - Chequebook = lastReceived.Chequebook; - Payout = long.Parse(lastReceived.Payout, CultureInfo.InvariantCulture); - } - - public LastReceivedDto(Clients.DebugApi.V1_2_1.Lastreceived2 lastReceived) - { - if (lastReceived is null) - throw new ArgumentNullException(nameof(lastReceived)); - - Beneficiary = lastReceived.Beneficiary; - Chequebook = lastReceived.Chequebook; - Payout = long.Parse(lastReceived.Payout, CultureInfo.InvariantCulture); - } - - public LastReceivedDto(Clients.DebugApi.V1_2_1.Lastreceived lastReceived) - { - if (lastReceived is null) - throw new ArgumentNullException(nameof(lastReceived)); - - Beneficiary = lastReceived.Beneficiary; - Chequebook = lastReceived.Chequebook; - Payout = long.Parse(lastReceived.Payout, CultureInfo.InvariantCulture); - } - - // Properties. - public string Beneficiary { get; } - public string Chequebook { get; } - public long Payout { get; } - } -} diff --git a/src/BeeNet/DtoModels/LastSentDto.cs b/src/BeeNet/DtoModels/LastSentDto.cs deleted file mode 100644 index 40fc06a6..00000000 --- a/src/BeeNet/DtoModels/LastSentDto.cs +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class LastSentDto - { - // Constructors. - public LastSentDto(Clients.DebugApi.V1_2_0.Lastsent lastsent) - { - if (lastsent is null) - throw new ArgumentNullException(nameof(lastsent)); - - Beneficiary = lastsent.Beneficiary; - Chequebook = lastsent.Chequebook; - Payout = long.Parse(lastsent.Payout, CultureInfo.InvariantCulture); - } - - public LastSentDto(Clients.DebugApi.V1_2_0.Lastsent2 lastsent) - { - if (lastsent is null) - throw new ArgumentNullException(nameof(lastsent)); - - Beneficiary = lastsent.Beneficiary; - Chequebook = lastsent.Chequebook; - Payout = long.Parse(lastsent.Payout, CultureInfo.InvariantCulture); - } - - public LastSentDto(Clients.DebugApi.V1_2_1.Lastsent2 lastsent) - { - if (lastsent is null) - throw new ArgumentNullException(nameof(lastsent)); - - Beneficiary = lastsent.Beneficiary; - Chequebook = lastsent.Chequebook; - Payout = long.Parse(lastsent.Payout, CultureInfo.InvariantCulture); - } - - public LastSentDto(Clients.DebugApi.V1_2_1.Lastsent lastsent) - { - if (lastsent is null) - throw new ArgumentNullException(nameof(lastsent)); - - Beneficiary = lastsent.Beneficiary; - Chequebook = lastsent.Chequebook; - Payout = long.Parse(lastsent.Payout, CultureInfo.InvariantCulture); - } - - // Properties. - public string Beneficiary { get; } - public string Chequebook { get; } - public long Payout { get; } - } -} diff --git a/src/BeeNet/DtoModels/MessageResponseDto.cs b/src/BeeNet/DtoModels/MessageResponseDto.cs deleted file mode 100644 index 666c2288..00000000 --- a/src/BeeNet/DtoModels/MessageResponseDto.cs +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class MessageResponseDto - { - // Constructors. - public MessageResponseDto(Clients.DebugApi.V1_2_0.Response9 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Message = response.Message; - Code = response.Code; - } - - public MessageResponseDto(Clients.DebugApi.V1_2_0.Response10 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Message = response.Message; - Code = response.Code; - } - - public MessageResponseDto(Clients.DebugApi.V1_2_0.Response16 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Message = response.Message; - Code = response.Code; - } - - public MessageResponseDto(Clients.DebugApi.V1_2_1.Response10 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Message = response.Message; - Code = response.Code; - } - - public MessageResponseDto(Clients.DebugApi.V1_2_1.Response17 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Message = response.Message; - Code = response.Code; - } - - public MessageResponseDto(Clients.DebugApi.V1_2_1.Response9 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Message = response.Message; - Code = response.Code; - } - - public MessageResponseDto(Clients.GatewayApi.V2_0_0.Response10 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Message = response.Message; - Code = response.Code; - } - - public MessageResponseDto(Clients.GatewayApi.V2_0_0.Response12 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Message = response.Message; - Code = response.Code; - } - - // Properties. - public string Message { get; } - public int Code { get; } - } -} diff --git a/src/BeeNet/DtoModels/MetricsDto.cs b/src/BeeNet/DtoModels/MetricsDto.cs deleted file mode 100644 index 8fbe4916..00000000 --- a/src/BeeNet/DtoModels/MetricsDto.cs +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class MetricsDto - { - // Constructors. - public MetricsDto(Clients.DebugApi.V1_2_0.Metrics metrics) - { - if (metrics is null) - throw new ArgumentNullException(nameof(metrics)); - - LastSeenTimestamp = metrics.LastSeenTimestamp; - SessionConnectionRetry = metrics.SessionConnectionRetry; - ConnectionTotalDuration = metrics.ConnectionTotalDuration; - SessionConnectionDuration = metrics.SessionConnectionDuration; - SessionConnectionDirection = metrics.SessionConnectionDirection; - LatencyEWMA = metrics.LatencyEWMA; - } - - public MetricsDto(Clients.DebugApi.V1_2_1.Metrics metrics) - { - if (metrics is null) - throw new ArgumentNullException(nameof(metrics)); - - LastSeenTimestamp = metrics.LastSeenTimestamp; - SessionConnectionRetry = metrics.SessionConnectionRetry; - ConnectionTotalDuration = metrics.ConnectionTotalDuration; - SessionConnectionDuration = metrics.SessionConnectionDuration; - SessionConnectionDirection = metrics.SessionConnectionDirection; - LatencyEWMA = metrics.LatencyEWMA; - } - - // Properties. - public int LastSeenTimestamp { get; } - public int SessionConnectionRetry { get; } - public double ConnectionTotalDuration { get; } - public double SessionConnectionDuration { get; } - public string SessionConnectionDirection { get; } - public int LatencyEWMA { get; } - } -} diff --git a/src/BeeNet/DtoModels/NodeInfoDto.cs b/src/BeeNet/DtoModels/NodeInfoDto.cs deleted file mode 100644 index 6ce1e74f..00000000 --- a/src/BeeNet/DtoModels/NodeInfoDto.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using Etherna.BeeNet.Clients.DebugApi.V1_2_1; -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class NodeInfoDto - { - // Constructors. - public NodeInfoDto(Response14 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - BeeMode = response.BeeMode switch - { - Response14BeeMode.Dev => BeeModeDto.Dev, - Response14BeeMode.Full => BeeModeDto.Full, - Response14BeeMode.Light => BeeModeDto.Light, - _ => throw new InvalidOperationException() - }; - ChequebookEnabled = response.ChequebookEnabled; - GatewayMode = response.GatewayMode; - SwapEnabled = response.SwapEnabled; - } - - // Methods. - /// - /// Gives back in what mode the Bee client has been started. The modes are mutually exclusive * `light` - light node; does not participate in forwarding or storing chunks * `full` - full node * `dev` - development mode; Bee client for development purposes, blockchain operations are mocked - /// - public BeeModeDto BeeMode { get; } - public bool ChequebookEnabled { get; } - public bool GatewayMode { get; } - public bool SwapEnabled { get; } - } -} diff --git a/src/BeeNet/DtoModels/PendingTransactionDto.cs b/src/BeeNet/DtoModels/PendingTransactionDto.cs deleted file mode 100644 index 57e8aa4c..00000000 --- a/src/BeeNet/DtoModels/PendingTransactionDto.cs +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class PendingTransactionDto - { - // Constructors. - public PendingTransactionDto(Clients.DebugApi.V1_2_0.PendingTransactions tx) - { - if (tx is null) - throw new ArgumentNullException(nameof(tx)); - - TransactionHash = tx.TransactionHash; - To = tx.To; - Nonce = tx.Nonce; - GasPrice = long.Parse(tx.GasPrice, CultureInfo.InvariantCulture); - GasLimit = tx.GasLimit; - Data = tx.Data; - Created = tx.Created; - Description = tx.Description; - Value = long.Parse(tx.Value, CultureInfo.InvariantCulture); - } - - public PendingTransactionDto(Clients.DebugApi.V1_2_1.PendingTransactions tx) - { - if (tx is null) - throw new ArgumentNullException(nameof(tx)); - - TransactionHash = tx.TransactionHash; - To = tx.To; - Nonce = tx.Nonce; - GasPrice = long.Parse(tx.GasPrice, CultureInfo.InvariantCulture); - GasLimit = tx.GasLimit; - Data = tx.Data; - Created = tx.Created; - Description = tx.Description; - Value = long.Parse(tx.Value, CultureInfo.InvariantCulture); - } - - // Properties. - public string TransactionHash { get; } - public string To { get; } - public int Nonce { get; } - public long GasPrice { get; } - public int GasLimit { get; } - public string Data { get; } - public DateTimeOffset Created { get; } - public string Description { get; } - public long Value { get; } - } -} diff --git a/src/BeeNet/DtoModels/PostageBatchDto.cs b/src/BeeNet/DtoModels/PostageBatchDto.cs deleted file mode 100644 index edda8720..00000000 --- a/src/BeeNet/DtoModels/PostageBatchDto.cs +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; -using System.Text.Json; - -namespace Etherna.BeeNet.DtoModels -{ - public class PostageBatchDto - { - // Constructors. - public PostageBatchDto(Clients.DebugApi.V1_2_0.Stamps batch) - { - if (batch is null) - throw new ArgumentNullException(nameof(batch)); - - AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); - BatchTTL = batch.BatchTTL; - Exists = batch.Exists; - Id = ((JsonElement)batch.BatchID).ToString(); - Utilization = batch.Utilization; - Usable = batch.Usable; - Label = batch.Label; - Depth = batch.Depth; - BucketDepth = batch.BucketDepth; - BlockNumber = batch.BlockNumber; - ImmutableFlag = batch.ImmutableFlag; - } - - public PostageBatchDto(Clients.DebugApi.V1_2_0.Response37 batch) - { - if (batch is null) - throw new ArgumentNullException(nameof(batch)); - - AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); - BatchTTL = batch.BatchTTL; - Exists = batch.Exists; - Id = ((JsonElement)batch.BatchID).ToString(); - Utilization = batch.Utilization; - Usable = batch.Usable; - Label = batch.Label; - Depth = batch.Depth; - BucketDepth = batch.BucketDepth; - BlockNumber = batch.BlockNumber; - ImmutableFlag = batch.ImmutableFlag; - } - - public PostageBatchDto(Clients.DebugApi.V1_2_1.Stamps batch) - { - if (batch is null) - throw new ArgumentNullException(nameof(batch)); - - AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); - Exists = batch.Exists; - BatchTTL = batch.BatchTTL; - Id = ((JsonElement)batch.BatchID).ToString(); - Utilization = batch.Utilization; - Usable = batch.Usable; - Label = batch.Label; - Depth = batch.Depth; - BucketDepth = batch.BucketDepth; - BlockNumber = batch.BlockNumber; - ImmutableFlag = batch.ImmutableFlag; - } - - public PostageBatchDto(Clients.DebugApi.V1_2_1.Stamps2 batch) - { - if (batch is null) - throw new ArgumentNullException(nameof(batch)); - - Id = batch.BatchID; - BatchTTL = batch.BatchTTL; - BlockNumber = batch.BlockNumber; - BucketDepth = batch.BucketDepth; - Depth = batch.Depth; - Exists = true; - ImmutableFlag = batch.ImmutableFlag; - NormalisedBalance = long.Parse(batch.Value, CultureInfo.InvariantCulture); - OwnerAddress = batch.Owner; - Usable = true; - } - - public PostageBatchDto(Clients.DebugApi.V1_2_1.Response38 batch) - { - if (batch is null) - throw new ArgumentNullException(nameof(batch)); - - AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); - BatchTTL = batch.BatchTTL; - Exists = batch.Exists; - Id = batch.BatchID; - Utilization = batch.Utilization; - Usable = batch.Usable; - Label = batch.Label; - Depth = batch.Depth; - BucketDepth = batch.BucketDepth; - BlockNumber = batch.BlockNumber; - ImmutableFlag = batch.ImmutableFlag; - } - - // Properties. - public string Id { get; } - public long? AmountPaid { get; } - /// The time (in seconds) remaining until the batch expires; -1 signals that the batch never expires; 0 signals that the batch has already expired. - public int BatchTTL { get; } - public int BlockNumber { get; } - public int BucketDepth { get; } - public int Depth { get; } - public bool Exists { get; } - public bool ImmutableFlag { get; } - public string? Label { get; } - public long? NormalisedBalance { get; } - public string? OwnerAddress { get; } - /// Indicate that the batch was discovered by the Bee node, but it awaits enough on-chain confirmations before declaring the batch as usable. - public bool Usable { get; } - public int? Utilization { get; } - } - -} diff --git a/src/BeeNet/DtoModels/ReserveStateDto.cs b/src/BeeNet/DtoModels/ReserveStateDto.cs deleted file mode 100644 index 7776655f..00000000 --- a/src/BeeNet/DtoModels/ReserveStateDto.cs +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class ReserveStateDto - { - // Constructors. - public ReserveStateDto(Clients.DebugApi.V1_2_0.Response12 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Radius = response.Radius; - Available = response.Available; - Outer = long.Parse(response.Outer, CultureInfo.InvariantCulture); - Inner = long.Parse(response.Inner, CultureInfo.InvariantCulture); - } - - public ReserveStateDto(Clients.DebugApi.V1_2_1.Response12 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Radius = response.Radius; - Available = response.Available; - Outer = long.Parse(response.Outer, CultureInfo.InvariantCulture); - Inner = long.Parse(response.Inner, CultureInfo.InvariantCulture); - } - - // Properties. - public int Radius { get; } - public int Available { get; } - public long Outer { get; } - public long Inner { get; } - } -} diff --git a/src/BeeNet/DtoModels/ResultChequebookDto.cs b/src/BeeNet/DtoModels/ResultChequebookDto.cs deleted file mode 100644 index d250a09a..00000000 --- a/src/BeeNet/DtoModels/ResultChequebookDto.cs +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class ResultChequeBookDto - { - // Constructors. - public ResultChequeBookDto(Clients.DebugApi.V1_2_0.Result result) - { - if (result is null) - throw new ArgumentNullException(nameof(result)); - - Recipient = result.Recipient; - LastPayout = long.Parse(result.LastPayout, CultureInfo.InvariantCulture); - Bounced = result.Bounced; - } - - public ResultChequeBookDto(Clients.DebugApi.V1_2_1.Result result) - { - if (result is null) - throw new ArgumentNullException(nameof(result)); - - Recipient = result.Recipient; - LastPayout = long.Parse(result.LastPayout, CultureInfo.InvariantCulture); - Bounced = result.Bounced; - } - - // Properties. - public bool Bounced { get; } - public long LastPayout { get; } - public string Recipient { get; } - } -} diff --git a/src/BeeNet/DtoModels/SettlementDataDto.cs b/src/BeeNet/DtoModels/SettlementDataDto.cs deleted file mode 100644 index 05848a28..00000000 --- a/src/BeeNet/DtoModels/SettlementDataDto.cs +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class SettlementDataDto - { - // Constructors. - public SettlementDataDto(Clients.DebugApi.V1_2_0.Settlements settlement) - { - if (settlement is null) - throw new ArgumentNullException(nameof(settlement)); - - Peer = settlement.Peer; - Received = settlement.Received; - Sent = settlement.Sent; - } - - public SettlementDataDto(Clients.DebugApi.V1_2_0.Settlements2 settlement) - { - if (settlement is null) - throw new ArgumentNullException(nameof(settlement)); - - Peer = settlement.Peer; - Received = settlement.Received; - Sent = settlement.Sent; - } - - public SettlementDataDto(Clients.DebugApi.V1_2_1.Settlements settlement) - { - if (settlement is null) - throw new ArgumentNullException(nameof(settlement)); - - Peer = settlement.Peer; - Received = settlement.Received; - Sent = settlement.Sent; - } - - public SettlementDataDto(Clients.DebugApi.V1_2_1.Settlements2 settlement) - { - if (settlement is null) - throw new ArgumentNullException(nameof(settlement)); - - Peer = settlement.Peer; - Received = settlement.Received; - Sent = settlement.Sent; - } - - // Properties. - public string Peer { get; } - public int Received { get; } - public int Sent { get; } - } -} diff --git a/src/BeeNet/DtoModels/SettlementDto.cs b/src/BeeNet/DtoModels/SettlementDto.cs deleted file mode 100644 index 6db847fa..00000000 --- a/src/BeeNet/DtoModels/SettlementDto.cs +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Etherna.BeeNet.DtoModels -{ - public class SettlementDto - { - // Constructors. - public SettlementDto(Clients.DebugApi.V1_2_0.Response20 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - TotalReceived = response.TotalReceived; - TotalSent = response.TotalSent; - Settlements = response.Settlements - .Select(i => new SettlementDataDto(i)); - } - - public SettlementDto(Clients.DebugApi.V1_2_1.Response21 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - TotalReceived = response.TotalReceived; - TotalSent = response.TotalSent; - Settlements = response.Settlements - .Select(i => new SettlementDataDto(i)); - } - - // Properties. - public int TotalReceived { get; } - public int TotalSent { get; } - public IEnumerable Settlements { get; } - } -} diff --git a/src/BeeNet/DtoModels/StampsBucketsDto.cs b/src/BeeNet/DtoModels/StampsBucketsDto.cs deleted file mode 100644 index fdec6f83..00000000 --- a/src/BeeNet/DtoModels/StampsBucketsDto.cs +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Etherna.BeeNet.DtoModels -{ - public class StampsBucketsDto - { - // Constructors. - public StampsBucketsDto(Clients.DebugApi.V1_2_0.Response38 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Depth = response.Depth; - BucketDepth = response.BucketDepth; - BucketUpperBound = response.BucketUpperBound; - Buckets = response.Buckets?.Select(i => new BucketDto(i)); - } - - public StampsBucketsDto(Clients.DebugApi.V1_2_1.Response39 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Depth = response.Depth; - BucketDepth = response.BucketDepth; - BucketUpperBound = response.BucketUpperBound; - Buckets = response.Buckets?.Select(i => new BucketDto(i)); - } - - // Properties. - public int Depth { get; } - public int BucketDepth { get; } - public int BucketUpperBound { get; } - public IEnumerable? Buckets { get; } - } -} diff --git a/src/BeeNet/DtoModels/StewardshipGetDto.cs b/src/BeeNet/DtoModels/StewardshipGetDto.cs deleted file mode 100644 index f5e4cea1..00000000 --- a/src/BeeNet/DtoModels/StewardshipGetDto.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class StewardShipGetDto - { - // Constructors. - public StewardShipGetDto(Clients.GatewayApi.V2_0_0.Response17 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - IsRetrievable = response.IsRetrievable; - } - - - // Properties. - public bool IsRetrievable { get; } - } -} diff --git a/src/BeeNet/DtoModels/TagDto.cs b/src/BeeNet/DtoModels/TagDto.cs deleted file mode 100644 index 6d7ce6db..00000000 --- a/src/BeeNet/DtoModels/TagDto.cs +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class TagDto - { - // Constructors. - public TagDto(Clients.DebugApi.V1_2_0.Response31 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Total = response.Total; - Split = response.Split; - Seen = response.Seen; - Stored = response.Stored; - Sent = response.Sent; - Synced = response.Synced; - Uid = response.Uid; - Address = response.Address; - StartedAt = response.StartedAt; - } - - public TagDto(Clients.DebugApi.V1_2_1.Response32 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Total = response.Total; - Split = response.Split; - Seen = response.Seen; - Stored = response.Stored; - Sent = response.Sent; - Synced = response.Synced; - Uid = response.Uid; - Address = response.Address; - StartedAt = response.StartedAt; - } - - // Properties. - public int Total { get; } - public int Split { get; } - public int Seen { get; } - public int Stored { get; } - public int Sent { get; } - public int Synced { get; } - public int Uid { get; } - public string Address { get; } - public DateTimeOffset StartedAt { get; } - } -} diff --git a/src/BeeNet/DtoModels/TagInfoDto.cs b/src/BeeNet/DtoModels/TagInfoDto.cs deleted file mode 100644 index 6216be4c..00000000 --- a/src/BeeNet/DtoModels/TagInfoDto.cs +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class TagInfoDto - { - // Constructors. - public TagInfoDto(Clients.GatewayApi.V2_0_0.Tags tags) - { - if (tags is null) - throw new ArgumentNullException(nameof(tags)); - - Uid = tags.Uid; - StartedAt = tags.StartedAt; - Total = tags.Total; - Processed = tags.Processed; - Synced = tags.Synced; - } - - public TagInfoDto(Clients.GatewayApi.V2_0_0.Response7 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Uid = response.Uid; - StartedAt = response.StartedAt; - Total = response.Total; - Processed = response.Processed; - Synced = response.Synced; - } - - public TagInfoDto(Clients.GatewayApi.V2_0_0.Response8 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Uid = response.Uid; - StartedAt = response.StartedAt; - Total = response.Total; - Processed = response.Processed; - Synced = response.Synced; - } - - - // Properties. - public int Uid { get; } - public DateTimeOffset StartedAt { get; } - public int Total { get; } - public int Processed { get; } - public int Synced { get; } - } -} diff --git a/src/BeeNet/DtoModels/TimesettlementsDto.cs b/src/BeeNet/DtoModels/TimesettlementsDto.cs deleted file mode 100644 index 6d61462e..00000000 --- a/src/BeeNet/DtoModels/TimesettlementsDto.cs +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Etherna.BeeNet.DtoModels -{ - public class TimeSettlementsDto - { - // Constructors. - public TimeSettlementsDto(Clients.DebugApi.V1_2_0.Response21 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - TotalReceived = response.TotalReceived; - TotalSent = response.TotalSent; - Settlements = response.Settlements - .Select(i => new SettlementDataDto(i)); - } - - public TimeSettlementsDto(Clients.DebugApi.V1_2_1.Response22 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - TotalReceived = response.TotalReceived; - TotalSent = response.TotalSent; - Settlements = response.Settlements - .Select(i => new SettlementDataDto(i)); - } - - // Properties. - public int TotalReceived { get; } - public int TotalSent { get; } - public IEnumerable Settlements { get; } - } -} diff --git a/src/BeeNet/DtoModels/TopologyDto.cs b/src/BeeNet/DtoModels/TopologyDto.cs deleted file mode 100644 index 696f3423..00000000 --- a/src/BeeNet/DtoModels/TopologyDto.cs +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Etherna.BeeNet.DtoModels -{ - public class TopologyDto - { - // Constructors. - public TopologyDto(Clients.DebugApi.V1_2_0.Response22 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - BaseAddr = response.BaseAddr; - Population = response.Population; - Connected = response.Connected; - Timestamp = response.Timestamp; - NnLowWatermark = response.NnLowWatermark; - Depth = response.Depth; - Bins = response.Bins.ToDictionary( - i => i.Key, - i => new AnonymousDto(i.Value)); - } - - public TopologyDto(Clients.DebugApi.V1_2_1.Response23 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - BaseAddr = response.BaseAddr; - Population = response.Population; - Connected = response.Connected; - Timestamp = response.Timestamp; - NnLowWatermark = response.NnLowWatermark; - Depth = response.Depth; - Bins = response.Bins.ToDictionary( - i => i.Key, - i => new AnonymousDto(i.Value)); - } - - // Properties. - public string BaseAddr { get; } - public int Population { get; } - public int Connected { get; } - public string Timestamp { get; } - public int NnLowWatermark { get; } - public int Depth { get; } - public IDictionary Bins { get; } - } -} diff --git a/src/BeeNet/DtoModels/TransactionsDto.cs b/src/BeeNet/DtoModels/TransactionsDto.cs deleted file mode 100644 index d08ef0be..00000000 --- a/src/BeeNet/DtoModels/TransactionsDto.cs +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Globalization; - -namespace Etherna.BeeNet.DtoModels -{ - public class TransactionsDto - { - // Constructors. - public TransactionsDto(Clients.DebugApi.V1_2_0.Response33 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - TransactionHash = response.TransactionHash; - To = response.To; - Nonce = response.Nonce; - GasPrice = long.Parse(response.GasPrice, CultureInfo.InvariantCulture); - GasLimit = response.GasLimit; - Data = response.Data; - Created = response.Created; - Description = response.Description; - Value = long.Parse(response.Value, CultureInfo.InvariantCulture); - } - - public TransactionsDto(Clients.DebugApi.V1_2_1.Response34 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - TransactionHash = response.TransactionHash; - To = response.To; - Nonce = response.Nonce; - GasPrice = long.Parse(response.GasPrice, CultureInfo.InvariantCulture); - GasLimit = response.GasLimit; - Data = response.Data; - Created = response.Created; - Description = response.Description; - Value = long.Parse(response.Value, CultureInfo.InvariantCulture); - } - - // Properties. - public string TransactionHash { get; } - public string To { get; } - public int Nonce { get; } - public long GasPrice { get; } - public int GasLimit { get; } - public string Data { get; } - public DateTimeOffset Created { get; } - public string Description { get; } - public long Value { get; } - } -} diff --git a/src/BeeNet/DtoModels/VersionDto.cs b/src/BeeNet/DtoModels/VersionDto.cs deleted file mode 100644 index d9750f3e..00000000 --- a/src/BeeNet/DtoModels/VersionDto.cs +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -namespace Etherna.BeeNet.DtoModels -{ - public class VersionDto - { - // Constructors. - public VersionDto(Clients.DebugApi.V1_2_0.Response14 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Status = response.Status; - Version = response.Version; - ApiVersion = response.ApiVersion; - DebugApiVersion = response.DebugApiVersion; - } - - public VersionDto(Clients.DebugApi.V1_2_0.Response18 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Status = response.Status; - Version = response.Version; - ApiVersion = response.ApiVersion; - DebugApiVersion = response.DebugApiVersion; - } - - public VersionDto(Clients.DebugApi.V1_2_0.Response24 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Status = response.Status; - Version = response.Version; - ApiVersion = response.ApiVersion; - DebugApiVersion = response.DebugApiVersion; - } - - public VersionDto(Clients.DebugApi.V1_2_1.Response15 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Status = response.Status; - Version = response.Version; - ApiVersion = response.ApiVersion; - DebugApiVersion = response.DebugApiVersion; - } - - public VersionDto(Clients.DebugApi.V1_2_1.Response19 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Status = response.Status; - Version = response.Version; - ApiVersion = response.ApiVersion; - DebugApiVersion = response.DebugApiVersion; - } - - public VersionDto(Clients.DebugApi.V1_2_1.Response25 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Status = response.Status; - Version = response.Version; - ApiVersion = response.ApiVersion; - DebugApiVersion = response.DebugApiVersion; - } - - public VersionDto(Clients.GatewayApi.V2_0_0.Response4 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Status = response.Status; - Version = response.Version; - ApiVersion = response.ApiVersion; - DebugApiVersion = response.DebugApiVersion; - } - - public VersionDto(Clients.GatewayApi.V2_0_0.Response9 response) - { - if (response is null) - throw new ArgumentNullException(nameof(response)); - - Status = response.Status; - Version = response.Version; - ApiVersion = response.ApiVersion; - DebugApiVersion = response.DebugApiVersion; - } - - // Properties. - public string Status { get; } - public string Version { get; } - public string ApiVersion { get; } - public string DebugApiVersion { get; } - } -} diff --git a/src/BeeNet/Exceptions/BeeNetDebugApiException.cs b/src/BeeNet/Exceptions/BeeNetDebugApiException.cs deleted file mode 100644 index 59cec25d..00000000 --- a/src/BeeNet/Exceptions/BeeNetDebugApiException.cs +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Generic; -using System.Globalization; - -namespace Etherna.BeeNet.Exceptions -{ -#pragma warning disable CA1032 // Implement standard exception constructors - public partial class BeeNetDebugApiException : Exception - { - // Constructor. - internal BeeNetDebugApiException( - string message, - int statusCode, - string? response, - IReadOnlyDictionary> headers, - Exception? innerException) - : base(message + "\n\nStatus: " + statusCode + "\nResponse: \n" + ((response == null) ? "(null)" : response.Substring(0, response.Length >= 512 ? 512 : response.Length)), innerException) - { - StatusCode = statusCode; - Response = response; - Headers = headers; - } - - // Properties. - public IReadOnlyDictionary> Headers { get; private set; } - public string? Response { get; private set; } - public int StatusCode { get; private set; } - - // Methods. - public override string ToString() - { - return string.Format(CultureInfo.InvariantCulture, "HTTP Response: \n\n{0}\n\n{1}", Response, base.ToString()); - } - } - - public partial class BeeNetDebugApiException : BeeNetDebugApiException - { - // Constructor. - internal BeeNetDebugApiException( - string message, - int statusCode, - string? response, - IReadOnlyDictionary> headers, - TResult result, - Exception? innerException) - : base(message, statusCode, response, headers, innerException) - { - Result = result; - } - - // Properties. - public TResult Result { get; private set; } - } -#pragma warning restore CA1032 // Implement standard exception constructors -} diff --git a/src/BeeNet/Exceptions/BeeNetGatewayApiException.cs b/src/BeeNet/Exceptions/BeeNetGatewayApiException.cs deleted file mode 100644 index 396cac22..00000000 --- a/src/BeeNet/Exceptions/BeeNetGatewayApiException.cs +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Generic; -using System.Globalization; - -namespace Etherna.BeeNet.Exceptions -{ -#pragma warning disable CA1032 // Implement standard exception constructors - public partial class BeeNetGatewayApiException : Exception - { - // Constructor. - internal BeeNetGatewayApiException( - string message, - int statusCode, - string? response, - IReadOnlyDictionary> headers, - Exception? innerException) - : base(message + "\n\nStatus: " + statusCode + "\nResponse: \n" + ((response == null) ? "(null)" : response.Substring(0, response.Length >= 512 ? 512 : response.Length)), innerException) - { - StatusCode = statusCode; - Response = response; - Headers = headers; - } - - // Properties. - public IReadOnlyDictionary> Headers { get; private set; } - public string? Response { get; private set; } - public int StatusCode { get; private set; } - - // Methods. - public override string ToString() - { - return string.Format(CultureInfo.InvariantCulture, "HTTP Response: \n\n{0}\n\n{1}", Response, base.ToString()); - } - } - - public partial class BeeNetGatewayApiException : BeeNetGatewayApiException - { - // Constructor. - internal BeeNetGatewayApiException( - string message, - int statusCode, - string? response, - IReadOnlyDictionary> headers, - TResult result, - Exception? innerException) - : base(message, statusCode, response, headers, innerException) - { - Result = result; - } - - // Properties. - public TResult Result { get; private set; } - } -#pragma warning restore CA1032 // Implement standard exception constructors -} diff --git a/src/BeeNet/GlobalSuppressions.cs b/src/BeeNet/GlobalSuppressions.cs deleted file mode 100644 index 4c755ace..00000000 --- a/src/BeeNet/GlobalSuppressions.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This file is used by Code Analysis to maintain SuppressMessage -// attributes that are applied to this project. -// Project-level suppressions either have no target or are given -// a specific target and scoped to a namespace, type, member, etc. - -using System.Diagnostics.CodeAnalysis; - -[assembly: SuppressMessage("Usage", "CA1707:Remove the underscores from namespace name", Justification = "Version number should containt underscores", Scope = "namespaceanddescendants", Target = "~N:Etherna.BeeNet.Clients")] diff --git a/src/BeeNet/IBeeNodeClient.cs b/src/BeeNet/IBeeNodeClient.cs deleted file mode 100644 index 5cc4198d..00000000 --- a/src/BeeNet/IBeeNodeClient.cs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using Etherna.BeeNet.Clients.DebugApi; -using Etherna.BeeNet.Clients.GatewayApi; - -namespace Etherna.BeeNet -{ - public interface IBeeNodeClient - { - IBeeDebugClient? DebugClient { get; } - IBeeGatewayClient? GatewayClient { get; } - } -} \ No newline at end of file diff --git a/src/BeeNet/InputModels/FileParameterInput.cs b/src/BeeNet/InputModels/FileParameterInput.cs deleted file mode 100644 index daefc884..00000000 --- a/src/BeeNet/InputModels/FileParameterInput.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System.IO; - -namespace Etherna.BeeNet.InputModels -{ - public class FileParameterInput - { - // Constructors. - public FileParameterInput(Stream data, string? fileName = null, string? contentType = null) - { - Data = data; - FileName = fileName; - ContentType = contentType; - } - - // Properties. - public Stream Data { get; private set; } - public string? FileName { get; private set; } - public string? ContentType { get; private set; } - } -} diff --git a/src/BeeNet/Properties/AssemblyInfo.cs b/src/BeeNet/Properties/AssemblyInfo.cs deleted file mode 100644 index ee2ad6e9..00000000 --- a/src/BeeNet/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright 2021-present Etherna Sagl -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; - -[assembly: CLSCompliant(false)] \ No newline at end of file diff --git a/tools/README.md b/tools/README.md deleted file mode 100644 index ef95c2aa..00000000 --- a/tools/README.md +++ /dev/null @@ -1,11 +0,0 @@ -Use client generation tool --------------------------- - -NSwag doesn't support multiple OpenAPI configuration files. They needs to be merged. - -We are using `speccy` tool (https://github.com/wework/speccy) with these command: - -``` -speccy resolve -i .\openapi\Swarm.yaml -o GatewaySwarm.yaml -speccy resolve -i .\openapi\SwarmDebug.yaml -o DebugSwarm.yaml -``` diff --git a/tools/swarm-debug-api.nswag b/tools/swarm-debug-api.nswag deleted file mode 100644 index ce345b69..00000000 --- a/tools/swarm-debug-api.nswag +++ /dev/null @@ -1,102 +0,0 @@ -{ - "runtime": "Net50", - "defaultVariables": null, - "documentGenerator": { - "fromDocument": { - "json": "openapi: 3.0.3\r\ninfo:\r\n version: 1.2.1\r\n title: Bee Debug API\r\n description: A list of the currently provided debug interfaces to interact with\r\n the bee node\r\nsecurity:\r\n - {}\r\nexternalDocs:\r\n description: Browse the documentation @ the Swarm Docs\r\n url: https://docs.ethswarm.org\r\nservers:\r\n - url: http://{apiRoot}:{port}\r\n variables:\r\n apiRoot:\r\n default: localhost\r\n description: Base address of the local bee node debug API\r\n port:\r\n default: \"1635\"\r\n description: Service port provided in bee node config\r\npaths:\r\n /addresses:\r\n get:\r\n summary: Get overlay and underlay addresses of the node\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Own node underlay and overlay addresses\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n overlay:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n underlay:\r\n type: array\r\n items:\r\n type: string\r\n example: /ip4/127.0.0.1/tcp/1634/p2p/16Uiu2HAmTm17toLDaPYzRyjKn27iCB76yjKnJ5DjQXneFmifFvaX\r\n ethereum:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n publicKey:\r\n &a1\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{66}$\r\n example: 02ab7473879005929d10ce7d4f626412dad9fe56b0a6622038931d26bd79abf0a4\r\n pssPublicKey: *a1\r\n \"500\":\r\n &a2\r\n description: Internal Server Error\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n default:\r\n description: Default response\r\n /balances:\r\n get:\r\n summary: Get the balances with all known peers including prepaid services\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own balances with all known peers\r\n content:\r\n application/json:\r\n schema:\r\n &a3\r\n type: object\r\n properties:\r\n balances:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/balances/{address}\":\r\n get:\r\n summary: Get the balances with a specific peer including prepaid services\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema:\r\n &a4\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Balance with the specific peer\r\n content:\r\n application/json:\r\n schema:\r\n &a5\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"404\":\r\n &a6\r\n description: Not Found\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /blocklist:\r\n get:\r\n summary: Get a list of blocklisted peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of blocklisted peers\r\n content:\r\n application/json:\r\n schema:\r\n &a11\r\n type: object\r\n properties:\r\n peers:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /consumed:\r\n get:\r\n summary: Get the past due consumption balances with all known peers\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own past due consumption balances with all known peers\r\n content:\r\n application/json:\r\n schema: *a3\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/consumed/{address}\":\r\n get:\r\n summary: Get the past due consumption balance with a specific peer\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Past-due consumption balance with the specific peer\r\n content:\r\n application/json:\r\n schema: *a5\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/address:\r\n get:\r\n summary: Get the address of the chequebook contract used\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Ethereum address of chequebook contract\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n chequebookAddress:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n /chequebook/balance:\r\n get:\r\n summary: Get the balance of the chequebook\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Balance of the chequebook\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n totalBalance:\r\n &a7\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n availableBalance: *a7\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chunks/{address}\":\r\n get:\r\n summary: Check if chunk at address exists locally\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema:\r\n &a8\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"400\":\r\n &a9\r\n description: Bad request\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Delete a chunk from local storage\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n \"/connect/{multiAddress}\":\r\n post:\r\n summary: Connect to address\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n allowReserved: true\r\n name: multiAddress\r\n schema:\r\n type: string\r\n required: true\r\n description: Underlay address of peer\r\n responses:\r\n \"200\":\r\n description: Returns overlay address of connected peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /reservestate:\r\n get:\r\n summary: Get reserve state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Reserve State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n radius:\r\n type: integer\r\n available:\r\n type: integer\r\n outer:\r\n &a10\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n inner: *a10\r\n default:\r\n description: Default response\r\n /chainstate:\r\n get:\r\n summary: Get chain state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Chain State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n block:\r\n type: integer\r\n totalAmount:\r\n type: integer\r\n currentPrice:\r\n type: integer\r\n default:\r\n description: Default response\r\n /node:\r\n get:\r\n summary: Get information about the node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Information about the node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n beeMode:\r\n type: string\r\n enum:\r\n - light\r\n - full\r\n - dev\r\n description: >\r\n Gives back in what mode the Bee client has been started.\r\n The modes are mutually exclusive * `light` - light node;\r\n does not participate in forwarding or storing chunks *\r\n `full` - full node * `dev` - development mode; Bee client\r\n for development purposes, blockchain operations are mocked\r\n gatewayMode:\r\n type: boolean\r\n chequebookEnabled:\r\n type: boolean\r\n swapEnabled:\r\n type: boolean\r\n default:\r\n description: Default response\r\n /health:\r\n get:\r\n summary: Get health of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema:\r\n &a12\r\n type: object\r\n properties:\r\n status:\r\n type: string\r\n version:\r\n type: string\r\n apiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n debugApiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n default:\r\n description: Default response\r\n /peers:\r\n get:\r\n summary: Get a list of peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of connected peers\r\n content:\r\n application/json:\r\n schema: *a11\r\n default:\r\n description: Default response\r\n \"/peers/{address}\":\r\n delete:\r\n summary: Remove peer\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Disconnected peer\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/pingpong/{peer-id}\":\r\n post:\r\n summary: Try connection to node\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Returns round trip time for given peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n rtt:\r\n description: Go time.Duration format\r\n type: string\r\n example: 5.0018ms\r\n \"400\": *a9\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /readiness:\r\n get:\r\n summary: Get readiness state of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema: *a12\r\n default:\r\n description: Default response\r\n \"/settlements/{address}\":\r\n get:\r\n summary: Get amount of sent and received from settlements with a peer\r\n tags:\r\n - Settlements\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Amount of sent or received from settlements with a peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /settlements:\r\n get:\r\n summary: Get settlements with all known peers and total amount sent or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Settlements with all known peers and total amount sent or received\r\n content:\r\n application/json:\r\n schema:\r\n &a13\r\n type: object\r\n properties:\r\n totalReceived:\r\n type: integer\r\n totalSent:\r\n type: integer\r\n settlements:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /timesettlements:\r\n get:\r\n summary: Get time based settlements with all known peers and total amount sent\r\n or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Time based settlements with all known peers and total amount sent\r\n or received\r\n content:\r\n application/json:\r\n schema: *a13\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /topology:\r\n get:\r\n description: Get topology of known network\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Swarm topology of the bee node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n baseAddr:\r\n &a14\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n timestamp:\r\n type: string\r\n nnLowWatermark:\r\n type: integer\r\n depth:\r\n type: integer\r\n bins:\r\n type: object\r\n additionalProperties:\r\n type: object\r\n properties:\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n disconnectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics:\r\n &a15\r\n type: object\r\n properties:\r\n lastSeenTimestamp:\r\n type: integer\r\n nullable: false\r\n sessionConnectionRetry:\r\n type: integer\r\n nullable: false\r\n connectionTotalDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDirection:\r\n type: string\r\n nullable: false\r\n latencyEWMA:\r\n type: integer\r\n nullable: false\r\n connectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics: *a15\r\n /welcome-message:\r\n get:\r\n summary: Get configured P2P welcome message\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Welcome message\r\n content:\r\n application/json:\r\n schema:\r\n &a16\r\n type: object\r\n properties:\r\n welcomeMessage:\r\n type: string\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Set P2P welcome message\r\n tags:\r\n - Connectivity\r\n requestBody:\r\n content:\r\n application/json:\r\n schema: *a16\r\n responses:\r\n \"200\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema: *a12\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cashout/{peer-id}\":\r\n get:\r\n summary: Get last cashout action for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Cashout status\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastCashedCheque:\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a17\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a17\r\n payout:\r\n &a18\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n result:\r\n type: object\r\n properties:\r\n recipient: *a17\r\n lastPayout: *a18\r\n bounced:\r\n type: boolean\r\n uncashedAmount: *a18\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Cashout the last cheque for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n - &a23\r\n in: header\r\n name: gas-price\r\n schema:\r\n type: integer\r\n required: false\r\n description: Gas price for transaction\r\n - in: header\r\n name: gas-limit\r\n schema:\r\n type: integer\r\n minimum: 0\r\n maximum: 18446744073709552000\r\n required: false\r\n description: Gas limit for transaction\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema:\r\n &a24\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n \"404\": *a6\r\n \"429\":\r\n &a31\r\n description: Too many requests\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cheque/{peer-id}\":\r\n get:\r\n summary: Get last cheques for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a20\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a19\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a19\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a20\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/cheque:\r\n get:\r\n summary: Get last cheques for all peers\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n lastcheques:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a22\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a21\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a21\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a22\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/deposit:\r\n post:\r\n summary: Deposit tokens from overlay address into chequebook\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n required: true\r\n description: amount of tokens to deposit\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the deposit transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/withdraw:\r\n post:\r\n summary: Withdraw tokens from the chequebook to the overlay address\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n required: true\r\n description: amount of tokens to withdraw\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the withdraw transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/tags/{uid}\":\r\n get:\r\n summary: Get Tag information using Uid\r\n tags:\r\n - Tag\r\n parameters:\r\n - in: path\r\n name: uid\r\n schema:\r\n type: integer\r\n required: true\r\n description: Uid\r\n responses:\r\n \"200\":\r\n description: Tag info\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n total:\r\n type: integer\r\n split:\r\n type: integer\r\n seen:\r\n type: integer\r\n stored:\r\n type: integer\r\n sent:\r\n type: integer\r\n synced:\r\n type: integer\r\n uid:\r\n type: integer\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n startedAt:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /transactions:\r\n get:\r\n summary: Get list of pending transactions\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: List of pending transactions\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n pendingTransactions:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a25\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a25\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/transactions/{txHash}\":\r\n get:\r\n summary: Get information about a sent transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema:\r\n &a27\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Get info about transaction\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a26\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a26\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Rebroadcast existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Cancel existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n - *a23\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /stamps:\r\n get:\r\n summary: Get all available stamps for this node\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available postage batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n stamps:\r\n type: array\r\n nullable: true\r\n items:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a28\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before\r\n declaring the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a28\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n default:\r\n description: Default response\r\n \"/stamps/{id}\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema:\r\n &a30\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get an individual postage batch status\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an individual postage batch state\r\n content:\r\n application/json:\r\n schema:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a29\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before declaring\r\n the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a29\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{id}/buckets\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get extended bucket data of a batch\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns extended bucket data of the provided batch ID\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n depth:\r\n type: integer\r\n bucketDepth:\r\n type: integer\r\n bucketUpperBound:\r\n type: integer\r\n buckets:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n bucketID:\r\n type: integer\r\n collisions:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{amount}/{depth}\":\r\n post:\r\n summary: Buy a new postage batch.\r\n description: Be aware, this endpoint creates an on-chain transactions and\r\n transfers BZZ from the node's Ethereum account and hence directly\r\n manipulates the wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: amount\r\n schema:\r\n type: integer\r\n required: true\r\n description: Amount of BZZ added that the postage batch will have.\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: Batch depth which specifies how many chunks can be signed with the\r\n batch. It is a logarithm. Must be higher than default bucket depth\r\n (16)\r\n - in: query\r\n name: label\r\n schema:\r\n type: string\r\n required: false\r\n description: An optional label for this batch\r\n - in: header\r\n name: immutable\r\n schema:\r\n type: boolean\r\n required: false\r\n - *a23\r\n responses:\r\n \"201\":\r\n description: Returns the newly created postage batch ID\r\n content:\r\n application/json:\r\n schema:\r\n &a32\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/topup/{id}/{amount}\":\r\n patch:\r\n summary: Top up an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to top up\r\n - in: path\r\n name: amount\r\n schema:\r\n type: integer\r\n required: true\r\n description: Amount of BZZ per chunk to top up to an existing postage batch.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was topped up\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"402\":\r\n description: Payment Required\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/dilute/{id}/{depth}\":\r\n patch:\r\n summary: Dilute an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to dilute\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: New batch depth. Must be higher than the previous depth.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was diluted.\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /batches:\r\n get:\r\n summary: Get all globally available batches that were purchased by all nodes.\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available and currently valid postage\r\n batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n stamps:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n depth:\r\n type: integer\r\n value:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n owner:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n default:\r\n description: Default response\r\n", - "url": "", - "output": null, - "newLineBehavior": "Auto" - } - }, - "codeGenerators": { - "openApiToCSharpClient": { - "clientBaseClass": null, - "configurationClass": null, - "generateClientClasses": true, - "generateClientInterfaces": true, - "clientBaseInterface": null, - "injectHttpClient": true, - "disposeHttpClient": true, - "protectedMethods": [], - "generateExceptionClasses": false, - "exceptionClass": "BeeNetDebugApiException", - "wrapDtoExceptions": true, - "useHttpClientCreationMethod": false, - "httpClientType": "System.Net.Http.HttpClient", - "useHttpRequestMessageCreationMethod": false, - "useBaseUrl": true, - "generateBaseUrlProperty": true, - "generateSyncMethods": false, - "generatePrepareRequestAndProcessResponseAsAsyncMethods": false, - "exposeJsonSerializerSettings": false, - "clientClassAccessModifier": "public", - "typeAccessModifier": "public", - "generateContractsOutput": false, - "contractsNamespace": null, - "contractsOutputFilePath": null, - "parameterDateTimeFormat": "s", - "parameterDateFormat": "yyyy-MM-dd", - "generateUpdateJsonSerializerSettingsMethod": true, - "useRequestAndResponseSerializationSettings": false, - "serializeTypeInformation": false, - "queryNullValue": "", - "className": "BeeDebugClient_1_2_1", - "operationGenerationMode": "SingleClientFromPathSegments", - "additionalNamespaceUsages": [ - "Etherna.BeeNet.Exceptions" - ], - "additionalContractNamespaceUsages": [], - "generateOptionalParameters": true, - "generateJsonMethods": false, - "enforceFlagEnums": false, - "parameterArrayType": "System.Collections.Generic.IEnumerable", - "parameterDictionaryType": "System.Collections.Generic.IDictionary", - "responseArrayType": "System.Collections.Generic.ICollection", - "responseDictionaryType": "System.Collections.Generic.IDictionary", - "wrapResponses": false, - "wrapResponseMethods": [], - "generateResponseClasses": true, - "responseClass": "SwaggerResponse", - "namespace": "Etherna.BeeNet.Clients.DebugApi.V1_2_1", - "requiredPropertiesMustBeDefined": true, - "dateType": "System.DateTimeOffset", - "jsonConverters": null, - "anyType": "object", - "dateTimeType": "System.DateTimeOffset", - "timeType": "System.TimeSpan", - "timeSpanType": "System.TimeSpan", - "arrayType": "System.Collections.Generic.ICollection", - "arrayInstanceType": "System.Collections.ObjectModel.Collection", - "dictionaryType": "System.Collections.Generic.IDictionary", - "dictionaryInstanceType": "System.Collections.Generic.Dictionary", - "arrayBaseType": "System.Collections.ObjectModel.Collection", - "dictionaryBaseType": "System.Collections.Generic.Dictionary", - "classStyle": "Poco", - "jsonLibrary": "SystemTextJson", - "generateDefaultValues": true, - "generateDataAnnotations": true, - "excludedTypeNames": [], - "excludedParameterNames": [], - "handleReferences": false, - "generateImmutableArrayProperties": false, - "generateImmutableDictionaryProperties": false, - "jsonSerializerSettingsTransformationMethod": null, - "inlineNamedArrays": false, - "inlineNamedDictionaries": false, - "inlineNamedTuples": true, - "inlineNamedAny": false, - "generateDtoTypes": true, - "generateOptionalPropertiesAsNullable": false, - "generateNullableReferenceTypes": true, - "templateDirectory": null, - "typeNameGeneratorType": null, - "propertyNameGeneratorType": null, - "enumNameGeneratorType": null, - "serviceHost": null, - "serviceSchemes": null, - "output": "../src/BeeNet/Clients/DebugApi/V1_2_1/BeeDebugClient_1_2_1.cs", - "newLineBehavior": "Auto" - } - } -} \ No newline at end of file diff --git a/tools/swarm-gateway-api.nswag b/tools/swarm-gateway-api.nswag deleted file mode 100644 index 32f2880f..00000000 --- a/tools/swarm-gateway-api.nswag +++ /dev/null @@ -1,102 +0,0 @@ -{ - "runtime": "Net50", - "defaultVariables": null, - "documentGenerator": { - "fromDocument": { - "json": "openapi: 3.0.3\ninfo:\n version: 2.0.0\n title: Bee API\n description: A list of the currently provided Interfaces to interact with the\n swarm, implementing file operations and sending messages\nsecurity:\n - {}\nexternalDocs:\n description: Browse the documentation @ the Swarm Docs\n url: https://docs.ethswarm.org\nservers:\n - url: http://{apiRoot}:{port}/v1\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\n - url: http://{apiRoot}:{port}\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\npaths:\n /auth:\n post:\n summary: Authenticate - This endpoint is experimental\n tags:\n - Auth\n security:\n - basicAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema:\n &a1\n type: object\n properties:\n role:\n type: string\n nullable: false\n expiry:\n type: integer\n nullable: false\n description: Expiration time in seconds\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema:\n &a2\n type: object\n properties:\n key:\n type: string\n nullable: false\n \"400\":\n &a3\n description: Bad request\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"401\":\n &a4\n description: Unauthorized\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\":\n &a5\n description: Internal Server Error\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n /refresh:\n post:\n summary: Refresh the auth token - This endpoint is experimental\n tags:\n - Auth\n security:\n - bearerAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema: *a1\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema: *a2\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n /bytes:\n post:\n summary: Upload data\n tags:\n - Bytes\n parameters:\n - &a9\n in: header\n name: swarm-tag\n schema:\n &a6\n type: integer\n required: false\n description: Associate upload with an existing Tag UID\n - &a10\n in: header\n name: swarm-pin\n schema:\n type: boolean\n required: false\n description: >\n Represents if the uploaded data should be also locally pinned on the\n node.\n\n Warning! Not available for nodes that run in Gateway mode!\n - &a15\n in: header\n name: swarm-encrypt\n schema:\n type: boolean\n required: false\n description: |\n Represents the encrypting state of the file\n Warning! Not available for nodes that run in Gateway mode!\n - &a11\n in: header\n name: swarm-postage-batch-id\n description: ID of Postage Batch that is used to upload data with\n required: true\n schema:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - &a12\n in: header\n name: swarm-deferred-upload\n schema:\n type: boolean\n default: \"true\"\n required: false\n description: >\n Determines if the uploaded data should be sent to the network\n immediately or in a deferred fashion. By default the upload will be\n deferred.\n requestBody:\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n &a16\n description: Tag UID\n schema: *a6\n content:\n application/json:\n schema:\n &a17\n type: object\n properties:\n reference:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n \"400\": *a3\n \"402\":\n &a13\n description: Payment Required\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"403\":\n &a14\n description: Endpoint or header (pinning or encryption headers) forbidden in\n Gateway mode\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\": *a5\n default:\n description: Default response\n \"/bytes/{reference}\":\n get:\n summary: Get referenced data\n tags:\n - Bytes\n parameters:\n - in: path\n name: reference\n schema:\n &a7\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n required: true\n description: Swarm address reference to content\n responses:\n \"200\":\n description: Retrieved content specified by reference\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"404\":\n &a8\n description: Not Found\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n \"/chunks/{reference}\":\n get:\n summary: Get Chunk\n tags:\n - Chunk\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of chunk\n - &a18\n in: query\n name: targets\n schema:\n type: string\n required: false\n description: Global pinning targets prefix\n responses:\n \"200\":\n description: Retrieved chunk content\n headers:\n swarm-recovery-targets:\n &a19\n description: The targets provided for recovery\n schema:\n type: string\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"202\":\n description: chunk recovery initiated. retry after sometime.\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /chunks:\n post:\n summary: Upload Chunk\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n - *a12\n requestBody:\n description: Chunk binary data that has to have at least 8 bytes.\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n description: Tag UID if it was passed to the request `swarm-tag` header.\n schema: *a6\n content:\n application/json:\n schema:\n &a21\n type: object\n properties:\n status:\n type: string\n version:\n type: string\n apiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n debugApiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n /chunks/stream:\n get:\n summary: Upload stream of chunks\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n responses:\n \"200\":\n description: Returns a Websocket connection on which stream of chunks can be\n uploaded. Each chunk sent is acknowledged using a binary response\n `0` which serves as confirmation of upload of single chunk. Chunks\n should be packaged as binary messages for uploading.\n \"400\": *a3\n default:\n description: Default response\n /bzz:\n post:\n summary: Upload file or a collection of files\n description: >-\n In order to upload a collection, user can send a multipart request with\n all the files populated in the form data with appropriate headers.\n\n User can also upload a tar file along with the swarm-collection header. This will upload the tar file after extracting the entire directory structure.\n\n If the swarm-collection header is absent, all requests (including tar files) are considered as single file uploads.\n\n A multipart request is treated as a collection regardless of whether the swarm-collection header is present. This means in order to serve single files uploaded as a multipart request, the swarm-index-document header should be used with the name of the file.\n tags:\n - BZZ\n parameters:\n - in: query\n name: name\n schema:\n type: string\n required: false\n description: Filename when uploading single file\n - *a9\n - *a10\n - *a15\n - in: header\n name: Content-Type\n schema:\n type: string\n description: The specified content-type is preserved for download of the asset\n - in: header\n name: swarm-collection\n schema:\n type: boolean\n required: false\n description: Upload file/files as a collection\n - in: header\n name: swarm-index-document\n schema:\n type: string\n example: index.html\n required: false\n description: Default file to be referenced on path, if exists under that path\n - in: header\n name: swarm-error-document\n schema:\n type: string\n example: error.html\n required: false\n description: Configure custom error document to be returned when a specified\n path can not be found in collection\n - *a11\n - *a12\n requestBody:\n content:\n multipart/form-data:\n schema:\n properties:\n file:\n type: array\n items:\n type: string\n format: binary\n application/octet-stream:\n schema:\n type: string\n format: binary\n application/x-tar:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag: *a16\n etag:\n description: >\n The RFC7232 ETag header field in a response provides the current\n entity-\n\n tag for the selected resource. An entity-tag is an opaque identifier for\n\n different versions of a resource over time, regardless whether multiple\n\n versions are valid at the same time. An entity-tag consists of an opaque\n\n quoted string, possibly prefixed by a weakness indicator.\n schema:\n type: string\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}\":\n patch:\n summary: \"Reupload a root hash to the network; deprecated: use\n /stewardship/{reference} instead\"\n deprecated: true\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get file or index document from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}/{path}\":\n get:\n summary: Get referenced file from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - in: path\n name: path\n schema:\n type: string\n required: true\n description: Path to the file in the collection.\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /tags:\n get:\n summary: Get list of tags\n tags:\n - Tag\n parameters:\n - in: query\n name: offset\n schema:\n type: integer\n minimum: 0\n default: 0\n required: false\n description: The number of items to skip before starting to collect the result\n set.\n - in: query\n name: limit\n schema:\n type: integer\n minimum: 1\n maximum: 1000\n default: 100\n required: false\n description: The numbers of items to return.\n responses:\n \"200\":\n description: List of tags\n content:\n application/json:\n schema:\n type: object\n properties:\n tags:\n type: array\n nullable: true\n items:\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n post:\n summary: Create Tag\n tags:\n - Tag\n requestBody:\n required: true\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"201\":\n description: New Tag Info\n content:\n application/json:\n schema:\n &a20\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/tags/{uid}\":\n get:\n summary: Get Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"200\":\n description: Tag info\n content:\n application/json:\n schema: *a20\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Delete Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"204\":\n description: The resource was deleted successfully.\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n patch:\n summary: Update Total Count and swarm hash for a tag of an input stream of\n unknown size using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n requestBody:\n description: Can contain swarm hash to use for the tag\n required: false\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"200\":\n description: Ok\n content:\n application/json:\n schema: *a21\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/pins/{reference}\":\n parameters:\n - in: path\n name: reference\n schema:\n &a23\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n required: true\n description: Swarm reference of the root hash\n post:\n summary: Pin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Pin already exists, so no operation\n content:\n application/json:\n schema:\n &a22\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"201\":\n description: New pin with root reference was created\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Unpin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Unpinning root hash with reference\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get pinning status of the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Reference of the pinned root hash\n content:\n application/json:\n schema: *a23\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /pins:\n get:\n summary: Get the list of pinned root hash references\n tags:\n - Pinning\n responses:\n \"200\":\n description: List of pinned root hash references\n content:\n application/json:\n schema:\n type: object\n properties:\n addresses:\n type: array\n nullable: true\n items:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/send/{topic}/{targets}\":\n post:\n summary: Send to recipient or target with Postal Service for Swarm\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema:\n &a24\n type: string\n required: true\n description: Topic name\n - in: path\n name: targets\n schema:\n pattern: ^[0-9a-fA-F]{1,6}(,[0-9a-fA-F]{1,6})*$\n description: List of hex string targets that are comma seprated and can have\n maximum length of 6\n type: string\n required: true\n description: Target message address prefix. If multiple targets are specified,\n only one would be matched.\n - in: query\n name: recipient\n schema:\n type: string\n required: false\n description: Recipient publickey\n - *a11\n responses:\n \"201\":\n description: Subscribed to topic\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/subscribe/{topic}\":\n get:\n summary: Subscribe for messages on the given topic.\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema: *a24\n required: true\n description: Topic name\n responses:\n \"200\":\n description: Returns a WebSocket with a subscription for incoming message data\n on the requested topic.\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/soc/{owner}/{id}\":\n post:\n summary: Upload single owner chunk\n tags:\n - Single owner chunk\n parameters:\n - in: path\n name: owner\n schema:\n &a26\n type: string\n pattern: ^[A-Fa-f0-9]{40}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\n required: true\n description: Owner\n - in: path\n name: id\n schema:\n &a25\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n required: true\n description: Id\n - in: query\n name: sig\n schema: *a25\n required: true\n description: Signature\n - *a10\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/feeds/{owner}/{topic}\":\n post:\n summary: Create an initial feed root manifest\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: type\n schema:\n &a27\n type: string\n pattern: ^(sequence|epoch)$\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n - *a10\n - *a11\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Find feed update\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: at\n schema:\n type: integer\n required: false\n description: \"Timestamp of the update (default: now)\"\n - in: query\n name: type\n schema: *a27\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n responses:\n \"200\":\n description: Latest feed update\n headers:\n swarm-feed-index:\n description: The index of the found update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n swarm-feed-index-next:\n description: The index of the next possible update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n \"/stewardship/{reference}\":\n get:\n summary: Check if content is available\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Returns if the content is retrievable\n content:\n application/json:\n schema:\n type: object\n properties:\n isRetrievable:\n type: boolean\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n put:\n summary: Reupload a root hash to the network\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\ncomponents:\n securitySchemes:\n basicAuth:\n type: http\n scheme: basic\n bearerAuth:\n type: http\n scheme: bearer\n bearerFormat: SecurityToken\n", - "url": "", - "output": null, - "newLineBehavior": "Auto" - } - }, - "codeGenerators": { - "openApiToCSharpClient": { - "clientBaseClass": null, - "configurationClass": null, - "generateClientClasses": true, - "generateClientInterfaces": true, - "clientBaseInterface": null, - "injectHttpClient": true, - "disposeHttpClient": true, - "protectedMethods": [], - "generateExceptionClasses": false, - "exceptionClass": "BeeNetGatewayApiException", - "wrapDtoExceptions": true, - "useHttpClientCreationMethod": false, - "httpClientType": "System.Net.Http.HttpClient", - "useHttpRequestMessageCreationMethod": false, - "useBaseUrl": true, - "generateBaseUrlProperty": true, - "generateSyncMethods": false, - "generatePrepareRequestAndProcessResponseAsAsyncMethods": false, - "exposeJsonSerializerSettings": false, - "clientClassAccessModifier": "public", - "typeAccessModifier": "public", - "generateContractsOutput": false, - "contractsNamespace": null, - "contractsOutputFilePath": null, - "parameterDateTimeFormat": "s", - "parameterDateFormat": "yyyy-MM-dd", - "generateUpdateJsonSerializerSettingsMethod": true, - "useRequestAndResponseSerializationSettings": false, - "serializeTypeInformation": false, - "queryNullValue": "", - "className": "BeeGatewayClient_2_0_0", - "operationGenerationMode": "SingleClientFromPathSegments", - "additionalNamespaceUsages": [ - "Etherna.BeeNet.Exceptions" - ], - "additionalContractNamespaceUsages": [], - "generateOptionalParameters": true, - "generateJsonMethods": false, - "enforceFlagEnums": false, - "parameterArrayType": "System.Collections.Generic.IEnumerable", - "parameterDictionaryType": "System.Collections.Generic.IDictionary", - "responseArrayType": "System.Collections.Generic.ICollection", - "responseDictionaryType": "System.Collections.Generic.IDictionary", - "wrapResponses": false, - "wrapResponseMethods": [], - "generateResponseClasses": true, - "responseClass": "SwaggerResponse", - "namespace": "Etherna.BeeNet.Clients.GatewayApi.V2_0_0", - "requiredPropertiesMustBeDefined": true, - "dateType": "System.DateTimeOffset", - "jsonConverters": null, - "anyType": "object", - "dateTimeType": "System.DateTimeOffset", - "timeType": "System.TimeSpan", - "timeSpanType": "System.TimeSpan", - "arrayType": "System.Collections.Generic.ICollection", - "arrayInstanceType": "System.Collections.ObjectModel.Collection", - "dictionaryType": "System.Collections.Generic.IDictionary", - "dictionaryInstanceType": "System.Collections.Generic.Dictionary", - "arrayBaseType": "System.Collections.ObjectModel.Collection", - "dictionaryBaseType": "System.Collections.Generic.Dictionary", - "classStyle": "Poco", - "jsonLibrary": "SystemTextJson", - "generateDefaultValues": true, - "generateDataAnnotations": true, - "excludedTypeNames": [], - "excludedParameterNames": [], - "handleReferences": false, - "generateImmutableArrayProperties": false, - "generateImmutableDictionaryProperties": false, - "jsonSerializerSettingsTransformationMethod": null, - "inlineNamedArrays": false, - "inlineNamedDictionaries": false, - "inlineNamedTuples": true, - "inlineNamedAny": false, - "generateDtoTypes": true, - "generateOptionalPropertiesAsNullable": false, - "generateNullableReferenceTypes": true, - "templateDirectory": null, - "typeNameGeneratorType": null, - "propertyNameGeneratorType": null, - "enumNameGeneratorType": null, - "serviceHost": null, - "serviceSchemes": null, - "output": "../src/BeeNet/Clients/GatewayApi/V2_0_0/BeeGatewayClient_2_0_0.cs", - "newLineBehavior": "Auto" - } - } -} \ No newline at end of file From 19723c0c22a74983912cfc740ae050f2437ef016 Mon Sep 17 00:00:00 2001 From: Federico Cicciarella Date: Sun, 13 Mar 2022 14:05:31 +0100 Subject: [PATCH 3/6] porting Debug --- src/BeeNet/Clients/DebugApi/BeeDebugClient.cs | 51 + .../Clients/DebugApi/DebugApiVersion.cs | 3 +- .../DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs | 7317 +++++++++++++++++ .../Clients/GatewayApi/GatewayApiVersion.cs | 3 +- .../v3_0_0/BeeGatewayClient_3_0_0.cs | 5734 +++++++++++++ src/BeeNet/DtoModels/AddressDetailDto.cs | 11 + src/BeeNet/DtoModels/AnonymousDto.cs | 13 + src/BeeNet/DtoModels/BalanceDto.cs | 18 + src/BeeNet/DtoModels/BucketDto.cs | 9 + src/BeeNet/DtoModels/ChainstateDto.cs | 10 + src/BeeNet/DtoModels/ChequebookBalanceDto.cs | 9 + .../DtoModels/ChequebookCashoutGetDto.cs | 12 + .../DtoModels/ChequebookChequeGetDto.cs | 20 + src/BeeNet/DtoModels/ConnectedPeersDto.cs | 14 + src/BeeNet/DtoModels/DisconnectedPeersDto.cs | 9 + src/BeeNet/DtoModels/LastCashedChequeDto.cs | 10 + src/BeeNet/DtoModels/LastReceivedDto.cs | 20 + src/BeeNet/DtoModels/LastSentDto.cs | 20 + src/BeeNet/DtoModels/MessageResponseDto.cs | 27 + src/BeeNet/DtoModels/MetricsDto.cs | 13 + src/BeeNet/DtoModels/NodeInfoDto.cs | 26 +- src/BeeNet/DtoModels/PendingTransactionDto.cs | 16 + src/BeeNet/DtoModels/PostageBatchDto.cs | 61 + src/BeeNet/DtoModels/ReserveStateDto.cs | 11 + src/BeeNet/DtoModels/ResultChequebookDto.cs | 10 + src/BeeNet/DtoModels/SettlementDataDto.cs | 20 + src/BeeNet/DtoModels/SettlementDto.cs | 11 + src/BeeNet/DtoModels/StampsBucketsDto.cs | 11 + src/BeeNet/DtoModels/TagDto.cs | 16 + src/BeeNet/DtoModels/TimesettlementsDto.cs | 11 + src/BeeNet/DtoModels/TopologyDto.cs | 15 + src/BeeNet/DtoModels/TransactionsDto.cs | 16 + src/BeeNet/DtoModels/VersionDto.cs | 32 + tools/openapi/Swarm.yaml | 2 +- tools/openapi/SwarmCommon.yaml | 6 +- tools/openapi/SwarmDebug.yaml | 5 +- tools/swarm-debug-api.nswag | 8 +- tools/swarm-gateway-api.nswag | 8 +- 38 files changed, 13587 insertions(+), 21 deletions(-) create mode 100644 src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs create mode 100644 src/BeeNet/Clients/GatewayApi/v3_0_0/BeeGatewayClient_3_0_0.cs diff --git a/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs b/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs index a5100a9d..86fb07c9 100644 --- a/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs +++ b/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs @@ -14,9 +14,11 @@ using Etherna.BeeNet.Clients.DebugApi.V1_2_0; using Etherna.BeeNet.Clients.DebugApi.V1_2_1; +using Etherna.BeeNet.Clients.DebugApi.V2_0_0; using Etherna.BeeNet.DtoModels; using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; using System.Net.Http; using System.Text.Json; @@ -29,6 +31,7 @@ public class BeeDebugClient : IBeeDebugClient // Fields. private readonly IBeeDebugClient_1_2_0 beeDebugClient_1_2_0; private readonly IBeeDebugClient_1_2_1 beeDebugClient_1_2_1; + private readonly IBeeDebugClient_2_0_0 beeDebugClient_2_0_0; // Constructors. public BeeDebugClient(HttpClient httpClient, Uri baseUrl, DebugApiVersion apiVersion) @@ -38,6 +41,7 @@ public BeeDebugClient(HttpClient httpClient, Uri baseUrl, DebugApiVersion apiVer beeDebugClient_1_2_0 = new BeeDebugClient_1_2_0(httpClient) { BaseUrl = baseUrl.ToString() }; beeDebugClient_1_2_1 = new BeeDebugClient_1_2_1(httpClient) { BaseUrl = baseUrl.ToString() }; + beeDebugClient_2_0_0 = new BeeDebugClient_2_0_0(httpClient) { BaseUrl = baseUrl.ToString() }; CurrentApiVersion = apiVersion; } @@ -55,6 +59,7 @@ public async Task BuyPostageBatchAsync( { DebugApiVersion.v1_2_0 => ((JsonElement)(await beeDebugClient_1_2_0.StampsPostAsync(amount, depth, label, immutable, gasPrice).ConfigureAwait(false)).BatchID).ToString(), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.StampsPostAsync(amount, depth, label, immutable, gasPrice).ConfigureAwait(false)).BatchID, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.StampsPostAsync(amount.ToString(CultureInfo.InvariantCulture), depth, label, immutable, gasPrice).ConfigureAwait(false)).BatchID, _ => throw new InvalidOperationException() }; @@ -66,6 +71,7 @@ public async Task CashoutChequeForPeerAsync( { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookCashoutPostAsync(peerId, gasPrice, gasLimit).ConfigureAwait(false)).TransactionHash, DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookCashoutPostAsync(peerId, gasPrice, gasLimit).ConfigureAwait(false)).TransactionHash, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.ChequebookCashoutPostAsync(peerId, gasPrice, gasLimit).ConfigureAwait(false)).TransactionHash, _ => throw new InvalidOperationException() }; @@ -74,6 +80,7 @@ public async Task ConnectToPeerAsync(string address) => { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ConnectAsync(address).ConfigureAwait(false)).Address, DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ConnectAsync(address).ConfigureAwait(false)).Address, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.ConnectAsync(address).ConfigureAwait(false)).Address, _ => throw new InvalidOperationException() }; @@ -82,6 +89,7 @@ public async Task DeleteChunkAsync(string address) => { DebugApiVersion.v1_2_0 => new MessageResponseDto(await beeDebugClient_1_2_0.ChunksDeleteAsync(address).ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new MessageResponseDto(await beeDebugClient_1_2_1.ChunksDeleteAsync(address).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new MessageResponseDto(await beeDebugClient_2_0_0.ChunksDeleteAsync(address).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -90,6 +98,7 @@ public async Task DeletePeerAsync(string address) => { DebugApiVersion.v1_2_0 => new MessageResponseDto(await beeDebugClient_1_2_0.PeersDeleteAsync(address).ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new MessageResponseDto(await beeDebugClient_1_2_1.PeersDeleteAsync(address).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new MessageResponseDto(await beeDebugClient_2_0_0.PeersDeleteAsync(address).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -100,6 +109,7 @@ public async Task DeleteTransactionAsync( { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.TransactionsDeleteAsync(txHash, gasPrice).ConfigureAwait(false)).TransactionHash, DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.TransactionsDeleteAsync(txHash, gasPrice).ConfigureAwait(false)).TransactionHash, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.TransactionsDeleteAsync(txHash, gasPrice).ConfigureAwait(false)).TransactionHash, _ => throw new InvalidOperationException() }; @@ -110,6 +120,7 @@ public async Task DepositIntoChequeBookAsync( { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, _ => throw new InvalidOperationException() }; @@ -120,6 +131,7 @@ public async Task DilutePostageBatchAsync( { DebugApiVersion.v1_2_0 => ((JsonElement)(await beeDebugClient_1_2_0.StampsDiluteAsync(id, depth).ConfigureAwait(false)).BatchID).ToString(), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.StampsDiluteAsync(id, depth).ConfigureAwait(false)).BatchID, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.StampsDiluteAsync(id, depth).ConfigureAwait(false)).BatchID, _ => throw new InvalidOperationException() }; @@ -128,6 +140,7 @@ public async Task GetAddressesAsync() => { DebugApiVersion.v1_2_0 => new AddressDetailDto(await beeDebugClient_1_2_0.AddressesAsync().ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new AddressDetailDto(await beeDebugClient_1_2_1.AddressesAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new AddressDetailDto(await beeDebugClient_2_0_0.AddressesAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -136,6 +149,7 @@ public async Task> GetAllBalancesAsync() => { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), _ => throw new InvalidOperationException() }; @@ -144,6 +158,7 @@ public async Task> GetAllChequeBookChequesAs { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques.Select(i => new ChequeBookChequeGetDto(i)), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques.Select(i => new ChequeBookChequeGetDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques.Select(i => new ChequeBookChequeGetDto(i)), _ => throw new InvalidOperationException() }; @@ -152,6 +167,7 @@ public async Task> GetAllConsumedBalancesAsync() => { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), _ => throw new InvalidOperationException() }; @@ -160,6 +176,7 @@ public async Task> GetAllPeerAddressesAsync() => { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.PeersGetAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.PeersGetAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.PeersGetAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), _ => throw new InvalidOperationException() }; @@ -168,6 +185,7 @@ public async Task GetAllSettlementsAsync() => { DebugApiVersion.v1_2_0 => new SettlementDto(await beeDebugClient_1_2_0.SettlementsGetAsync().ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new SettlementDto(await beeDebugClient_1_2_1.SettlementsGetAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new SettlementDto(await beeDebugClient_2_0_0.SettlementsGetAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -176,6 +194,7 @@ public async Task GetAllTimeSettlementsAsync() => { DebugApiVersion.v1_2_0 => new TimeSettlementsDto(await beeDebugClient_1_2_0.TimesettlementsAsync().ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new TimeSettlementsDto(await beeDebugClient_1_2_1.TimesettlementsAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new TimeSettlementsDto(await beeDebugClient_2_0_0.TimesettlementsAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -184,6 +203,7 @@ public async Task> GetAllValidPostageBatchesFromAll { DebugApiVersion.v1_2_0 => throw new InvalidOperationException($"Debug API {CurrentApiVersion} doesn't implement this function"), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BatchesAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.BatchesAsync().ConfigureAwait(false)).Batches.Select(i => new PostageBatchDto(i)), _ => throw new InvalidOperationException() }; @@ -192,6 +212,7 @@ public async Task> GetBalanceWithPeerAsync(string addres { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.BalancesGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), _ => throw new InvalidOperationException() }; @@ -200,6 +221,7 @@ public async Task> GetBlocklistedPeerAddressesAsync() => { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.BlocklistAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BlocklistAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.BlocklistAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), _ => throw new InvalidOperationException() }; @@ -208,6 +230,7 @@ public async Task GetChainStateAsync() => { DebugApiVersion.v1_2_0 => new ChainStateDto(await beeDebugClient_1_2_0.ChainstateAsync().ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new ChainStateDto(await beeDebugClient_1_2_1.ChainstateAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new ChainStateDto(await beeDebugClient_2_0_0.ChainstateAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -216,6 +239,7 @@ public async Task GetChequeBookAddressAsync() => { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookAddressAsync().ConfigureAwait(false)).ChequebookAddress, DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookAddressAsync().ConfigureAwait(false)).ChequebookAddress, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.ChequebookAddressAsync().ConfigureAwait(false)).ChequebookAddress, _ => throw new InvalidOperationException() }; @@ -224,6 +248,7 @@ public async Task GetChequeBookBalanceAsync() => { DebugApiVersion.v1_2_0 => new ChequeBookBalanceDto(await beeDebugClient_1_2_0.ChequebookBalanceAsync().ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new ChequeBookBalanceDto(await beeDebugClient_1_2_1.ChequebookBalanceAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new ChequeBookBalanceDto(await beeDebugClient_2_0_0.ChequebookBalanceAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -232,6 +257,7 @@ public async Task GetChequeBookCashoutForPeerAsync(stri { DebugApiVersion.v1_2_0 => new ChequeBookCashoutGetDto(await beeDebugClient_1_2_0.ChequebookCashoutGetAsync(peerId).ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new ChequeBookCashoutGetDto(await beeDebugClient_1_2_1.ChequebookCashoutGetAsync(peerId).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new ChequeBookCashoutGetDto(await beeDebugClient_2_0_0.ChequebookCashoutGetAsync(peerId).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -240,6 +266,7 @@ public async Task GetChequeBookChequeForPeerAsync(string { DebugApiVersion.v1_2_0 => new ChequeBookChequeGetDto(await beeDebugClient_1_2_0.ChequebookChequeGetAsync(peerId).ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new ChequeBookChequeGetDto(await beeDebugClient_1_2_1.ChequebookChequeGetAsync(peerId).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new ChequeBookChequeGetDto(await beeDebugClient_2_0_0.ChequebookChequeGetAsync(peerId).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -248,6 +275,7 @@ public async Task GetChunkAsync(string address) => { DebugApiVersion.v1_2_0 => new MessageResponseDto(await beeDebugClient_1_2_0.ChunksGetAsync(address).ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new MessageResponseDto(await beeDebugClient_1_2_1.ChunksGetAsync(address).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new MessageResponseDto(await beeDebugClient_2_0_0.ChunksGetAsync(address).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -256,6 +284,7 @@ public async Task> GetConsumedBalanceWithPeerAsync(strin { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.ConsumedGetAsync().ConfigureAwait(false)).Balances.Select(i => new BalanceDto(i)), _ => throw new InvalidOperationException() }; @@ -264,6 +293,7 @@ public async Task GetHealthAsync() => { DebugApiVersion.v1_2_0 => new VersionDto(await beeDebugClient_1_2_0.HealthAsync().ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new VersionDto(await beeDebugClient_1_2_1.HealthAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new VersionDto(await beeDebugClient_2_0_0.HealthAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -272,6 +302,7 @@ public async Task GetNodeInfoAsync() => { DebugApiVersion.v1_2_0 => throw new InvalidOperationException($"Debug API {CurrentApiVersion} doesn't implement this function"), DebugApiVersion.v1_2_1 => new NodeInfoDto(await beeDebugClient_1_2_1.NodeAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new NodeInfoDto(await beeDebugClient_2_0_0.NodeAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -280,6 +311,7 @@ public async Task> GetOwnedPostageBatchesByNodeAsyn { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.StampsGetAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.StampsGetAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.StampsGetAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), _ => throw new InvalidOperationException() }; @@ -288,6 +320,7 @@ public async Task> GetPendingTransactionsAsyn { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions.Select(i => new PendingTransactionDto(i)), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions.Select(i => new PendingTransactionDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions.Select(i => new PendingTransactionDto(i)), _ => throw new InvalidOperationException() }; @@ -296,6 +329,7 @@ public async Task GetPostageBatchAsync(string id) => { DebugApiVersion.v1_2_0 => new PostageBatchDto(await beeDebugClient_1_2_0.StampsGetAsync(id).ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new PostageBatchDto(await beeDebugClient_1_2_1.StampsGetAsync(id).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new PostageBatchDto(await beeDebugClient_2_0_0.StampsGetAsync(id).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -304,6 +338,7 @@ public async Task GetReadinessAsync() => { DebugApiVersion.v1_2_0 => new VersionDto(await beeDebugClient_1_2_0.ReadinessAsync().ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new VersionDto(await beeDebugClient_1_2_1.ReadinessAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new VersionDto(await beeDebugClient_2_0_0.ReadinessAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -312,6 +347,7 @@ public async Task GetReserveStateAsync() => { DebugApiVersion.v1_2_0 => new ReserveStateDto(await beeDebugClient_1_2_0.ReservestateAsync().ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new ReserveStateDto(await beeDebugClient_1_2_1.ReservestateAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new ReserveStateDto(await beeDebugClient_2_0_0.ReservestateAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -320,6 +356,7 @@ public async Task> GetSettlementsWithPeerAsync(st { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.SettlementsGetAsync().ConfigureAwait(false)).Settlements.Select(i => new SettlementDataDto(i)), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.SettlementsGetAsync().ConfigureAwait(false)).Settlements.Select(i => new SettlementDataDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.SettlementsGetAsync().ConfigureAwait(false)).Settlements.Select(i => new SettlementDataDto(i)), _ => throw new InvalidOperationException() }; @@ -328,6 +365,7 @@ public async Task GetStampsBucketsForBatchAsync(string batchId { DebugApiVersion.v1_2_0 => new StampsBucketsDto(await beeDebugClient_1_2_0.StampsBucketsAsync(batchId).ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new StampsBucketsDto(await beeDebugClient_1_2_1.StampsBucketsAsync(batchId).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new StampsBucketsDto(await beeDebugClient_2_0_0.StampsBucketsAsync(batchId).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -336,6 +374,7 @@ public async Task GetSwarmTopologyAsync() => { DebugApiVersion.v1_2_0 => new TopologyDto(await beeDebugClient_1_2_0.TopologyAsync().ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new TopologyDto(await beeDebugClient_1_2_1.TopologyAsync().ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new TopologyDto(await beeDebugClient_2_0_0.TopologyAsync().ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -344,6 +383,7 @@ public async Task GetTagInfoAsync(int uid) => { DebugApiVersion.v1_2_0 => new TagDto(await beeDebugClient_1_2_0.TagsAsync(uid).ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new TagDto(await beeDebugClient_1_2_1.TagsAsync(uid).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new TagDto(await beeDebugClient_2_0_0.TagsAsync(uid).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -352,6 +392,7 @@ public async Task GetTransactionInfoAsync(string txHash) => { DebugApiVersion.v1_2_0 => new TransactionsDto(await beeDebugClient_1_2_0.TransactionsGetAsync(txHash).ConfigureAwait(false)), DebugApiVersion.v1_2_1 => new TransactionsDto(await beeDebugClient_1_2_1.TransactionsGetAsync(txHash).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new TransactionsDto(await beeDebugClient_2_0_0.TransactionsGetAsync(txHash).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -360,6 +401,7 @@ public async Task GetWelcomeMessageAsync() => { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.WelcomeMessageGetAsync().ConfigureAwait(false)).WelcomeMessage, DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.WelcomeMessageGetAsync().ConfigureAwait(false)).WelcomeMessage, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.WelcomeMessageGetAsync().ConfigureAwait(false)).WelcomeMessage, _ => throw new InvalidOperationException() }; @@ -368,6 +410,7 @@ public async Task RebroadcastTransactionAsync(string txHash) => { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.TransactionsPostAsync(txHash).ConfigureAwait(false)).TransactionHash, DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.TransactionsPostAsync(txHash).ConfigureAwait(false)).TransactionHash, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.TransactionsPostAsync(txHash).ConfigureAwait(false)).TransactionHash, _ => throw new InvalidOperationException() }; @@ -384,6 +427,11 @@ public async Task SetWelcomeMessageAsync(string welcomeMessage) => { WelcomeMessage = welcomeMessage }).ConfigureAwait(false)), + DebugApiVersion.v2_0_0 => new VersionDto(await beeDebugClient_2_0_0.WelcomeMessagePostAsync( + new DebugApi.V2_0_0.Body + { + WelcomeMessage = welcomeMessage + }).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -394,6 +442,7 @@ public async Task TopUpPostageBatchAsync( { DebugApiVersion.v1_2_0 => ((JsonElement)(await beeDebugClient_1_2_0.StampsTopupAsync(id, amount).ConfigureAwait(false)).BatchID).ToString(), DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.StampsTopupAsync(id, amount).ConfigureAwait(false)).BatchID, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.StampsTopupAsync(id, amount).ConfigureAwait(false)).BatchID, _ => throw new InvalidOperationException() }; @@ -402,6 +451,7 @@ public async Task TryConnectToPeerAsync(string peerId) => { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.PingpongAsync(peerId).ConfigureAwait(false)).Rtt, DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.PingpongAsync(peerId).ConfigureAwait(false)).Rtt, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.PingpongAsync(peerId).ConfigureAwait(false)).Rtt, _ => throw new InvalidOperationException() }; @@ -412,6 +462,7 @@ public async Task WithdrawFromChequeBookAsync( { DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.ChequebookDepositAsync(amount, gasPrice).ConfigureAwait(false)).TransactionHash, _ => throw new InvalidOperationException() }; } diff --git a/src/BeeNet/Clients/DebugApi/DebugApiVersion.cs b/src/BeeNet/Clients/DebugApi/DebugApiVersion.cs index 0ee6ae3f..ca438fe1 100644 --- a/src/BeeNet/Clients/DebugApi/DebugApiVersion.cs +++ b/src/BeeNet/Clients/DebugApi/DebugApiVersion.cs @@ -17,6 +17,7 @@ namespace Etherna.BeeNet.Clients.DebugApi public enum DebugApiVersion { v1_2_0, - v1_2_1 + v1_2_1, + v2_0_0 } } diff --git a/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs b/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs new file mode 100644 index 00000000..e42bc449 --- /dev/null +++ b/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs @@ -0,0 +1,7317 @@ +//---------------------- +// +// Generated using the NSwag toolchain v13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org) +// +//---------------------- + +#nullable enable + +using Etherna.BeeNet.Exceptions; + +#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended." +#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword." +#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?' +#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ... +#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..." +#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'" +#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant" +#pragma warning disable 8603 // Disable "CS8603 Possible null reference return" + +namespace Etherna.BeeNet.Clients.DebugApi.V2_0_0 +{ + using System = global::System; + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial interface IBeeDebugClient_2_0_0 + { + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get overlay and underlay addresses of the node + /// + /// Own node underlay and overlay addresses + /// A server side error occurred. + System.Threading.Tasks.Task AddressesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the balances with all known peers including prepaid services + /// + /// Own balances with all known peers + /// A server side error occurred. + System.Threading.Tasks.Task BalancesGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the balances with a specific peer including prepaid services + /// + /// Swarm address of peer + /// Balance with the specific peer + /// A server side error occurred. + System.Threading.Tasks.Task BalancesGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get a list of blocklisted peers + /// + /// Returns overlay addresses of blocklisted peers + /// A server side error occurred. + System.Threading.Tasks.Task BlocklistAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the past due consumption balances with all known peers + /// + /// Own past due consumption balances with all known peers + /// A server side error occurred. + System.Threading.Tasks.Task ConsumedGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the past due consumption balance with a specific peer + /// + /// Swarm address of peer + /// Past-due consumption balance with the specific peer + /// A server side error occurred. + System.Threading.Tasks.Task ConsumedGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the address of the chequebook contract used + /// + /// Ethereum address of chequebook contract + /// A server side error occurred. + System.Threading.Tasks.Task ChequebookAddressAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the balance of the chequebook + /// + /// Balance of the chequebook + /// A server side error occurred. + System.Threading.Tasks.Task ChequebookBalanceAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Check if chunk at address exists locally + /// + /// Swarm address of chunk + /// Chunk exists + /// A server side error occurred. + System.Threading.Tasks.Task ChunksGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Delete a chunk from local storage + /// + /// Swarm address of chunk + /// Chunk exists + /// A server side error occurred. + System.Threading.Tasks.Task ChunksDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Connect to address + /// + /// Underlay address of peer + /// Returns overlay address of connected peer + /// A server side error occurred. + System.Threading.Tasks.Task ConnectAsync(string multiAddress, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get reserve state + /// + /// Reserve State + /// A server side error occurred. + System.Threading.Tasks.Task ReservestateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get chain state + /// + /// Chain State + /// A server side error occurred. + System.Threading.Tasks.Task ChainstateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get information about the node + /// + /// Information about the node + /// A server side error occurred. + System.Threading.Tasks.Task NodeAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get health of node + /// + /// Health State of node + /// A server side error occurred. + System.Threading.Tasks.Task HealthAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get a list of peers + /// + /// Returns overlay addresses of connected peers + /// A server side error occurred. + System.Threading.Tasks.Task PeersGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Remove peer + /// + /// Swarm address of peer + /// Disconnected peer + /// A server side error occurred. + System.Threading.Tasks.Task PeersDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Try connection to node + /// + /// Swarm address of peer + /// Returns round trip time for given peer + /// A server side error occurred. + System.Threading.Tasks.Task PingpongAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get readiness state of node + /// + /// Health State of node + /// A server side error occurred. + System.Threading.Tasks.Task ReadinessAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get amount of sent and received from settlements with a peer + /// + /// Swarm address of peer + /// Amount of sent or received from settlements with a peer + /// A server side error occurred. + System.Threading.Tasks.Task SettlementsGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get settlements with all known peers and total amount sent or received + /// + /// Settlements with all known peers and total amount sent or received + /// A server side error occurred. + System.Threading.Tasks.Task SettlementsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get time based settlements with all known peers and total amount sent or received + /// + /// Time based settlements with all known peers and total amount sent or received + /// A server side error occurred. + System.Threading.Tasks.Task TimesettlementsAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// Swarm topology of the bee node + /// A server side error occurred. + System.Threading.Tasks.Task TopologyAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get configured P2P welcome message + /// + /// Welcome message + /// A server side error occurred. + System.Threading.Tasks.Task WelcomeMessageGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Set P2P welcome message + /// + /// OK + /// A server side error occurred. + System.Threading.Tasks.Task WelcomeMessagePostAsync(Body? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get last cashout action for the peer + /// + /// Swarm address of peer + /// Cashout status + /// A server side error occurred. + System.Threading.Tasks.Task ChequebookCashoutGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Cashout the last cheque for the peer + /// + /// Swarm address of peer + /// Gas price for transaction + /// Gas limit for transaction + /// OK + /// A server side error occurred. + System.Threading.Tasks.Task ChequebookCashoutPostAsync(string peer_id, long? gas_price = null, long? gas_limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get last cheques for the peer + /// + /// Swarm address of peer + /// Last cheques + /// A server side error occurred. + System.Threading.Tasks.Task ChequebookChequeGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get last cheques for all peers + /// + /// Last cheques + /// A server side error occurred. + System.Threading.Tasks.Task ChequebookChequeGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Deposit tokens from overlay address into chequebook + /// + /// amount of tokens to deposit + /// Gas price for transaction + /// Transaction hash of the deposit transaction + /// A server side error occurred. + System.Threading.Tasks.Task ChequebookDepositAsync(long amount, long? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Withdraw tokens from the chequebook to the overlay address + /// + /// amount of tokens to withdraw + /// Gas price for transaction + /// Transaction hash of the withdraw transaction + /// A server side error occurred. + System.Threading.Tasks.Task ChequebookWithdrawAsync(long amount, long? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get Tag information using Uid + /// + /// Uid + /// Tag info + /// A server side error occurred. + System.Threading.Tasks.Task TagsAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get list of pending transactions + /// + /// List of pending transactions + /// A server side error occurred. + System.Threading.Tasks.Task TransactionsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get information about a sent transaction + /// + /// Hash of the transaction + /// Get info about transaction + /// A server side error occurred. + System.Threading.Tasks.Task TransactionsGetAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Rebroadcast existing transaction + /// + /// Hash of the transaction + /// Hash of the transaction + /// A server side error occurred. + System.Threading.Tasks.Task TransactionsPostAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Cancel existing transaction + /// + /// Hash of the transaction + /// Gas price for transaction + /// Hash of the transaction + /// A server side error occurred. + System.Threading.Tasks.Task TransactionsDeleteAsync(string txHash, long? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get all available stamps for this node + /// + /// Returns an array of all available postage batches. + /// A server side error occurred. + System.Threading.Tasks.Task StampsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get an individual postage batch status + /// + /// Swarm address of the stamp + /// Returns an individual postage batch state + /// A server side error occurred. + System.Threading.Tasks.Task StampsGetAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get extended bucket data of a batch + /// + /// Swarm address of the stamp + /// Returns extended bucket data of the provided batch ID + /// A server side error occurred. + System.Threading.Tasks.Task StampsBucketsAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Buy a new postage batch. + /// + /// Amount of BZZ added that the postage batch will have. + /// Batch depth which specifies how many chunks can be signed with the batch. It is a logarithm. Must be higher than default bucket depth (16) + /// An optional label for this batch + /// Gas price for transaction + /// Returns the newly created postage batch ID + /// A server side error occurred. + System.Threading.Tasks.Task StampsPostAsync(string amount, int depth, string? label = null, bool? immutable = null, long? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Top up an existing postage batch. + /// + /// Batch ID to top up + /// Amount of BZZ per chunk to top up to an existing postage batch. + /// Returns the postage batch ID that was topped up + /// A server side error occurred. + System.Threading.Tasks.Task StampsTopupAsync(string id, long amount, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Dilute an existing postage batch. + /// + /// Batch ID to dilute + /// New batch depth. Must be higher than the previous depth. + /// Returns the postage batch ID that was diluted. + /// A server side error occurred. + System.Threading.Tasks.Task StampsDiluteAsync(string id, int depth, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get all globally available batches that were purchased by all nodes. + /// + /// Returns an array of all available and currently valid postage batches. + /// A server side error occurred. + System.Threading.Tasks.Task BatchesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + } + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class BeeDebugClient_2_0_0 : IBeeDebugClient_2_0_0 + { + private string _baseUrl = "http://{apiRoot}:{port}"; + private System.Net.Http.HttpClient _httpClient; + private System.Lazy _settings; + + public BeeDebugClient_2_0_0(System.Net.Http.HttpClient httpClient) + { + _httpClient = httpClient; + _settings = new System.Lazy(CreateSerializerSettings); + } + + private System.Text.Json.JsonSerializerOptions CreateSerializerSettings() + { + var settings = new System.Text.Json.JsonSerializerOptions(); + UpdateJsonSerializerSettings(settings); + return settings; + } + + public string BaseUrl + { + get { return _baseUrl; } + set { _baseUrl = value; } + } + + protected System.Text.Json.JsonSerializerOptions JsonSerializerSettings { get { return _settings.Value; } } + + partial void UpdateJsonSerializerSettings(System.Text.Json.JsonSerializerOptions settings); + + partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url); + partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder); + partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get overlay and underlay addresses of the node + /// + /// Own node underlay and overlay addresses + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task AddressesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/addresses"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the balances with all known peers including prepaid services + /// + /// Own balances with all known peers + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task BalancesGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/balances"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the balances with a specific peer including prepaid services + /// + /// Swarm address of peer + /// Balance with the specific peer + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task BalancesGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (address == null) + throw new System.ArgumentNullException("address"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/balances/{address}"); + urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get a list of blocklisted peers + /// + /// Returns overlay addresses of blocklisted peers + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task BlocklistAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/blocklist"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the past due consumption balances with all known peers + /// + /// Own past due consumption balances with all known peers + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ConsumedGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/consumed"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the past due consumption balance with a specific peer + /// + /// Swarm address of peer + /// Past-due consumption balance with the specific peer + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ConsumedGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (address == null) + throw new System.ArgumentNullException("address"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/consumed/{address}"); + urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the address of the chequebook contract used + /// + /// Ethereum address of chequebook contract + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChequebookAddressAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/address"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the balance of the chequebook + /// + /// Balance of the chequebook + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChequebookBalanceAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/balance"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Check if chunk at address exists locally + /// + /// Swarm address of chunk + /// Chunk exists + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChunksGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (address == null) + throw new System.ArgumentNullException("address"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/{address}"); + urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Delete a chunk from local storage + /// + /// Swarm address of chunk + /// Chunk exists + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChunksDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (address == null) + throw new System.ArgumentNullException("address"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/{address}"); + urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("DELETE"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Connect to address + /// + /// Underlay address of peer + /// Returns overlay address of connected peer + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ConnectAsync(string multiAddress, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (multiAddress == null) + throw new System.ArgumentNullException("multiAddress"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/connect/{multiAddress}"); + urlBuilder_.Replace("{multiAddress}", System.Uri.EscapeDataString(ConvertToString(multiAddress, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get reserve state + /// + /// Reserve State + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ReservestateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/reservestate"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get chain state + /// + /// Chain State + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChainstateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chainstate"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get information about the node + /// + /// Information about the node + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task NodeAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/node"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get health of node + /// + /// Health State of node + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task HealthAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/health"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get a list of peers + /// + /// Returns overlay addresses of connected peers + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PeersGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/peers"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Remove peer + /// + /// Swarm address of peer + /// Disconnected peer + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PeersDeleteAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (address == null) + throw new System.ArgumentNullException("address"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/peers/{address}"); + urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("DELETE"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Try connection to node + /// + /// Swarm address of peer + /// Returns round trip time for given peer + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PingpongAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (peer_id == null) + throw new System.ArgumentNullException("peer_id"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pingpong/{peer-id}"); + urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get readiness state of node + /// + /// Health State of node + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ReadinessAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/readiness"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get amount of sent and received from settlements with a peer + /// + /// Swarm address of peer + /// Amount of sent or received from settlements with a peer + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task SettlementsGetAsync(string address, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (address == null) + throw new System.ArgumentNullException("address"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/settlements/{address}"); + urlBuilder_.Replace("{address}", System.Uri.EscapeDataString(ConvertToString(address, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get settlements with all known peers and total amount sent or received + /// + /// Settlements with all known peers and total amount sent or received + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task SettlementsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/settlements"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get time based settlements with all known peers and total amount sent or received + /// + /// Time based settlements with all known peers and total amount sent or received + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TimesettlementsAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/timesettlements"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// Swarm topology of the bee node + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TopologyAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/topology"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get configured P2P welcome message + /// + /// Welcome message + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task WelcomeMessageGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/welcome-message"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Set P2P welcome message + /// + /// OK + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task WelcomeMessagePostAsync(Body? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/welcome-message"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); + content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get last cashout action for the peer + /// + /// Swarm address of peer + /// Cashout status + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChequebookCashoutGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (peer_id == null) + throw new System.ArgumentNullException("peer_id"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cashout/{peer-id}"); + urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Cashout the last cheque for the peer + /// + /// Swarm address of peer + /// Gas price for transaction + /// Gas limit for transaction + /// OK + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChequebookCashoutPostAsync(string peer_id, long? gas_price = null, long? gas_limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (peer_id == null) + throw new System.ArgumentNullException("peer_id"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cashout/{peer-id}"); + urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (gas_price != null) + request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); + + if (gas_limit != null) + request_.Headers.TryAddWithoutValidation("gas-limit", ConvertToString(gas_limit, System.Globalization.CultureInfo.InvariantCulture)); + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 429) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get last cheques for the peer + /// + /// Swarm address of peer + /// Last cheques + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChequebookChequeGetAsync(string peer_id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (peer_id == null) + throw new System.ArgumentNullException("peer_id"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cheque/{peer-id}"); + urlBuilder_.Replace("{peer-id}", System.Uri.EscapeDataString(ConvertToString(peer_id, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get last cheques for all peers + /// + /// Last cheques + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChequebookChequeGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/cheque"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Deposit tokens from overlay address into chequebook + /// + /// amount of tokens to deposit + /// Gas price for transaction + /// Transaction hash of the deposit transaction + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChequebookDepositAsync(long amount, long? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (amount == null) + throw new System.ArgumentNullException("amount"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/deposit?"); + urlBuilder_.Append(System.Uri.EscapeDataString("amount") + "=").Append(System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (gas_price != null) + request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Withdraw tokens from the chequebook to the overlay address + /// + /// amount of tokens to withdraw + /// Gas price for transaction + /// Transaction hash of the withdraw transaction + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChequebookWithdrawAsync(long amount, long? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (amount == null) + throw new System.ArgumentNullException("amount"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chequebook/withdraw?"); + urlBuilder_.Append(System.Uri.EscapeDataString("amount") + "=").Append(System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (gas_price != null) + request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get Tag information using Uid + /// + /// Uid + /// Tag info + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TagsAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (uid == null) + throw new System.ArgumentNullException("uid"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags/{uid}"); + urlBuilder_.Replace("{uid}", System.Uri.EscapeDataString(ConvertToString(uid, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get list of pending transactions + /// + /// List of pending transactions + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TransactionsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get information about a sent transaction + /// + /// Hash of the transaction + /// Get info about transaction + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TransactionsGetAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (txHash == null) + throw new System.ArgumentNullException("txHash"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions/{txHash}"); + urlBuilder_.Replace("{txHash}", System.Uri.EscapeDataString(ConvertToString(txHash, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Rebroadcast existing transaction + /// + /// Hash of the transaction + /// Hash of the transaction + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TransactionsPostAsync(string txHash, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (txHash == null) + throw new System.ArgumentNullException("txHash"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions/{txHash}"); + urlBuilder_.Replace("{txHash}", System.Uri.EscapeDataString(ConvertToString(txHash, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Cancel existing transaction + /// + /// Hash of the transaction + /// Gas price for transaction + /// Hash of the transaction + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TransactionsDeleteAsync(string txHash, long? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (txHash == null) + throw new System.ArgumentNullException("txHash"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/transactions/{txHash}"); + urlBuilder_.Replace("{txHash}", System.Uri.EscapeDataString(ConvertToString(txHash, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (gas_price != null) + request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); + request_.Method = new System.Net.Http.HttpMethod("DELETE"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get all available stamps for this node + /// + /// Returns an array of all available postage batches. + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task StampsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get an individual postage batch status + /// + /// Swarm address of the stamp + /// Returns an individual postage batch state + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task StampsGetAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (id == null) + throw new System.ArgumentNullException("id"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/{id}"); + urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get extended bucket data of a batch + /// + /// Swarm address of the stamp + /// Returns extended bucket data of the provided batch ID + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task StampsBucketsAsync(string id, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (id == null) + throw new System.ArgumentNullException("id"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/{id}/buckets"); + urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Buy a new postage batch. + /// + /// Amount of BZZ added that the postage batch will have. + /// Batch depth which specifies how many chunks can be signed with the batch. It is a logarithm. Must be higher than default bucket depth (16) + /// An optional label for this batch + /// Gas price for transaction + /// Returns the newly created postage batch ID + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task StampsPostAsync(string amount, int depth, string? label = null, bool? immutable = null, long? gas_price = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (amount == null) + throw new System.ArgumentNullException("amount"); + + if (depth == null) + throw new System.ArgumentNullException("depth"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/{amount}/{depth}?"); + urlBuilder_.Replace("{amount}", System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))); + urlBuilder_.Replace("{depth}", System.Uri.EscapeDataString(ConvertToString(depth, System.Globalization.CultureInfo.InvariantCulture))); + if (label != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("label") + "=").Append(System.Uri.EscapeDataString(ConvertToString(label, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (immutable != null) + request_.Headers.TryAddWithoutValidation("immutable", ConvertToString(immutable, System.Globalization.CultureInfo.InvariantCulture)); + + if (gas_price != null) + request_.Headers.TryAddWithoutValidation("gas-price", ConvertToString(gas_price, System.Globalization.CultureInfo.InvariantCulture)); + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 429) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Top up an existing postage batch. + /// + /// Batch ID to top up + /// Amount of BZZ per chunk to top up to an existing postage batch. + /// Returns the postage batch ID that was topped up + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task StampsTopupAsync(string id, long amount, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (id == null) + throw new System.ArgumentNullException("id"); + + if (amount == null) + throw new System.ArgumentNullException("amount"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/topup/{id}/{amount}"); + urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); + urlBuilder_.Replace("{amount}", System.Uri.EscapeDataString(ConvertToString(amount, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("PATCH"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 202) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 402) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 429) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Dilute an existing postage batch. + /// + /// Batch ID to dilute + /// New batch depth. Must be higher than the previous depth. + /// Returns the postage batch ID that was diluted. + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task StampsDiluteAsync(string id, int depth, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (id == null) + throw new System.ArgumentNullException("id"); + + if (depth == null) + throw new System.ArgumentNullException("depth"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stamps/dilute/{id}/{depth}"); + urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); + urlBuilder_.Replace("{depth}", System.Uri.EscapeDataString(ConvertToString(depth, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("PATCH"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 202) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 429) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Too many requests", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetDebugApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get all globally available batches that were purchased by all nodes. + /// + /// Returns an array of all available and currently valid postage batches. + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task BatchesAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/batches"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetDebugApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetDebugApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + protected struct ObjectResponseResult + { + public ObjectResponseResult(T responseObject, string responseText) + { + this.Object = responseObject; + this.Text = responseText; + } + + public T Object { get; } + + public string Text { get; } + } + + public bool ReadResponseAsString { get; set; } + + protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken) + { + if (response == null || response.Content == null) + { + return new ObjectResponseResult(default(T)!, string.Empty); + } + + if (ReadResponseAsString) + { + var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + var typedBody = System.Text.Json.JsonSerializer.Deserialize(responseText, JsonSerializerSettings); + return new ObjectResponseResult(typedBody!, responseText); + } + catch (System.Text.Json.JsonException exception) + { + var message = "Could not deserialize the response body string as " + typeof(T).FullName + "."; + throw new BeeNetDebugApiException(message, (int)response.StatusCode, responseText, headers, exception); + } + } + else + { + try + { + using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false)) + { + var typedBody = await System.Text.Json.JsonSerializer.DeserializeAsync(responseStream, JsonSerializerSettings, cancellationToken).ConfigureAwait(false); + return new ObjectResponseResult(typedBody!, string.Empty); + } + } + catch (System.Text.Json.JsonException exception) + { + var message = "Could not deserialize the response body stream as " + typeof(T).FullName + "."; + throw new BeeNetDebugApiException(message, (int)response.StatusCode, string.Empty, headers, exception); + } + } + } + + private string ConvertToString(object? value, System.Globalization.CultureInfo cultureInfo) + { + if (value == null) + { + return ""; + } + + if (value is System.Enum) + { + var name = System.Enum.GetName(value.GetType(), value); + if (name != null) + { + var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name); + if (field != null) + { + var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute)) + as System.Runtime.Serialization.EnumMemberAttribute; + if (attribute != null) + { + return attribute.Value != null ? attribute.Value : name; + } + } + + var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo)); + return converted == null ? string.Empty : converted; + } + } + else if (value is bool) + { + return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant(); + } + else if (value is byte[]) + { + return System.Convert.ToBase64String((byte[]) value); + } + else if (value.GetType().IsArray) + { + var array = System.Linq.Enumerable.OfType((System.Array) value); + return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo))); + } + + var result = System.Convert.ToString(value, cultureInfo); + return result == null ? "" : result; + } + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Body + { + + [System.Text.Json.Serialization.JsonPropertyName("welcomeMessage")] + public string WelcomeMessage { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response + { + + [System.Text.Json.Serialization.JsonPropertyName("overlay")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Overlay { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("underlay")] + public System.Collections.Generic.ICollection Underlay { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("ethereum")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Ethereum { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("publicKey")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{66}$")] + public string PublicKey { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("pssPublicKey")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{66}$")] + public string PssPublicKey { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response2 + { + + [System.Text.Json.Serialization.JsonPropertyName("balances")] + public System.Collections.Generic.ICollection Balances { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response3 + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("balance")] + public string Balance { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response4 + { + + [System.Text.Json.Serialization.JsonPropertyName("peers")] + public System.Collections.Generic.ICollection? Peers { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response5 + { + + [System.Text.Json.Serialization.JsonPropertyName("balances")] + public System.Collections.Generic.ICollection Balances { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response6 + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("balance")] + public string Balance { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response7 + { + + [System.Text.Json.Serialization.JsonPropertyName("chequebookAddress")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string ChequebookAddress { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response8 + { + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("totalBalance")] + public string TotalBalance { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("availableBalance")] + public string AvailableBalance { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response9 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response10 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response11 + { + + [System.Text.Json.Serialization.JsonPropertyName("address")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Address { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response12 + { + + [System.Text.Json.Serialization.JsonPropertyName("radius")] + public int Radius { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("available")] + public int Available { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("outer")] + public string Outer { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("inner")] + public string Inner { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response13 + { + + [System.Text.Json.Serialization.JsonPropertyName("block")] + public int Block { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("totalAmount")] + public int TotalAmount { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("currentPrice")] + public int CurrentPrice { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response14 + { + /// + /// Gives back in what mode the Bee client has been started. The modes are mutually exclusive * `light` - light node; does not participate in forwarding or storing chunks * `full` - full node * `dev` - development mode; Bee client for development purposes, blockchain operations are mocked + ///
+ ///
+ + [System.Text.Json.Serialization.JsonPropertyName("beeMode")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))] + public Response14BeeMode BeeMode { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("gatewayMode")] + public bool GatewayMode { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("chequebookEnabled")] + public bool ChequebookEnabled { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("swapEnabled")] + public bool SwapEnabled { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response15 + { + + [System.Text.Json.Serialization.JsonPropertyName("status")] + public string Status { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("version")] + public string Version { get; set; } = default!; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] + public string ApiVersion { get; set; } = "0.0.0"; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] + public string DebugApiVersion { get; set; } = "0.0.0"; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response16 + { + + [System.Text.Json.Serialization.JsonPropertyName("peers")] + public System.Collections.Generic.ICollection? Peers { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response17 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response18 + { + /// + /// Go time.Duration format + /// + + [System.Text.Json.Serialization.JsonPropertyName("rtt")] + public string Rtt { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response19 + { + + [System.Text.Json.Serialization.JsonPropertyName("status")] + public string Status { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("version")] + public string Version { get; set; } = default!; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] + public string ApiVersion { get; set; } = "0.0.0"; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] + public string DebugApiVersion { get; set; } = "0.0.0"; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response20 + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("received")] + public int Received { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sent")] + public int Sent { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response21 + { + + [System.Text.Json.Serialization.JsonPropertyName("totalReceived")] + public int TotalReceived { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("totalSent")] + public int TotalSent { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("settlements")] + public System.Collections.Generic.ICollection? Settlements { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response22 + { + + [System.Text.Json.Serialization.JsonPropertyName("totalReceived")] + public int TotalReceived { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("totalSent")] + public int TotalSent { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("settlements")] + public System.Collections.Generic.ICollection? Settlements { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response23 + { + + [System.Text.Json.Serialization.JsonPropertyName("baseAddr")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string BaseAddr { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("population")] + public int Population { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("connected")] + public int Connected { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("timestamp")] + public string Timestamp { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("nnLowWatermark")] + public int NnLowWatermark { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("depth")] + public int Depth { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("bins")] + public System.Collections.Generic.IDictionary Bins { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response24 + { + + [System.Text.Json.Serialization.JsonPropertyName("welcomeMessage")] + public string WelcomeMessage { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response25 + { + + [System.Text.Json.Serialization.JsonPropertyName("status")] + public string Status { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("version")] + public string Version { get; set; } = default!; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] + public string ApiVersion { get; set; } = "0.0.0"; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] + public string DebugApiVersion { get; set; } = "0.0.0"; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response26 + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("lastCashedCheque")] + public LastCashedCheque LastCashedCheque { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] + public string TransactionHash { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("result")] + public Result Result { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("uncashedAmount")] + public string UncashedAmount { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response27 + { + + [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] + public string TransactionHash { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response28 + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("lastreceived")] + public Lastreceived Lastreceived { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("lastsent")] + public Lastsent Lastsent { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response29 + { + + [System.Text.Json.Serialization.JsonPropertyName("lastcheques")] + public System.Collections.Generic.ICollection? Lastcheques { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response30 + { + + [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] + public string TransactionHash { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response31 + { + + [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] + public string TransactionHash { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response32 + { + + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int Total { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("split")] + public int Split { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("seen")] + public int Seen { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("stored")] + public int Stored { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sent")] + public int Sent { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("synced")] + public int Synced { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("uid")] + public int Uid { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("address")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Address { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("startedAt")] + public System.DateTimeOffset StartedAt { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response33 + { + + [System.Text.Json.Serialization.JsonPropertyName("pendingTransactions")] + public System.Collections.Generic.ICollection? PendingTransactions { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response34 + { + + [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] + public string TransactionHash { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("to")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string To { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("nonce")] + public int Nonce { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("gasPrice")] + public string GasPrice { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("gasLimit")] + public long GasLimit { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("data")] + public string Data { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("created")] + public System.DateTimeOffset Created { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("value")] + public string Value { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response35 + { + + [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] + public string TransactionHash { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response36 + { + + [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] + public string TransactionHash { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response37 + { + + [System.Text.Json.Serialization.JsonPropertyName("stamps")] + public System.Collections.Generic.ICollection? Stamps { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response38 + { + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response39 + { + + [System.Text.Json.Serialization.JsonPropertyName("depth")] + public int Depth { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] + public int BucketDepth { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("bucketUpperBound")] + public int BucketUpperBound { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("buckets")] + public System.Collections.Generic.ICollection? Buckets { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response40 + { + + [System.Text.Json.Serialization.JsonPropertyName("batchID")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string BatchID { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response41 + { + + [System.Text.Json.Serialization.JsonPropertyName("batchID")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string BatchID { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response42 + { + + [System.Text.Json.Serialization.JsonPropertyName("batchID")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string BatchID { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response43 + { + + [System.Text.Json.Serialization.JsonPropertyName("batches")] + public System.Collections.Generic.ICollection? Batches { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response44 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response45 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response46 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response47 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response48 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response49 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response50 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response51 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response52 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response53 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response54 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response55 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response56 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response57 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response58 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response59 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response60 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response61 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response62 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response63 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response64 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response65 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response66 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response67 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response68 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response69 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response70 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response71 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response72 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response73 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response74 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response75 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response76 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response77 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response78 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response79 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response80 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response81 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response82 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response83 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response84 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response85 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response86 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response87 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response88 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response89 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response90 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response91 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response92 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response93 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response94 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response95 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response96 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response97 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response98 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response99 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response100 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response101 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response102 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response103 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response104 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Balances + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("balance")] + public string Balance { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Peers + { + + [System.Text.Json.Serialization.JsonPropertyName("address")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Address { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Balances2 + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("balance")] + public string Balance { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public enum Response14BeeMode + { + + [System.Runtime.Serialization.EnumMember(Value = @"light")] + Light = 0, + + [System.Runtime.Serialization.EnumMember(Value = @"full")] + Full = 1, + + [System.Runtime.Serialization.EnumMember(Value = @"dev")] + Dev = 2, + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Peers2 + { + + [System.Text.Json.Serialization.JsonPropertyName("address")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Address { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Settlements + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("received")] + public int Received { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sent")] + public int Sent { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Settlements2 + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("received")] + public int Received { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sent")] + public int Sent { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Anonymous + { + + [System.Text.Json.Serialization.JsonPropertyName("population")] + public int Population { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("connected")] + public int Connected { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("disconnectedPeers")] + public System.Collections.Generic.ICollection DisconnectedPeers { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("connectedPeers")] + public System.Collections.Generic.ICollection ConnectedPeers { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class LastCashedCheque + { + + [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Beneficiary { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("chequebook")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Chequebook { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("payout")] + public string Payout { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Result + { + + [System.Text.Json.Serialization.JsonPropertyName("recipient")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Recipient { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("lastPayout")] + public string LastPayout { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("bounced")] + public bool Bounced { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Lastreceived + { + + [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Beneficiary { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("chequebook")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Chequebook { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("payout")] + public string Payout { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Lastsent + { + + [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Beneficiary { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("chequebook")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Chequebook { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("payout")] + public string Payout { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Lastcheques + { + + [System.Text.Json.Serialization.JsonPropertyName("peer")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Peer { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("lastreceived")] + public Lastreceived2 Lastreceived { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("lastsent")] + public Lastsent2 Lastsent { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class PendingTransactions + { + + [System.Text.Json.Serialization.JsonPropertyName("transactionHash")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^0x[A-Fa-f0-9]{64}$")] + public string TransactionHash { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("to")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string To { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("nonce")] + public int Nonce { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("gasPrice")] + public string GasPrice { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("gasLimit")] + public long GasLimit { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("data")] + public string Data { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("created")] + public System.DateTimeOffset Created { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string Description { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("value")] + public string Value { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Stamps + { + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Buckets + { + + [System.Text.Json.Serialization.JsonPropertyName("bucketID")] + public int BucketID { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("collisions")] + public int Collisions { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Batches + { + + [System.Text.Json.Serialization.JsonPropertyName("batchID")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string BatchID { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("depth")] + public int Depth { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("value")] + public string Value { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] + public int BucketDepth { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("blockNumber")] + public int BlockNumber { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("immutableFlag")] + public bool ImmutableFlag { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("batchTTL")] + public int BatchTTL { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("owner")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Owner { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class DisconnectedPeers + { + + [System.Text.Json.Serialization.JsonPropertyName("address")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Address { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("metrics")] + public Metrics Metrics { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class ConnectedPeers + { + + [System.Text.Json.Serialization.JsonPropertyName("address")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Address { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("metrics")] + public Metrics2 Metrics { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Lastreceived2 + { + + [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Beneficiary { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("chequebook")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Chequebook { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("payout")] + public string Payout { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Lastsent2 + { + + [System.Text.Json.Serialization.JsonPropertyName("beneficiary")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Beneficiary { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("chequebook")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{40}$")] + public string Chequebook { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("payout")] + public string Payout { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Metrics + { + + [System.Text.Json.Serialization.JsonPropertyName("lastSeenTimestamp")] + public int LastSeenTimestamp { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionRetry")] + public int SessionConnectionRetry { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("connectionTotalDuration")] + public double ConnectionTotalDuration { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDuration")] + public double SessionConnectionDuration { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDirection")] + public string SessionConnectionDirection { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("latencyEWMA")] + public int LatencyEWMA { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Metrics2 + { + + [System.Text.Json.Serialization.JsonPropertyName("lastSeenTimestamp")] + public int LastSeenTimestamp { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionRetry")] + public int SessionConnectionRetry { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("connectionTotalDuration")] + public double ConnectionTotalDuration { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDuration")] + public double SessionConnectionDuration { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("sessionConnectionDirection")] + public string SessionConnectionDirection { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("latencyEWMA")] + public int LatencyEWMA { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + +} + +#pragma warning restore 1591 +#pragma warning restore 1573 +#pragma warning restore 472 +#pragma warning restore 114 +#pragma warning restore 108 +#pragma warning restore 3016 +#pragma warning restore 8603 \ No newline at end of file diff --git a/src/BeeNet/Clients/GatewayApi/GatewayApiVersion.cs b/src/BeeNet/Clients/GatewayApi/GatewayApiVersion.cs index 8a780c97..9edc0205 100644 --- a/src/BeeNet/Clients/GatewayApi/GatewayApiVersion.cs +++ b/src/BeeNet/Clients/GatewayApi/GatewayApiVersion.cs @@ -16,6 +16,7 @@ namespace Etherna.BeeNet.Clients.GatewayApi { public enum GatewayApiVersion { - v2_0_0 + v2_0_0, + v3_0_0 } } diff --git a/src/BeeNet/Clients/GatewayApi/v3_0_0/BeeGatewayClient_3_0_0.cs b/src/BeeNet/Clients/GatewayApi/v3_0_0/BeeGatewayClient_3_0_0.cs new file mode 100644 index 00000000..114566b4 --- /dev/null +++ b/src/BeeNet/Clients/GatewayApi/v3_0_0/BeeGatewayClient_3_0_0.cs @@ -0,0 +1,5734 @@ +//---------------------- +// +// Generated using the NSwag toolchain v13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org) +// +//---------------------- + +#nullable enable + +using Etherna.BeeNet.Exceptions; + +#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended." +#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword." +#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?' +#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ... +#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..." +#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'" +#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant" +#pragma warning disable 8603 // Disable "CS8603 Possible null reference return" + +namespace Etherna.BeeNet.Clients.GatewayApi.V3_0_0 +{ + using System = global::System; + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial interface IBeeGatewayClient_3_0_0 + { + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Authenticate - This endpoint is experimental + /// + /// Ok + /// A server side error occurred. + System.Threading.Tasks.Task AuthAsync(Body body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Refresh the auth token - This endpoint is experimental + /// + /// Ok + /// A server side error occurred. + System.Threading.Tasks.Task RefreshAsync(Body2 body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload data + /// + /// ID of Postage Batch that is used to upload data with + /// Associate upload with an existing Tag UID + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Represents the encrypting state of the file + ///
Warning! Not available for nodes that run in Gateway mode! + /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. + /// Ok + /// A server side error occurred. + System.Threading.Tasks.Task BytesPostAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_encrypt = null, bool? swarm_deferred_upload = null, System.IO.Stream? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get referenced data + /// + /// Swarm address reference to content + /// Retrieved content specified by reference + /// A server side error occurred. + System.Threading.Tasks.Task BytesGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get Chunk + /// + /// Swarm address of chunk + /// Global pinning targets prefix + /// Retrieved chunk content + /// A server side error occurred. + System.Threading.Tasks.Task ChunksGetAsync(string reference, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload Chunk + /// + /// ID of Postage Batch that is used to upload data with + /// Associate upload with an existing Tag UID + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. + /// Chunk binary data that has to have at least 8 bytes. + /// Ok + /// A server side error occurred. + System.Threading.Tasks.Task ChunksPostAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_deferred_upload = null, System.IO.Stream? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload stream of chunks + /// + /// ID of Postage Batch that is used to upload data with + /// Associate upload with an existing Tag UID + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Returns a Websocket connection on which stream of chunks can be uploaded. Each chunk sent is acknowledged using a binary response `0` which serves as confirmation of upload of single chunk. Chunks should be packaged as binary messages for uploading. + /// A server side error occurred. + System.Threading.Tasks.Task ChunksStreamAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload file or a collection of files + /// + /// ID of Postage Batch that is used to upload data with + /// Filename when uploading single file + /// Associate upload with an existing Tag UID + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Represents the encrypting state of the file + ///
Warning! Not available for nodes that run in Gateway mode! + /// The specified content-type is preserved for download of the asset + /// Upload file/files as a collection + /// Default file to be referenced on path, if exists under that path + /// Configure custom error document to be returned when a specified path can not be found in collection + /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. + /// Ok + /// A server side error occurred. + System.Threading.Tasks.Task BzzPostAsync(string swarm_postage_batch_id, string? name = null, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_encrypt = null, string? content_Type = null, bool? swarm_collection = null, string? swarm_index_document = null, string? swarm_error_document = null, bool? swarm_deferred_upload = null, System.Collections.Generic.IEnumerable? file = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Reupload a root hash to the network; deprecated: use /stewardship/{reference} instead + /// + /// Root hash of content (can be of any type: collection, file, chunk) + /// Ok + /// A server side error occurred. + [System.Obsolete] + System.Threading.Tasks.Task BzzPatchAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get file or index document from a collection of files + /// + /// Swarm address of content + /// Global pinning targets prefix + /// Ok + /// A server side error occurred. + System.Threading.Tasks.Task BzzGetAsync(string reference, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get referenced file from a collection of files + /// + /// Swarm address of content + /// Path to the file in the collection. + /// Global pinning targets prefix + /// Ok + /// A server side error occurred. + System.Threading.Tasks.Task BzzGetAsync(string reference, string path, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get list of tags + /// + /// The number of items to skip before starting to collect the result set. + /// The numbers of items to return. + /// List of tags + /// A server side error occurred. + System.Threading.Tasks.Task TagsGetAsync(int? offset = null, int? limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Create Tag + /// + /// New Tag Info + /// A server side error occurred. + System.Threading.Tasks.Task TagsPostAsync(Body3 body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get Tag information using Uid + /// + /// Uid + /// Tag info + /// A server side error occurred. + System.Threading.Tasks.Task TagsGetAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Delete Tag information using Uid + /// + /// Uid + /// The resource was deleted successfully. + /// A server side error occurred. + System.Threading.Tasks.Task TagsDeleteAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Update Total Count and swarm hash for a tag of an input stream of unknown size using Uid + /// + /// Uid + /// Can contain swarm hash to use for the tag + /// Ok + /// A server side error occurred. + System.Threading.Tasks.Task TagsPatchAsync(int uid, Body4? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Pin the root hash with the given reference + /// + /// Swarm reference of the root hash + /// Pin already exists, so no operation + /// A server side error occurred. + System.Threading.Tasks.Task PinsPostAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Unpin the root hash with the given reference + /// + /// Swarm reference of the root hash + /// Unpinning root hash with reference + /// A server side error occurred. + System.Threading.Tasks.Task PinsDeleteAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get pinning status of the root hash with the given reference + /// + /// Swarm reference of the root hash + /// Reference of the pinned root hash + /// A server side error occurred. + System.Threading.Tasks.Task PinsGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the list of pinned root hash references + /// + /// List of pinned root hash references + /// A server side error occurred. + System.Threading.Tasks.Task PinsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Send to recipient or target with Postal Service for Swarm + /// + /// Topic name + /// Target message address prefix. If multiple targets are specified, only one would be matched. + /// ID of Postage Batch that is used to upload data with + /// Recipient publickey + /// Subscribed to topic + /// A server side error occurred. + System.Threading.Tasks.Task PssSendAsync(string topic, string targets, string swarm_postage_batch_id, string? recipient = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Subscribe for messages on the given topic. + /// + /// Topic name + /// Returns a WebSocket with a subscription for incoming message data on the requested topic. + /// A server side error occurred. + System.Threading.Tasks.Task PssSubscribeAsync(string topic, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload single owner chunk + /// + /// Owner + /// Id + /// Signature + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Created + /// A server side error occurred. + System.Threading.Tasks.Task SocAsync(string owner, string id, string sig, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Create an initial feed root manifest + /// + /// Owner + /// Topic + /// ID of Postage Batch that is used to upload data with + /// Feed indexing scheme (default: sequence) + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Created + /// A server side error occurred. + System.Threading.Tasks.Task FeedsPostAsync(string owner, string topic, string swarm_postage_batch_id, string? type = null, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Find feed update + /// + /// Owner + /// Topic + /// Timestamp of the update (default: now) + /// Feed indexing scheme (default: sequence) + /// Latest feed update + /// A server side error occurred. + System.Threading.Tasks.Task FeedsGetAsync(string owner, string topic, int? at = null, string? type = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Check if content is available + /// + /// Root hash of content (can be of any type: collection, file, chunk) + /// Returns if the content is retrievable + /// A server side error occurred. + System.Threading.Tasks.Task StewardshipGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Reupload a root hash to the network + /// + /// Root hash of content (can be of any type: collection, file, chunk) + /// Ok + /// A server side error occurred. + System.Threading.Tasks.Task StewardshipPutAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)); + + } + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class BeeGatewayClient_3_0_0 : IBeeGatewayClient_3_0_0 + { + private string _baseUrl = "http://{apiRoot}:{port}/v1"; + private System.Net.Http.HttpClient _httpClient; + private System.Lazy _settings; + + public BeeGatewayClient_3_0_0(System.Net.Http.HttpClient httpClient) + { + _httpClient = httpClient; + _settings = new System.Lazy(CreateSerializerSettings); + } + + private System.Text.Json.JsonSerializerOptions CreateSerializerSettings() + { + var settings = new System.Text.Json.JsonSerializerOptions(); + UpdateJsonSerializerSettings(settings); + return settings; + } + + public string BaseUrl + { + get { return _baseUrl; } + set { _baseUrl = value; } + } + + protected System.Text.Json.JsonSerializerOptions JsonSerializerSettings { get { return _settings.Value; } } + + partial void UpdateJsonSerializerSettings(System.Text.Json.JsonSerializerOptions settings); + + partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url); + partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder); + partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response); + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Authenticate - This endpoint is experimental + /// + /// Ok + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task AuthAsync(Body body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (body == null) + throw new System.ArgumentNullException("body"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/auth"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); + content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 401) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Refresh the auth token - This endpoint is experimental + /// + /// Ok + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task RefreshAsync(Body2 body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (body == null) + throw new System.ArgumentNullException("body"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/refresh"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); + content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 401) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload data + /// + /// ID of Postage Batch that is used to upload data with + /// Associate upload with an existing Tag UID + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Represents the encrypting state of the file + ///
Warning! Not available for nodes that run in Gateway mode! + /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. + /// Ok + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task BytesPostAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_encrypt = null, bool? swarm_deferred_upload = null, System.IO.Stream? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bytes"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (swarm_postage_batch_id == null) + throw new System.ArgumentNullException("swarm_postage_batch_id"); + request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_tag != null) + request_.Headers.TryAddWithoutValidation("swarm-tag", ConvertToString(swarm_tag, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_pin != null) + request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_encrypt != null) + request_.Headers.TryAddWithoutValidation("swarm-encrypt", ConvertToString(swarm_encrypt, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_deferred_upload != null) + request_.Headers.TryAddWithoutValidation("swarm-deferred-upload", ConvertToString(swarm_deferred_upload, System.Globalization.CultureInfo.InvariantCulture)); + var content_ = new System.Net.Http.StreamContent(body); + content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/octet-stream"); + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 402) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get referenced data + /// + /// Swarm address reference to content + /// Retrieved content specified by reference + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task BytesGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bytes/{reference}"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200 || status_ == 206) + { + var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false); + var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); + disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse + return fileResponse_; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get Chunk + /// + /// Swarm address of chunk + /// Global pinning targets prefix + /// Retrieved chunk content + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChunksGetAsync(string reference, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/{reference}?"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + if (targets != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("targets") + "=").Append(System.Uri.EscapeDataString(ConvertToString(targets, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200 || status_ == 206) + { + var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false); + var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); + disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse + return fileResponse_; + } + else + if (status_ == 202) + { + string responseText_ = ( response_.Content == null ) ? string.Empty : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("chunk recovery initiated. retry after sometime.", status_, responseText_, headers_, null); + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload Chunk + /// + /// ID of Postage Batch that is used to upload data with + /// Associate upload with an existing Tag UID + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. + /// Chunk binary data that has to have at least 8 bytes. + /// Ok + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChunksPostAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_deferred_upload = null, System.IO.Stream? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (swarm_postage_batch_id == null) + throw new System.ArgumentNullException("swarm_postage_batch_id"); + request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_tag != null) + request_.Headers.TryAddWithoutValidation("swarm-tag", ConvertToString(swarm_tag, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_pin != null) + request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_deferred_upload != null) + request_.Headers.TryAddWithoutValidation("swarm-deferred-upload", ConvertToString(swarm_deferred_upload, System.Globalization.CultureInfo.InvariantCulture)); + var content_ = new System.Net.Http.StreamContent(body); + content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/octet-stream"); + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 402) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload stream of chunks + /// + /// ID of Postage Batch that is used to upload data with + /// Associate upload with an existing Tag UID + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Returns a Websocket connection on which stream of chunks can be uploaded. Each chunk sent is acknowledged using a binary response `0` which serves as confirmation of upload of single chunk. Chunks should be packaged as binary messages for uploading. + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ChunksStreamAsync(string swarm_postage_batch_id, int? swarm_tag = null, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/chunks/stream"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (swarm_postage_batch_id == null) + throw new System.ArgumentNullException("swarm_postage_batch_id"); + request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_tag != null) + request_.Headers.TryAddWithoutValidation("swarm-tag", ConvertToString(swarm_tag, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_pin != null) + request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); + request_.Method = new System.Net.Http.HttpMethod("GET"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + return; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload file or a collection of files + /// + /// ID of Postage Batch that is used to upload data with + /// Filename when uploading single file + /// Associate upload with an existing Tag UID + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Represents the encrypting state of the file + ///
Warning! Not available for nodes that run in Gateway mode! + /// The specified content-type is preserved for download of the asset + /// Upload file/files as a collection + /// Default file to be referenced on path, if exists under that path + /// Configure custom error document to be returned when a specified path can not be found in collection + /// Determines if the uploaded data should be sent to the network immediately or in a deferred fashion. By default the upload will be deferred. + /// Ok + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task BzzPostAsync(string swarm_postage_batch_id, string? name = null, int? swarm_tag = null, bool? swarm_pin = null, bool? swarm_encrypt = null, string? content_Type = null, bool? swarm_collection = null, string? swarm_index_document = null, string? swarm_error_document = null, bool? swarm_deferred_upload = null, System.Collections.Generic.IEnumerable? file = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bzz?"); + if (name != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("name") + "=").Append(System.Uri.EscapeDataString(ConvertToString(name, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (swarm_postage_batch_id == null) + throw new System.ArgumentNullException("swarm_postage_batch_id"); + request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_tag != null) + request_.Headers.TryAddWithoutValidation("swarm-tag", ConvertToString(swarm_tag, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_pin != null) + request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_encrypt != null) + request_.Headers.TryAddWithoutValidation("swarm-encrypt", ConvertToString(swarm_encrypt, System.Globalization.CultureInfo.InvariantCulture)); + + if (content_Type != null) + request_.Headers.TryAddWithoutValidation("Content-Type", ConvertToString(content_Type, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_collection != null) + request_.Headers.TryAddWithoutValidation("swarm-collection", ConvertToString(swarm_collection, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_index_document != null) + request_.Headers.TryAddWithoutValidation("swarm-index-document", ConvertToString(swarm_index_document, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_error_document != null) + request_.Headers.TryAddWithoutValidation("swarm-error-document", ConvertToString(swarm_error_document, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_deferred_upload != null) + request_.Headers.TryAddWithoutValidation("swarm-deferred-upload", ConvertToString(swarm_deferred_upload, System.Globalization.CultureInfo.InvariantCulture)); + var boundary_ = System.Guid.NewGuid().ToString(); + var content_ = new System.Net.Http.MultipartFormDataContent(boundary_); + content_.Headers.Remove("Content-Type"); + content_.Headers.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=" + boundary_); + + if (file == null) + throw new System.ArgumentNullException("file"); + else + { + foreach (var item_ in file) + { + var content_file_ = new System.Net.Http.StreamContent(item_.Data); + if (!string.IsNullOrEmpty(item_.ContentType)) + content_file_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse(item_.ContentType); + content_.Add(content_file_, "file", item_.FileName ?? "file"); + } + } + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 402) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Reupload a root hash to the network; deprecated: use /stewardship/{reference} instead + /// + /// Root hash of content (can be of any type: collection, file, chunk) + /// Ok + /// A server side error occurred. + [System.Obsolete] + public virtual async System.Threading.Tasks.Task BzzPatchAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bzz/{reference}"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("PATCH"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + return; + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get file or index document from a collection of files + /// + /// Swarm address of content + /// Global pinning targets prefix + /// Ok + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task BzzGetAsync(string reference, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bzz/{reference}?"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + if (targets != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("targets") + "=").Append(System.Uri.EscapeDataString(ConvertToString(targets, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200 || status_ == 206) + { + var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false); + var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); + disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse + return fileResponse_; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get referenced file from a collection of files + /// + /// Swarm address of content + /// Path to the file in the collection. + /// Global pinning targets prefix + /// Ok + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task BzzGetAsync(string reference, string path, string? targets = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + if (path == null) + throw new System.ArgumentNullException("path"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/bzz/{reference}/{path}?"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + urlBuilder_.Replace("{path}", System.Uri.EscapeDataString(ConvertToString(path, System.Globalization.CultureInfo.InvariantCulture))); + if (targets != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("targets") + "=").Append(System.Uri.EscapeDataString(ConvertToString(targets, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/octet-stream")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200 || status_ == 206) + { + var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await response_.Content.ReadAsStreamAsync().ConfigureAwait(false); + var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); + disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse + return fileResponse_; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get list of tags + /// + /// The number of items to skip before starting to collect the result set. + /// The numbers of items to return. + /// List of tags + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TagsGetAsync(int? offset = null, int? limit = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags?"); + if (offset != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("offset") + "=").Append(System.Uri.EscapeDataString(ConvertToString(offset, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + if (limit != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("limit") + "=").Append(System.Uri.EscapeDataString(ConvertToString(limit, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Create Tag + /// + /// New Tag Info + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TagsPostAsync(Body3 body, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (body == null) + throw new System.ArgumentNullException("body"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); + content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get Tag information using Uid + /// + /// Uid + /// Tag info + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TagsGetAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (uid == null) + throw new System.ArgumentNullException("uid"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags/{uid}"); + urlBuilder_.Replace("{uid}", System.Uri.EscapeDataString(ConvertToString(uid, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Delete Tag information using Uid + /// + /// Uid + /// The resource was deleted successfully. + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TagsDeleteAsync(int uid, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (uid == null) + throw new System.ArgumentNullException("uid"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags/{uid}"); + urlBuilder_.Replace("{uid}", System.Uri.EscapeDataString(ConvertToString(uid, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("DELETE"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 204) + { + return; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Update Total Count and swarm hash for a tag of an input stream of unknown size using Uid + /// + /// Uid + /// Can contain swarm hash to use for the tag + /// Ok + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task TagsPatchAsync(int uid, Body4? body = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (uid == null) + throw new System.ArgumentNullException("uid"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/tags/{uid}"); + urlBuilder_.Replace("{uid}", System.Uri.EscapeDataString(ConvertToString(uid, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + var content_ = new System.Net.Http.StringContent(System.Text.Json.JsonSerializer.Serialize(body, _settings.Value)); + content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("PATCH"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Pin the root hash with the given reference + /// + /// Swarm reference of the root hash + /// Pin already exists, so no operation + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PinsPostAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pins/{reference}"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("New pin with root reference was created", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Unpin the root hash with the given reference + /// + /// Swarm reference of the root hash + /// Unpinning root hash with reference + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PinsDeleteAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pins/{reference}"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("DELETE"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get pinning status of the root hash with the given reference + /// + /// Swarm reference of the root hash + /// Reference of the pinned root hash + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PinsGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pins/{reference}"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get the list of pinned root hash references + /// + /// List of pinned root hash references + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PinsGetAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pins"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Send to recipient or target with Postal Service for Swarm + /// + /// Topic name + /// Target message address prefix. If multiple targets are specified, only one would be matched. + /// ID of Postage Batch that is used to upload data with + /// Recipient publickey + /// Subscribed to topic + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PssSendAsync(string topic, string targets, string swarm_postage_batch_id, string? recipient = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (topic == null) + throw new System.ArgumentNullException("topic"); + + if (targets == null) + throw new System.ArgumentNullException("targets"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pss/send/{topic}/{targets}?"); + urlBuilder_.Replace("{topic}", System.Uri.EscapeDataString(ConvertToString(topic, System.Globalization.CultureInfo.InvariantCulture))); + urlBuilder_.Replace("{targets}", System.Uri.EscapeDataString(ConvertToString(targets, System.Globalization.CultureInfo.InvariantCulture))); + if (recipient != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("recipient") + "=").Append(System.Uri.EscapeDataString(ConvertToString(recipient, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (swarm_postage_batch_id == null) + throw new System.ArgumentNullException("swarm_postage_batch_id"); + request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + return; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 402) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Subscribe for messages on the given topic. + /// + /// Topic name + /// Returns a WebSocket with a subscription for incoming message data on the requested topic. + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PssSubscribeAsync(string topic, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (topic == null) + throw new System.ArgumentNullException("topic"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/pss/subscribe/{topic}"); + urlBuilder_.Replace("{topic}", System.Uri.EscapeDataString(ConvertToString(topic, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + return; + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Upload single owner chunk + /// + /// Owner + /// Id + /// Signature + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Created + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task SocAsync(string owner, string id, string sig, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (owner == null) + throw new System.ArgumentNullException("owner"); + + if (id == null) + throw new System.ArgumentNullException("id"); + + if (sig == null) + throw new System.ArgumentNullException("sig"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/soc/{owner}/{id}?"); + urlBuilder_.Replace("{owner}", System.Uri.EscapeDataString(ConvertToString(owner, System.Globalization.CultureInfo.InvariantCulture))); + urlBuilder_.Replace("{id}", System.Uri.EscapeDataString(ConvertToString(id, System.Globalization.CultureInfo.InvariantCulture))); + urlBuilder_.Append(System.Uri.EscapeDataString("sig") + "=").Append(System.Uri.EscapeDataString(ConvertToString(sig, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (swarm_pin != null) + request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 401) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 402) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Create an initial feed root manifest + /// + /// Owner + /// Topic + /// ID of Postage Batch that is used to upload data with + /// Feed indexing scheme (default: sequence) + /// Represents if the uploaded data should be also locally pinned on the node. + ///
Warning! Not available for nodes that run in Gateway mode! + /// Created + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task FeedsPostAsync(string owner, string topic, string swarm_postage_batch_id, string? type = null, bool? swarm_pin = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (owner == null) + throw new System.ArgumentNullException("owner"); + + if (topic == null) + throw new System.ArgumentNullException("topic"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/feeds/{owner}/{topic}?"); + urlBuilder_.Replace("{owner}", System.Uri.EscapeDataString(ConvertToString(owner, System.Globalization.CultureInfo.InvariantCulture))); + urlBuilder_.Replace("{topic}", System.Uri.EscapeDataString(ConvertToString(topic, System.Globalization.CultureInfo.InvariantCulture))); + if (type != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("type") + "=").Append(System.Uri.EscapeDataString(ConvertToString(type, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + + if (swarm_postage_batch_id == null) + throw new System.ArgumentNullException("swarm_postage_batch_id"); + request_.Headers.TryAddWithoutValidation("swarm-postage-batch-id", ConvertToString(swarm_postage_batch_id, System.Globalization.CultureInfo.InvariantCulture)); + + if (swarm_pin != null) + request_.Headers.TryAddWithoutValidation("swarm-pin", ConvertToString(swarm_pin, System.Globalization.CultureInfo.InvariantCulture)); + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 201) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 401) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 402) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Payment Required", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 403) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Endpoint or header (pinning or encryption headers) forbidden in Gateway mode", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Find feed update + /// + /// Owner + /// Topic + /// Timestamp of the update (default: now) + /// Feed indexing scheme (default: sequence) + /// Latest feed update + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task FeedsGetAsync(string owner, string topic, int? at = null, string? type = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (owner == null) + throw new System.ArgumentNullException("owner"); + + if (topic == null) + throw new System.ArgumentNullException("topic"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/feeds/{owner}/{topic}?"); + urlBuilder_.Replace("{owner}", System.Uri.EscapeDataString(ConvertToString(owner, System.Globalization.CultureInfo.InvariantCulture))); + urlBuilder_.Replace("{topic}", System.Uri.EscapeDataString(ConvertToString(topic, System.Globalization.CultureInfo.InvariantCulture))); + if (at != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("at") + "=").Append(System.Uri.EscapeDataString(ConvertToString(at, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + if (type != null) + { + urlBuilder_.Append(System.Uri.EscapeDataString("type") + "=").Append(System.Uri.EscapeDataString(ConvertToString(type, System.Globalization.CultureInfo.InvariantCulture))).Append("&"); + } + urlBuilder_.Length--; + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 400) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Bad request", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 401) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Unauthorized", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Check if content is available + /// + /// Root hash of content (can be of any type: collection, file, chunk) + /// Returns if the content is retrievable + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task StewardshipGetAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stewardship/{reference}"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Reupload a root hash to the network + /// + /// Root hash of content (can be of any type: collection, file, chunk) + /// Ok + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task StewardshipPutAsync(string reference, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + if (reference == null) + throw new System.ArgumentNullException("reference"); + + var urlBuilder_ = new System.Text.StringBuilder(); + urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/stewardship/{reference}"); + urlBuilder_.Replace("{reference}", System.Uri.EscapeDataString(ConvertToString(reference, System.Globalization.CultureInfo.InvariantCulture))); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Content = new System.Net.Http.StringContent(string.Empty, System.Text.Encoding.UTF8, "application/json"); + request_.Method = new System.Net.Http.HttpMethod("PUT"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = System.Linq.Enumerable.ToDictionary(response_.Headers, h_ => h_.Key, h_ => h_.Value); + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + return; + } + else + if (status_ == 404) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Not Found", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + if (status_ == 500) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new BeeNetGatewayApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new BeeNetGatewayApiException("Internal Server Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await response_.Content.ReadAsStringAsync().ConfigureAwait(false); + throw new BeeNetGatewayApiException("Default response", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + protected struct ObjectResponseResult + { + public ObjectResponseResult(T responseObject, string responseText) + { + this.Object = responseObject; + this.Text = responseText; + } + + public T Object { get; } + + public string Text { get; } + } + + public bool ReadResponseAsString { get; set; } + + protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken) + { + if (response == null || response.Content == null) + { + return new ObjectResponseResult(default(T)!, string.Empty); + } + + if (ReadResponseAsString) + { + var responseText = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + var typedBody = System.Text.Json.JsonSerializer.Deserialize(responseText, JsonSerializerSettings); + return new ObjectResponseResult(typedBody!, responseText); + } + catch (System.Text.Json.JsonException exception) + { + var message = "Could not deserialize the response body string as " + typeof(T).FullName + "."; + throw new BeeNetGatewayApiException(message, (int)response.StatusCode, responseText, headers, exception); + } + } + else + { + try + { + using (var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false)) + { + var typedBody = await System.Text.Json.JsonSerializer.DeserializeAsync(responseStream, JsonSerializerSettings, cancellationToken).ConfigureAwait(false); + return new ObjectResponseResult(typedBody!, string.Empty); + } + } + catch (System.Text.Json.JsonException exception) + { + var message = "Could not deserialize the response body stream as " + typeof(T).FullName + "."; + throw new BeeNetGatewayApiException(message, (int)response.StatusCode, string.Empty, headers, exception); + } + } + } + + private string ConvertToString(object? value, System.Globalization.CultureInfo cultureInfo) + { + if (value == null) + { + return ""; + } + + if (value is System.Enum) + { + var name = System.Enum.GetName(value.GetType(), value); + if (name != null) + { + var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name); + if (field != null) + { + var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute)) + as System.Runtime.Serialization.EnumMemberAttribute; + if (attribute != null) + { + return attribute.Value != null ? attribute.Value : name; + } + } + + var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo)); + return converted == null ? string.Empty : converted; + } + } + else if (value is bool) + { + return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant(); + } + else if (value is byte[]) + { + return System.Convert.ToBase64String((byte[]) value); + } + else if (value.GetType().IsArray) + { + var array = System.Linq.Enumerable.OfType((System.Array) value); + return string.Join(",", System.Linq.Enumerable.Select(array, o => ConvertToString(o, cultureInfo))); + } + + var result = System.Convert.ToString(value, cultureInfo); + return result == null ? "" : result; + } + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Body + { + + [System.Text.Json.Serialization.JsonPropertyName("role")] + public string Role { get; set; } = default!; + + /// + /// Expiration time in seconds + /// + + [System.Text.Json.Serialization.JsonPropertyName("expiry")] + public int Expiry { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Body2 + { + + [System.Text.Json.Serialization.JsonPropertyName("role")] + public string Role { get; set; } = default!; + + /// + /// Expiration time in seconds + /// + + [System.Text.Json.Serialization.JsonPropertyName("expiry")] + public int Expiry { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Body3 + { + + [System.Text.Json.Serialization.JsonPropertyName("address")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Address { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Body4 + { + + [System.Text.Json.Serialization.JsonPropertyName("address")] + [System.ComponentModel.DataAnnotations.RegularExpression(@"^[A-Fa-f0-9]{64}$")] + public string Address { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response + { + + [System.Text.Json.Serialization.JsonPropertyName("key")] + public string Key { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response2 + { + + [System.Text.Json.Serialization.JsonPropertyName("key")] + public string Key { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response3 + { + + [System.Text.Json.Serialization.JsonPropertyName("reference")] + public string Reference { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response4 + { + + [System.Text.Json.Serialization.JsonPropertyName("status")] + public string Status { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("version")] + public string Version { get; set; } = default!; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] + public string ApiVersion { get; set; } = "0.0.0"; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] + public string DebugApiVersion { get; set; } = "0.0.0"; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response5 + { + + [System.Text.Json.Serialization.JsonPropertyName("reference")] + public string Reference { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response6 + { + + [System.Text.Json.Serialization.JsonPropertyName("tags")] + public System.Collections.Generic.ICollection? Tags { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response7 + { + + [System.Text.Json.Serialization.JsonPropertyName("uid")] + public int Uid { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("startedAt")] + public System.DateTimeOffset StartedAt { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int Total { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("processed")] + public int Processed { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("synced")] + public int Synced { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response8 + { + + [System.Text.Json.Serialization.JsonPropertyName("uid")] + public int Uid { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("startedAt")] + public System.DateTimeOffset StartedAt { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int Total { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("processed")] + public int Processed { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("synced")] + public int Synced { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response9 + { + + [System.Text.Json.Serialization.JsonPropertyName("status")] + public string Status { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("version")] + public string Version { get; set; } = default!; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("apiVersion")] + public string ApiVersion { get; set; } = "0.0.0"; + + /// + /// The default value is set in case the bee binary was not build correctly. + /// + + [System.Text.Json.Serialization.JsonPropertyName("debugApiVersion")] + public string DebugApiVersion { get; set; } = "0.0.0"; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response10 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response11 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response12 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response13 + { + + [System.Text.Json.Serialization.JsonPropertyName("references")] + public System.Collections.Generic.ICollection? References { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response14 + { + + [System.Text.Json.Serialization.JsonPropertyName("reference")] + public string Reference { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response15 + { + + [System.Text.Json.Serialization.JsonPropertyName("reference")] + public string Reference { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response16 + { + + [System.Text.Json.Serialization.JsonPropertyName("reference")] + public string Reference { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response17 + { + + [System.Text.Json.Serialization.JsonPropertyName("isRetrievable")] + public bool IsRetrievable { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response18 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response19 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response20 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response21 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response22 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response23 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response24 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response25 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response26 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response27 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response28 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response29 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response30 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response31 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response32 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response33 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response34 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response35 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response36 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response37 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response38 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response39 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response40 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response41 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response42 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response43 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response44 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response45 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response46 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response47 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response48 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response49 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response50 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response51 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response52 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response53 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response54 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response55 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response56 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response57 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response58 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response59 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response60 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response61 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response62 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response63 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response64 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response65 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response66 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response67 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response68 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response69 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response70 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response71 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response72 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response73 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response74 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response75 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response76 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response77 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response78 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response79 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response80 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response81 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response82 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response83 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response84 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response85 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response86 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response87 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response88 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response89 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response90 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response91 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response92 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response93 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response94 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response95 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response96 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response97 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Response98 + { + + [System.Text.Json.Serialization.JsonPropertyName("message")] + public string Message { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("code")] + public int Code { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class Tags + { + + [System.Text.Json.Serialization.JsonPropertyName("uid")] + public int Uid { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("startedAt")] + public System.DateTimeOffset StartedAt { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int Total { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("processed")] + public int Processed { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("synced")] + public int Synced { get; set; } = default!; + + private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); + + [System.Text.Json.Serialization.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties; } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class FileParameter + { + public FileParameter(System.IO.Stream data) + : this (data, null, null) + { + } + + public FileParameter(System.IO.Stream data, string? fileName) + : this (data, fileName, null) + { + } + + public FileParameter(System.IO.Stream data, string? fileName, string? contentType) + { + Data = data; + FileName = fileName; + ContentType = contentType; + } + + public System.IO.Stream Data { get; private set; } + + public string? FileName { get; private set; } + + public string? ContentType { get; private set; } + } + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] + public partial class FileResponse : System.IDisposable + { + private System.IDisposable? _client; + private System.IDisposable? _response; + + public int StatusCode { get; private set; } + + public System.Collections.Generic.IReadOnlyDictionary> Headers { get; private set; } + + public System.IO.Stream Stream { get; private set; } + + public bool IsPartial + { + get { return StatusCode == 206; } + } + + public FileResponse(int statusCode, System.Collections.Generic.IReadOnlyDictionary> headers, System.IO.Stream stream, System.IDisposable? client, System.IDisposable? response) + { + StatusCode = statusCode; + Headers = headers; + Stream = stream; + _client = client; + _response = response; + } + + public void Dispose() + { + Stream.Dispose(); + if (_response != null) + _response.Dispose(); + if (_client != null) + _client.Dispose(); + } + } + + + +} + +#pragma warning restore 1591 +#pragma warning restore 1573 +#pragma warning restore 472 +#pragma warning restore 114 +#pragma warning restore 108 +#pragma warning restore 3016 +#pragma warning restore 8603 \ No newline at end of file diff --git a/src/BeeNet/DtoModels/AddressDetailDto.cs b/src/BeeNet/DtoModels/AddressDetailDto.cs index ee50f6cb..220881a8 100644 --- a/src/BeeNet/DtoModels/AddressDetailDto.cs +++ b/src/BeeNet/DtoModels/AddressDetailDto.cs @@ -44,6 +44,17 @@ public AddressDetailDto(Clients.DebugApi.V1_2_1.Response response) PublicKey = response.PublicKey; PssPublicKey = response.PssPublicKey; } + public AddressDetailDto(Clients.DebugApi.V2_0_0.Response response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Underlay = response.Underlay.Where(i => !string.IsNullOrWhiteSpace(i)); + Overlay = response.Overlay; + Ethereum = response.Ethereum; + PublicKey = response.PublicKey; + PssPublicKey = response.PssPublicKey; + } // Properties. public string Overlay { get; } diff --git a/src/BeeNet/DtoModels/AnonymousDto.cs b/src/BeeNet/DtoModels/AnonymousDto.cs index 6c2f15e3..d2851a04 100644 --- a/src/BeeNet/DtoModels/AnonymousDto.cs +++ b/src/BeeNet/DtoModels/AnonymousDto.cs @@ -47,6 +47,19 @@ public AnonymousDto(Clients.DebugApi.V1_2_1.Anonymous anonymous) .Select(k => new ConnectedPeersDto(k)); } + public AnonymousDto(Clients.DebugApi.V2_0_0.Anonymous anonymous) + { + if (anonymous is null) + throw new ArgumentNullException(nameof(anonymous)); + + Population = anonymous.Population; + Connected = anonymous.Connected; + DisconnectedPeers = anonymous.DisconnectedPeers + .Select(k => new DisconnectedPeersDto(k)); + ConnectedPeers = anonymous.ConnectedPeers + .Select(k => new ConnectedPeersDto(k)); + } + // Properties. public int Population { get; } public int Connected { get; } diff --git a/src/BeeNet/DtoModels/BalanceDto.cs b/src/BeeNet/DtoModels/BalanceDto.cs index ac639ce9..625b222c 100644 --- a/src/BeeNet/DtoModels/BalanceDto.cs +++ b/src/BeeNet/DtoModels/BalanceDto.cs @@ -29,6 +29,15 @@ public BalanceDto(Clients.DebugApi.V1_2_0.Balances balance) Balance = long.Parse(balance.Balance, CultureInfo.InvariantCulture); } + public BalanceDto(Clients.DebugApi.V2_0_0.Balances balance) + { + if (balance is null) + throw new ArgumentNullException(nameof(balance)); + + Peer = balance.Peer; + Balance = long.Parse(balance.Balance, CultureInfo.InvariantCulture); + } + public BalanceDto(Clients.DebugApi.V1_2_0.Balances2 balance) { if (balance is null) @@ -38,6 +47,15 @@ public BalanceDto(Clients.DebugApi.V1_2_0.Balances2 balance) Balance = long.Parse(balance.Balance, CultureInfo.InvariantCulture); } + public BalanceDto(Clients.DebugApi.V2_0_0.Balances2 balance) + { + if (balance is null) + throw new ArgumentNullException(nameof(balance)); + + Peer = balance.Peer; + Balance = long.Parse(balance.Balance, CultureInfo.InvariantCulture); + } + public BalanceDto(Clients.DebugApi.V1_2_1.Balances balance) { if (balance is null) diff --git a/src/BeeNet/DtoModels/BucketDto.cs b/src/BeeNet/DtoModels/BucketDto.cs index 72236d5f..9be77568 100644 --- a/src/BeeNet/DtoModels/BucketDto.cs +++ b/src/BeeNet/DtoModels/BucketDto.cs @@ -37,6 +37,15 @@ public BucketDto(Clients.DebugApi.V1_2_1.Buckets bucket) Collisions = bucket.Collisions; } + public BucketDto(Clients.DebugApi.V2_0_0.Buckets bucket) + { + if (bucket is null) + throw new ArgumentNullException(nameof(bucket)); + + BucketId = bucket.BucketID; + Collisions = bucket.Collisions; + } + // Properties. public int BucketId { get; } public int Collisions { get; } diff --git a/src/BeeNet/DtoModels/ChainstateDto.cs b/src/BeeNet/DtoModels/ChainstateDto.cs index 8ffb08e5..1969781a 100644 --- a/src/BeeNet/DtoModels/ChainstateDto.cs +++ b/src/BeeNet/DtoModels/ChainstateDto.cs @@ -39,6 +39,16 @@ public ChainStateDto(Clients.DebugApi.V1_2_1.Response13 response) CurrentPrice = response.CurrentPrice; } + public ChainStateDto(Clients.DebugApi.V2_0_0.Response13 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Block = response.Block; + TotalAmount = response.TotalAmount; + CurrentPrice = response.CurrentPrice; + } + // Properties. public int Block { get; } public int TotalAmount { get; } diff --git a/src/BeeNet/DtoModels/ChequebookBalanceDto.cs b/src/BeeNet/DtoModels/ChequebookBalanceDto.cs index 699b3255..dc7faa3e 100644 --- a/src/BeeNet/DtoModels/ChequebookBalanceDto.cs +++ b/src/BeeNet/DtoModels/ChequebookBalanceDto.cs @@ -38,6 +38,15 @@ public ChequeBookBalanceDto(Clients.DebugApi.V1_2_1.Response8 response) AvailableBalance = long.Parse(response.AvailableBalance, CultureInfo.InvariantCulture); } + public ChequeBookBalanceDto(Clients.DebugApi.V2_0_0.Response8 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + TotalBalance = long.Parse(response.TotalBalance, CultureInfo.InvariantCulture); + AvailableBalance = long.Parse(response.AvailableBalance, CultureInfo.InvariantCulture); + } + // Properties. public long TotalBalance { get; } public long AvailableBalance { get; } diff --git a/src/BeeNet/DtoModels/ChequebookCashoutGetDto.cs b/src/BeeNet/DtoModels/ChequebookCashoutGetDto.cs index 6c8ac502..37982bfd 100644 --- a/src/BeeNet/DtoModels/ChequebookCashoutGetDto.cs +++ b/src/BeeNet/DtoModels/ChequebookCashoutGetDto.cs @@ -44,6 +44,18 @@ public ChequeBookCashoutGetDto(Clients.DebugApi.V1_2_1.Response26 response) UncashedAmount = long.Parse(response.UncashedAmount, CultureInfo.InvariantCulture); } + public ChequeBookCashoutGetDto(Clients.DebugApi.V2_0_0.Response26 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Peer = response.Peer; + LastCashedCheque = new LastCashedChequeDto(response.LastCashedCheque); + TransactionHash = response.TransactionHash; + Result = new ResultChequeBookDto(response.Result); + UncashedAmount = long.Parse(response.UncashedAmount, CultureInfo.InvariantCulture); + } + // Properties. public string Peer { get; } public LastCashedChequeDto LastCashedCheque { get; } diff --git a/src/BeeNet/DtoModels/ChequebookChequeGetDto.cs b/src/BeeNet/DtoModels/ChequebookChequeGetDto.cs index c6cd03c3..c18b3684 100644 --- a/src/BeeNet/DtoModels/ChequebookChequeGetDto.cs +++ b/src/BeeNet/DtoModels/ChequebookChequeGetDto.cs @@ -59,6 +59,26 @@ public ChequeBookChequeGetDto(Clients.DebugApi.V1_2_1.Response28 response) LastSent = new LastSentDto(response.Lastsent); } + public ChequeBookChequeGetDto(Clients.DebugApi.V2_0_0.Lastcheques lastcheques) + { + if (lastcheques is null) + throw new ArgumentNullException(nameof(lastcheques)); + + Peer = lastcheques.Peer; + LastReceived = new LastReceivedDto(lastcheques.Lastreceived); + LastSent = new LastSentDto(lastcheques.Lastsent); + } + + public ChequeBookChequeGetDto(Clients.DebugApi.V2_0_0.Response28 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Peer = response.Peer; + LastReceived = new LastReceivedDto(response.Lastreceived); + LastSent = new LastSentDto(response.Lastsent); + } + // Properties. public string Peer { get; } public LastReceivedDto LastReceived { get; } diff --git a/src/BeeNet/DtoModels/ConnectedPeersDto.cs b/src/BeeNet/DtoModels/ConnectedPeersDto.cs index c04bebb5..74e4afa2 100644 --- a/src/BeeNet/DtoModels/ConnectedPeersDto.cs +++ b/src/BeeNet/DtoModels/ConnectedPeersDto.cs @@ -47,6 +47,20 @@ public ConnectedPeersDto(Clients.DebugApi.V1_2_1.ConnectedPeers connectedPeers) LatencyEWMA = connectedPeers.Metrics.LatencyEWMA; } + public ConnectedPeersDto(Clients.DebugApi.V2_0_0.ConnectedPeers connectedPeers) + { + if (connectedPeers is null) + throw new ArgumentNullException(nameof(connectedPeers)); + + Address = connectedPeers.Address; + LastSeenTimestamp = connectedPeers.Metrics.LastSeenTimestamp; + SessionConnectionRetry = connectedPeers.Metrics.SessionConnectionRetry; + ConnectionTotalDuration = connectedPeers.Metrics.ConnectionTotalDuration; + SessionConnectionDuration = connectedPeers.Metrics.SessionConnectionDuration; + SessionConnectionDirection = connectedPeers.Metrics.SessionConnectionDirection; + LatencyEWMA = connectedPeers.Metrics.LatencyEWMA; + } + // Properties. public string Address { get; } public int LastSeenTimestamp { get; } diff --git a/src/BeeNet/DtoModels/DisconnectedPeersDto.cs b/src/BeeNet/DtoModels/DisconnectedPeersDto.cs index cd2eff08..e31df31c 100644 --- a/src/BeeNet/DtoModels/DisconnectedPeersDto.cs +++ b/src/BeeNet/DtoModels/DisconnectedPeersDto.cs @@ -37,6 +37,15 @@ public DisconnectedPeersDto(Clients.DebugApi.V1_2_1.DisconnectedPeers disconnect Metrics = new MetricsDto(disconnectedPeers.Metrics); } + public DisconnectedPeersDto(Clients.DebugApi.V2_0_0.DisconnectedPeers disconnectedPeers) + { + if (disconnectedPeers is null) + throw new ArgumentNullException(nameof(disconnectedPeers)); + + Address = disconnectedPeers.Address; + Metrics = new MetricsDto(disconnectedPeers.Metrics); + } + // Properties. public string Address { get; } public MetricsDto Metrics { get; } diff --git a/src/BeeNet/DtoModels/LastCashedChequeDto.cs b/src/BeeNet/DtoModels/LastCashedChequeDto.cs index 3f2503d8..46c03ded 100644 --- a/src/BeeNet/DtoModels/LastCashedChequeDto.cs +++ b/src/BeeNet/DtoModels/LastCashedChequeDto.cs @@ -40,6 +40,16 @@ public LastCashedChequeDto(Clients.DebugApi.V1_2_1.LastCashedCheque lastCashedCh Payout = long.Parse(lastCashedCheque.Payout, CultureInfo.InvariantCulture); } + public LastCashedChequeDto(Clients.DebugApi.V2_0_0.LastCashedCheque lastCashedCheque) + { + if (lastCashedCheque is null) + throw new ArgumentNullException(nameof(lastCashedCheque)); + + Beneficiary = lastCashedCheque.Beneficiary; + Chequebook = lastCashedCheque.Chequebook; + Payout = long.Parse(lastCashedCheque.Payout, CultureInfo.InvariantCulture); + } + // Properties. public string Beneficiary { get; } public string Chequebook { get; } diff --git a/src/BeeNet/DtoModels/LastReceivedDto.cs b/src/BeeNet/DtoModels/LastReceivedDto.cs index aacac72b..2b383c99 100644 --- a/src/BeeNet/DtoModels/LastReceivedDto.cs +++ b/src/BeeNet/DtoModels/LastReceivedDto.cs @@ -60,6 +60,26 @@ public LastReceivedDto(Clients.DebugApi.V1_2_1.Lastreceived lastReceived) Payout = long.Parse(lastReceived.Payout, CultureInfo.InvariantCulture); } + public LastReceivedDto(Clients.DebugApi.V2_0_0.Lastreceived2 lastReceived) + { + if (lastReceived is null) + throw new ArgumentNullException(nameof(lastReceived)); + + Beneficiary = lastReceived.Beneficiary; + Chequebook = lastReceived.Chequebook; + Payout = long.Parse(lastReceived.Payout, CultureInfo.InvariantCulture); + } + + public LastReceivedDto(Clients.DebugApi.V2_0_0.Lastreceived lastReceived) + { + if (lastReceived is null) + throw new ArgumentNullException(nameof(lastReceived)); + + Beneficiary = lastReceived.Beneficiary; + Chequebook = lastReceived.Chequebook; + Payout = long.Parse(lastReceived.Payout, CultureInfo.InvariantCulture); + } + // Properties. public string Beneficiary { get; } public string Chequebook { get; } diff --git a/src/BeeNet/DtoModels/LastSentDto.cs b/src/BeeNet/DtoModels/LastSentDto.cs index 40fc06a6..07c97963 100644 --- a/src/BeeNet/DtoModels/LastSentDto.cs +++ b/src/BeeNet/DtoModels/LastSentDto.cs @@ -60,6 +60,26 @@ public LastSentDto(Clients.DebugApi.V1_2_1.Lastsent lastsent) Payout = long.Parse(lastsent.Payout, CultureInfo.InvariantCulture); } + public LastSentDto(Clients.DebugApi.V2_0_0.Lastsent2 lastsent) + { + if (lastsent is null) + throw new ArgumentNullException(nameof(lastsent)); + + Beneficiary = lastsent.Beneficiary; + Chequebook = lastsent.Chequebook; + Payout = long.Parse(lastsent.Payout, CultureInfo.InvariantCulture); + } + + public LastSentDto(Clients.DebugApi.V2_0_0.Lastsent lastsent) + { + if (lastsent is null) + throw new ArgumentNullException(nameof(lastsent)); + + Beneficiary = lastsent.Beneficiary; + Chequebook = lastsent.Chequebook; + Payout = long.Parse(lastsent.Payout, CultureInfo.InvariantCulture); + } + // Properties. public string Beneficiary { get; } public string Chequebook { get; } diff --git a/src/BeeNet/DtoModels/MessageResponseDto.cs b/src/BeeNet/DtoModels/MessageResponseDto.cs index 666c2288..1ac427d2 100644 --- a/src/BeeNet/DtoModels/MessageResponseDto.cs +++ b/src/BeeNet/DtoModels/MessageResponseDto.cs @@ -73,6 +73,33 @@ public MessageResponseDto(Clients.DebugApi.V1_2_1.Response9 response) Code = response.Code; } + public MessageResponseDto(Clients.DebugApi.V2_0_0.Response10 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Message = response.Message; + Code = response.Code; + } + + public MessageResponseDto(Clients.DebugApi.V2_0_0.Response17 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Message = response.Message; + Code = response.Code; + } + + public MessageResponseDto(Clients.DebugApi.V2_0_0.Response9 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Message = response.Message; + Code = response.Code; + } + public MessageResponseDto(Clients.GatewayApi.V2_0_0.Response10 response) { if (response is null) diff --git a/src/BeeNet/DtoModels/MetricsDto.cs b/src/BeeNet/DtoModels/MetricsDto.cs index 8fbe4916..c405de04 100644 --- a/src/BeeNet/DtoModels/MetricsDto.cs +++ b/src/BeeNet/DtoModels/MetricsDto.cs @@ -45,6 +45,19 @@ public MetricsDto(Clients.DebugApi.V1_2_1.Metrics metrics) LatencyEWMA = metrics.LatencyEWMA; } + public MetricsDto(Clients.DebugApi.V2_0_0.Metrics metrics) + { + if (metrics is null) + throw new ArgumentNullException(nameof(metrics)); + + LastSeenTimestamp = metrics.LastSeenTimestamp; + SessionConnectionRetry = metrics.SessionConnectionRetry; + ConnectionTotalDuration = metrics.ConnectionTotalDuration; + SessionConnectionDuration = metrics.SessionConnectionDuration; + SessionConnectionDirection = metrics.SessionConnectionDirection; + LatencyEWMA = metrics.LatencyEWMA; + } + // Properties. public int LastSeenTimestamp { get; } public int SessionConnectionRetry { get; } diff --git a/src/BeeNet/DtoModels/NodeInfoDto.cs b/src/BeeNet/DtoModels/NodeInfoDto.cs index 6ce1e74f..bd0af464 100644 --- a/src/BeeNet/DtoModels/NodeInfoDto.cs +++ b/src/BeeNet/DtoModels/NodeInfoDto.cs @@ -13,6 +13,7 @@ // limitations under the License. using Etherna.BeeNet.Clients.DebugApi.V1_2_1; +using Etherna.BeeNet.Clients.DebugApi.V2_0_0; using System; namespace Etherna.BeeNet.DtoModels @@ -20,16 +21,33 @@ namespace Etherna.BeeNet.DtoModels public class NodeInfoDto { // Constructors. - public NodeInfoDto(Response14 response) + public NodeInfoDto(Clients.DebugApi.V1_2_1.Response14 response) { if (response is null) throw new ArgumentNullException(nameof(response)); BeeMode = response.BeeMode switch { - Response14BeeMode.Dev => BeeModeDto.Dev, - Response14BeeMode.Full => BeeModeDto.Full, - Response14BeeMode.Light => BeeModeDto.Light, + Clients.DebugApi.V1_2_1.Response14BeeMode.Dev => BeeModeDto.Dev, + Clients.DebugApi.V1_2_1.Response14BeeMode.Full => BeeModeDto.Full, + Clients.DebugApi.V1_2_1.Response14BeeMode.Light => BeeModeDto.Light, + _ => throw new InvalidOperationException() + }; + ChequebookEnabled = response.ChequebookEnabled; + GatewayMode = response.GatewayMode; + SwapEnabled = response.SwapEnabled; + } + + public NodeInfoDto(Clients.DebugApi.V2_0_0.Response14 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + BeeMode = response.BeeMode switch + { + Clients.DebugApi.V2_0_0.Response14BeeMode.Dev => BeeModeDto.Dev, + Clients.DebugApi.V2_0_0.Response14BeeMode.Full => BeeModeDto.Full, + Clients.DebugApi.V2_0_0.Response14BeeMode.Light => BeeModeDto.Light, _ => throw new InvalidOperationException() }; ChequebookEnabled = response.ChequebookEnabled; diff --git a/src/BeeNet/DtoModels/PendingTransactionDto.cs b/src/BeeNet/DtoModels/PendingTransactionDto.cs index 97c4dbdf..ffe7c4dc 100644 --- a/src/BeeNet/DtoModels/PendingTransactionDto.cs +++ b/src/BeeNet/DtoModels/PendingTransactionDto.cs @@ -52,6 +52,22 @@ public PendingTransactionDto(Clients.DebugApi.V1_2_1.PendingTransactions tx) Value = long.Parse(tx.Value, CultureInfo.InvariantCulture); } + public PendingTransactionDto(Clients.DebugApi.V2_0_0.PendingTransactions tx) + { + if (tx is null) + throw new ArgumentNullException(nameof(tx)); + + TransactionHash = tx.TransactionHash; + To = tx.To; + Nonce = tx.Nonce; + GasPrice = long.Parse(tx.GasPrice, CultureInfo.InvariantCulture); + GasLimit = tx.GasLimit; + Data = tx.Data; + Created = tx.Created; + Description = tx.Description; + Value = long.Parse(tx.Value, CultureInfo.InvariantCulture); + } + // Properties. public string TransactionHash { get; } public string To { get; } diff --git a/src/BeeNet/DtoModels/PostageBatchDto.cs b/src/BeeNet/DtoModels/PostageBatchDto.cs index edda8720..caa56ad1 100644 --- a/src/BeeNet/DtoModels/PostageBatchDto.cs +++ b/src/BeeNet/DtoModels/PostageBatchDto.cs @@ -110,6 +110,67 @@ public PostageBatchDto(Clients.DebugApi.V1_2_1.Response38 batch) ImmutableFlag = batch.ImmutableFlag; } + public PostageBatchDto(Clients.DebugApi.V2_0_0.Stamps batch) + { + if (batch is null) + throw new ArgumentNullException(nameof(batch)); + + //TODO haven't any data + /* + AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); + BatchTTL = batch.BatchTTL; + Exists = batch.Exists; + Id = ((JsonElement)batch.BatchID).ToString(); + Utilization = batch.Utilization; + Usable = batch.Usable; + Label = batch.Label; + Depth = batch.Depth; + BucketDepth = batch.BucketDepth; + BlockNumber = batch.BlockNumber; + ImmutableFlag = batch.ImmutableFlag;*/ + } + + public PostageBatchDto(Clients.DebugApi.V2_0_0.Response38 batch) + { + if (batch is null) + throw new ArgumentNullException(nameof(batch)); + //TODO haven't any data + /* + AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); + BatchTTL = batch.BatchTTL; + Exists = batch.Exists; + Id = batch.BatchID; + Utilization = batch.Utilization; + Usable = batch.Usable; + Label = batch.Label; + Depth = batch.Depth; + BucketDepth = batch.BucketDepth; + BlockNumber = batch.BlockNumber; + ImmutableFlag = batch.ImmutableFlag; + */ + } + + public PostageBatchDto(Clients.DebugApi.V2_0_0.Batches batch) + { + if (batch is null) + throw new ArgumentNullException(nameof(batch)); + + BatchTTL = batch.BatchTTL; + Depth = batch.Depth; + BucketDepth = batch.BucketDepth; + BlockNumber = batch.BlockNumber; + ImmutableFlag = batch.ImmutableFlag; + + //TODO missing data + /* + AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); + Exists = batch.Exists; + Id = ((JsonElement)batch.BatchID).ToString(); + Utilization = batch.Utilization; + Usable = batch.Usable; + Label = batch.Label;*/ + } + // Properties. public string Id { get; } public long? AmountPaid { get; } diff --git a/src/BeeNet/DtoModels/ReserveStateDto.cs b/src/BeeNet/DtoModels/ReserveStateDto.cs index 7776655f..dd3304e9 100644 --- a/src/BeeNet/DtoModels/ReserveStateDto.cs +++ b/src/BeeNet/DtoModels/ReserveStateDto.cs @@ -42,6 +42,17 @@ public ReserveStateDto(Clients.DebugApi.V1_2_1.Response12 response) Inner = long.Parse(response.Inner, CultureInfo.InvariantCulture); } + public ReserveStateDto(Clients.DebugApi.V2_0_0.Response12 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Radius = response.Radius; + Available = response.Available; + Outer = long.Parse(response.Outer, CultureInfo.InvariantCulture); + Inner = long.Parse(response.Inner, CultureInfo.InvariantCulture); + } + // Properties. public int Radius { get; } public int Available { get; } diff --git a/src/BeeNet/DtoModels/ResultChequebookDto.cs b/src/BeeNet/DtoModels/ResultChequebookDto.cs index d250a09a..d80bb0a7 100644 --- a/src/BeeNet/DtoModels/ResultChequebookDto.cs +++ b/src/BeeNet/DtoModels/ResultChequebookDto.cs @@ -40,6 +40,16 @@ public ResultChequeBookDto(Clients.DebugApi.V1_2_1.Result result) Bounced = result.Bounced; } + public ResultChequeBookDto(Clients.DebugApi.V2_0_0.Result result) + { + if (result is null) + throw new ArgumentNullException(nameof(result)); + + Recipient = result.Recipient; + LastPayout = long.Parse(result.LastPayout, CultureInfo.InvariantCulture); + Bounced = result.Bounced; + } + // Properties. public bool Bounced { get; } public long LastPayout { get; } diff --git a/src/BeeNet/DtoModels/SettlementDataDto.cs b/src/BeeNet/DtoModels/SettlementDataDto.cs index 05848a28..3aaad9d8 100644 --- a/src/BeeNet/DtoModels/SettlementDataDto.cs +++ b/src/BeeNet/DtoModels/SettlementDataDto.cs @@ -59,6 +59,26 @@ public SettlementDataDto(Clients.DebugApi.V1_2_1.Settlements2 settlement) Sent = settlement.Sent; } + public SettlementDataDto(Clients.DebugApi.V2_0_0.Settlements settlement) + { + if (settlement is null) + throw new ArgumentNullException(nameof(settlement)); + + Peer = settlement.Peer; + Received = settlement.Received; + Sent = settlement.Sent; + } + + public SettlementDataDto(Clients.DebugApi.V2_0_0.Settlements2 settlement) + { + if (settlement is null) + throw new ArgumentNullException(nameof(settlement)); + + Peer = settlement.Peer; + Received = settlement.Received; + Sent = settlement.Sent; + } + // Properties. public string Peer { get; } public int Received { get; } diff --git a/src/BeeNet/DtoModels/SettlementDto.cs b/src/BeeNet/DtoModels/SettlementDto.cs index 6db847fa..51b546ee 100644 --- a/src/BeeNet/DtoModels/SettlementDto.cs +++ b/src/BeeNet/DtoModels/SettlementDto.cs @@ -43,6 +43,17 @@ public SettlementDto(Clients.DebugApi.V1_2_1.Response21 response) .Select(i => new SettlementDataDto(i)); } + public SettlementDto(Clients.DebugApi.V2_0_0.Response21 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + TotalReceived = response.TotalReceived; + TotalSent = response.TotalSent; + Settlements = response.Settlements + .Select(i => new SettlementDataDto(i)); + } + // Properties. public int TotalReceived { get; } public int TotalSent { get; } diff --git a/src/BeeNet/DtoModels/StampsBucketsDto.cs b/src/BeeNet/DtoModels/StampsBucketsDto.cs index fdec6f83..dfc1a986 100644 --- a/src/BeeNet/DtoModels/StampsBucketsDto.cs +++ b/src/BeeNet/DtoModels/StampsBucketsDto.cs @@ -43,6 +43,17 @@ public StampsBucketsDto(Clients.DebugApi.V1_2_1.Response39 response) Buckets = response.Buckets?.Select(i => new BucketDto(i)); } + public StampsBucketsDto(Clients.DebugApi.V2_0_0.Response39 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Depth = response.Depth; + BucketDepth = response.BucketDepth; + BucketUpperBound = response.BucketUpperBound; + Buckets = response.Buckets?.Select(i => new BucketDto(i)); + } + // Properties. public int Depth { get; } public int BucketDepth { get; } diff --git a/src/BeeNet/DtoModels/TagDto.cs b/src/BeeNet/DtoModels/TagDto.cs index 6d7ce6db..4b681031 100644 --- a/src/BeeNet/DtoModels/TagDto.cs +++ b/src/BeeNet/DtoModels/TagDto.cs @@ -51,6 +51,22 @@ public TagDto(Clients.DebugApi.V1_2_1.Response32 response) StartedAt = response.StartedAt; } + public TagDto(Clients.DebugApi.V2_0_0.Response32 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Total = response.Total; + Split = response.Split; + Seen = response.Seen; + Stored = response.Stored; + Sent = response.Sent; + Synced = response.Synced; + Uid = response.Uid; + Address = response.Address; + StartedAt = response.StartedAt; + } + // Properties. public int Total { get; } public int Split { get; } diff --git a/src/BeeNet/DtoModels/TimesettlementsDto.cs b/src/BeeNet/DtoModels/TimesettlementsDto.cs index 6d61462e..7f287c7c 100644 --- a/src/BeeNet/DtoModels/TimesettlementsDto.cs +++ b/src/BeeNet/DtoModels/TimesettlementsDto.cs @@ -43,6 +43,17 @@ public TimeSettlementsDto(Clients.DebugApi.V1_2_1.Response22 response) .Select(i => new SettlementDataDto(i)); } + public TimeSettlementsDto(Clients.DebugApi.V2_0_0.Response22 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + TotalReceived = response.TotalReceived; + TotalSent = response.TotalSent; + Settlements = response.Settlements + .Select(i => new SettlementDataDto(i)); + } + // Properties. public int TotalReceived { get; } public int TotalSent { get; } diff --git a/src/BeeNet/DtoModels/TopologyDto.cs b/src/BeeNet/DtoModels/TopologyDto.cs index 696f3423..1ba9b549 100644 --- a/src/BeeNet/DtoModels/TopologyDto.cs +++ b/src/BeeNet/DtoModels/TopologyDto.cs @@ -52,6 +52,21 @@ public TopologyDto(Clients.DebugApi.V1_2_1.Response23 response) i => i.Key, i => new AnonymousDto(i.Value)); } + public TopologyDto(Clients.DebugApi.V2_0_0.Response23 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + BaseAddr = response.BaseAddr; + Population = response.Population; + Connected = response.Connected; + Timestamp = response.Timestamp; + NnLowWatermark = response.NnLowWatermark; + Depth = response.Depth; + Bins = response.Bins.ToDictionary( + i => i.Key, + i => new AnonymousDto(i.Value)); + } // Properties. public string BaseAddr { get; } diff --git a/src/BeeNet/DtoModels/TransactionsDto.cs b/src/BeeNet/DtoModels/TransactionsDto.cs index f4d8fcbb..a592b498 100644 --- a/src/BeeNet/DtoModels/TransactionsDto.cs +++ b/src/BeeNet/DtoModels/TransactionsDto.cs @@ -52,6 +52,22 @@ public TransactionsDto(Clients.DebugApi.V1_2_1.Response34 response) Value = long.Parse(response.Value, CultureInfo.InvariantCulture); } + public TransactionsDto(Clients.DebugApi.V2_0_0.Response34 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + TransactionHash = response.TransactionHash; + To = response.To; + Nonce = response.Nonce; + GasPrice = long.Parse(response.GasPrice, CultureInfo.InvariantCulture); + GasLimit = response.GasLimit; + Data = response.Data; + Created = response.Created; + Description = response.Description; + Value = long.Parse(response.Value, CultureInfo.InvariantCulture); + } + // Properties. public string TransactionHash { get; } public string To { get; } diff --git a/src/BeeNet/DtoModels/VersionDto.cs b/src/BeeNet/DtoModels/VersionDto.cs index d9750f3e..a86f086b 100644 --- a/src/BeeNet/DtoModels/VersionDto.cs +++ b/src/BeeNet/DtoModels/VersionDto.cs @@ -84,6 +84,38 @@ public VersionDto(Clients.DebugApi.V1_2_1.Response25 response) ApiVersion = response.ApiVersion; DebugApiVersion = response.DebugApiVersion; } + public VersionDto(Clients.DebugApi.V2_0_0.Response15 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Status = response.Status; + Version = response.Version; + ApiVersion = response.ApiVersion; + DebugApiVersion = response.DebugApiVersion; + } + + public VersionDto(Clients.DebugApi.V2_0_0.Response19 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Status = response.Status; + Version = response.Version; + ApiVersion = response.ApiVersion; + DebugApiVersion = response.DebugApiVersion; + } + + public VersionDto(Clients.DebugApi.V2_0_0.Response25 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Status = response.Status; + Version = response.Version; + ApiVersion = response.ApiVersion; + DebugApiVersion = response.DebugApiVersion; + } public VersionDto(Clients.GatewayApi.V2_0_0.Response4 response) { diff --git a/tools/openapi/Swarm.yaml b/tools/openapi/Swarm.yaml index a28d6833..e331bbcf 100644 --- a/tools/openapi/Swarm.yaml +++ b/tools/openapi/Swarm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: - version: 2.0.0 + version: 3.0.0 title: Bee API description: "A list of the currently provided Interfaces to interact with the swarm, implementing file operations and sending messages" diff --git a/tools/openapi/SwarmCommon.yaml b/tools/openapi/SwarmCommon.yaml index 4e83bdbf..362949cd 100644 --- a/tools/openapi/SwarmCommon.yaml +++ b/tools/openapi/SwarmCommon.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - version: 1.0.0 + version: 2.0.0 title: Common Data Types description: | \*****bzzz***** @@ -330,7 +330,7 @@ components: DebugPostageAllBatchesResponse: type: object properties: - stamps: + batches: type: array nullable: true items: @@ -531,7 +531,7 @@ components: SwarmOnlyReferencesList: type: object properties: - addresses: + references: type: array nullable: true items: diff --git a/tools/openapi/SwarmDebug.yaml b/tools/openapi/SwarmDebug.yaml index bbf64ef3..8c870f41 100644 --- a/tools/openapi/SwarmDebug.yaml +++ b/tools/openapi/SwarmDebug.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - version: 1.2.1 + version: 2.0.0 title: Bee Debug API description: "A list of the currently provided debug interfaces to interact with the bee node" @@ -852,8 +852,7 @@ paths: - in: path name: amount schema: - type: integer - format: int64 + $ref: "SwarmCommon.yaml#/components/schemas/BigInt" required: true description: Amount of BZZ added that the postage batch will have. - in: path diff --git a/tools/swarm-debug-api.nswag b/tools/swarm-debug-api.nswag index c790bab4..1192e78b 100644 --- a/tools/swarm-debug-api.nswag +++ b/tools/swarm-debug-api.nswag @@ -3,7 +3,7 @@ "defaultVariables": null, "documentGenerator": { "fromDocument": { - "json": "openapi: 3.0.3\r\ninfo:\r\n version: 1.2.1\r\n title: Bee Debug API\r\n description: A list of the currently provided debug interfaces to interact with\r\n the bee node\r\nsecurity:\r\n - {}\r\nexternalDocs:\r\n description: Browse the documentation @ the Swarm Docs\r\n url: https://docs.ethswarm.org\r\nservers:\r\n - url: http://{apiRoot}:{port}\r\n variables:\r\n apiRoot:\r\n default: localhost\r\n description: Base address of the local bee node debug API\r\n port:\r\n default: \"1635\"\r\n description: Service port provided in bee node config\r\npaths:\r\n /addresses:\r\n get:\r\n summary: Get overlay and underlay addresses of the node\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Own node underlay and overlay addresses\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n overlay:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n underlay:\r\n type: array\r\n items:\r\n type: string\r\n example: /ip4/127.0.0.1/tcp/1634/p2p/16Uiu2HAmTm17toLDaPYzRyjKn27iCB76yjKnJ5DjQXneFmifFvaX\r\n ethereum:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n publicKey:\r\n &a1\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{66}$\r\n example: 02ab7473879005929d10ce7d4f626412dad9fe56b0a6622038931d26bd79abf0a4\r\n pssPublicKey: *a1\r\n \"500\":\r\n &a2\r\n description: Internal Server Error\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n default:\r\n description: Default response\r\n /balances:\r\n get:\r\n summary: Get the balances with all known peers including prepaid services\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own balances with all known peers\r\n content:\r\n application/json:\r\n schema:\r\n &a3\r\n type: object\r\n properties:\r\n balances:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/balances/{address}\":\r\n get:\r\n summary: Get the balances with a specific peer including prepaid services\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema:\r\n &a4\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Balance with the specific peer\r\n content:\r\n application/json:\r\n schema:\r\n &a5\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"404\":\r\n &a6\r\n description: Not Found\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /blocklist:\r\n get:\r\n summary: Get a list of blocklisted peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of blocklisted peers\r\n content:\r\n application/json:\r\n schema:\r\n &a11\r\n type: object\r\n properties:\r\n peers:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /consumed:\r\n get:\r\n summary: Get the past due consumption balances with all known peers\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own past due consumption balances with all known peers\r\n content:\r\n application/json:\r\n schema: *a3\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/consumed/{address}\":\r\n get:\r\n summary: Get the past due consumption balance with a specific peer\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Past-due consumption balance with the specific peer\r\n content:\r\n application/json:\r\n schema: *a5\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/address:\r\n get:\r\n summary: Get the address of the chequebook contract used\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Ethereum address of chequebook contract\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n chequebookAddress:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n /chequebook/balance:\r\n get:\r\n summary: Get the balance of the chequebook\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Balance of the chequebook\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n totalBalance:\r\n &a7\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n availableBalance: *a7\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chunks/{address}\":\r\n get:\r\n summary: Check if chunk at address exists locally\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema:\r\n &a8\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"400\":\r\n &a9\r\n description: Bad request\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Delete a chunk from local storage\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n \"/connect/{multiAddress}\":\r\n post:\r\n summary: Connect to address\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n allowReserved: true\r\n name: multiAddress\r\n schema:\r\n type: string\r\n required: true\r\n description: Underlay address of peer\r\n responses:\r\n \"200\":\r\n description: Returns overlay address of connected peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /reservestate:\r\n get:\r\n summary: Get reserve state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Reserve State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n radius:\r\n type: integer\r\n available:\r\n type: integer\r\n outer:\r\n &a10\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n inner: *a10\r\n default:\r\n description: Default response\r\n /chainstate:\r\n get:\r\n summary: Get chain state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Chain State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n block:\r\n type: integer\r\n totalAmount:\r\n type: integer\r\n currentPrice:\r\n type: integer\r\n default:\r\n description: Default response\r\n /node:\r\n get:\r\n summary: Get information about the node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Information about the node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n beeMode:\r\n type: string\r\n enum:\r\n - light\r\n - full\r\n - dev\r\n description: >\r\n Gives back in what mode the Bee client has been started.\r\n The modes are mutually exclusive * `light` - light node;\r\n does not participate in forwarding or storing chunks *\r\n `full` - full node * `dev` - development mode; Bee client\r\n for development purposes, blockchain operations are mocked\r\n gatewayMode:\r\n type: boolean\r\n chequebookEnabled:\r\n type: boolean\r\n swapEnabled:\r\n type: boolean\r\n default:\r\n description: Default response\r\n /health:\r\n get:\r\n summary: Get health of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema:\r\n &a12\r\n type: object\r\n properties:\r\n status:\r\n type: string\r\n version:\r\n type: string\r\n apiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n debugApiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n default:\r\n description: Default response\r\n /peers:\r\n get:\r\n summary: Get a list of peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of connected peers\r\n content:\r\n application/json:\r\n schema: *a11\r\n default:\r\n description: Default response\r\n \"/peers/{address}\":\r\n delete:\r\n summary: Remove peer\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Disconnected peer\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/pingpong/{peer-id}\":\r\n post:\r\n summary: Try connection to node\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Returns round trip time for given peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n rtt:\r\n description: Go time.Duration format\r\n type: string\r\n example: 5.0018ms\r\n \"400\": *a9\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /readiness:\r\n get:\r\n summary: Get readiness state of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema: *a12\r\n default:\r\n description: Default response\r\n \"/settlements/{address}\":\r\n get:\r\n summary: Get amount of sent and received from settlements with a peer\r\n tags:\r\n - Settlements\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Amount of sent or received from settlements with a peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /settlements:\r\n get:\r\n summary: Get settlements with all known peers and total amount sent or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Settlements with all known peers and total amount sent or received\r\n content:\r\n application/json:\r\n schema:\r\n &a13\r\n type: object\r\n properties:\r\n totalReceived:\r\n type: integer\r\n totalSent:\r\n type: integer\r\n settlements:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /timesettlements:\r\n get:\r\n summary: Get time based settlements with all known peers and total amount sent\r\n or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Time based settlements with all known peers and total amount sent\r\n or received\r\n content:\r\n application/json:\r\n schema: *a13\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /topology:\r\n get:\r\n description: Get topology of known network\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Swarm topology of the bee node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n baseAddr:\r\n &a14\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n timestamp:\r\n type: string\r\n nnLowWatermark:\r\n type: integer\r\n depth:\r\n type: integer\r\n bins:\r\n type: object\r\n additionalProperties:\r\n type: object\r\n properties:\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n disconnectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics:\r\n &a15\r\n type: object\r\n properties:\r\n lastSeenTimestamp:\r\n type: integer\r\n nullable: false\r\n sessionConnectionRetry:\r\n type: integer\r\n nullable: false\r\n connectionTotalDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDirection:\r\n type: string\r\n nullable: false\r\n latencyEWMA:\r\n type: integer\r\n nullable: false\r\n connectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics: *a15\r\n /welcome-message:\r\n get:\r\n summary: Get configured P2P welcome message\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Welcome message\r\n content:\r\n application/json:\r\n schema:\r\n &a16\r\n type: object\r\n properties:\r\n welcomeMessage:\r\n type: string\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Set P2P welcome message\r\n tags:\r\n - Connectivity\r\n requestBody:\r\n content:\r\n application/json:\r\n schema: *a16\r\n responses:\r\n \"200\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema: *a12\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cashout/{peer-id}\":\r\n get:\r\n summary: Get last cashout action for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Cashout status\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastCashedCheque:\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a17\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a17\r\n payout:\r\n &a18\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n result:\r\n type: object\r\n properties:\r\n recipient: *a17\r\n lastPayout: *a18\r\n bounced:\r\n type: boolean\r\n uncashedAmount: *a18\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Cashout the last cheque for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n - &a23\r\n in: header\r\n name: gas-price\r\n schema:\r\n type: integer\r\n format: int64\r\n required: false\r\n description: Gas price for transaction\r\n - in: header\r\n name: gas-limit\r\n schema:\r\n type: integer\r\n format: int64\r\n minimum: 0\r\n maximum: 18446744073709552000\r\n required: false\r\n description: Gas limit for transaction\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema:\r\n &a24\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n \"404\": *a6\r\n \"429\":\r\n &a31\r\n description: Too many requests\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cheque/{peer-id}\":\r\n get:\r\n summary: Get last cheques for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a20\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a19\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a19\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a20\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/cheque:\r\n get:\r\n summary: Get last cheques for all peers\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n lastcheques:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a22\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a21\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a21\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a22\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/deposit:\r\n post:\r\n summary: Deposit tokens from overlay address into chequebook\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: amount of tokens to deposit\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the deposit transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/withdraw:\r\n post:\r\n summary: Withdraw tokens from the chequebook to the overlay address\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: amount of tokens to withdraw\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the withdraw transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/tags/{uid}\":\r\n get:\r\n summary: Get Tag information using Uid\r\n tags:\r\n - Tag\r\n parameters:\r\n - in: path\r\n name: uid\r\n schema:\r\n type: integer\r\n required: true\r\n description: Uid\r\n responses:\r\n \"200\":\r\n description: Tag info\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n total:\r\n type: integer\r\n split:\r\n type: integer\r\n seen:\r\n type: integer\r\n stored:\r\n type: integer\r\n sent:\r\n type: integer\r\n synced:\r\n type: integer\r\n uid:\r\n type: integer\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n startedAt:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /transactions:\r\n get:\r\n summary: Get list of pending transactions\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: List of pending transactions\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n pendingTransactions:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a25\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n format: int64\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a25\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/transactions/{txHash}\":\r\n get:\r\n summary: Get information about a sent transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema:\r\n &a27\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Get info about transaction\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a26\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n format: int64\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a26\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Rebroadcast existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Cancel existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n - *a23\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /stamps:\r\n get:\r\n summary: Get all available stamps for this node\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available postage batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n stamps:\r\n type: array\r\n nullable: true\r\n items:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a28\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before\r\n declaring the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a28\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n default:\r\n description: Default response\r\n \"/stamps/{id}\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema:\r\n &a30\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get an individual postage batch status\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an individual postage batch state\r\n content:\r\n application/json:\r\n schema:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a29\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before declaring\r\n the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a29\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{id}/buckets\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get extended bucket data of a batch\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns extended bucket data of the provided batch ID\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n depth:\r\n type: integer\r\n bucketDepth:\r\n type: integer\r\n bucketUpperBound:\r\n type: integer\r\n buckets:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n bucketID:\r\n type: integer\r\n collisions:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{amount}/{depth}\":\r\n post:\r\n summary: Buy a new postage batch.\r\n description: Be aware, this endpoint creates an on-chain transactions and\r\n transfers BZZ from the node's Ethereum account and hence directly\r\n manipulates the wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: Amount of BZZ added that the postage batch will have.\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: Batch depth which specifies how many chunks can be signed with the\r\n batch. It is a logarithm. Must be higher than default bucket depth\r\n (16)\r\n - in: query\r\n name: label\r\n schema:\r\n type: string\r\n required: false\r\n description: An optional label for this batch\r\n - in: header\r\n name: immutable\r\n schema:\r\n type: boolean\r\n required: false\r\n - *a23\r\n responses:\r\n \"201\":\r\n description: Returns the newly created postage batch ID\r\n content:\r\n application/json:\r\n schema:\r\n &a32\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/topup/{id}/{amount}\":\r\n patch:\r\n summary: Top up an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to top up\r\n - in: path\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: Amount of BZZ per chunk to top up to an existing postage batch.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was topped up\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"402\":\r\n description: Payment Required\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/dilute/{id}/{depth}\":\r\n patch:\r\n summary: Dilute an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to dilute\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: New batch depth. Must be higher than the previous depth.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was diluted.\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /batches:\r\n get:\r\n summary: Get all globally available batches that were purchased by all nodes.\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available and currently valid postage\r\n batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n stamps:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n depth:\r\n type: integer\r\n value:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n owner:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n default:\r\n description: Default response\r\n", + "json": "openapi: 3.0.3\r\ninfo:\r\n version: 2.0.0\r\n title: Bee Debug API\r\n description: A list of the currently provided debug interfaces to interact with\r\n the bee node\r\nsecurity:\r\n - {}\r\nexternalDocs:\r\n description: Browse the documentation @ the Swarm Docs\r\n url: https://docs.ethswarm.org\r\nservers:\r\n - url: http://{apiRoot}:{port}\r\n variables:\r\n apiRoot:\r\n default: localhost\r\n description: Base address of the local bee node debug API\r\n port:\r\n default: \"1635\"\r\n description: Service port provided in bee node config\r\npaths:\r\n /addresses:\r\n get:\r\n summary: Get overlay and underlay addresses of the node\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Own node underlay and overlay addresses\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n overlay:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n underlay:\r\n type: array\r\n items:\r\n type: string\r\n example: /ip4/127.0.0.1/tcp/1634/p2p/16Uiu2HAmTm17toLDaPYzRyjKn27iCB76yjKnJ5DjQXneFmifFvaX\r\n ethereum:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n publicKey:\r\n &a1\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{66}$\r\n example: 02ab7473879005929d10ce7d4f626412dad9fe56b0a6622038931d26bd79abf0a4\r\n pssPublicKey: *a1\r\n \"500\":\r\n &a2\r\n description: Internal Server Error\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n default:\r\n description: Default response\r\n /balances:\r\n get:\r\n summary: Get the balances with all known peers including prepaid services\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own balances with all known peers\r\n content:\r\n application/json:\r\n schema:\r\n &a3\r\n type: object\r\n properties:\r\n balances:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/balances/{address}\":\r\n get:\r\n summary: Get the balances with a specific peer including prepaid services\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema:\r\n &a4\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Balance with the specific peer\r\n content:\r\n application/json:\r\n schema:\r\n &a5\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"404\":\r\n &a6\r\n description: Not Found\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /blocklist:\r\n get:\r\n summary: Get a list of blocklisted peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of blocklisted peers\r\n content:\r\n application/json:\r\n schema:\r\n &a11\r\n type: object\r\n properties:\r\n peers:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /consumed:\r\n get:\r\n summary: Get the past due consumption balances with all known peers\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own past due consumption balances with all known peers\r\n content:\r\n application/json:\r\n schema: *a3\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/consumed/{address}\":\r\n get:\r\n summary: Get the past due consumption balance with a specific peer\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Past-due consumption balance with the specific peer\r\n content:\r\n application/json:\r\n schema: *a5\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/address:\r\n get:\r\n summary: Get the address of the chequebook contract used\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Ethereum address of chequebook contract\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n chequebookAddress:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n /chequebook/balance:\r\n get:\r\n summary: Get the balance of the chequebook\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Balance of the chequebook\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n totalBalance:\r\n &a7\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n availableBalance: *a7\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chunks/{address}\":\r\n get:\r\n summary: Check if chunk at address exists locally\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema:\r\n &a8\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"400\":\r\n &a9\r\n description: Bad request\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Delete a chunk from local storage\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n \"/connect/{multiAddress}\":\r\n post:\r\n summary: Connect to address\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n allowReserved: true\r\n name: multiAddress\r\n schema:\r\n type: string\r\n required: true\r\n description: Underlay address of peer\r\n responses:\r\n \"200\":\r\n description: Returns overlay address of connected peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /reservestate:\r\n get:\r\n summary: Get reserve state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Reserve State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n radius:\r\n type: integer\r\n available:\r\n type: integer\r\n outer:\r\n &a10\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n inner: *a10\r\n default:\r\n description: Default response\r\n /chainstate:\r\n get:\r\n summary: Get chain state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Chain State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n block:\r\n type: integer\r\n totalAmount:\r\n type: integer\r\n currentPrice:\r\n type: integer\r\n default:\r\n description: Default response\r\n /node:\r\n get:\r\n summary: Get information about the node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Information about the node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n beeMode:\r\n type: string\r\n enum:\r\n - light\r\n - full\r\n - dev\r\n description: >\r\n Gives back in what mode the Bee client has been started.\r\n The modes are mutually exclusive * `light` - light node;\r\n does not participate in forwarding or storing chunks *\r\n `full` - full node * `dev` - development mode; Bee client\r\n for development purposes, blockchain operations are mocked\r\n gatewayMode:\r\n type: boolean\r\n chequebookEnabled:\r\n type: boolean\r\n swapEnabled:\r\n type: boolean\r\n default:\r\n description: Default response\r\n /health:\r\n get:\r\n summary: Get health of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema:\r\n &a12\r\n type: object\r\n properties:\r\n status:\r\n type: string\r\n version:\r\n type: string\r\n apiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n debugApiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n default:\r\n description: Default response\r\n /peers:\r\n get:\r\n summary: Get a list of peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of connected peers\r\n content:\r\n application/json:\r\n schema: *a11\r\n default:\r\n description: Default response\r\n \"/peers/{address}\":\r\n delete:\r\n summary: Remove peer\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Disconnected peer\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/pingpong/{peer-id}\":\r\n post:\r\n summary: Try connection to node\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Returns round trip time for given peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n rtt:\r\n description: Go time.Duration format\r\n type: string\r\n example: 5.0018ms\r\n \"400\": *a9\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /readiness:\r\n get:\r\n summary: Get readiness state of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema: *a12\r\n default:\r\n description: Default response\r\n \"/settlements/{address}\":\r\n get:\r\n summary: Get amount of sent and received from settlements with a peer\r\n tags:\r\n - Settlements\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Amount of sent or received from settlements with a peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /settlements:\r\n get:\r\n summary: Get settlements with all known peers and total amount sent or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Settlements with all known peers and total amount sent or received\r\n content:\r\n application/json:\r\n schema:\r\n &a13\r\n type: object\r\n properties:\r\n totalReceived:\r\n type: integer\r\n totalSent:\r\n type: integer\r\n settlements:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /timesettlements:\r\n get:\r\n summary: Get time based settlements with all known peers and total amount sent\r\n or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Time based settlements with all known peers and total amount sent\r\n or received\r\n content:\r\n application/json:\r\n schema: *a13\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /topology:\r\n get:\r\n description: Get topology of known network\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Swarm topology of the bee node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n baseAddr:\r\n &a14\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n timestamp:\r\n type: string\r\n nnLowWatermark:\r\n type: integer\r\n depth:\r\n type: integer\r\n bins:\r\n type: object\r\n additionalProperties:\r\n type: object\r\n properties:\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n disconnectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics:\r\n &a15\r\n type: object\r\n properties:\r\n lastSeenTimestamp:\r\n type: integer\r\n nullable: false\r\n sessionConnectionRetry:\r\n type: integer\r\n nullable: false\r\n connectionTotalDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDirection:\r\n type: string\r\n nullable: false\r\n latencyEWMA:\r\n type: integer\r\n nullable: false\r\n connectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics: *a15\r\n /welcome-message:\r\n get:\r\n summary: Get configured P2P welcome message\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Welcome message\r\n content:\r\n application/json:\r\n schema:\r\n &a16\r\n type: object\r\n properties:\r\n welcomeMessage:\r\n type: string\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Set P2P welcome message\r\n tags:\r\n - Connectivity\r\n requestBody:\r\n content:\r\n application/json:\r\n schema: *a16\r\n responses:\r\n \"200\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema: *a12\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cashout/{peer-id}\":\r\n get:\r\n summary: Get last cashout action for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Cashout status\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastCashedCheque:\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a17\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a17\r\n payout:\r\n &a18\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n result:\r\n type: object\r\n properties:\r\n recipient: *a17\r\n lastPayout: *a18\r\n bounced:\r\n type: boolean\r\n uncashedAmount: *a18\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Cashout the last cheque for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n - &a23\r\n in: header\r\n name: gas-price\r\n schema:\r\n type: integer\r\n format: int64\r\n required: false\r\n description: Gas price for transaction\r\n - in: header\r\n name: gas-limit\r\n schema:\r\n type: integer\r\n format: int64\r\n minimum: 0\r\n maximum: 18446744073709552000\r\n required: false\r\n description: Gas limit for transaction\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema:\r\n &a24\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n \"404\": *a6\r\n \"429\":\r\n &a31\r\n description: Too many requests\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cheque/{peer-id}\":\r\n get:\r\n summary: Get last cheques for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a20\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a19\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a19\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a20\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/cheque:\r\n get:\r\n summary: Get last cheques for all peers\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n lastcheques:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a22\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a21\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a21\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a22\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/deposit:\r\n post:\r\n summary: Deposit tokens from overlay address into chequebook\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: amount of tokens to deposit\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the deposit transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/withdraw:\r\n post:\r\n summary: Withdraw tokens from the chequebook to the overlay address\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: amount of tokens to withdraw\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the withdraw transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/tags/{uid}\":\r\n get:\r\n summary: Get Tag information using Uid\r\n tags:\r\n - Tag\r\n parameters:\r\n - in: path\r\n name: uid\r\n schema:\r\n type: integer\r\n required: true\r\n description: Uid\r\n responses:\r\n \"200\":\r\n description: Tag info\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n total:\r\n type: integer\r\n split:\r\n type: integer\r\n seen:\r\n type: integer\r\n stored:\r\n type: integer\r\n sent:\r\n type: integer\r\n synced:\r\n type: integer\r\n uid:\r\n type: integer\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n startedAt:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /transactions:\r\n get:\r\n summary: Get list of pending transactions\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: List of pending transactions\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n pendingTransactions:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a25\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n format: int64\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a25\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/transactions/{txHash}\":\r\n get:\r\n summary: Get information about a sent transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema:\r\n &a27\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Get info about transaction\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a26\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n format: int64\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a26\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Rebroadcast existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Cancel existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n - *a23\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /stamps:\r\n get:\r\n summary: Get all available stamps for this node\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available postage batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n stamps:\r\n type: array\r\n nullable: true\r\n items:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a28\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before\r\n declaring the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a28\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n default:\r\n description: Default response\r\n \"/stamps/{id}\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema:\r\n &a30\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get an individual postage batch status\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an individual postage batch state\r\n content:\r\n application/json:\r\n schema:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a29\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before declaring\r\n the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a29\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{id}/buckets\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get extended bucket data of a batch\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns extended bucket data of the provided batch ID\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n depth:\r\n type: integer\r\n bucketDepth:\r\n type: integer\r\n bucketUpperBound:\r\n type: integer\r\n buckets:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n bucketID:\r\n type: integer\r\n collisions:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{amount}/{depth}\":\r\n post:\r\n summary: Buy a new postage batch.\r\n description: Be aware, this endpoint creates an on-chain transactions and\r\n transfers BZZ from the node's Ethereum account and hence directly\r\n manipulates the wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: amount\r\n schema:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n required: true\r\n description: Amount of BZZ added that the postage batch will have.\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: Batch depth which specifies how many chunks can be signed with the\r\n batch. It is a logarithm. Must be higher than default bucket depth\r\n (16)\r\n - in: query\r\n name: label\r\n schema:\r\n type: string\r\n required: false\r\n description: An optional label for this batch\r\n - in: header\r\n name: immutable\r\n schema:\r\n type: boolean\r\n required: false\r\n - *a23\r\n responses:\r\n \"201\":\r\n description: Returns the newly created postage batch ID\r\n content:\r\n application/json:\r\n schema:\r\n &a32\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/topup/{id}/{amount}\":\r\n patch:\r\n summary: Top up an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to top up\r\n - in: path\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: Amount of BZZ per chunk to top up to an existing postage batch.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was topped up\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"402\":\r\n description: Payment Required\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/dilute/{id}/{depth}\":\r\n patch:\r\n summary: Dilute an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to dilute\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: New batch depth. Must be higher than the previous depth.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was diluted.\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /batches:\r\n get:\r\n summary: Get all globally available batches that were purchased by all nodes.\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available and currently valid postage\r\n batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n batches:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n depth:\r\n type: integer\r\n value:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n owner:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n default:\r\n description: Default response\r\n", "url": "", "output": null, "newLineBehavior": "Auto" @@ -41,7 +41,7 @@ "useRequestAndResponseSerializationSettings": false, "serializeTypeInformation": false, "queryNullValue": "", - "className": "BeeDebugClient_1_2_1", + "className": "BeeDebugClient_2_0_0", "operationGenerationMode": "SingleClientFromPathSegments", "additionalNamespaceUsages": [ "Etherna.BeeNet.Exceptions" @@ -58,7 +58,7 @@ "wrapResponseMethods": [], "generateResponseClasses": true, "responseClass": "SwaggerResponse", - "namespace": "Etherna.BeeNet.Clients.DebugApi.V1_2_1", + "namespace": "Etherna.BeeNet.Clients.DebugApi.V2_0_0", "requiredPropertiesMustBeDefined": true, "dateType": "System.DateTimeOffset", "jsonConverters": null, @@ -95,7 +95,7 @@ "enumNameGeneratorType": null, "serviceHost": null, "serviceSchemes": null, - "output": "../src/BeeNet/Clients/DebugApi/V1_2_1/BeeDebugClient_1_2_1.cs", + "output": "../src/BeeNet/Clients/DebugApi/v2_0_0/BeeDebugClient_2_0_0.cs", "newLineBehavior": "Auto" } } diff --git a/tools/swarm-gateway-api.nswag b/tools/swarm-gateway-api.nswag index 32f2880f..ad87273f 100644 --- a/tools/swarm-gateway-api.nswag +++ b/tools/swarm-gateway-api.nswag @@ -3,7 +3,7 @@ "defaultVariables": null, "documentGenerator": { "fromDocument": { - "json": "openapi: 3.0.3\ninfo:\n version: 2.0.0\n title: Bee API\n description: A list of the currently provided Interfaces to interact with the\n swarm, implementing file operations and sending messages\nsecurity:\n - {}\nexternalDocs:\n description: Browse the documentation @ the Swarm Docs\n url: https://docs.ethswarm.org\nservers:\n - url: http://{apiRoot}:{port}/v1\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\n - url: http://{apiRoot}:{port}\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\npaths:\n /auth:\n post:\n summary: Authenticate - This endpoint is experimental\n tags:\n - Auth\n security:\n - basicAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema:\n &a1\n type: object\n properties:\n role:\n type: string\n nullable: false\n expiry:\n type: integer\n nullable: false\n description: Expiration time in seconds\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema:\n &a2\n type: object\n properties:\n key:\n type: string\n nullable: false\n \"400\":\n &a3\n description: Bad request\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"401\":\n &a4\n description: Unauthorized\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\":\n &a5\n description: Internal Server Error\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n /refresh:\n post:\n summary: Refresh the auth token - This endpoint is experimental\n tags:\n - Auth\n security:\n - bearerAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema: *a1\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema: *a2\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n /bytes:\n post:\n summary: Upload data\n tags:\n - Bytes\n parameters:\n - &a9\n in: header\n name: swarm-tag\n schema:\n &a6\n type: integer\n required: false\n description: Associate upload with an existing Tag UID\n - &a10\n in: header\n name: swarm-pin\n schema:\n type: boolean\n required: false\n description: >\n Represents if the uploaded data should be also locally pinned on the\n node.\n\n Warning! Not available for nodes that run in Gateway mode!\n - &a15\n in: header\n name: swarm-encrypt\n schema:\n type: boolean\n required: false\n description: |\n Represents the encrypting state of the file\n Warning! Not available for nodes that run in Gateway mode!\n - &a11\n in: header\n name: swarm-postage-batch-id\n description: ID of Postage Batch that is used to upload data with\n required: true\n schema:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - &a12\n in: header\n name: swarm-deferred-upload\n schema:\n type: boolean\n default: \"true\"\n required: false\n description: >\n Determines if the uploaded data should be sent to the network\n immediately or in a deferred fashion. By default the upload will be\n deferred.\n requestBody:\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n &a16\n description: Tag UID\n schema: *a6\n content:\n application/json:\n schema:\n &a17\n type: object\n properties:\n reference:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n \"400\": *a3\n \"402\":\n &a13\n description: Payment Required\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"403\":\n &a14\n description: Endpoint or header (pinning or encryption headers) forbidden in\n Gateway mode\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\": *a5\n default:\n description: Default response\n \"/bytes/{reference}\":\n get:\n summary: Get referenced data\n tags:\n - Bytes\n parameters:\n - in: path\n name: reference\n schema:\n &a7\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n required: true\n description: Swarm address reference to content\n responses:\n \"200\":\n description: Retrieved content specified by reference\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"404\":\n &a8\n description: Not Found\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n \"/chunks/{reference}\":\n get:\n summary: Get Chunk\n tags:\n - Chunk\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of chunk\n - &a18\n in: query\n name: targets\n schema:\n type: string\n required: false\n description: Global pinning targets prefix\n responses:\n \"200\":\n description: Retrieved chunk content\n headers:\n swarm-recovery-targets:\n &a19\n description: The targets provided for recovery\n schema:\n type: string\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"202\":\n description: chunk recovery initiated. retry after sometime.\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /chunks:\n post:\n summary: Upload Chunk\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n - *a12\n requestBody:\n description: Chunk binary data that has to have at least 8 bytes.\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n description: Tag UID if it was passed to the request `swarm-tag` header.\n schema: *a6\n content:\n application/json:\n schema:\n &a21\n type: object\n properties:\n status:\n type: string\n version:\n type: string\n apiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n debugApiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n /chunks/stream:\n get:\n summary: Upload stream of chunks\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n responses:\n \"200\":\n description: Returns a Websocket connection on which stream of chunks can be\n uploaded. Each chunk sent is acknowledged using a binary response\n `0` which serves as confirmation of upload of single chunk. Chunks\n should be packaged as binary messages for uploading.\n \"400\": *a3\n default:\n description: Default response\n /bzz:\n post:\n summary: Upload file or a collection of files\n description: >-\n In order to upload a collection, user can send a multipart request with\n all the files populated in the form data with appropriate headers.\n\n User can also upload a tar file along with the swarm-collection header. This will upload the tar file after extracting the entire directory structure.\n\n If the swarm-collection header is absent, all requests (including tar files) are considered as single file uploads.\n\n A multipart request is treated as a collection regardless of whether the swarm-collection header is present. This means in order to serve single files uploaded as a multipart request, the swarm-index-document header should be used with the name of the file.\n tags:\n - BZZ\n parameters:\n - in: query\n name: name\n schema:\n type: string\n required: false\n description: Filename when uploading single file\n - *a9\n - *a10\n - *a15\n - in: header\n name: Content-Type\n schema:\n type: string\n description: The specified content-type is preserved for download of the asset\n - in: header\n name: swarm-collection\n schema:\n type: boolean\n required: false\n description: Upload file/files as a collection\n - in: header\n name: swarm-index-document\n schema:\n type: string\n example: index.html\n required: false\n description: Default file to be referenced on path, if exists under that path\n - in: header\n name: swarm-error-document\n schema:\n type: string\n example: error.html\n required: false\n description: Configure custom error document to be returned when a specified\n path can not be found in collection\n - *a11\n - *a12\n requestBody:\n content:\n multipart/form-data:\n schema:\n properties:\n file:\n type: array\n items:\n type: string\n format: binary\n application/octet-stream:\n schema:\n type: string\n format: binary\n application/x-tar:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag: *a16\n etag:\n description: >\n The RFC7232 ETag header field in a response provides the current\n entity-\n\n tag for the selected resource. An entity-tag is an opaque identifier for\n\n different versions of a resource over time, regardless whether multiple\n\n versions are valid at the same time. An entity-tag consists of an opaque\n\n quoted string, possibly prefixed by a weakness indicator.\n schema:\n type: string\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}\":\n patch:\n summary: \"Reupload a root hash to the network; deprecated: use\n /stewardship/{reference} instead\"\n deprecated: true\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get file or index document from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}/{path}\":\n get:\n summary: Get referenced file from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - in: path\n name: path\n schema:\n type: string\n required: true\n description: Path to the file in the collection.\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /tags:\n get:\n summary: Get list of tags\n tags:\n - Tag\n parameters:\n - in: query\n name: offset\n schema:\n type: integer\n minimum: 0\n default: 0\n required: false\n description: The number of items to skip before starting to collect the result\n set.\n - in: query\n name: limit\n schema:\n type: integer\n minimum: 1\n maximum: 1000\n default: 100\n required: false\n description: The numbers of items to return.\n responses:\n \"200\":\n description: List of tags\n content:\n application/json:\n schema:\n type: object\n properties:\n tags:\n type: array\n nullable: true\n items:\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n post:\n summary: Create Tag\n tags:\n - Tag\n requestBody:\n required: true\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"201\":\n description: New Tag Info\n content:\n application/json:\n schema:\n &a20\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/tags/{uid}\":\n get:\n summary: Get Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"200\":\n description: Tag info\n content:\n application/json:\n schema: *a20\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Delete Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"204\":\n description: The resource was deleted successfully.\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n patch:\n summary: Update Total Count and swarm hash for a tag of an input stream of\n unknown size using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n requestBody:\n description: Can contain swarm hash to use for the tag\n required: false\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"200\":\n description: Ok\n content:\n application/json:\n schema: *a21\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/pins/{reference}\":\n parameters:\n - in: path\n name: reference\n schema:\n &a23\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n required: true\n description: Swarm reference of the root hash\n post:\n summary: Pin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Pin already exists, so no operation\n content:\n application/json:\n schema:\n &a22\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"201\":\n description: New pin with root reference was created\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Unpin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Unpinning root hash with reference\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get pinning status of the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Reference of the pinned root hash\n content:\n application/json:\n schema: *a23\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /pins:\n get:\n summary: Get the list of pinned root hash references\n tags:\n - Pinning\n responses:\n \"200\":\n description: List of pinned root hash references\n content:\n application/json:\n schema:\n type: object\n properties:\n addresses:\n type: array\n nullable: true\n items:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/send/{topic}/{targets}\":\n post:\n summary: Send to recipient or target with Postal Service for Swarm\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema:\n &a24\n type: string\n required: true\n description: Topic name\n - in: path\n name: targets\n schema:\n pattern: ^[0-9a-fA-F]{1,6}(,[0-9a-fA-F]{1,6})*$\n description: List of hex string targets that are comma seprated and can have\n maximum length of 6\n type: string\n required: true\n description: Target message address prefix. If multiple targets are specified,\n only one would be matched.\n - in: query\n name: recipient\n schema:\n type: string\n required: false\n description: Recipient publickey\n - *a11\n responses:\n \"201\":\n description: Subscribed to topic\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/subscribe/{topic}\":\n get:\n summary: Subscribe for messages on the given topic.\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema: *a24\n required: true\n description: Topic name\n responses:\n \"200\":\n description: Returns a WebSocket with a subscription for incoming message data\n on the requested topic.\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/soc/{owner}/{id}\":\n post:\n summary: Upload single owner chunk\n tags:\n - Single owner chunk\n parameters:\n - in: path\n name: owner\n schema:\n &a26\n type: string\n pattern: ^[A-Fa-f0-9]{40}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\n required: true\n description: Owner\n - in: path\n name: id\n schema:\n &a25\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n required: true\n description: Id\n - in: query\n name: sig\n schema: *a25\n required: true\n description: Signature\n - *a10\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/feeds/{owner}/{topic}\":\n post:\n summary: Create an initial feed root manifest\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: type\n schema:\n &a27\n type: string\n pattern: ^(sequence|epoch)$\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n - *a10\n - *a11\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Find feed update\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: at\n schema:\n type: integer\n required: false\n description: \"Timestamp of the update (default: now)\"\n - in: query\n name: type\n schema: *a27\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n responses:\n \"200\":\n description: Latest feed update\n headers:\n swarm-feed-index:\n description: The index of the found update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n swarm-feed-index-next:\n description: The index of the next possible update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n \"/stewardship/{reference}\":\n get:\n summary: Check if content is available\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Returns if the content is retrievable\n content:\n application/json:\n schema:\n type: object\n properties:\n isRetrievable:\n type: boolean\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n put:\n summary: Reupload a root hash to the network\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\ncomponents:\n securitySchemes:\n basicAuth:\n type: http\n scheme: basic\n bearerAuth:\n type: http\n scheme: bearer\n bearerFormat: SecurityToken\n", + "json": "openapi: 3.0.3\ninfo:\n version: 3.0.0\n title: Bee API\n description: A list of the currently provided Interfaces to interact with the\n swarm, implementing file operations and sending messages\nsecurity:\n - {}\nexternalDocs:\n description: Browse the documentation @ the Swarm Docs\n url: https://docs.ethswarm.org\nservers:\n - url: http://{apiRoot}:{port}/v1\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\n - url: http://{apiRoot}:{port}\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\npaths:\n /auth:\n post:\n summary: Authenticate - This endpoint is experimental\n tags:\n - Auth\n security:\n - basicAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema:\n &a1\n type: object\n properties:\n role:\n type: string\n nullable: false\n expiry:\n type: integer\n nullable: false\n description: Expiration time in seconds\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema:\n &a2\n type: object\n properties:\n key:\n type: string\n nullable: false\n \"400\":\n &a3\n description: Bad request\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"401\":\n &a4\n description: Unauthorized\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\":\n &a5\n description: Internal Server Error\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n /refresh:\n post:\n summary: Refresh the auth token - This endpoint is experimental\n tags:\n - Auth\n security:\n - bearerAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema: *a1\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema: *a2\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n /bytes:\n post:\n summary: Upload data\n tags:\n - Bytes\n parameters:\n - &a9\n in: header\n name: swarm-tag\n schema:\n &a6\n type: integer\n required: false\n description: Associate upload with an existing Tag UID\n - &a10\n in: header\n name: swarm-pin\n schema:\n type: boolean\n required: false\n description: >\n Represents if the uploaded data should be also locally pinned on the\n node.\n\n Warning! Not available for nodes that run in Gateway mode!\n - &a15\n in: header\n name: swarm-encrypt\n schema:\n type: boolean\n required: false\n description: |\n Represents the encrypting state of the file\n Warning! Not available for nodes that run in Gateway mode!\n - &a11\n in: header\n name: swarm-postage-batch-id\n description: ID of Postage Batch that is used to upload data with\n required: true\n schema:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - &a12\n in: header\n name: swarm-deferred-upload\n schema:\n type: boolean\n default: \"true\"\n required: false\n description: >\n Determines if the uploaded data should be sent to the network\n immediately or in a deferred fashion. By default the upload will be\n deferred.\n requestBody:\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n &a16\n description: Tag UID\n schema: *a6\n content:\n application/json:\n schema:\n &a17\n type: object\n properties:\n reference:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n \"400\": *a3\n \"402\":\n &a13\n description: Payment Required\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"403\":\n &a14\n description: Endpoint or header (pinning or encryption headers) forbidden in\n Gateway mode\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\": *a5\n default:\n description: Default response\n \"/bytes/{reference}\":\n get:\n summary: Get referenced data\n tags:\n - Bytes\n parameters:\n - in: path\n name: reference\n schema:\n &a7\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n required: true\n description: Swarm address reference to content\n responses:\n \"200\":\n description: Retrieved content specified by reference\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"404\":\n &a8\n description: Not Found\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n \"/chunks/{reference}\":\n get:\n summary: Get Chunk\n tags:\n - Chunk\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of chunk\n - &a18\n in: query\n name: targets\n schema:\n type: string\n required: false\n description: Global pinning targets prefix\n responses:\n \"200\":\n description: Retrieved chunk content\n headers:\n swarm-recovery-targets:\n &a19\n description: The targets provided for recovery\n schema:\n type: string\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"202\":\n description: chunk recovery initiated. retry after sometime.\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /chunks:\n post:\n summary: Upload Chunk\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n - *a12\n requestBody:\n description: Chunk binary data that has to have at least 8 bytes.\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n description: Tag UID if it was passed to the request `swarm-tag` header.\n schema: *a6\n content:\n application/json:\n schema:\n &a21\n type: object\n properties:\n status:\n type: string\n version:\n type: string\n apiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n debugApiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n /chunks/stream:\n get:\n summary: Upload stream of chunks\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n responses:\n \"200\":\n description: Returns a Websocket connection on which stream of chunks can be\n uploaded. Each chunk sent is acknowledged using a binary response\n `0` which serves as confirmation of upload of single chunk. Chunks\n should be packaged as binary messages for uploading.\n \"400\": *a3\n default:\n description: Default response\n /bzz:\n post:\n summary: Upload file or a collection of files\n description: >-\n In order to upload a collection, user can send a multipart request with\n all the files populated in the form data with appropriate headers.\n\n User can also upload a tar file along with the swarm-collection header. This will upload the tar file after extracting the entire directory structure.\n\n If the swarm-collection header is absent, all requests (including tar files) are considered as single file uploads.\n\n A multipart request is treated as a collection regardless of whether the swarm-collection header is present. This means in order to serve single files uploaded as a multipart request, the swarm-index-document header should be used with the name of the file.\n tags:\n - BZZ\n parameters:\n - in: query\n name: name\n schema:\n type: string\n required: false\n description: Filename when uploading single file\n - *a9\n - *a10\n - *a15\n - in: header\n name: Content-Type\n schema:\n type: string\n description: The specified content-type is preserved for download of the asset\n - in: header\n name: swarm-collection\n schema:\n type: boolean\n required: false\n description: Upload file/files as a collection\n - in: header\n name: swarm-index-document\n schema:\n type: string\n example: index.html\n required: false\n description: Default file to be referenced on path, if exists under that path\n - in: header\n name: swarm-error-document\n schema:\n type: string\n example: error.html\n required: false\n description: Configure custom error document to be returned when a specified\n path can not be found in collection\n - *a11\n - *a12\n requestBody:\n content:\n multipart/form-data:\n schema:\n properties:\n file:\n type: array\n items:\n type: string\n format: binary\n application/octet-stream:\n schema:\n type: string\n format: binary\n application/x-tar:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag: *a16\n etag:\n description: >\n The RFC7232 ETag header field in a response provides the current\n entity-\n\n tag for the selected resource. An entity-tag is an opaque identifier for\n\n different versions of a resource over time, regardless whether multiple\n\n versions are valid at the same time. An entity-tag consists of an opaque\n\n quoted string, possibly prefixed by a weakness indicator.\n schema:\n type: string\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}\":\n patch:\n summary: \"Reupload a root hash to the network; deprecated: use\n /stewardship/{reference} instead\"\n deprecated: true\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get file or index document from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}/{path}\":\n get:\n summary: Get referenced file from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - in: path\n name: path\n schema:\n type: string\n required: true\n description: Path to the file in the collection.\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /tags:\n get:\n summary: Get list of tags\n tags:\n - Tag\n parameters:\n - in: query\n name: offset\n schema:\n type: integer\n minimum: 0\n default: 0\n required: false\n description: The number of items to skip before starting to collect the result\n set.\n - in: query\n name: limit\n schema:\n type: integer\n minimum: 1\n maximum: 1000\n default: 100\n required: false\n description: The numbers of items to return.\n responses:\n \"200\":\n description: List of tags\n content:\n application/json:\n schema:\n type: object\n properties:\n tags:\n type: array\n nullable: true\n items:\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n post:\n summary: Create Tag\n tags:\n - Tag\n requestBody:\n required: true\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"201\":\n description: New Tag Info\n content:\n application/json:\n schema:\n &a20\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/tags/{uid}\":\n get:\n summary: Get Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"200\":\n description: Tag info\n content:\n application/json:\n schema: *a20\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Delete Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"204\":\n description: The resource was deleted successfully.\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n patch:\n summary: Update Total Count and swarm hash for a tag of an input stream of\n unknown size using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n requestBody:\n description: Can contain swarm hash to use for the tag\n required: false\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"200\":\n description: Ok\n content:\n application/json:\n schema: *a21\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/pins/{reference}\":\n parameters:\n - in: path\n name: reference\n schema:\n &a23\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n required: true\n description: Swarm reference of the root hash\n post:\n summary: Pin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Pin already exists, so no operation\n content:\n application/json:\n schema:\n &a22\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"201\":\n description: New pin with root reference was created\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Unpin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Unpinning root hash with reference\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get pinning status of the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Reference of the pinned root hash\n content:\n application/json:\n schema: *a23\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /pins:\n get:\n summary: Get the list of pinned root hash references\n tags:\n - Pinning\n responses:\n \"200\":\n description: List of pinned root hash references\n content:\n application/json:\n schema:\n type: object\n properties:\n references:\n type: array\n nullable: true\n items:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/send/{topic}/{targets}\":\n post:\n summary: Send to recipient or target with Postal Service for Swarm\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema:\n &a24\n type: string\n required: true\n description: Topic name\n - in: path\n name: targets\n schema:\n pattern: ^[0-9a-fA-F]{1,6}(,[0-9a-fA-F]{1,6})*$\n description: List of hex string targets that are comma seprated and can have\n maximum length of 6\n type: string\n required: true\n description: Target message address prefix. If multiple targets are specified,\n only one would be matched.\n - in: query\n name: recipient\n schema:\n type: string\n required: false\n description: Recipient publickey\n - *a11\n responses:\n \"201\":\n description: Subscribed to topic\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/subscribe/{topic}\":\n get:\n summary: Subscribe for messages on the given topic.\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema: *a24\n required: true\n description: Topic name\n responses:\n \"200\":\n description: Returns a WebSocket with a subscription for incoming message data\n on the requested topic.\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/soc/{owner}/{id}\":\n post:\n summary: Upload single owner chunk\n tags:\n - Single owner chunk\n parameters:\n - in: path\n name: owner\n schema:\n &a26\n type: string\n pattern: ^[A-Fa-f0-9]{40}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\n required: true\n description: Owner\n - in: path\n name: id\n schema:\n &a25\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n required: true\n description: Id\n - in: query\n name: sig\n schema: *a25\n required: true\n description: Signature\n - *a10\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/feeds/{owner}/{topic}\":\n post:\n summary: Create an initial feed root manifest\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: type\n schema:\n &a27\n type: string\n pattern: ^(sequence|epoch)$\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n - *a10\n - *a11\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Find feed update\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: at\n schema:\n type: integer\n required: false\n description: \"Timestamp of the update (default: now)\"\n - in: query\n name: type\n schema: *a27\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n responses:\n \"200\":\n description: Latest feed update\n headers:\n swarm-feed-index:\n description: The index of the found update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n swarm-feed-index-next:\n description: The index of the next possible update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n \"/stewardship/{reference}\":\n get:\n summary: Check if content is available\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Returns if the content is retrievable\n content:\n application/json:\n schema:\n type: object\n properties:\n isRetrievable:\n type: boolean\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n put:\n summary: Reupload a root hash to the network\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\ncomponents:\n securitySchemes:\n basicAuth:\n type: http\n scheme: basic\n bearerAuth:\n type: http\n scheme: bearer\n bearerFormat: SecurityToken\n", "url": "", "output": null, "newLineBehavior": "Auto" @@ -41,7 +41,7 @@ "useRequestAndResponseSerializationSettings": false, "serializeTypeInformation": false, "queryNullValue": "", - "className": "BeeGatewayClient_2_0_0", + "className": "BeeGatewayClient_3_0_0", "operationGenerationMode": "SingleClientFromPathSegments", "additionalNamespaceUsages": [ "Etherna.BeeNet.Exceptions" @@ -58,7 +58,7 @@ "wrapResponseMethods": [], "generateResponseClasses": true, "responseClass": "SwaggerResponse", - "namespace": "Etherna.BeeNet.Clients.GatewayApi.V2_0_0", + "namespace": "Etherna.BeeNet.Clients.GatewayApi.V3_0_0", "requiredPropertiesMustBeDefined": true, "dateType": "System.DateTimeOffset", "jsonConverters": null, @@ -95,7 +95,7 @@ "enumNameGeneratorType": null, "serviceHost": null, "serviceSchemes": null, - "output": "../src/BeeNet/Clients/GatewayApi/V2_0_0/BeeGatewayClient_2_0_0.cs", + "output": "../src/BeeNet/Clients/GatewayApi/v3_0_0/BeeGatewayClient_3_0_0.cs", "newLineBehavior": "Auto" } } From a90fdcf8166172407895d7cdd4dfc9567f2b7d78 Mon Sep 17 00:00:00 2001 From: Federico Cicciarella Date: Thu, 17 Mar 2022 19:12:08 +0100 Subject: [PATCH 4/6] update version --- src/BeeNet/Clients/DebugApi/BeeDebugClient.cs | 6 +- .../DebugApi/DtoFixer/PostageBatchDto.cs | 53 +++++++++++++ .../Clients/DebugApi/IBeeDebugClient.cs | 2 +- .../DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs | 4 +- .../Clients/GatewayApi/BeeGatewayClient.cs | 79 +++++++++++++++++-- src/BeeNet/DtoModels/AuthDto.cs | 8 ++ src/BeeNet/DtoModels/BatchDto.cs | 47 +++++++++++ src/BeeNet/DtoModels/MessageResponseDto.cs | 18 +++++ src/BeeNet/DtoModels/PostageBatchDto.cs | 31 +------- src/BeeNet/DtoModels/StewardshipGetDto.cs | 8 ++ src/BeeNet/DtoModels/TagInfoDto.cs | 36 +++++++++ src/BeeNet/DtoModels/VersionDto.cs | 22 ++++++ 12 files changed, 275 insertions(+), 39 deletions(-) create mode 100644 src/BeeNet/Clients/DebugApi/DtoFixer/PostageBatchDto.cs create mode 100644 src/BeeNet/DtoModels/BatchDto.cs diff --git a/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs b/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs index 86fb07c9..e466bafc 100644 --- a/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs +++ b/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs @@ -198,12 +198,12 @@ public async Task GetAllTimeSettlementsAsync() => _ => throw new InvalidOperationException() }; - public async Task> GetAllValidPostageBatchesFromAllNodesAsync() => + public async Task> GetAllValidPostageBatchesFromAllNodesAsync() => CurrentApiVersion switch { DebugApiVersion.v1_2_0 => throw new InvalidOperationException($"Debug API {CurrentApiVersion} doesn't implement this function"), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BatchesAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), - DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.BatchesAsync().ConfigureAwait(false)).Batches.Select(i => new PostageBatchDto(i)), + DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BatchesAsync().ConfigureAwait(false)).Stamps.Select(i => new BatchDto(i)), + DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.BatchesAsync().ConfigureAwait(false)).Batches.Select(i => new BatchDto(i)), _ => throw new InvalidOperationException() }; diff --git a/src/BeeNet/Clients/DebugApi/DtoFixer/PostageBatchDto.cs b/src/BeeNet/Clients/DebugApi/DtoFixer/PostageBatchDto.cs new file mode 100644 index 00000000..fb8303bf --- /dev/null +++ b/src/BeeNet/Clients/DebugApi/DtoFixer/PostageBatchDto.cs @@ -0,0 +1,53 @@ +namespace Etherna.BeeNet.Clients.DebugApi.DtoFixer +{ + public class PostageBatchDto + { + /// + /// Internal debugging property. It indicates if the batch is expired. + /// + [System.Text.Json.Serialization.JsonPropertyName("exists")] + public bool Exists { get; set; } = default!; + + /// + /// The time (in seconds) remaining until the batch expires; -1 signals that the batch never expires; 0 signals that the batch has already expired. + /// + + [System.Text.Json.Serialization.JsonPropertyName("batchTTL")] + public int BatchTTL { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("batchID")] + public object BatchID { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("utilization")] + public int Utilization { get; set; } = default!; + + /// + /// Indicate that the batch was discovered by the Bee node, but it awaits enough on-chain confirmations before declaring the batch as usable. + /// + + [System.Text.Json.Serialization.JsonPropertyName("usable")] + public bool Usable { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("label")] + public string Label { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("depth")] + public int Depth { get; set; } = default!; + + /// + /// Numeric string that represents integer which might exceeds `Number.MAX_SAFE_INTEGER` limit (2^53-1) + /// + + [System.Text.Json.Serialization.JsonPropertyName("amount")] + public string Amount { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("bucketDepth")] + public int BucketDepth { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("blockNumber")] + public int BlockNumber { get; set; } = default!; + + [System.Text.Json.Serialization.JsonPropertyName("immutableFlag")] + public bool ImmutableFlag { get; set; } = default!; + } +} diff --git a/src/BeeNet/Clients/DebugApi/IBeeDebugClient.cs b/src/BeeNet/Clients/DebugApi/IBeeDebugClient.cs index 11bf41fe..550eff89 100644 --- a/src/BeeNet/Clients/DebugApi/IBeeDebugClient.cs +++ b/src/BeeNet/Clients/DebugApi/IBeeDebugClient.cs @@ -133,7 +133,7 @@ Task DepositIntoChequeBookAsync( /// /// Returns an array of all available and currently valid postage batches. /// A server side error occurred. - Task> GetAllValidPostageBatchesFromAllNodesAsync(); + Task> GetAllValidPostageBatchesFromAllNodesAsync(); /// Get the balances with a specific peer including prepaid services /// Swarm address of peer diff --git a/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs b/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs index e42bc449..8f734001 100644 --- a/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs +++ b/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs @@ -5279,7 +5279,7 @@ public System.Collections.Generic.IDictionary AdditionalProperti } [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Response38 + public partial class Response38 : Etherna.BeeNet.Clients.DebugApi.DtoFixer.PostageBatchDto { private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); @@ -7055,7 +7055,7 @@ public System.Collections.Generic.IDictionary AdditionalProperti } [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v12.0.0.0))")] - public partial class Stamps + public partial class Stamps : Etherna.BeeNet.Clients.DebugApi.DtoFixer.PostageBatchDto { private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); diff --git a/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs b/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs index 21d7334a..5c67f41a 100644 --- a/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs +++ b/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs @@ -13,6 +13,7 @@ // limitations under the License. using Etherna.BeeNet.Clients.GatewayApi.V2_0_0; +using Etherna.BeeNet.Clients.GatewayApi.V3_0_0; using Etherna.BeeNet.DtoModels; using Etherna.BeeNet.InputModels; using System; @@ -29,6 +30,7 @@ public class BeeGatewayClient : IBeeGatewayClient { // Fields. private readonly IBeeGatewayClient_2_0_0 beeGatewayApiClient_2_0_0; + private readonly IBeeGatewayClient_3_0_0 beeGatewayApiClient_3_0_0; // Constructors. public BeeGatewayClient(HttpClient httpClient, Uri baseUrl, GatewayApiVersion apiVersion) @@ -37,6 +39,7 @@ public BeeGatewayClient(HttpClient httpClient, Uri baseUrl, GatewayApiVersion ap throw new ArgumentNullException(nameof(baseUrl)); beeGatewayApiClient_2_0_0 = new BeeGatewayClient_2_0_0(httpClient) { BaseUrl = baseUrl.ToString() }; + beeGatewayApiClient_3_0_0 = new BeeGatewayClient_3_0_0(httpClient) { BaseUrl = baseUrl.ToString() }; CurrentApiVersion = apiVersion; } @@ -48,7 +51,13 @@ public async Task AuthenticateAsync(string role, int expiry) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => new AuthDto(await beeGatewayApiClient_2_0_0.AuthAsync( - new Body + new V2_0_0.Body + { + Role = role, + Expiry = expiry + }).ConfigureAwait(false)), + GatewayApiVersion.v3_0_0 => new AuthDto(await beeGatewayApiClient_3_0_0.AuthAsync( + new V3_0_0.Body { Role = role, Expiry = expiry @@ -60,6 +69,7 @@ public async Task CheckIsContentAvailableAsync(string referen CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => new StewardShipGetDto(await beeGatewayApiClient_2_0_0.StewardshipGetAsync(reference).ConfigureAwait(false)), + GatewayApiVersion.v3_0_0 => new StewardShipGetDto(await beeGatewayApiClient_3_0_0.StewardshipGetAsync(reference).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -72,6 +82,7 @@ public async Task CreateFeedAsync( CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.FeedsPostAsync(owner, topic, swarmPostageBatchId, type, swarmPin).ConfigureAwait(false)).Reference, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.FeedsPostAsync(owner, topic, swarmPostageBatchId, type, swarmPin).ConfigureAwait(false)).Reference, _ => throw new InvalidOperationException() }; @@ -79,6 +90,7 @@ public async Task CreatePinAsync(string reference) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => new MessageResponseDto(await beeGatewayApiClient_2_0_0.PinsPostAsync(reference).ConfigureAwait(false)), + GatewayApiVersion.v3_0_0 => new MessageResponseDto(await beeGatewayApiClient_3_0_0.PinsPostAsync(reference).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -86,7 +98,12 @@ public async Task CreateTagAsync(string address) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => new TagInfoDto(await beeGatewayApiClient_2_0_0.TagsPostAsync( - new Body3 + new V2_0_0.Body3 + { + Address = address + }).ConfigureAwait(false)), + GatewayApiVersion.v3_0_0 => new TagInfoDto(await beeGatewayApiClient_3_0_0.TagsPostAsync( + new V3_0_0.Body3 { Address = address }).ConfigureAwait(false)), @@ -97,6 +114,7 @@ public async Task DeletePinAsync(string reference) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => new MessageResponseDto(await beeGatewayApiClient_2_0_0.PinsDeleteAsync(reference).ConfigureAwait(false)), + GatewayApiVersion.v3_0_0 => new MessageResponseDto(await beeGatewayApiClient_3_0_0.PinsDeleteAsync(reference).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -104,6 +122,7 @@ public Task DeleteTagAsync(int uid) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.TagsDeleteAsync(uid), + GatewayApiVersion.v3_0_0 => beeGatewayApiClient_3_0_0.TagsDeleteAsync(uid), _ => throw new InvalidOperationException() }; @@ -111,6 +130,7 @@ public async Task> GetAllPinsAsync() => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.PinsGetAsync().ConfigureAwait(false)).Addresses ?? Array.Empty(), + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.PinsGetAsync().ConfigureAwait(false)).References ?? Array.Empty(), _ => throw new InvalidOperationException() }; @@ -118,6 +138,7 @@ public async Task GetChunkStreamAsync(string reference, string? targets CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.ChunksGetAsync(reference, targets).ConfigureAwait(false)).Stream, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.ChunksGetAsync(reference, targets).ConfigureAwait(false)).Stream, _ => throw new InvalidOperationException() }; @@ -125,6 +146,7 @@ public async Task GetDataAsync(string reference) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.BytesGetAsync(reference).ConfigureAwait(false)).Stream, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.BytesGetAsync(reference).ConfigureAwait(false)).Stream, _ => throw new InvalidOperationException() }; @@ -136,6 +158,7 @@ public async Task GetFeedAsync( CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.FeedsGetAsync(owner, topic, at, type).ConfigureAwait(false)).Reference, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.FeedsGetAsync(owner, topic, at, type).ConfigureAwait(false)).Reference, _ => throw new InvalidOperationException() }; @@ -143,6 +166,7 @@ public async Task GetFileAsync(string reference, string path, string? ta CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.BzzGetAsync(reference, path, targets).ConfigureAwait(false)).Stream, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.BzzGetAsync(reference, path, targets).ConfigureAwait(false)).Stream, _ => throw new InvalidOperationException() }; @@ -150,6 +174,7 @@ public async Task GetFileAsync(string reference, string? targets = null) CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.BzzGetAsync(reference, targets, CancellationToken.None).ConfigureAwait(false)).Stream, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.BzzGetAsync(reference, targets, CancellationToken.None).ConfigureAwait(false)).Stream, _ => throw new InvalidOperationException() }; @@ -157,6 +182,7 @@ public async Task GetPinStatusAsync(string reference) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => await beeGatewayApiClient_2_0_0.PinsGetAsync(reference).ConfigureAwait(false), + GatewayApiVersion.v3_0_0 => await beeGatewayApiClient_3_0_0.PinsGetAsync(reference).ConfigureAwait(false), _ => throw new InvalidOperationException() }; @@ -164,6 +190,7 @@ public async Task GetTagInfoAsync(int uid) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => new TagInfoDto(await beeGatewayApiClient_2_0_0.TagsGetAsync(uid).ConfigureAwait(false)), + GatewayApiVersion.v3_0_0 => new TagInfoDto(await beeGatewayApiClient_3_0_0.TagsGetAsync(uid).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -171,6 +198,7 @@ public async Task> GetTagsListAsync(int? offset = null, CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.TagsGetAsync(offset, limit).ConfigureAwait(false)).Tags.Select(i => new TagInfoDto(i)), + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.TagsGetAsync(offset, limit).ConfigureAwait(false)).Tags.Select(i => new TagInfoDto(i)), _ => throw new InvalidOperationException() }; @@ -178,7 +206,13 @@ public async Task RefreshAuthAsync(string role, int expiry) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.RefreshAsync( - new Body2 + new V2_0_0.Body2 + { + Role = role, + Expiry = expiry + }).ConfigureAwait(false)).Key, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.RefreshAsync( + new V3_0_0.Body2 { Role = role, Expiry = expiry @@ -190,6 +224,7 @@ public Task ReuploadContentAsync(string reference) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.StewardshipPutAsync(reference), + GatewayApiVersion.v3_0_0 => beeGatewayApiClient_3_0_0.StewardshipPutAsync(reference), _ => throw new InvalidOperationException() }; @@ -201,6 +236,7 @@ public Task SendPssAsync( CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.PssSendAsync(topic, targets, swarmPostageBatchId, recipient), + GatewayApiVersion.v3_0_0 => beeGatewayApiClient_3_0_0.PssSendAsync(topic, targets, swarmPostageBatchId, recipient), _ => throw new InvalidOperationException() }; @@ -208,6 +244,7 @@ public Task SubscribeToPssAsync(string topic) => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.PssSubscribeAsync(topic), + GatewayApiVersion.v3_0_0 => beeGatewayApiClient_3_0_0.PssSubscribeAsync(topic), _ => throw new InvalidOperationException() }; @@ -218,7 +255,12 @@ public async Task UpdateTagAsync(int uid, string? address = null) => uid, address is null ? null : - new Body4 { Address = address }).ConfigureAwait(false)), + new V2_0_0.Body4 { Address = address }).ConfigureAwait(false)), + GatewayApiVersion.v3_0_0 => new VersionDto(await beeGatewayApiClient_3_0_0.TagsPatchAsync( + uid, + address is null ? + null : + new V3_0_0.Body4 { Address = address }).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -236,6 +278,12 @@ public async Task UploadChunkAsync( swarmPin, swarmDeferredUpload, body).ConfigureAwait(false)), + GatewayApiVersion.v3_0_0 => new VersionDto(await beeGatewayApiClient_3_0_0.ChunksPostAsync( + swarmPostageBatchId, + swarmTag, + swarmPin, + swarmDeferredUpload, + body).ConfigureAwait(false)), _ => throw new InvalidOperationException() }; @@ -246,6 +294,7 @@ public Task UploadChunksStreamAsync( CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => beeGatewayApiClient_2_0_0.ChunksStreamAsync(swarmPostageBatchId, swarmTag, swarmPin), + GatewayApiVersion.v3_0_0 => beeGatewayApiClient_3_0_0.ChunksStreamAsync(swarmPostageBatchId, swarmTag, swarmPin), _ => throw new InvalidOperationException() }; @@ -265,6 +314,13 @@ public async Task UploadDataAsync( swarmEncrypt, swarmDeferredUpload, body).ConfigureAwait(false)).Reference, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.BytesPostAsync( + swarmPostageBatchId, + swarmTag, + swarmPin, + swarmEncrypt, + swarmDeferredUpload, + body).ConfigureAwait(false)).Reference, _ => throw new InvalidOperationException() }; @@ -293,7 +349,19 @@ public async Task UploadFileAsync( swarmIndexDocument, swarmErrorDocument, swarmDeferredUpload, - file.Select(f => new FileParameter(f.Data, f.FileName, f.ContentType))).ConfigureAwait(false)).Reference, + file.Select(f => new V2_0_0.FileParameter(f.Data, f.FileName, f.ContentType))).ConfigureAwait(false)).Reference, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.BzzPostAsync( + swarmPostageBatchId, + name, + swarmTag, + swarmPin, + swarmEncrypt, + contentType, + swarmCollection, + swarmIndexDocument, + swarmErrorDocument, + swarmDeferredUpload, + file.Select(f => new V3_0_0.FileParameter(f.Data, f.FileName, f.ContentType))).ConfigureAwait(false)).Reference, _ => throw new InvalidOperationException() }; @@ -305,6 +373,7 @@ public async Task UploadSocAsync( CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.SocAsync(owner, id, sig, swarmPin).ConfigureAwait(false)).Reference, + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.SocAsync(owner, id, sig, swarmPin).ConfigureAwait(false)).Reference, _ => throw new InvalidOperationException() }; } diff --git a/src/BeeNet/DtoModels/AuthDto.cs b/src/BeeNet/DtoModels/AuthDto.cs index 843944c5..86b3d929 100644 --- a/src/BeeNet/DtoModels/AuthDto.cs +++ b/src/BeeNet/DtoModels/AuthDto.cs @@ -27,6 +27,14 @@ public AuthDto(Clients.GatewayApi.V2_0_0.Response response) Key = response.Key; } + public AuthDto(Clients.GatewayApi.V3_0_0.Response response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Key = response.Key; + } + // Properties. public string Key { get; } diff --git a/src/BeeNet/DtoModels/BatchDto.cs b/src/BeeNet/DtoModels/BatchDto.cs new file mode 100644 index 00000000..37fcf34b --- /dev/null +++ b/src/BeeNet/DtoModels/BatchDto.cs @@ -0,0 +1,47 @@ +using System; + +namespace Etherna.BeeNet.DtoModels +{ + public class BatchDto + { + public BatchDto(Clients.DebugApi.V1_2_1.Stamps2 stamps) + { + if (stamps is null) + throw new ArgumentNullException(nameof(stamps)); + + BatchID = stamps.BatchID; + BatchTTL = stamps.BatchTTL; + BlockNumber = stamps.BlockNumber; + BucketDepth = stamps.BucketDepth; + Depth = stamps.Depth; + ImmutableFlag = stamps.ImmutableFlag; + Value = stamps.Value; + Owner = stamps.Owner; + } + + public BatchDto(Clients.DebugApi.V2_0_0.Batches batch) + { + if (batch is null) + throw new ArgumentNullException(nameof(batch)); + + BatchID = batch.BatchID; + BatchTTL = batch.BatchTTL; + BlockNumber = batch.BlockNumber; + BucketDepth = batch.BucketDepth; + Depth = batch.Depth; + ImmutableFlag = batch.ImmutableFlag; + Value = batch.Value; + Owner = batch.Owner; + } + + // Properties. + public string BatchID { get; set; } = default!; + public int BatchTTL { get; set; } = default!; + public int BlockNumber { get; set; } = default!; + public int BucketDepth { get; set; } = default!; + public int Depth { get; set; } = default!; + public bool ImmutableFlag { get; set; } = default!; + public string Value { get; set; } = default!; + public string Owner { get; set; } = default!; + } +} diff --git a/src/BeeNet/DtoModels/MessageResponseDto.cs b/src/BeeNet/DtoModels/MessageResponseDto.cs index 1ac427d2..8a2bef43 100644 --- a/src/BeeNet/DtoModels/MessageResponseDto.cs +++ b/src/BeeNet/DtoModels/MessageResponseDto.cs @@ -118,6 +118,24 @@ public MessageResponseDto(Clients.GatewayApi.V2_0_0.Response12 response) Code = response.Code; } + public MessageResponseDto(Clients.GatewayApi.V3_0_0.Response10 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Message = response.Message; + Code = response.Code; + } + + public MessageResponseDto(Clients.GatewayApi.V3_0_0.Response12 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Message = response.Message; + Code = response.Code; + } + // Properties. public string Message { get; } public int Code { get; } diff --git a/src/BeeNet/DtoModels/PostageBatchDto.cs b/src/BeeNet/DtoModels/PostageBatchDto.cs index caa56ad1..6b8c550d 100644 --- a/src/BeeNet/DtoModels/PostageBatchDto.cs +++ b/src/BeeNet/DtoModels/PostageBatchDto.cs @@ -115,8 +115,6 @@ public PostageBatchDto(Clients.DebugApi.V2_0_0.Stamps batch) if (batch is null) throw new ArgumentNullException(nameof(batch)); - //TODO haven't any data - /* AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); BatchTTL = batch.BatchTTL; Exists = batch.Exists; @@ -127,19 +125,18 @@ public PostageBatchDto(Clients.DebugApi.V2_0_0.Stamps batch) Depth = batch.Depth; BucketDepth = batch.BucketDepth; BlockNumber = batch.BlockNumber; - ImmutableFlag = batch.ImmutableFlag;*/ + ImmutableFlag = batch.ImmutableFlag; } public PostageBatchDto(Clients.DebugApi.V2_0_0.Response38 batch) { if (batch is null) throw new ArgumentNullException(nameof(batch)); - //TODO haven't any data - /* + AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); BatchTTL = batch.BatchTTL; Exists = batch.Exists; - Id = batch.BatchID; + Id = (string)batch.BatchID; Utilization = batch.Utilization; Usable = batch.Usable; Label = batch.Label; @@ -147,28 +144,6 @@ public PostageBatchDto(Clients.DebugApi.V2_0_0.Response38 batch) BucketDepth = batch.BucketDepth; BlockNumber = batch.BlockNumber; ImmutableFlag = batch.ImmutableFlag; - */ - } - - public PostageBatchDto(Clients.DebugApi.V2_0_0.Batches batch) - { - if (batch is null) - throw new ArgumentNullException(nameof(batch)); - - BatchTTL = batch.BatchTTL; - Depth = batch.Depth; - BucketDepth = batch.BucketDepth; - BlockNumber = batch.BlockNumber; - ImmutableFlag = batch.ImmutableFlag; - - //TODO missing data - /* - AmountPaid = long.Parse(batch.Amount, CultureInfo.InvariantCulture); - Exists = batch.Exists; - Id = ((JsonElement)batch.BatchID).ToString(); - Utilization = batch.Utilization; - Usable = batch.Usable; - Label = batch.Label;*/ } // Properties. diff --git a/src/BeeNet/DtoModels/StewardshipGetDto.cs b/src/BeeNet/DtoModels/StewardshipGetDto.cs index f5e4cea1..6f25f620 100644 --- a/src/BeeNet/DtoModels/StewardshipGetDto.cs +++ b/src/BeeNet/DtoModels/StewardshipGetDto.cs @@ -27,6 +27,14 @@ public StewardShipGetDto(Clients.GatewayApi.V2_0_0.Response17 response) IsRetrievable = response.IsRetrievable; } + public StewardShipGetDto(Clients.GatewayApi.V3_0_0.Response17 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + IsRetrievable = response.IsRetrievable; + } + // Properties. public bool IsRetrievable { get; } diff --git a/src/BeeNet/DtoModels/TagInfoDto.cs b/src/BeeNet/DtoModels/TagInfoDto.cs index 6216be4c..cb131985 100644 --- a/src/BeeNet/DtoModels/TagInfoDto.cs +++ b/src/BeeNet/DtoModels/TagInfoDto.cs @@ -55,6 +55,42 @@ public TagInfoDto(Clients.GatewayApi.V2_0_0.Response8 response) Synced = response.Synced; } + public TagInfoDto(Clients.GatewayApi.V3_0_0.Tags tags) + { + if (tags is null) + throw new ArgumentNullException(nameof(tags)); + + Uid = tags.Uid; + StartedAt = tags.StartedAt; + Total = tags.Total; + Processed = tags.Processed; + Synced = tags.Synced; + } + + public TagInfoDto(Clients.GatewayApi.V3_0_0.Response7 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Uid = response.Uid; + StartedAt = response.StartedAt; + Total = response.Total; + Processed = response.Processed; + Synced = response.Synced; + } + + public TagInfoDto(Clients.GatewayApi.V3_0_0.Response8 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Uid = response.Uid; + StartedAt = response.StartedAt; + Total = response.Total; + Processed = response.Processed; + Synced = response.Synced; + } + // Properties. public int Uid { get; } diff --git a/src/BeeNet/DtoModels/VersionDto.cs b/src/BeeNet/DtoModels/VersionDto.cs index a86f086b..bbb3286f 100644 --- a/src/BeeNet/DtoModels/VersionDto.cs +++ b/src/BeeNet/DtoModels/VersionDto.cs @@ -139,6 +139,28 @@ public VersionDto(Clients.GatewayApi.V2_0_0.Response9 response) DebugApiVersion = response.DebugApiVersion; } + public VersionDto(Clients.GatewayApi.V3_0_0.Response4 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Status = response.Status; + Version = response.Version; + ApiVersion = response.ApiVersion; + DebugApiVersion = response.DebugApiVersion; + } + + public VersionDto(Clients.GatewayApi.V3_0_0.Response9 response) + { + if (response is null) + throw new ArgumentNullException(nameof(response)); + + Status = response.Status; + Version = response.Version; + ApiVersion = response.ApiVersion; + DebugApiVersion = response.DebugApiVersion; + } + // Properties. public string Status { get; } public string Version { get; } From 3fb37e79ed385b13717442915e261aa3231dbdc5 Mon Sep 17 00:00:00 2001 From: Federico Cicciarella Date: Fri, 18 Mar 2022 23:11:19 +0100 Subject: [PATCH 5/6] change default version --- src/BeeNet/BeeNodeClient.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BeeNet/BeeNodeClient.cs b/src/BeeNet/BeeNodeClient.cs index d8eb433a..02f7b034 100644 --- a/src/BeeNet/BeeNodeClient.cs +++ b/src/BeeNet/BeeNodeClient.cs @@ -35,8 +35,8 @@ public BeeNodeClient( string baseUrl = "http://localhost/", int? gatewayApiPort = 1633, int? debugApiPort = 1635, - GatewayApiVersion gatewayApiVersion = GatewayApiVersion.v2_0_0, - DebugApiVersion debugApiVersion = DebugApiVersion.v1_2_0) + GatewayApiVersion gatewayApiVersion = GatewayApiVersion.v3_0_0, + DebugApiVersion debugApiVersion = DebugApiVersion.v2_0_0) { httpClient = new HttpClient(); From 435bc3b22fe602fe748c6daf8410d4731abbabf2 Mon Sep 17 00:00:00 2001 From: Mirko Da Corte Date: Wed, 23 Mar 2022 16:42:34 +0100 Subject: [PATCH 6/6] Update collection properties nullability --- src/BeeNet/Clients/DebugApi/BeeDebugClient.cs | 26 +++++++++---------- .../DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs | 18 ++++++------- .../Clients/GatewayApi/BeeGatewayClient.cs | 2 +- .../v3_0_0/BeeGatewayClient_3_0_0.cs | 2 +- src/BeeNet/DtoModels/SettlementDto.cs | 4 +-- src/BeeNet/DtoModels/StampsBucketsDto.cs | 6 ++--- src/BeeNet/DtoModels/TimesettlementsDto.cs | 4 +-- tools/swarm-debug-api.nswag | 2 +- tools/swarm-gateway-api.nswag | 2 +- 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs b/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs index e466bafc..763dcc10 100644 --- a/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs +++ b/src/BeeNet/Clients/DebugApi/BeeDebugClient.cs @@ -156,8 +156,8 @@ public async Task> GetAllBalancesAsync() => public async Task> GetAllChequeBookChequesAsync() => CurrentApiVersion switch { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques.Select(i => new ChequeBookChequeGetDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques.Select(i => new ChequeBookChequeGetDto(i)), + DebugApiVersion.v1_2_0 => ((await beeDebugClient_1_2_0.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques ?? Array.Empty()).Select(i => new ChequeBookChequeGetDto(i)), + DebugApiVersion.v1_2_1 => ((await beeDebugClient_1_2_1.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques ?? Array.Empty()).Select(i => new ChequeBookChequeGetDto(i)), DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.ChequebookChequeGetAsync().ConfigureAwait(false)).Lastcheques.Select(i => new ChequeBookChequeGetDto(i)), _ => throw new InvalidOperationException() }; @@ -174,8 +174,8 @@ public async Task> GetAllConsumedBalancesAsync() => public async Task> GetAllPeerAddressesAsync() => CurrentApiVersion switch { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.PeersGetAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.PeersGetAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), + DebugApiVersion.v1_2_0 => ((await beeDebugClient_1_2_0.PeersGetAsync().ConfigureAwait(false)).Peers ?? Array.Empty()).Select(i => i.Address), + DebugApiVersion.v1_2_1 => ((await beeDebugClient_1_2_1.PeersGetAsync().ConfigureAwait(false)).Peers ?? Array.Empty()).Select(i => i.Address), DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.PeersGetAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), _ => throw new InvalidOperationException() }; @@ -202,7 +202,7 @@ public async Task> GetAllValidPostageBatchesFromAllNodesAs CurrentApiVersion switch { DebugApiVersion.v1_2_0 => throw new InvalidOperationException($"Debug API {CurrentApiVersion} doesn't implement this function"), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BatchesAsync().ConfigureAwait(false)).Stamps.Select(i => new BatchDto(i)), + DebugApiVersion.v1_2_1 => ((await beeDebugClient_1_2_1.BatchesAsync().ConfigureAwait(false)).Stamps ?? Array.Empty()).Select(i => new BatchDto(i)), DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.BatchesAsync().ConfigureAwait(false)).Batches.Select(i => new BatchDto(i)), _ => throw new InvalidOperationException() }; @@ -219,8 +219,8 @@ public async Task> GetBalanceWithPeerAsync(string addres public async Task> GetBlocklistedPeerAddressesAsync() => CurrentApiVersion switch { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.BlocklistAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.BlocklistAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), + DebugApiVersion.v1_2_0 => ((await beeDebugClient_1_2_0.BlocklistAsync().ConfigureAwait(false)).Peers ?? Array.Empty()).Select(i => i.Address), + DebugApiVersion.v1_2_1 => ((await beeDebugClient_1_2_1.BlocklistAsync().ConfigureAwait(false)).Peers ?? Array.Empty()).Select(i => i.Address), DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.BlocklistAsync().ConfigureAwait(false)).Peers.Select(i => i.Address), _ => throw new InvalidOperationException() }; @@ -309,8 +309,8 @@ public async Task GetNodeInfoAsync() => public async Task> GetOwnedPostageBatchesByNodeAsync() => CurrentApiVersion switch { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.StampsGetAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.StampsGetAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), + DebugApiVersion.v1_2_0 => ((await beeDebugClient_1_2_0.StampsGetAsync().ConfigureAwait(false)).Stamps ?? Array.Empty()).Select(i => new PostageBatchDto(i)), + DebugApiVersion.v1_2_1 => ((await beeDebugClient_1_2_1.StampsGetAsync().ConfigureAwait(false)).Stamps ?? Array.Empty()).Select(i => new PostageBatchDto(i)), DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.StampsGetAsync().ConfigureAwait(false)).Stamps.Select(i => new PostageBatchDto(i)), _ => throw new InvalidOperationException() }; @@ -318,8 +318,8 @@ public async Task> GetOwnedPostageBatchesByNodeAsyn public async Task> GetPendingTransactionsAsync() => CurrentApiVersion switch { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions.Select(i => new PendingTransactionDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions.Select(i => new PendingTransactionDto(i)), + DebugApiVersion.v1_2_0 => ((await beeDebugClient_1_2_0.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions ?? Array.Empty()).Select(i => new PendingTransactionDto(i)), + DebugApiVersion.v1_2_1 => ((await beeDebugClient_1_2_1.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions ?? Array.Empty()).Select(i => new PendingTransactionDto(i)), DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.TransactionsGetAsync().ConfigureAwait(false)).PendingTransactions.Select(i => new PendingTransactionDto(i)), _ => throw new InvalidOperationException() }; @@ -354,8 +354,8 @@ public async Task GetReserveStateAsync() => public async Task> GetSettlementsWithPeerAsync(string address) => CurrentApiVersion switch { - DebugApiVersion.v1_2_0 => (await beeDebugClient_1_2_0.SettlementsGetAsync().ConfigureAwait(false)).Settlements.Select(i => new SettlementDataDto(i)), - DebugApiVersion.v1_2_1 => (await beeDebugClient_1_2_1.SettlementsGetAsync().ConfigureAwait(false)).Settlements.Select(i => new SettlementDataDto(i)), + DebugApiVersion.v1_2_0 => ((await beeDebugClient_1_2_0.SettlementsGetAsync().ConfigureAwait(false)).Settlements ?? Array.Empty()).Select(i => new SettlementDataDto(i)), + DebugApiVersion.v1_2_1 => ((await beeDebugClient_1_2_1.SettlementsGetAsync().ConfigureAwait(false)).Settlements ?? Array.Empty()).Select(i => new SettlementDataDto(i)), DebugApiVersion.v2_0_0 => (await beeDebugClient_2_0_0.SettlementsGetAsync().ConfigureAwait(false)).Settlements.Select(i => new SettlementDataDto(i)), _ => throw new InvalidOperationException() }; diff --git a/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs b/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs index 8f734001..5b766e27 100644 --- a/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs +++ b/src/BeeNet/Clients/DebugApi/V2_0_0/BeeDebugClient_2_0_0.cs @@ -4424,7 +4424,7 @@ public partial class Response4 { [System.Text.Json.Serialization.JsonPropertyName("peers")] - public System.Collections.Generic.ICollection? Peers { get; set; } = default!; + public System.Collections.Generic.ICollection Peers { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); @@ -4720,7 +4720,7 @@ public partial class Response16 { [System.Text.Json.Serialization.JsonPropertyName("peers")] - public System.Collections.Generic.ICollection? Peers { get; set; } = default!; + public System.Collections.Generic.ICollection Peers { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); @@ -4846,7 +4846,7 @@ public partial class Response21 public int TotalSent { get; set; } = default!; [System.Text.Json.Serialization.JsonPropertyName("settlements")] - public System.Collections.Generic.ICollection? Settlements { get; set; } = default!; + public System.Collections.Generic.ICollection Settlements { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); @@ -4870,7 +4870,7 @@ public partial class Response22 public int TotalSent { get; set; } = default!; [System.Text.Json.Serialization.JsonPropertyName("settlements")] - public System.Collections.Generic.ICollection? Settlements { get; set; } = default!; + public System.Collections.Generic.ICollection Settlements { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); @@ -5058,7 +5058,7 @@ public partial class Response29 { [System.Text.Json.Serialization.JsonPropertyName("lastcheques")] - public System.Collections.Generic.ICollection? Lastcheques { get; set; } = default!; + public System.Collections.Generic.ICollection Lastcheques { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); @@ -5157,7 +5157,7 @@ public partial class Response33 { [System.Text.Json.Serialization.JsonPropertyName("pendingTransactions")] - public System.Collections.Generic.ICollection? PendingTransactions { get; set; } = default!; + public System.Collections.Generic.ICollection PendingTransactions { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); @@ -5265,7 +5265,7 @@ public partial class Response37 { [System.Text.Json.Serialization.JsonPropertyName("stamps")] - public System.Collections.Generic.ICollection? Stamps { get; set; } = default!; + public System.Collections.Generic.ICollection Stamps { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); @@ -5307,7 +5307,7 @@ public partial class Response39 public int BucketUpperBound { get; set; } = default!; [System.Text.Json.Serialization.JsonPropertyName("buckets")] - public System.Collections.Generic.ICollection? Buckets { get; set; } = default!; + public System.Collections.Generic.ICollection Buckets { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); @@ -5382,7 +5382,7 @@ public partial class Response43 { [System.Text.Json.Serialization.JsonPropertyName("batches")] - public System.Collections.Generic.ICollection? Batches { get; set; } = default!; + public System.Collections.Generic.ICollection Batches { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); diff --git a/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs b/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs index 5c67f41a..db76fc5b 100644 --- a/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs +++ b/src/BeeNet/Clients/GatewayApi/BeeGatewayClient.cs @@ -130,7 +130,7 @@ public async Task> GetAllPinsAsync() => CurrentApiVersion switch { GatewayApiVersion.v2_0_0 => (await beeGatewayApiClient_2_0_0.PinsGetAsync().ConfigureAwait(false)).Addresses ?? Array.Empty(), - GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.PinsGetAsync().ConfigureAwait(false)).References ?? Array.Empty(), + GatewayApiVersion.v3_0_0 => (await beeGatewayApiClient_3_0_0.PinsGetAsync().ConfigureAwait(false)).References, _ => throw new InvalidOperationException() }; diff --git a/src/BeeNet/Clients/GatewayApi/v3_0_0/BeeGatewayClient_3_0_0.cs b/src/BeeNet/Clients/GatewayApi/v3_0_0/BeeGatewayClient_3_0_0.cs index 114566b4..eaf429ad 100644 --- a/src/BeeNet/Clients/GatewayApi/v3_0_0/BeeGatewayClient_3_0_0.cs +++ b/src/BeeNet/Clients/GatewayApi/v3_0_0/BeeGatewayClient_3_0_0.cs @@ -3842,7 +3842,7 @@ public partial class Response13 { [System.Text.Json.Serialization.JsonPropertyName("references")] - public System.Collections.Generic.ICollection? References { get; set; } = default!; + public System.Collections.Generic.ICollection References { get; set; } = default!; private System.Collections.Generic.IDictionary _additionalProperties = new System.Collections.Generic.Dictionary(); diff --git a/src/BeeNet/DtoModels/SettlementDto.cs b/src/BeeNet/DtoModels/SettlementDto.cs index 51b546ee..2d44bb7d 100644 --- a/src/BeeNet/DtoModels/SettlementDto.cs +++ b/src/BeeNet/DtoModels/SettlementDto.cs @@ -28,7 +28,7 @@ public SettlementDto(Clients.DebugApi.V1_2_0.Response20 response) TotalReceived = response.TotalReceived; TotalSent = response.TotalSent; - Settlements = response.Settlements + Settlements = (response.Settlements ?? Array.Empty()) .Select(i => new SettlementDataDto(i)); } @@ -39,7 +39,7 @@ public SettlementDto(Clients.DebugApi.V1_2_1.Response21 response) TotalReceived = response.TotalReceived; TotalSent = response.TotalSent; - Settlements = response.Settlements + Settlements = (response.Settlements ?? Array.Empty()) .Select(i => new SettlementDataDto(i)); } diff --git a/src/BeeNet/DtoModels/StampsBucketsDto.cs b/src/BeeNet/DtoModels/StampsBucketsDto.cs index dfc1a986..6cb85a6b 100644 --- a/src/BeeNet/DtoModels/StampsBucketsDto.cs +++ b/src/BeeNet/DtoModels/StampsBucketsDto.cs @@ -29,7 +29,7 @@ public StampsBucketsDto(Clients.DebugApi.V1_2_0.Response38 response) Depth = response.Depth; BucketDepth = response.BucketDepth; BucketUpperBound = response.BucketUpperBound; - Buckets = response.Buckets?.Select(i => new BucketDto(i)); + Buckets = (response.Buckets ?? Array.Empty()).Select(i => new BucketDto(i)); } public StampsBucketsDto(Clients.DebugApi.V1_2_1.Response39 response) @@ -40,7 +40,7 @@ public StampsBucketsDto(Clients.DebugApi.V1_2_1.Response39 response) Depth = response.Depth; BucketDepth = response.BucketDepth; BucketUpperBound = response.BucketUpperBound; - Buckets = response.Buckets?.Select(i => new BucketDto(i)); + Buckets = (response.Buckets ?? Array.Empty()).Select(i => new BucketDto(i)); } public StampsBucketsDto(Clients.DebugApi.V2_0_0.Response39 response) @@ -51,7 +51,7 @@ public StampsBucketsDto(Clients.DebugApi.V2_0_0.Response39 response) Depth = response.Depth; BucketDepth = response.BucketDepth; BucketUpperBound = response.BucketUpperBound; - Buckets = response.Buckets?.Select(i => new BucketDto(i)); + Buckets = response.Buckets.Select(i => new BucketDto(i)); } // Properties. diff --git a/src/BeeNet/DtoModels/TimesettlementsDto.cs b/src/BeeNet/DtoModels/TimesettlementsDto.cs index 7f287c7c..82651c61 100644 --- a/src/BeeNet/DtoModels/TimesettlementsDto.cs +++ b/src/BeeNet/DtoModels/TimesettlementsDto.cs @@ -28,7 +28,7 @@ public TimeSettlementsDto(Clients.DebugApi.V1_2_0.Response21 response) TotalReceived = response.TotalReceived; TotalSent = response.TotalSent; - Settlements = response.Settlements + Settlements = (response.Settlements ?? Array.Empty()) .Select(i => new SettlementDataDto(i)); } @@ -39,7 +39,7 @@ public TimeSettlementsDto(Clients.DebugApi.V1_2_1.Response22 response) TotalReceived = response.TotalReceived; TotalSent = response.TotalSent; - Settlements = response.Settlements + Settlements = (response.Settlements ?? Array.Empty()) .Select(i => new SettlementDataDto(i)); } diff --git a/tools/swarm-debug-api.nswag b/tools/swarm-debug-api.nswag index 1192e78b..ad2e26bf 100644 --- a/tools/swarm-debug-api.nswag +++ b/tools/swarm-debug-api.nswag @@ -3,7 +3,7 @@ "defaultVariables": null, "documentGenerator": { "fromDocument": { - "json": "openapi: 3.0.3\r\ninfo:\r\n version: 2.0.0\r\n title: Bee Debug API\r\n description: A list of the currently provided debug interfaces to interact with\r\n the bee node\r\nsecurity:\r\n - {}\r\nexternalDocs:\r\n description: Browse the documentation @ the Swarm Docs\r\n url: https://docs.ethswarm.org\r\nservers:\r\n - url: http://{apiRoot}:{port}\r\n variables:\r\n apiRoot:\r\n default: localhost\r\n description: Base address of the local bee node debug API\r\n port:\r\n default: \"1635\"\r\n description: Service port provided in bee node config\r\npaths:\r\n /addresses:\r\n get:\r\n summary: Get overlay and underlay addresses of the node\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Own node underlay and overlay addresses\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n overlay:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n underlay:\r\n type: array\r\n items:\r\n type: string\r\n example: /ip4/127.0.0.1/tcp/1634/p2p/16Uiu2HAmTm17toLDaPYzRyjKn27iCB76yjKnJ5DjQXneFmifFvaX\r\n ethereum:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n publicKey:\r\n &a1\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{66}$\r\n example: 02ab7473879005929d10ce7d4f626412dad9fe56b0a6622038931d26bd79abf0a4\r\n pssPublicKey: *a1\r\n \"500\":\r\n &a2\r\n description: Internal Server Error\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n default:\r\n description: Default response\r\n /balances:\r\n get:\r\n summary: Get the balances with all known peers including prepaid services\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own balances with all known peers\r\n content:\r\n application/json:\r\n schema:\r\n &a3\r\n type: object\r\n properties:\r\n balances:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/balances/{address}\":\r\n get:\r\n summary: Get the balances with a specific peer including prepaid services\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema:\r\n &a4\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Balance with the specific peer\r\n content:\r\n application/json:\r\n schema:\r\n &a5\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"404\":\r\n &a6\r\n description: Not Found\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /blocklist:\r\n get:\r\n summary: Get a list of blocklisted peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of blocklisted peers\r\n content:\r\n application/json:\r\n schema:\r\n &a11\r\n type: object\r\n properties:\r\n peers:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /consumed:\r\n get:\r\n summary: Get the past due consumption balances with all known peers\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own past due consumption balances with all known peers\r\n content:\r\n application/json:\r\n schema: *a3\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/consumed/{address}\":\r\n get:\r\n summary: Get the past due consumption balance with a specific peer\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Past-due consumption balance with the specific peer\r\n content:\r\n application/json:\r\n schema: *a5\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/address:\r\n get:\r\n summary: Get the address of the chequebook contract used\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Ethereum address of chequebook contract\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n chequebookAddress:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n /chequebook/balance:\r\n get:\r\n summary: Get the balance of the chequebook\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Balance of the chequebook\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n totalBalance:\r\n &a7\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n availableBalance: *a7\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chunks/{address}\":\r\n get:\r\n summary: Check if chunk at address exists locally\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema:\r\n &a8\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"400\":\r\n &a9\r\n description: Bad request\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Delete a chunk from local storage\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n \"/connect/{multiAddress}\":\r\n post:\r\n summary: Connect to address\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n allowReserved: true\r\n name: multiAddress\r\n schema:\r\n type: string\r\n required: true\r\n description: Underlay address of peer\r\n responses:\r\n \"200\":\r\n description: Returns overlay address of connected peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /reservestate:\r\n get:\r\n summary: Get reserve state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Reserve State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n radius:\r\n type: integer\r\n available:\r\n type: integer\r\n outer:\r\n &a10\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n inner: *a10\r\n default:\r\n description: Default response\r\n /chainstate:\r\n get:\r\n summary: Get chain state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Chain State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n block:\r\n type: integer\r\n totalAmount:\r\n type: integer\r\n currentPrice:\r\n type: integer\r\n default:\r\n description: Default response\r\n /node:\r\n get:\r\n summary: Get information about the node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Information about the node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n beeMode:\r\n type: string\r\n enum:\r\n - light\r\n - full\r\n - dev\r\n description: >\r\n Gives back in what mode the Bee client has been started.\r\n The modes are mutually exclusive * `light` - light node;\r\n does not participate in forwarding or storing chunks *\r\n `full` - full node * `dev` - development mode; Bee client\r\n for development purposes, blockchain operations are mocked\r\n gatewayMode:\r\n type: boolean\r\n chequebookEnabled:\r\n type: boolean\r\n swapEnabled:\r\n type: boolean\r\n default:\r\n description: Default response\r\n /health:\r\n get:\r\n summary: Get health of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema:\r\n &a12\r\n type: object\r\n properties:\r\n status:\r\n type: string\r\n version:\r\n type: string\r\n apiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n debugApiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n default:\r\n description: Default response\r\n /peers:\r\n get:\r\n summary: Get a list of peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of connected peers\r\n content:\r\n application/json:\r\n schema: *a11\r\n default:\r\n description: Default response\r\n \"/peers/{address}\":\r\n delete:\r\n summary: Remove peer\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Disconnected peer\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/pingpong/{peer-id}\":\r\n post:\r\n summary: Try connection to node\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Returns round trip time for given peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n rtt:\r\n description: Go time.Duration format\r\n type: string\r\n example: 5.0018ms\r\n \"400\": *a9\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /readiness:\r\n get:\r\n summary: Get readiness state of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema: *a12\r\n default:\r\n description: Default response\r\n \"/settlements/{address}\":\r\n get:\r\n summary: Get amount of sent and received from settlements with a peer\r\n tags:\r\n - Settlements\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Amount of sent or received from settlements with a peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /settlements:\r\n get:\r\n summary: Get settlements with all known peers and total amount sent or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Settlements with all known peers and total amount sent or received\r\n content:\r\n application/json:\r\n schema:\r\n &a13\r\n type: object\r\n properties:\r\n totalReceived:\r\n type: integer\r\n totalSent:\r\n type: integer\r\n settlements:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /timesettlements:\r\n get:\r\n summary: Get time based settlements with all known peers and total amount sent\r\n or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Time based settlements with all known peers and total amount sent\r\n or received\r\n content:\r\n application/json:\r\n schema: *a13\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /topology:\r\n get:\r\n description: Get topology of known network\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Swarm topology of the bee node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n baseAddr:\r\n &a14\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n timestamp:\r\n type: string\r\n nnLowWatermark:\r\n type: integer\r\n depth:\r\n type: integer\r\n bins:\r\n type: object\r\n additionalProperties:\r\n type: object\r\n properties:\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n disconnectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics:\r\n &a15\r\n type: object\r\n properties:\r\n lastSeenTimestamp:\r\n type: integer\r\n nullable: false\r\n sessionConnectionRetry:\r\n type: integer\r\n nullable: false\r\n connectionTotalDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDirection:\r\n type: string\r\n nullable: false\r\n latencyEWMA:\r\n type: integer\r\n nullable: false\r\n connectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics: *a15\r\n /welcome-message:\r\n get:\r\n summary: Get configured P2P welcome message\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Welcome message\r\n content:\r\n application/json:\r\n schema:\r\n &a16\r\n type: object\r\n properties:\r\n welcomeMessage:\r\n type: string\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Set P2P welcome message\r\n tags:\r\n - Connectivity\r\n requestBody:\r\n content:\r\n application/json:\r\n schema: *a16\r\n responses:\r\n \"200\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema: *a12\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cashout/{peer-id}\":\r\n get:\r\n summary: Get last cashout action for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Cashout status\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastCashedCheque:\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a17\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a17\r\n payout:\r\n &a18\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n result:\r\n type: object\r\n properties:\r\n recipient: *a17\r\n lastPayout: *a18\r\n bounced:\r\n type: boolean\r\n uncashedAmount: *a18\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Cashout the last cheque for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n - &a23\r\n in: header\r\n name: gas-price\r\n schema:\r\n type: integer\r\n format: int64\r\n required: false\r\n description: Gas price for transaction\r\n - in: header\r\n name: gas-limit\r\n schema:\r\n type: integer\r\n format: int64\r\n minimum: 0\r\n maximum: 18446744073709552000\r\n required: false\r\n description: Gas limit for transaction\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema:\r\n &a24\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n \"404\": *a6\r\n \"429\":\r\n &a31\r\n description: Too many requests\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cheque/{peer-id}\":\r\n get:\r\n summary: Get last cheques for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a20\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a19\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a19\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a20\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/cheque:\r\n get:\r\n summary: Get last cheques for all peers\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n lastcheques:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a22\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a21\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a21\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a22\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/deposit:\r\n post:\r\n summary: Deposit tokens from overlay address into chequebook\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: amount of tokens to deposit\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the deposit transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/withdraw:\r\n post:\r\n summary: Withdraw tokens from the chequebook to the overlay address\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: amount of tokens to withdraw\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the withdraw transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/tags/{uid}\":\r\n get:\r\n summary: Get Tag information using Uid\r\n tags:\r\n - Tag\r\n parameters:\r\n - in: path\r\n name: uid\r\n schema:\r\n type: integer\r\n required: true\r\n description: Uid\r\n responses:\r\n \"200\":\r\n description: Tag info\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n total:\r\n type: integer\r\n split:\r\n type: integer\r\n seen:\r\n type: integer\r\n stored:\r\n type: integer\r\n sent:\r\n type: integer\r\n synced:\r\n type: integer\r\n uid:\r\n type: integer\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n startedAt:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /transactions:\r\n get:\r\n summary: Get list of pending transactions\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: List of pending transactions\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n pendingTransactions:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a25\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n format: int64\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a25\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/transactions/{txHash}\":\r\n get:\r\n summary: Get information about a sent transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema:\r\n &a27\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Get info about transaction\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a26\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n format: int64\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a26\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Rebroadcast existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Cancel existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n - *a23\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /stamps:\r\n get:\r\n summary: Get all available stamps for this node\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available postage batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n stamps:\r\n type: array\r\n nullable: true\r\n items:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a28\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before\r\n declaring the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a28\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n default:\r\n description: Default response\r\n \"/stamps/{id}\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema:\r\n &a30\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get an individual postage batch status\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an individual postage batch state\r\n content:\r\n application/json:\r\n schema:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a29\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before declaring\r\n the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a29\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{id}/buckets\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get extended bucket data of a batch\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns extended bucket data of the provided batch ID\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n depth:\r\n type: integer\r\n bucketDepth:\r\n type: integer\r\n bucketUpperBound:\r\n type: integer\r\n buckets:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n bucketID:\r\n type: integer\r\n collisions:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{amount}/{depth}\":\r\n post:\r\n summary: Buy a new postage batch.\r\n description: Be aware, this endpoint creates an on-chain transactions and\r\n transfers BZZ from the node's Ethereum account and hence directly\r\n manipulates the wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: amount\r\n schema:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n required: true\r\n description: Amount of BZZ added that the postage batch will have.\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: Batch depth which specifies how many chunks can be signed with the\r\n batch. It is a logarithm. Must be higher than default bucket depth\r\n (16)\r\n - in: query\r\n name: label\r\n schema:\r\n type: string\r\n required: false\r\n description: An optional label for this batch\r\n - in: header\r\n name: immutable\r\n schema:\r\n type: boolean\r\n required: false\r\n - *a23\r\n responses:\r\n \"201\":\r\n description: Returns the newly created postage batch ID\r\n content:\r\n application/json:\r\n schema:\r\n &a32\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/topup/{id}/{amount}\":\r\n patch:\r\n summary: Top up an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to top up\r\n - in: path\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: Amount of BZZ per chunk to top up to an existing postage batch.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was topped up\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"402\":\r\n description: Payment Required\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/dilute/{id}/{depth}\":\r\n patch:\r\n summary: Dilute an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to dilute\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: New batch depth. Must be higher than the previous depth.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was diluted.\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /batches:\r\n get:\r\n summary: Get all globally available batches that were purchased by all nodes.\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available and currently valid postage\r\n batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n batches:\r\n type: array\r\n nullable: true\r\n items:\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n depth:\r\n type: integer\r\n value:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n owner:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n default:\r\n description: Default response\r\n", + "json": "openapi: 3.0.3\r\ninfo:\r\n version: 2.0.0\r\n title: Bee Debug API\r\n description: A list of the currently provided debug interfaces to interact with\r\n the bee node\r\nsecurity:\r\n - {}\r\nexternalDocs:\r\n description: Browse the documentation @ the Swarm Docs\r\n url: https://docs.ethswarm.org\r\nservers:\r\n - url: http://{apiRoot}:{port}\r\n variables:\r\n apiRoot:\r\n default: localhost\r\n description: Base address of the local bee node debug API\r\n port:\r\n default: \"1635\"\r\n description: Service port provided in bee node config\r\npaths:\r\n /addresses:\r\n get:\r\n summary: Get overlay and underlay addresses of the node\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Own node underlay and overlay addresses\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n overlay:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n underlay:\r\n type: array\r\n items:\r\n type: string\r\n example: /ip4/127.0.0.1/tcp/1634/p2p/16Uiu2HAmTm17toLDaPYzRyjKn27iCB76yjKnJ5DjQXneFmifFvaX\r\n ethereum:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n publicKey:\r\n &a1\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{66}$\r\n example: 02ab7473879005929d10ce7d4f626412dad9fe56b0a6622038931d26bd79abf0a4\r\n pssPublicKey: *a1\r\n \"500\":\r\n &a2\r\n description: Internal Server Error\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n default:\r\n description: Default response\r\n /balances:\r\n get:\r\n summary: Get the balances with all known peers including prepaid services\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own balances with all known peers\r\n content:\r\n application/json:\r\n schema:\r\n &a3\r\n type: object\r\n properties:\r\n balances:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/balances/{address}\":\r\n get:\r\n summary: Get the balances with a specific peer including prepaid services\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema:\r\n &a4\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Balance with the specific peer\r\n content:\r\n application/json:\r\n schema:\r\n &a5\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n balance:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n \"404\":\r\n &a6\r\n description: Not Found\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /blocklist:\r\n get:\r\n summary: Get a list of blocklisted peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of blocklisted peers\r\n content:\r\n application/json:\r\n schema:\r\n &a11\r\n type: object\r\n properties:\r\n peers:\r\n type: array\r\n nullable: false\r\n items:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /consumed:\r\n get:\r\n summary: Get the past due consumption balances with all known peers\r\n tags:\r\n - Balance\r\n responses:\r\n \"200\":\r\n description: Own past due consumption balances with all known peers\r\n content:\r\n application/json:\r\n schema: *a3\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/consumed/{address}\":\r\n get:\r\n summary: Get the past due consumption balance with a specific peer\r\n tags:\r\n - Balance\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Past-due consumption balance with the specific peer\r\n content:\r\n application/json:\r\n schema: *a5\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/address:\r\n get:\r\n summary: Get the address of the chequebook contract used\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Ethereum address of chequebook contract\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n chequebookAddress:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n /chequebook/balance:\r\n get:\r\n summary: Get the balance of the chequebook\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Balance of the chequebook\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n totalBalance:\r\n &a7\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n availableBalance: *a7\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chunks/{address}\":\r\n get:\r\n summary: Check if chunk at address exists locally\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema:\r\n &a8\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"400\":\r\n &a9\r\n description: Bad request\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Delete a chunk from local storage\r\n tags:\r\n - Chunk\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of chunk\r\n responses:\r\n \"200\":\r\n description: Chunk exists\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"404\": *a6\r\n default:\r\n description: Default response\r\n \"/connect/{multiAddress}\":\r\n post:\r\n summary: Connect to address\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n allowReserved: true\r\n name: multiAddress\r\n schema:\r\n type: string\r\n required: true\r\n description: Underlay address of peer\r\n responses:\r\n \"200\":\r\n description: Returns overlay address of connected peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /reservestate:\r\n get:\r\n summary: Get reserve state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Reserve State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n radius:\r\n type: integer\r\n available:\r\n type: integer\r\n outer:\r\n &a10\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n inner: *a10\r\n default:\r\n description: Default response\r\n /chainstate:\r\n get:\r\n summary: Get chain state\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Chain State\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n block:\r\n type: integer\r\n totalAmount:\r\n type: integer\r\n currentPrice:\r\n type: integer\r\n default:\r\n description: Default response\r\n /node:\r\n get:\r\n summary: Get information about the node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Information about the node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n beeMode:\r\n type: string\r\n enum:\r\n - light\r\n - full\r\n - dev\r\n description: >\r\n Gives back in what mode the Bee client has been started.\r\n The modes are mutually exclusive * `light` - light node;\r\n does not participate in forwarding or storing chunks *\r\n `full` - full node * `dev` - development mode; Bee client\r\n for development purposes, blockchain operations are mocked\r\n gatewayMode:\r\n type: boolean\r\n chequebookEnabled:\r\n type: boolean\r\n swapEnabled:\r\n type: boolean\r\n default:\r\n description: Default response\r\n /health:\r\n get:\r\n summary: Get health of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema:\r\n &a12\r\n type: object\r\n properties:\r\n status:\r\n type: string\r\n version:\r\n type: string\r\n apiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n debugApiVersion:\r\n type: string\r\n default: 0.0.0\r\n description: The default value is set in case the bee binary was not build\r\n correctly.\r\n default:\r\n description: Default response\r\n /peers:\r\n get:\r\n summary: Get a list of peers\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Returns overlay addresses of connected peers\r\n content:\r\n application/json:\r\n schema: *a11\r\n default:\r\n description: Default response\r\n \"/peers/{address}\":\r\n delete:\r\n summary: Remove peer\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Disconnected peer\r\n content:\r\n application/json:\r\n schema: *a8\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/pingpong/{peer-id}\":\r\n post:\r\n summary: Try connection to node\r\n tags:\r\n - Connectivity\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Returns round trip time for given peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n rtt:\r\n description: Go time.Duration format\r\n type: string\r\n example: 5.0018ms\r\n \"400\": *a9\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /readiness:\r\n get:\r\n summary: Get readiness state of node\r\n tags:\r\n - Status\r\n responses:\r\n \"200\":\r\n description: Health State of node\r\n content:\r\n application/json:\r\n schema: *a12\r\n default:\r\n description: Default response\r\n \"/settlements/{address}\":\r\n get:\r\n summary: Get amount of sent and received from settlements with a peer\r\n tags:\r\n - Settlements\r\n parameters:\r\n - in: path\r\n name: address\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n responses:\r\n \"200\":\r\n description: Amount of sent or received from settlements with a peer\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /settlements:\r\n get:\r\n summary: Get settlements with all known peers and total amount sent or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Settlements with all known peers and total amount sent or received\r\n content:\r\n application/json:\r\n schema:\r\n &a13\r\n type: object\r\n properties:\r\n totalReceived:\r\n type: integer\r\n totalSent:\r\n type: integer\r\n settlements:\r\n type: array\r\n nullable: false\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n received:\r\n type: integer\r\n sent:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /timesettlements:\r\n get:\r\n summary: Get time based settlements with all known peers and total amount sent\r\n or received\r\n tags:\r\n - Settlements\r\n responses:\r\n \"200\":\r\n description: Time based settlements with all known peers and total amount sent\r\n or received\r\n content:\r\n application/json:\r\n schema: *a13\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /topology:\r\n get:\r\n description: Get topology of known network\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Swarm topology of the bee node\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n baseAddr:\r\n &a14\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n timestamp:\r\n type: string\r\n nnLowWatermark:\r\n type: integer\r\n depth:\r\n type: integer\r\n bins:\r\n type: object\r\n additionalProperties:\r\n type: object\r\n properties:\r\n population:\r\n type: integer\r\n connected:\r\n type: integer\r\n disconnectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics:\r\n &a15\r\n type: object\r\n properties:\r\n lastSeenTimestamp:\r\n type: integer\r\n nullable: false\r\n sessionConnectionRetry:\r\n type: integer\r\n nullable: false\r\n connectionTotalDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDuration:\r\n type: number\r\n nullable: false\r\n sessionConnectionDirection:\r\n type: string\r\n nullable: false\r\n latencyEWMA:\r\n type: integer\r\n nullable: false\r\n connectedPeers:\r\n type: array\r\n items:\r\n type: object\r\n properties:\r\n address: *a14\r\n metrics: *a15\r\n /welcome-message:\r\n get:\r\n summary: Get configured P2P welcome message\r\n tags:\r\n - Connectivity\r\n responses:\r\n \"200\":\r\n description: Welcome message\r\n content:\r\n application/json:\r\n schema:\r\n &a16\r\n type: object\r\n properties:\r\n welcomeMessage:\r\n type: string\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Set P2P welcome message\r\n tags:\r\n - Connectivity\r\n requestBody:\r\n content:\r\n application/json:\r\n schema: *a16\r\n responses:\r\n \"200\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema: *a12\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cashout/{peer-id}\":\r\n get:\r\n summary: Get last cashout action for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Cashout status\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastCashedCheque:\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a17\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a17\r\n payout:\r\n &a18\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n result:\r\n type: object\r\n properties:\r\n recipient: *a17\r\n lastPayout: *a18\r\n bounced:\r\n type: boolean\r\n uncashedAmount: *a18\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Cashout the last cheque for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n - &a23\r\n in: header\r\n name: gas-price\r\n schema:\r\n type: integer\r\n format: int64\r\n required: false\r\n description: Gas price for transaction\r\n - in: header\r\n name: gas-limit\r\n schema:\r\n type: integer\r\n format: int64\r\n minimum: 0\r\n maximum: 18446744073709552000\r\n required: false\r\n description: Gas limit for transaction\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: OK\r\n content:\r\n application/json:\r\n schema:\r\n &a24\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n \"404\": *a6\r\n \"429\":\r\n &a31\r\n description: Too many requests\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/chequebook/cheque/{peer-id}\":\r\n get:\r\n summary: Get last cheques for the peer\r\n parameters:\r\n - in: path\r\n name: peer-id\r\n schema: *a4\r\n required: true\r\n description: Swarm address of peer\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a20\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a19\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a19\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a20\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/cheque:\r\n get:\r\n summary: Get last cheques for all peers\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"200\":\r\n description: Last cheques\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n lastcheques:\r\n type: array\r\n nullable: false\r\n items:\r\n type: object\r\n properties:\r\n peer:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n lastreceived:\r\n &a22\r\n type: object\r\n properties:\r\n beneficiary:\r\n &a21\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n chequebook: *a21\r\n payout:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n lastsent: *a22\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/deposit:\r\n post:\r\n summary: Deposit tokens from overlay address into chequebook\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: amount of tokens to deposit\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the deposit transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /chequebook/withdraw:\r\n post:\r\n summary: Withdraw tokens from the chequebook to the overlay address\r\n parameters:\r\n - in: query\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: amount of tokens to withdraw\r\n - *a23\r\n tags:\r\n - Chequebook\r\n responses:\r\n \"201\":\r\n description: Transaction hash of the withdraw transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"400\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/tags/{uid}\":\r\n get:\r\n summary: Get Tag information using Uid\r\n tags:\r\n - Tag\r\n parameters:\r\n - in: path\r\n name: uid\r\n schema:\r\n type: integer\r\n required: true\r\n description: Uid\r\n responses:\r\n \"200\":\r\n description: Tag info\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n total:\r\n type: integer\r\n split:\r\n type: integer\r\n seen:\r\n type: integer\r\n stored:\r\n type: integer\r\n sent:\r\n type: integer\r\n synced:\r\n type: integer\r\n uid:\r\n type: integer\r\n address:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n startedAt:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n \"400\": *a9\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /transactions:\r\n get:\r\n summary: Get list of pending transactions\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: List of pending transactions\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n pendingTransactions:\r\n type: array\r\n nullable: false\r\n items:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a25\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n format: int64\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a25\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/transactions/{txHash}\":\r\n get:\r\n summary: Get information about a sent transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema:\r\n &a27\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Get info about transaction\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n transactionHash:\r\n type: string\r\n pattern: ^0x[A-Fa-f0-9]{64}$\r\n example: \"0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a\"\r\n to:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n nonce:\r\n type: integer\r\n gasPrice:\r\n &a26\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n gasLimit:\r\n type: integer\r\n format: int64\r\n data:\r\n type: string\r\n created:\r\n type: string\r\n format: date-time\r\n example: 2020-06-11T11:26:42.6969797+02:00\r\n description:\r\n type: string\r\n value: *a26\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n post:\r\n summary: Rebroadcast existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n delete:\r\n summary: Cancel existing transaction\r\n parameters:\r\n - in: path\r\n name: txHash\r\n schema: *a27\r\n required: true\r\n description: Hash of the transaction\r\n - *a23\r\n tags:\r\n - Transaction\r\n responses:\r\n \"200\":\r\n description: Hash of the transaction\r\n content:\r\n application/json:\r\n schema: *a24\r\n \"404\": *a6\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /stamps:\r\n get:\r\n summary: Get all available stamps for this node\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available postage batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n stamps:\r\n type: array\r\n nullable: false\r\n items:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a28\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before\r\n declaring the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a28\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n default:\r\n description: Default response\r\n \"/stamps/{id}\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema:\r\n &a30\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get an individual postage batch status\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an individual postage batch state\r\n content:\r\n application/json:\r\n schema:\r\n anyOf:\r\n - type: object\r\n properties:\r\n batchID:\r\n &a29\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n utilization:\r\n type: integer\r\n usable:\r\n description: Indicate that the batch was discovered by the Bee node, but it\r\n awaits enough on-chain confirmations before declaring\r\n the batch as usable.\r\n type: boolean\r\n label:\r\n type: string\r\n depth:\r\n type: integer\r\n amount:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n - type: object\r\n properties:\r\n batchID: *a29\r\n exists:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{id}/buckets\":\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Swarm address of the stamp\r\n get:\r\n summary: Get extended bucket data of a batch\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns extended bucket data of the provided batch ID\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n depth:\r\n type: integer\r\n bucketDepth:\r\n type: integer\r\n bucketUpperBound:\r\n type: integer\r\n buckets:\r\n type: array\r\n nullable: false\r\n items:\r\n type: object\r\n properties:\r\n bucketID:\r\n type: integer\r\n collisions:\r\n type: integer\r\n \"400\": *a9\r\n default:\r\n description: Default response\r\n \"/stamps/{amount}/{depth}\":\r\n post:\r\n summary: Buy a new postage batch.\r\n description: Be aware, this endpoint creates an on-chain transactions and\r\n transfers BZZ from the node's Ethereum account and hence directly\r\n manipulates the wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: amount\r\n schema:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n required: true\r\n description: Amount of BZZ added that the postage batch will have.\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: Batch depth which specifies how many chunks can be signed with the\r\n batch. It is a logarithm. Must be higher than default bucket depth\r\n (16)\r\n - in: query\r\n name: label\r\n schema:\r\n type: string\r\n required: false\r\n description: An optional label for this batch\r\n - in: header\r\n name: immutable\r\n schema:\r\n type: boolean\r\n required: false\r\n - *a23\r\n responses:\r\n \"201\":\r\n description: Returns the newly created postage batch ID\r\n content:\r\n application/json:\r\n schema:\r\n &a32\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/topup/{id}/{amount}\":\r\n patch:\r\n summary: Top up an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to top up\r\n - in: path\r\n name: amount\r\n schema:\r\n type: integer\r\n format: int64\r\n required: true\r\n description: Amount of BZZ per chunk to top up to an existing postage batch.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was topped up\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"402\":\r\n description: Payment Required\r\n content:\r\n application/problem+json:\r\n schema:\r\n type: object\r\n properties:\r\n message:\r\n type: string\r\n code:\r\n type: integer\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n \"/stamps/dilute/{id}/{depth}\":\r\n patch:\r\n summary: Dilute an existing postage batch.\r\n description: Be aware, this endpoint creates on-chain transactions and transfers\r\n BZZ from the node's Ethereum account and hence directly manipulates the\r\n wallet balance!\r\n tags:\r\n - Postage Stamps\r\n parameters:\r\n - in: path\r\n name: id\r\n schema: *a30\r\n required: true\r\n description: Batch ID to dilute\r\n - in: path\r\n name: depth\r\n schema:\r\n type: integer\r\n required: true\r\n description: New batch depth. Must be higher than the previous depth.\r\n responses:\r\n \"202\":\r\n description: Returns the postage batch ID that was diluted.\r\n content:\r\n application/json:\r\n schema: *a32\r\n \"400\": *a9\r\n \"429\": *a31\r\n \"500\": *a2\r\n default:\r\n description: Default response\r\n /batches:\r\n get:\r\n summary: Get all globally available batches that were purchased by all nodes.\r\n tags:\r\n - Postage Stamps\r\n responses:\r\n \"200\":\r\n description: Returns an array of all available and currently valid postage\r\n batches.\r\n content:\r\n application/json:\r\n schema:\r\n type: object\r\n properties:\r\n batches:\r\n type: array\r\n nullable: false\r\n items:\r\n type: object\r\n properties:\r\n batchID:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{64}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\r\n depth:\r\n type: integer\r\n value:\r\n description: Numeric string that represents integer which might exceeds\r\n `Number.MAX_SAFE_INTEGER` limit (2^53-1)\r\n type: string\r\n example: \"1000000000000000000\"\r\n bucketDepth:\r\n type: integer\r\n blockNumber:\r\n type: integer\r\n immutableFlag:\r\n type: boolean\r\n batchTTL:\r\n type: integer\r\n owner:\r\n type: string\r\n pattern: ^[A-Fa-f0-9]{40}$\r\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\r\n default:\r\n description: Default response\r\n", "url": "", "output": null, "newLineBehavior": "Auto" diff --git a/tools/swarm-gateway-api.nswag b/tools/swarm-gateway-api.nswag index ad87273f..3474fdc1 100644 --- a/tools/swarm-gateway-api.nswag +++ b/tools/swarm-gateway-api.nswag @@ -3,7 +3,7 @@ "defaultVariables": null, "documentGenerator": { "fromDocument": { - "json": "openapi: 3.0.3\ninfo:\n version: 3.0.0\n title: Bee API\n description: A list of the currently provided Interfaces to interact with the\n swarm, implementing file operations and sending messages\nsecurity:\n - {}\nexternalDocs:\n description: Browse the documentation @ the Swarm Docs\n url: https://docs.ethswarm.org\nservers:\n - url: http://{apiRoot}:{port}/v1\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\n - url: http://{apiRoot}:{port}\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\npaths:\n /auth:\n post:\n summary: Authenticate - This endpoint is experimental\n tags:\n - Auth\n security:\n - basicAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema:\n &a1\n type: object\n properties:\n role:\n type: string\n nullable: false\n expiry:\n type: integer\n nullable: false\n description: Expiration time in seconds\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema:\n &a2\n type: object\n properties:\n key:\n type: string\n nullable: false\n \"400\":\n &a3\n description: Bad request\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"401\":\n &a4\n description: Unauthorized\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\":\n &a5\n description: Internal Server Error\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n /refresh:\n post:\n summary: Refresh the auth token - This endpoint is experimental\n tags:\n - Auth\n security:\n - bearerAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema: *a1\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema: *a2\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n /bytes:\n post:\n summary: Upload data\n tags:\n - Bytes\n parameters:\n - &a9\n in: header\n name: swarm-tag\n schema:\n &a6\n type: integer\n required: false\n description: Associate upload with an existing Tag UID\n - &a10\n in: header\n name: swarm-pin\n schema:\n type: boolean\n required: false\n description: >\n Represents if the uploaded data should be also locally pinned on the\n node.\n\n Warning! Not available for nodes that run in Gateway mode!\n - &a15\n in: header\n name: swarm-encrypt\n schema:\n type: boolean\n required: false\n description: |\n Represents the encrypting state of the file\n Warning! Not available for nodes that run in Gateway mode!\n - &a11\n in: header\n name: swarm-postage-batch-id\n description: ID of Postage Batch that is used to upload data with\n required: true\n schema:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - &a12\n in: header\n name: swarm-deferred-upload\n schema:\n type: boolean\n default: \"true\"\n required: false\n description: >\n Determines if the uploaded data should be sent to the network\n immediately or in a deferred fashion. By default the upload will be\n deferred.\n requestBody:\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n &a16\n description: Tag UID\n schema: *a6\n content:\n application/json:\n schema:\n &a17\n type: object\n properties:\n reference:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n \"400\": *a3\n \"402\":\n &a13\n description: Payment Required\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"403\":\n &a14\n description: Endpoint or header (pinning or encryption headers) forbidden in\n Gateway mode\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\": *a5\n default:\n description: Default response\n \"/bytes/{reference}\":\n get:\n summary: Get referenced data\n tags:\n - Bytes\n parameters:\n - in: path\n name: reference\n schema:\n &a7\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n required: true\n description: Swarm address reference to content\n responses:\n \"200\":\n description: Retrieved content specified by reference\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"404\":\n &a8\n description: Not Found\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n \"/chunks/{reference}\":\n get:\n summary: Get Chunk\n tags:\n - Chunk\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of chunk\n - &a18\n in: query\n name: targets\n schema:\n type: string\n required: false\n description: Global pinning targets prefix\n responses:\n \"200\":\n description: Retrieved chunk content\n headers:\n swarm-recovery-targets:\n &a19\n description: The targets provided for recovery\n schema:\n type: string\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"202\":\n description: chunk recovery initiated. retry after sometime.\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /chunks:\n post:\n summary: Upload Chunk\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n - *a12\n requestBody:\n description: Chunk binary data that has to have at least 8 bytes.\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n description: Tag UID if it was passed to the request `swarm-tag` header.\n schema: *a6\n content:\n application/json:\n schema:\n &a21\n type: object\n properties:\n status:\n type: string\n version:\n type: string\n apiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n debugApiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n /chunks/stream:\n get:\n summary: Upload stream of chunks\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n responses:\n \"200\":\n description: Returns a Websocket connection on which stream of chunks can be\n uploaded. Each chunk sent is acknowledged using a binary response\n `0` which serves as confirmation of upload of single chunk. Chunks\n should be packaged as binary messages for uploading.\n \"400\": *a3\n default:\n description: Default response\n /bzz:\n post:\n summary: Upload file or a collection of files\n description: >-\n In order to upload a collection, user can send a multipart request with\n all the files populated in the form data with appropriate headers.\n\n User can also upload a tar file along with the swarm-collection header. This will upload the tar file after extracting the entire directory structure.\n\n If the swarm-collection header is absent, all requests (including tar files) are considered as single file uploads.\n\n A multipart request is treated as a collection regardless of whether the swarm-collection header is present. This means in order to serve single files uploaded as a multipart request, the swarm-index-document header should be used with the name of the file.\n tags:\n - BZZ\n parameters:\n - in: query\n name: name\n schema:\n type: string\n required: false\n description: Filename when uploading single file\n - *a9\n - *a10\n - *a15\n - in: header\n name: Content-Type\n schema:\n type: string\n description: The specified content-type is preserved for download of the asset\n - in: header\n name: swarm-collection\n schema:\n type: boolean\n required: false\n description: Upload file/files as a collection\n - in: header\n name: swarm-index-document\n schema:\n type: string\n example: index.html\n required: false\n description: Default file to be referenced on path, if exists under that path\n - in: header\n name: swarm-error-document\n schema:\n type: string\n example: error.html\n required: false\n description: Configure custom error document to be returned when a specified\n path can not be found in collection\n - *a11\n - *a12\n requestBody:\n content:\n multipart/form-data:\n schema:\n properties:\n file:\n type: array\n items:\n type: string\n format: binary\n application/octet-stream:\n schema:\n type: string\n format: binary\n application/x-tar:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag: *a16\n etag:\n description: >\n The RFC7232 ETag header field in a response provides the current\n entity-\n\n tag for the selected resource. An entity-tag is an opaque identifier for\n\n different versions of a resource over time, regardless whether multiple\n\n versions are valid at the same time. An entity-tag consists of an opaque\n\n quoted string, possibly prefixed by a weakness indicator.\n schema:\n type: string\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}\":\n patch:\n summary: \"Reupload a root hash to the network; deprecated: use\n /stewardship/{reference} instead\"\n deprecated: true\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get file or index document from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}/{path}\":\n get:\n summary: Get referenced file from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - in: path\n name: path\n schema:\n type: string\n required: true\n description: Path to the file in the collection.\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /tags:\n get:\n summary: Get list of tags\n tags:\n - Tag\n parameters:\n - in: query\n name: offset\n schema:\n type: integer\n minimum: 0\n default: 0\n required: false\n description: The number of items to skip before starting to collect the result\n set.\n - in: query\n name: limit\n schema:\n type: integer\n minimum: 1\n maximum: 1000\n default: 100\n required: false\n description: The numbers of items to return.\n responses:\n \"200\":\n description: List of tags\n content:\n application/json:\n schema:\n type: object\n properties:\n tags:\n type: array\n nullable: true\n items:\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n post:\n summary: Create Tag\n tags:\n - Tag\n requestBody:\n required: true\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"201\":\n description: New Tag Info\n content:\n application/json:\n schema:\n &a20\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/tags/{uid}\":\n get:\n summary: Get Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"200\":\n description: Tag info\n content:\n application/json:\n schema: *a20\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Delete Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"204\":\n description: The resource was deleted successfully.\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n patch:\n summary: Update Total Count and swarm hash for a tag of an input stream of\n unknown size using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n requestBody:\n description: Can contain swarm hash to use for the tag\n required: false\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"200\":\n description: Ok\n content:\n application/json:\n schema: *a21\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/pins/{reference}\":\n parameters:\n - in: path\n name: reference\n schema:\n &a23\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n required: true\n description: Swarm reference of the root hash\n post:\n summary: Pin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Pin already exists, so no operation\n content:\n application/json:\n schema:\n &a22\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"201\":\n description: New pin with root reference was created\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Unpin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Unpinning root hash with reference\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get pinning status of the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Reference of the pinned root hash\n content:\n application/json:\n schema: *a23\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /pins:\n get:\n summary: Get the list of pinned root hash references\n tags:\n - Pinning\n responses:\n \"200\":\n description: List of pinned root hash references\n content:\n application/json:\n schema:\n type: object\n properties:\n references:\n type: array\n nullable: true\n items:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/send/{topic}/{targets}\":\n post:\n summary: Send to recipient or target with Postal Service for Swarm\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema:\n &a24\n type: string\n required: true\n description: Topic name\n - in: path\n name: targets\n schema:\n pattern: ^[0-9a-fA-F]{1,6}(,[0-9a-fA-F]{1,6})*$\n description: List of hex string targets that are comma seprated and can have\n maximum length of 6\n type: string\n required: true\n description: Target message address prefix. If multiple targets are specified,\n only one would be matched.\n - in: query\n name: recipient\n schema:\n type: string\n required: false\n description: Recipient publickey\n - *a11\n responses:\n \"201\":\n description: Subscribed to topic\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/subscribe/{topic}\":\n get:\n summary: Subscribe for messages on the given topic.\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema: *a24\n required: true\n description: Topic name\n responses:\n \"200\":\n description: Returns a WebSocket with a subscription for incoming message data\n on the requested topic.\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/soc/{owner}/{id}\":\n post:\n summary: Upload single owner chunk\n tags:\n - Single owner chunk\n parameters:\n - in: path\n name: owner\n schema:\n &a26\n type: string\n pattern: ^[A-Fa-f0-9]{40}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\n required: true\n description: Owner\n - in: path\n name: id\n schema:\n &a25\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n required: true\n description: Id\n - in: query\n name: sig\n schema: *a25\n required: true\n description: Signature\n - *a10\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/feeds/{owner}/{topic}\":\n post:\n summary: Create an initial feed root manifest\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: type\n schema:\n &a27\n type: string\n pattern: ^(sequence|epoch)$\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n - *a10\n - *a11\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Find feed update\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: at\n schema:\n type: integer\n required: false\n description: \"Timestamp of the update (default: now)\"\n - in: query\n name: type\n schema: *a27\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n responses:\n \"200\":\n description: Latest feed update\n headers:\n swarm-feed-index:\n description: The index of the found update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n swarm-feed-index-next:\n description: The index of the next possible update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n \"/stewardship/{reference}\":\n get:\n summary: Check if content is available\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Returns if the content is retrievable\n content:\n application/json:\n schema:\n type: object\n properties:\n isRetrievable:\n type: boolean\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n put:\n summary: Reupload a root hash to the network\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\ncomponents:\n securitySchemes:\n basicAuth:\n type: http\n scheme: basic\n bearerAuth:\n type: http\n scheme: bearer\n bearerFormat: SecurityToken\n", + "json": "openapi: 3.0.3\ninfo:\n version: 3.0.0\n title: Bee API\n description: A list of the currently provided Interfaces to interact with the\n swarm, implementing file operations and sending messages\nsecurity:\n - {}\nexternalDocs:\n description: Browse the documentation @ the Swarm Docs\n url: https://docs.ethswarm.org\nservers:\n - url: http://{apiRoot}:{port}/v1\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\n - url: http://{apiRoot}:{port}\n variables:\n apiRoot:\n default: localhost\n description: Base address of the local bee node main API\n port:\n default: \"1633\"\n description: Service port provided in bee node config\npaths:\n /auth:\n post:\n summary: Authenticate - This endpoint is experimental\n tags:\n - Auth\n security:\n - basicAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema:\n &a1\n type: object\n properties:\n role:\n type: string\n nullable: false\n expiry:\n type: integer\n nullable: false\n description: Expiration time in seconds\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema:\n &a2\n type: object\n properties:\n key:\n type: string\n nullable: false\n \"400\":\n &a3\n description: Bad request\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"401\":\n &a4\n description: Unauthorized\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\":\n &a5\n description: Internal Server Error\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n /refresh:\n post:\n summary: Refresh the auth token - This endpoint is experimental\n tags:\n - Auth\n security:\n - bearerAuth: []\n requestBody:\n required: true\n content:\n application/json:\n schema: *a1\n responses:\n \"201\":\n description: Ok\n content:\n application/json:\n schema: *a2\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n /bytes:\n post:\n summary: Upload data\n tags:\n - Bytes\n parameters:\n - &a9\n in: header\n name: swarm-tag\n schema:\n &a6\n type: integer\n required: false\n description: Associate upload with an existing Tag UID\n - &a10\n in: header\n name: swarm-pin\n schema:\n type: boolean\n required: false\n description: >\n Represents if the uploaded data should be also locally pinned on the\n node.\n\n Warning! Not available for nodes that run in Gateway mode!\n - &a15\n in: header\n name: swarm-encrypt\n schema:\n type: boolean\n required: false\n description: |\n Represents the encrypting state of the file\n Warning! Not available for nodes that run in Gateway mode!\n - &a11\n in: header\n name: swarm-postage-batch-id\n description: ID of Postage Batch that is used to upload data with\n required: true\n schema:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - &a12\n in: header\n name: swarm-deferred-upload\n schema:\n type: boolean\n default: \"true\"\n required: false\n description: >\n Determines if the uploaded data should be sent to the network\n immediately or in a deferred fashion. By default the upload will be\n deferred.\n requestBody:\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n &a16\n description: Tag UID\n schema: *a6\n content:\n application/json:\n schema:\n &a17\n type: object\n properties:\n reference:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n \"400\": *a3\n \"402\":\n &a13\n description: Payment Required\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"403\":\n &a14\n description: Endpoint or header (pinning or encryption headers) forbidden in\n Gateway mode\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"500\": *a5\n default:\n description: Default response\n \"/bytes/{reference}\":\n get:\n summary: Get referenced data\n tags:\n - Bytes\n parameters:\n - in: path\n name: reference\n schema:\n &a7\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n - type: string\n pattern: ^[A-Za-z0-9]+\\.[A-Za-z0-9]+$\n example: swarm.eth\n required: true\n description: Swarm address reference to content\n responses:\n \"200\":\n description: Retrieved content specified by reference\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"404\":\n &a8\n description: Not Found\n content:\n application/problem+json:\n schema:\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n default:\n description: Default response\n \"/chunks/{reference}\":\n get:\n summary: Get Chunk\n tags:\n - Chunk\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of chunk\n - &a18\n in: query\n name: targets\n schema:\n type: string\n required: false\n description: Global pinning targets prefix\n responses:\n \"200\":\n description: Retrieved chunk content\n headers:\n swarm-recovery-targets:\n &a19\n description: The targets provided for recovery\n schema:\n type: string\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"202\":\n description: chunk recovery initiated. retry after sometime.\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /chunks:\n post:\n summary: Upload Chunk\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n - *a12\n requestBody:\n description: Chunk binary data that has to have at least 8 bytes.\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag:\n description: Tag UID if it was passed to the request `swarm-tag` header.\n schema: *a6\n content:\n application/json:\n schema:\n &a21\n type: object\n properties:\n status:\n type: string\n version:\n type: string\n apiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n debugApiVersion:\n type: string\n default: 0.0.0\n description: The default value is set in case the bee binary was not build\n correctly.\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n /chunks/stream:\n get:\n summary: Upload stream of chunks\n tags:\n - Chunk\n parameters:\n - *a9\n - *a10\n - *a11\n responses:\n \"200\":\n description: Returns a Websocket connection on which stream of chunks can be\n uploaded. Each chunk sent is acknowledged using a binary response\n `0` which serves as confirmation of upload of single chunk. Chunks\n should be packaged as binary messages for uploading.\n \"400\": *a3\n default:\n description: Default response\n /bzz:\n post:\n summary: Upload file or a collection of files\n description: >-\n In order to upload a collection, user can send a multipart request with\n all the files populated in the form data with appropriate headers.\n\n User can also upload a tar file along with the swarm-collection header. This will upload the tar file after extracting the entire directory structure.\n\n If the swarm-collection header is absent, all requests (including tar files) are considered as single file uploads.\n\n A multipart request is treated as a collection regardless of whether the swarm-collection header is present. This means in order to serve single files uploaded as a multipart request, the swarm-index-document header should be used with the name of the file.\n tags:\n - BZZ\n parameters:\n - in: query\n name: name\n schema:\n type: string\n required: false\n description: Filename when uploading single file\n - *a9\n - *a10\n - *a15\n - in: header\n name: Content-Type\n schema:\n type: string\n description: The specified content-type is preserved for download of the asset\n - in: header\n name: swarm-collection\n schema:\n type: boolean\n required: false\n description: Upload file/files as a collection\n - in: header\n name: swarm-index-document\n schema:\n type: string\n example: index.html\n required: false\n description: Default file to be referenced on path, if exists under that path\n - in: header\n name: swarm-error-document\n schema:\n type: string\n example: error.html\n required: false\n description: Configure custom error document to be returned when a specified\n path can not be found in collection\n - *a11\n - *a12\n requestBody:\n content:\n multipart/form-data:\n schema:\n properties:\n file:\n type: array\n items:\n type: string\n format: binary\n application/octet-stream:\n schema:\n type: string\n format: binary\n application/x-tar:\n schema:\n type: string\n format: binary\n responses:\n \"201\":\n description: Ok\n headers:\n swarm-tag: *a16\n etag:\n description: >\n The RFC7232 ETag header field in a response provides the current\n entity-\n\n tag for the selected resource. An entity-tag is an opaque identifier for\n\n different versions of a resource over time, regardless whether multiple\n\n versions are valid at the same time. An entity-tag consists of an opaque\n\n quoted string, possibly prefixed by a weakness indicator.\n schema:\n type: string\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}\":\n patch:\n summary: \"Reupload a root hash to the network; deprecated: use\n /stewardship/{reference} instead\"\n deprecated: true\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get file or index document from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/bzz/{reference}/{path}\":\n get:\n summary: Get referenced file from a collection of files\n tags:\n - BZZ\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: Swarm address of content\n - in: path\n name: path\n schema:\n type: string\n required: true\n description: Path to the file in the collection.\n - *a18\n responses:\n \"200\":\n description: Ok\n headers:\n swarm-recovery-targets: *a19\n content:\n application/octet-stream:\n schema:\n type: string\n format: binary\n \"400\": *a3\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /tags:\n get:\n summary: Get list of tags\n tags:\n - Tag\n parameters:\n - in: query\n name: offset\n schema:\n type: integer\n minimum: 0\n default: 0\n required: false\n description: The number of items to skip before starting to collect the result\n set.\n - in: query\n name: limit\n schema:\n type: integer\n minimum: 1\n maximum: 1000\n default: 100\n required: false\n description: The numbers of items to return.\n responses:\n \"200\":\n description: List of tags\n content:\n application/json:\n schema:\n type: object\n properties:\n tags:\n type: array\n nullable: true\n items:\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n post:\n summary: Create Tag\n tags:\n - Tag\n requestBody:\n required: true\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"201\":\n description: New Tag Info\n content:\n application/json:\n schema:\n &a20\n type: object\n properties:\n uid:\n type: integer\n startedAt:\n type: string\n format: date-time\n example: 2020-06-11T11:26:42.6969797+02:00\n total:\n type: integer\n processed:\n type: integer\n synced:\n type: integer\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/tags/{uid}\":\n get:\n summary: Get Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"200\":\n description: Tag info\n content:\n application/json:\n schema: *a20\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Delete Tag information using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n responses:\n \"204\":\n description: The resource was deleted successfully.\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n patch:\n summary: Update Total Count and swarm hash for a tag of an input stream of\n unknown size using Uid\n tags:\n - Tag\n parameters:\n - in: path\n name: uid\n schema: *a6\n required: true\n description: Uid\n requestBody:\n description: Can contain swarm hash to use for the tag\n required: false\n content:\n application/json:\n schema:\n type: object\n properties:\n address:\n type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n responses:\n \"200\":\n description: Ok\n content:\n application/json:\n schema: *a21\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n \"/pins/{reference}\":\n parameters:\n - in: path\n name: reference\n schema:\n &a23\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n required: true\n description: Swarm reference of the root hash\n post:\n summary: Pin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Pin already exists, so no operation\n content:\n application/json:\n schema:\n &a22\n type: object\n properties:\n message:\n type: string\n code:\n type: integer\n \"201\":\n description: New pin with root reference was created\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n delete:\n summary: Unpin the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Unpinning root hash with reference\n content:\n application/json:\n schema: *a22\n \"400\": *a3\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Get pinning status of the root hash with the given reference\n tags:\n - Pinning\n responses:\n \"200\":\n description: Reference of the pinned root hash\n content:\n application/json:\n schema: *a23\n \"400\": *a3\n \"403\": *a14\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n /pins:\n get:\n summary: Get the list of pinned root hash references\n tags:\n - Pinning\n responses:\n \"200\":\n description: List of pinned root hash references\n content:\n application/json:\n schema:\n type: object\n properties:\n references:\n type: array\n nullable: false\n items:\n oneOf:\n - type: string\n pattern: ^[A-Fa-f0-9]{64}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f\n - type: string\n pattern: ^[A-Fa-f0-9]{128}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f2d2810619d29b5dbefd5d74abce25d58b81b251baddb9c3871cf0d6967deaae2\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/send/{topic}/{targets}\":\n post:\n summary: Send to recipient or target with Postal Service for Swarm\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema:\n &a24\n type: string\n required: true\n description: Topic name\n - in: path\n name: targets\n schema:\n pattern: ^[0-9a-fA-F]{1,6}(,[0-9a-fA-F]{1,6})*$\n description: List of hex string targets that are comma seprated and can have\n maximum length of 6\n type: string\n required: true\n description: Target message address prefix. If multiple targets are specified,\n only one would be matched.\n - in: query\n name: recipient\n schema:\n type: string\n required: false\n description: Recipient publickey\n - *a11\n responses:\n \"201\":\n description: Subscribed to topic\n \"400\": *a3\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/pss/subscribe/{topic}\":\n get:\n summary: Subscribe for messages on the given topic.\n tags:\n - Postal Service for Swarm\n parameters:\n - in: path\n name: topic\n schema: *a24\n required: true\n description: Topic name\n responses:\n \"200\":\n description: Returns a WebSocket with a subscription for incoming message data\n on the requested topic.\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/soc/{owner}/{id}\":\n post:\n summary: Upload single owner chunk\n tags:\n - Single owner chunk\n parameters:\n - in: path\n name: owner\n schema:\n &a26\n type: string\n pattern: ^[A-Fa-f0-9]{40}$\n example: 36b7efd913ca4cf880b8eeac5093fa27b0825906\n required: true\n description: Owner\n - in: path\n name: id\n schema:\n &a25\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n required: true\n description: Id\n - in: query\n name: sig\n schema: *a25\n required: true\n description: Signature\n - *a10\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n \"/feeds/{owner}/{topic}\":\n post:\n summary: Create an initial feed root manifest\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: type\n schema:\n &a27\n type: string\n pattern: ^(sequence|epoch)$\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n - *a10\n - *a11\n responses:\n \"201\":\n description: Created\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"402\": *a13\n \"403\": *a14\n \"500\": *a5\n default:\n description: Default response\n get:\n summary: Find feed update\n tags:\n - Feed\n parameters:\n - in: path\n name: owner\n schema: *a26\n required: true\n description: Owner\n - in: path\n name: topic\n schema: *a25\n required: true\n description: Topic\n - in: query\n name: at\n schema:\n type: integer\n required: false\n description: \"Timestamp of the update (default: now)\"\n - in: query\n name: type\n schema: *a27\n required: false\n description: \"Feed indexing scheme (default: sequence)\"\n responses:\n \"200\":\n description: Latest feed update\n headers:\n swarm-feed-index:\n description: The index of the found update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n swarm-feed-index-next:\n description: The index of the next possible update\n schema:\n type: string\n pattern: ^([A-Fa-f0-9]+)$\n example: cf880b8eeac5093fa27b0825906c600685\n content:\n application/json:\n schema: *a17\n \"400\": *a3\n \"401\": *a4\n \"500\": *a5\n default:\n description: Default response\n \"/stewardship/{reference}\":\n get:\n summary: Check if content is available\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Returns if the content is retrievable\n content:\n application/json:\n schema:\n type: object\n properties:\n isRetrievable:\n type: boolean\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\n put:\n summary: Reupload a root hash to the network\n tags:\n - Stewardship\n parameters:\n - in: path\n name: reference\n schema: *a7\n required: true\n description: \"Root hash of content (can be of any type: collection, file, chunk)\"\n responses:\n \"200\":\n description: Ok\n \"404\": *a8\n \"500\": *a5\n default:\n description: Default response\ncomponents:\n securitySchemes:\n basicAuth:\n type: http\n scheme: basic\n bearerAuth:\n type: http\n scheme: bearer\n bearerFormat: SecurityToken\n", "url": "", "output": null, "newLineBehavior": "Auto"