From 9e88f5ecf8c591b0046e454d186cd8f626d83842 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 15 Dec 2023 16:58:10 +0100 Subject: [PATCH 01/18] [typo] platinium -> platinum --- frontend/src/app/components/menu/menu.component.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/menu/menu.component.scss b/frontend/src/app/components/menu/menu.component.scss index 8a2006a4e..99377a564 100644 --- a/frontend/src/app/components/menu/menu.component.scss +++ b/frontend/src/app/components/menu/menu.component.scss @@ -85,6 +85,6 @@ background-color: #f1c40f; } -.badge-platinium { +.badge-platinum { background-color: #653b9c; } \ No newline at end of file From ea1b74dcefe56cc816d0fce79347eeeafd494768 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 27 Jan 2024 19:35:16 +0100 Subject: [PATCH 02/18] [doc] add accelerator rest api documentation --- .../src/app/docs/api-docs/api-docs-data.ts | 285 ++++++++++++++++++ .../app/docs/api-docs/api-docs.component.html | 88 +++--- .../code-template/code-template.component.ts | 16 +- 3 files changed, 339 insertions(+), 50 deletions(-) diff --git a/frontend/src/app/docs/api-docs/api-docs-data.ts b/frontend/src/app/docs/api-docs/api-docs-data.ts index 86a63e513..8998ec59a 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -9871,7 +9871,292 @@ export const restApiDocsData = [ codeSampleBisq: emptyCodeSample, } } + }, + { + type: "category", + category: "accelerator", + fragment: "accelerator", + title: "Accelerator", + showConditions: [""], + options: { officialOnly: true }, + }, + { + options: { officialOnly: true }, + type: "endpoint", + category: "accelerator", + httpRequestMethod: "GET", + fragment: "get-deposit-history", + title: "GET Deposit History", + description: { + default: "
Returns a list of previous deposits made as prepayment for the accelerator service.
" + }, + urlString: "/v1/services/accelerator/deposit-history", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/services/accelerator/deposit-history`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [], + headers: "api_key: stacksats", + response: `[ + { + "type": "Bitcoin", + "invoiceId": "CCunucVyNw7jUiUz64mmHz", + "amount": 10311031, + "status": "pending", + "date": 1706372653000, + "link": "/payment/bitcoin/CCunucVyNw7jUiUz64mmHz" + }, + { + "type": "Bitcoin", + "invoiceId": "SG1U27R9PdWi3gH3jB9tm9", + "amount": 21000000, + "status": "paid", + "date": 1706372582000, + "link": null + }, + ... +]`, + }, + } + } + }, + { + options: { officialOnly: true }, + type: "endpoint", + category: "accelerator", + httpRequestMethod: "GET", + fragment: "balance", + title: "GET Available Balance", + description: { + default: "Return your current available balance, as well as how much funds are currently locked and much you've been charged so far.
" + }, + urlString: "/v1/services/accelerator/balance", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/services/accelerator/balance`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [], + headers: "api_key: stacksats", + response: `{ + "balance": 99900000, + "hold": 0, + "feesPaid": 200000 +}`, + }, + } + } + }, + { + options: { officialOnly: true }, + type: "endpoint", + category: "accelerator", + httpRequestMethod: "POST", + fragment: "estimate", + title: "POST Calculate Estimated Costs", + description: { + default: "Return an estimation of the costs to accelerate a transaction.
" + }, + urlString: "/v1/services/accelerator/estimate", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `%{1}" "[[hostname]][[baseNetworkUrl]]/api/v1/services/accelerator/estimate`, //custom interpolation technique handled in replaceCurlPlaceholder() + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: ["txInput=ee13ebb99632377c15c94980357f674d285ac413452050031ea6dcd3e9b2dc29"], + headers: "api_key: stacksats", + response: `{ + "txSummary": { + "txid": "ee13ebb99632377c15c94980357f674d285ac413452050031ea6dcd3e9b2dc29", + "effectiveVsize": 154, + "effectiveFee": 154, + "ancestorCount": 1 + }, + "cost": 3850, + "targetFeeRate": 26, + "nextBlockFee": 4004, + "userBalance": 99900000, + "mempoolBaseFee": 40000, + "vsizeFee": 50000, + "hasAccess": true +}`, + }, + } + } + }, + { + options: { officialOnly: true }, + type: "endpoint", + category: "accelerator", + httpRequestMethod: "POST", + fragment: "accelerate", + title: "POST Accelerate A Transaction", + description: { + default: "Send a request to accelerate a transaction.
" + }, + urlString: "/v1/services/accelerator/accelerate", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `%{1}" "[[hostname]][[baseNetworkUrl]]/api/v1/services/accelerator/accelerate`, //custom interpolation technique handled in replaceCurlPlaceholder() + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: ["txInput=ee13ebb99632377c15c94980357f674d285ac413452050031ea6dcd3e9b2dc29&userBid=21000000"], + headers: "api_key: stacksats", + response: `HTTP/1.1 200 OK`, + }, + } + } + }, + { + options: { officialOnly: true }, + type: "endpoint", + category: "history", + httpRequestMethod: "GET", + fragment: "history", + title: "GET Acceleration History", + description: { + default: "Return the history of previous acceleration requests.
" + }, + urlString: "/v1/services/accelerator/history[?status=all|requested|accelerating|mined|completed|failed]", + showConditions: bitcoinNetworks, + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/services/accelerator/history?status=all`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [], + headers: "api_key: stacksats", + response: `[ + { + "id": 89, + "user_id": 1, + "txid": "ae2639469ec000ed1d14e2550cbb01794e1cd288a00cdc7cce18398ba3cc2ffe", + "status": "failed", + "estimated_fee": 247, + "fee_paid": 0, + "added": 1706378712, + "last_updated": 1706378712, + "confirmations": 4, + "base_fee": 0, + "vsize_fee": 0, + "max_bid": 7000, + "effective_vsize": 135, + "effective_fee": 3128, + "history": [ + { + "event": "user-requested-acceleration", + "timestamp": 1706378712 + }, + { + "event": "accepted_test-api-key", + "timestamp": 1706378712 + }, + { + "event": "failed-at-block-827672", + "timestamp": 1706380261 + } + ] + }, + { + "id": 88, + "user_id": 1, + "txid": "c5840e89173331760e959a190b24e2a289121277ed7f8a095fe289b37cee9fde", + "status": "completed", + "estimated_fee": 223, + "fee_paid": 140019, + "added": 1706378704, + "last_updated": 1706380231, + "confirmations": 6, + "base_fee": 40000, + "vsize_fee": 100000, + "max_bid": 14000, + "effective_vsize": 135, + "effective_fee": 3152, + "history": [ + { + "event": "user-requested-acceleration", + "timestamp": 1706378704 + }, + { + "event": "accepted_test-api-key", + "timestamp": 1706378704 + }, + { + "event": "complete-at-block-827670", + "timestamp": 1706380231 + } + ] + }, + { + "id": 87, + "user_id": 1, + "txid": "178b5b9b310f0d667d7ea563a2cdcc17bc8cd15261b58b1653860a724ca83458", + "status": "completed", + "estimated_fee": 115, + "fee_paid": 90062, + "added": 1706378684, + "last_updated": 1706380231, + "confirmations": 6, + "base_fee": 40000, + "vsize_fee": 50000, + "max_bid": 14000, + "effective_vsize": 135, + "effective_fee": 3260, + "history": [ + { + "event": "user-requested-acceleration", + "timestamp": 1706378684 + }, + { + "event": "accepted_test-api-key", + "timestamp": 1706378684 + }, + { + "event": "complete-at-block-827670", + "timestamp": 1706380231 + } + ] } +]`, + }, + } + } + }, ]; export const faqData = [ diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index c3a260995..ef7782199 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -43,54 +43,56 @@Note that we enforce rate limits. If you exceed these limits, you will get an HTTP 429 error. If you repeatedly exceed the limits, you may be banned from accessing the service altogether. Consider an enterprise sponsorship if you need higher API limits.
{{ item.httpRequestMethod }} {{ baseNetworkUrl }}/api{{ item.urlString }}
+{{ item.httpRequestMethod }} {{ baseNetworkUrl }}/api{{ item.urlString }}
+{{ item.httpRequestMethod }} {{ baseNetworkUrl }}/api{{ item.urlString }}
+{{ item.httpRequestMethod }} {{ baseNetworkUrl }}/api{{ item.urlString }}
-Returns a list of previous deposits made as prepayment for the accelerator service.
" }, urlString: "/v1/services/accelerator/deposit-history", - showConditions: bitcoinNetworks, + showConditions: [""], showJsExamples: showJsExamplesDefaultFalse, codeExample: { default: { @@ -9939,7 +9939,7 @@ export const restApiDocsData = [ default: "Return your current available balance, as well as how much funds are currently locked and much you've been charged so far.
" }, urlString: "/v1/services/accelerator/balance", - showConditions: bitcoinNetworks, + showConditions: [""], showJsExamples: showJsExamplesDefaultFalse, codeExample: { default: { @@ -9973,7 +9973,7 @@ export const restApiDocsData = [ default: "Return an estimation of the costs to accelerate a transaction.
" }, urlString: "/v1/services/accelerator/estimate", - showConditions: bitcoinNetworks, + showConditions: [""], showJsExamples: showJsExamplesDefaultFalse, codeExample: { default: { @@ -10017,7 +10017,7 @@ export const restApiDocsData = [ default: "Send a request to accelerate a transaction.
" }, urlString: "/v1/services/accelerator/accelerate", - showConditions: bitcoinNetworks, + showConditions: [""], showJsExamples: showJsExamplesDefaultFalse, codeExample: { default: { @@ -10047,7 +10047,7 @@ export const restApiDocsData = [ default: "Return the history of previous acceleration requests.
" }, urlString: "/v1/services/accelerator/history[?status=all|requested|accelerating|mined|completed|failed]", - showConditions: bitcoinNetworks, + showConditions: [""], showJsExamples: showJsExamplesDefaultFalse, codeExample: { default: { From b2a130bb17644a700986faea30746172e638c964 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Mon, 29 Jan 2024 11:45:14 +0100 Subject: [PATCH 04/18] [doc] fix copy, formatting and hide accelerator doc title if non official instance --- frontend/src/app/docs/api-docs/api-docs-data.ts | 10 +++++----- .../src/app/docs/api-docs/api-docs-nav.component.html | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/docs/api-docs/api-docs-data.ts b/frontend/src/app/docs/api-docs/api-docs-data.ts index 6b765e5c6..a0d292925 100644 --- a/frontend/src/app/docs/api-docs/api-docs-data.ts +++ b/frontend/src/app/docs/api-docs/api-docs-data.ts @@ -9888,7 +9888,7 @@ export const restApiDocsData = [ fragment: "get-deposit-history", title: "GET Deposit History", description: { - default: "Returns a list of previous deposits made as prepayment for the accelerator service.
" + default: "Returns a list of deposits made as prepayment for the accelerator service.
" }, urlString: "/v1/services/accelerator/deposit-history", showConditions: [""], @@ -9936,7 +9936,7 @@ export const restApiDocsData = [ fragment: "balance", title: "GET Available Balance", description: { - default: "Return your current available balance, as well as how much funds are currently locked and much you've been charged so far.
" + default: "Returns your currently available balance, currently locked funds, and total fees paid so far.
" }, urlString: "/v1/services/accelerator/balance", showConditions: [""], @@ -9970,7 +9970,7 @@ export const restApiDocsData = [ fragment: "estimate", title: "POST Calculate Estimated Costs", description: { - default: "Return an estimation of the costs to accelerate a transaction.
" + default: "Returns estimated costs to accelerate a transaction.
" }, urlString: "/v1/services/accelerator/estimate", showConditions: [""], @@ -10044,9 +10044,9 @@ export const restApiDocsData = [ fragment: "history", title: "GET Acceleration History", description: { - default: "Return the history of previous acceleration requests.
" + default: "Return the history of previous acceleration requests.
Pass one of the following for :status
: all
, requested
, accelerating
, mined
, completed
, failed
.
-1 )">{{ item.title }}
+-1 ) && ( !item.hasOwnProperty('options') || ( item.hasOwnProperty('options') && item.options.hasOwnProperty('officialOnly') && item.options.officialOnly && officialMempoolInstance ))">{{ item.title }}
-1 ) && ( !item.hasOwnProperty('options') || ( item.hasOwnProperty('options') && item.options.hasOwnProperty('officialOnly') && item.options.officialOnly && officialMempoolInstance ) || ( item.hasOwnProperty('options') && item.options.hasOwnProperty('auditOnly') && item.options.auditOnly && auditEnabled ) )" [routerLink]="['./']" fragment="{{ item.fragment }}" (click)="navLinkClick($event)">{{ item.title }}Return the history of previous acceleration requests.
Pass one of the following for :status
: all
, requested
, accelerating
, mined
, completed
, failed
.
Return the history of previous acceleration requests.
Pass one of the following for :status
: all
, requested
, accelerating
, mined
, completed
, failed
.
Pass true
in :details
to get a detailed history
of the acceleration request.
Returns a list of deposits made as prepayment for the accelerator service.
" @@ -9933,7 +9933,7 @@ export const restApiDocsData = [ type: "endpoint", category: "accelerator", httpRequestMethod: "GET", - fragment: "balance", + fragment: "accelerator-balance", title: "GET Available Balance", description: { default: "Returns your currently available balance, currently locked funds, and total fees paid so far.
" @@ -9967,7 +9967,7 @@ export const restApiDocsData = [ type: "endpoint", category: "accelerator", httpRequestMethod: "POST", - fragment: "estimate", + fragment: "accelerator-estimate", title: "POST Calculate Estimated Costs", description: { default: "Returns estimated costs to accelerate a transaction.
" @@ -10011,7 +10011,7 @@ export const restApiDocsData = [ type: "endpoint", category: "accelerator", httpRequestMethod: "POST", - fragment: "accelerate", + fragment: "accelerator-accelerate", title: "POST Accelerate A Transaction", description: { default: "Send a request to accelerate a transaction.
" @@ -10039,9 +10039,9 @@ export const restApiDocsData = [ { options: { officialOnly: true }, type: "endpoint", - category: "history", + category: "accelerator", httpRequestMethod: "GET", - fragment: "history", + fragment: "accelerator-history", title: "GET Acceleration History", description: { default: "Return the history of previous acceleration requests.
Pass one of the following for :status
: all
, requested
, accelerating
, mined
, completed
, failed
.
Pass true
in :details
to get a detailed history
of the acceleration request.
Return the list of currently accelerated transactions.
" + }, + urlString: "/v1/services/accelerator/accelerations", + showConditions: [""], + showJsExamples: showJsExamplesDefaultFalse, + codeExample: { + default: { + codeTemplate: { + curl: `/api/v1/services/accelerator/accelerations`, + commonJS: ``, + esModule: `` + }, + codeSampleMainnet: { + esModule: [], + commonJS: [], + curl: [], + headers: '', + response: `[ + { + "txid": "8a183c8ae929a2afb857e7f2acd440aaefdf2797f8f7eab1c5f95ff8602abc81", + "added": 1707558316, + "feeDelta": 3500, + "effectiveVsize": 111, + "effectiveFee": 1671, + "pools": [ + 111 + ] + }, + { + "txid": "6097f295e21bdd8d725bd8d9ad4dd72b05bd795dc648bfef52150a9b2b7f7a45", + "added": 1707560464, + "feeDelta": 60000, + "effectiveVsize": 812, + "effectiveFee": 7790, + "pools": [ + 111 + ] + } +]`, + }, + } + } + }, + { + options: { officialOnly: true }, + type: "endpoint", + category: "accelerator", + httpRequestMethod: "GET", + fragment: "accelerator-public-history", + title: "GET Acceleration History", + description: { + default: `Return a list of accelerated transactions. + Filters can be applied such as
status
: all
, requested
, accelerating
, mined
, completed
, failed
timeframe
: 24h
, 3d
, 1w
, 1m
, 3m
, 6m
, 1y
, 2y
, 3y
, all
poolUniqueId
: any id from https://github.com/mempool/mining-pools/blob/master/pools-v2.json
+ blockHash
: a block hash
+ blockHeight
: a block height
+ page
: the requested page number if using pagination
+ pageLength
: the page lenght if using pagination
+ Return the history of previous acceleration requests.
Pass one of the following for :status
: all
, requested
, accelerating
, mined
, completed
, failed
.
Pass true
in :details
to get a detailed history
of the acceleration request.
Return a list of accelerated transactions. Filters can be applied such as
Returns a list of deposits made as prepayment for the accelerator service.
" + default: "Returns a list of deposits the user has made as prepayment for the accelerator service.
" }, urlString: "/v1/services/accelerator/deposit-history", showConditions: [""], @@ -9936,7 +9936,7 @@ export const restApiDocsData = [ fragment: "accelerator-balance", title: "GET Available Balance", description: { - default: "Returns your currently available balance, currently locked funds, and total fees paid so far.
" + default: "Returns the user's currently available balance, currently locked funds, and total fees paid so far.
" }, urlString: "/v1/services/accelerator/balance", showConditions: [""], @@ -10014,7 +10014,7 @@ export const restApiDocsData = [ fragment: "accelerator-accelerate", title: "POST Accelerate A Transaction", description: { - default: "Send a request to accelerate a transaction.
" + default: "Sends a request to accelerate a transaction.
" }, urlString: "/v1/services/accelerator/accelerate", showConditions: [""], @@ -10044,7 +10044,7 @@ export const restApiDocsData = [ fragment: "accelerator-history", title: "GET Private Acceleration History", description: { - default: "Return the history of previous acceleration requests.
Pass one of the following for :status
: all
, requested
, accelerating
, mined
, completed
, failed
.
Pass true
in :details
to get a detailed history
of the acceleration request.
Returns the user's past acceleration requests.
Pass one of the following for :status
: all
, requested
, accelerating
, mined
, completed
, failed
. Pass true
in :details
to get a detailed history
of the acceleration request.
Return the list of currently accelerated transactions.
" + default: "Returns all transactions currently being accelerated.
" }, urlString: "/v1/services/accelerator/accelerations", showConditions: [""], @@ -10216,8 +10216,8 @@ export const restApiDocsData = [ fragment: "accelerator-public-history", title: "GET Public Acceleration History", description: { - default: `Return a list of accelerated transactions. - Filters can be applied such as
Returns all past accelerated transactions. + Filters can be applied:
status
: all
, requested
, accelerating
, mined
, completed
, failed
timeframe
: 24h
, 3d
, 1w
, 1m
, 3m
, 6m
, 1y
, 2y
, 3y
, all
poolUniqueId
: any id from https://github.com/mempool/mining-pools/blob/master/pools-v2.json
From d24d643d7058e9c8cf6c61361acad7d61fd79c2f Mon Sep 17 00:00:00 2001
From: Mononaut