diff --git a/Dockerfile b/Dockerfile
index 0fda24e..03b6f02 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
ARG NODE_VERSION="${NODE_VERSION:-16.20.2}"
-FROM node:${NODE_VERSION}-buster-slim AS build-stage
+FROM node:${NODE_VERSION}-bullseye-slim AS build-stage
WORKDIR /app
COPY . .
@@ -7,7 +7,7 @@ COPY . .
RUN yarn install --frozen-lockfile \
&& yarn build
-FROM node:${NODE_VERSION}-buster-slim AS runtime-stage
+FROM node:${NODE_VERSION}-bullseye-slim AS runtime-stage
ARG USERID=1000
RUN mkdir -p /app
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..07c4a26
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,2241 @@
+
+
+
+
+
+ Rino SDK
+
+
+
+
+
+
+
+
+
+ Rino SDK (0.1.0) Download OpenAPI specification:Download
Rino SDK API Documentation
+
Checks the service health Responses 200 The Ok service status
+ Response samples Content type application/json
{ "status" : 200 ,
"message" : "Ok"
}
Gets the service wallet data Response samples Content type application/json
Copy
Expand all Collapse all Gets the service wallet activity query Parameters limit number
Number of results to return per page
+
offset number
The initial index from which to return the results
+
Responses 200 The requested page with the wallet activity data
+get /api/v1/wallet/activity Response samples Content type application/json
Copy
Expand all Collapse all { "count" : 0 ,
"next" : "string" ,
"previous" : "string" ,
}
Gets the service wallet members query Parameters limit number
Number of results to return per page
+
offset number
The initial index from which to return the results
+
Responses 200 The requested page with the wallet members data
+get /api/v1/wallet/members Response samples Content type application/json
Copy
Expand all Collapse all { "count" : 0 ,
"next" : "string" ,
"previous" : "string" ,
}
Gets the service wallet removed spenders query Parameters limit number
Number of results to return per page
+
offset number
The initial index from which to return the results
+
Responses 200 The requested page with the wallet removed spenders data
+get /api/v1/wallet/removed_spenders
/api/v1/wallet/removed_spenders
Response samples Content type application/json
Copy
Expand all Collapse all { "count" : 0 ,
"next" : "string" ,
"previous" : "string" ,
"data" :
[ { "user" : "string" ,
"deleted_at" : "string"
} ] }
Gets the service wallet pending transfers query Parameters limit number
Number of results to return per page
+
offset number
The initial index from which to return the results
+
Responses 200 The requested page with the wallet pending transfers data
+get /api/v1/wallet/pending_transfers
/api/v1/wallet/pending_transfers
Response samples Content type application/json
Copy
Expand all Collapse all { "count" : 0 ,
"next" : "string" ,
"previous" : "string" ,
}
Gets a service wallet pending transfer path Parameters pendingTransferId required
string
Id of the pending transfer to get
+
Responses 200 The wallet pending transfer data
+404 Wallet pending transfer data not found
+get /api/v1/wallet/pending_transfers/{pendingTransferId}
/api/v1/wallet/pending_transfers/{pendingTransferId}
Response samples Content type application/json
Copy
Expand all Collapse all Approves a service wallet pending transfer path Parameters pendingTransferId required
string
Id of the pending transfer to approve
+
Responses 201 The pending transfer approval outcome
+404 Wallet pending transfer data not found
+post /api/v1/wallet/pending_transfers/{pendingTransferId}/approve
/api/v1/wallet/pending_transfers/{pendingTransferId}/approve
Response samples Content type application/json
Cancels a service wallet pending transfer path Parameters pendingTransferId required
string
Id of the pending transfer to cancel
+
Responses 404 Wallet pending transfer data not found
+post /api/v1/wallet/pending_transfers/{pendingTransferId}/cancel
/api/v1/wallet/pending_transfers/{pendingTransferId}/cancel
Rejects a service wallet pending transfer path Parameters pendingTransferId required
string
Id of the pending transfer to reject
+
Responses 404 Wallet pending transfer data not found
+post /api/v1/wallet/pending_transfers/{pendingTransferId}/reject
/api/v1/wallet/pending_transfers/{pendingTransferId}/reject
Gets the service wallet subaddresses query Parameters limit number
Number of results to return per page
+
offset number
The initial index from which to return the results
+
Responses 200 The requested page with the wallet subaddresses data
+get /api/v1/wallet/subaddresses
/api/v1/wallet/subaddresses
Response samples Content type application/json
Copy
Expand all Collapse all { "count" : 0 ,
"next" : "string" ,
"previous" : "string" ,
"data" :
[ { "index" : 0 ,
"address" : "string" ,
"is_used" : true ,
"created_at" : "string" ,
"label" : "string" ,
"signature" : "string" ,
"validated" : true
} ] }
Creates a service wallet subaddress Responses 201 The created wallet subaddress data
+post /api/v1/wallet/subaddresses
/api/v1/wallet/subaddresses
Response samples Content type application/json
{ "index" : 0 ,
"address" : "string" ,
"is_used" : true ,
"created_at" : "string" ,
"label" : "string" ,
"signature" : "string" ,
"validated" : true
}
Gets a service wallet subaddress path Parameters address required
string
Address of the subaddress data to get
+
Responses 200 The wallet subaddress data
+get /api/v1/wallet/subaddresses/{address}
/api/v1/wallet/subaddresses/{address}
Response samples Content type application/json
{ "index" : 0 ,
"address" : "string" ,
"is_used" : true ,
"created_at" : "string" ,
"label" : "string" ,
"signature" : "string" ,
"validated" : true
}
Updates a service wallet subaddress path Parameters address required
string
Address of the subaddress data to update
+
Request Body schema: application/json
Responses 200 The updated wallet subaddress data
+put /api/v1/wallet/subaddresses/{address}
/api/v1/wallet/subaddresses/{address}
Request samples Content type application/json
Response samples Content type application/json
{ "index" : 0 ,
"address" : "string" ,
"is_used" : true ,
"created_at" : "string" ,
"label" : "string" ,
"signature" : "string" ,
"validated" : true
}
Updates a service wallet subaddress partially path Parameters address required
string
Address of the subaddress data to update partially
+
Request Body schema: application/json
Responses 200 The partially updated wallet subaddress data
+patch /api/v1/wallet/subaddresses/{address}
/api/v1/wallet/subaddresses/{address}
Request samples Content type application/json
Response samples Content type application/json
{ "index" : 0 ,
"address" : "string" ,
"is_used" : true ,
"created_at" : "string" ,
"label" : "string" ,
"signature" : "string" ,
"validated" : true
}
Gets the service wallet transactions query Parameters limit number
Number of results to return per page
+
offset number
The initial index from which to return the results
+
Responses 200 The requested page with the wallet transactions data
+get /api/v1/wallet/transactions
/api/v1/wallet/transactions
Response samples Content type application/json
Copy
Expand all Collapse all { "count" : 0 ,
"next" : "string" ,
"previous" : "string" ,
"data" :
[ { "id" : "string" ,
"amount" : "string" ,
"timestamp" : "string" ,
"direction" : "string" ,
"fee" : "string" ,
"confirmations" : 0 ,
"created_at" : "string" ,
"memo" : "string" ,
"tx_to_self" : true ,
"order" :
{ "id" : "string" ,
"created_by" : 0 ,
"paid_with" : "string" ,
"status" : 0 ,
"created_at" : "string" ,
"updated_at" : "string" ,
"expires_at" : "string" ,
"platform" : "string" ,
"platform_order_id" : "string" ,
"payment_currency" : "string" ,
"payment_amount" : "string" ,
"payment_address" : "string" ,
"payment_txid" : "string" ,
"refund_address" : "string" ,
"paid_at" : "string" ,
"acknowledged_at" : "string" ,
"outgoing_currency" : "string" ,
"outgoing_amount" : "string" ,
"outgoing_address" : "string" ,
"outgoing_txid" : "string"
} } ] }
Gets the service wallet transactions in a file according the format specified Responses 200 The wallet transactions data exported in a file
+get /api/v1/wallet/transactions/export
/api/v1/wallet/transactions/export
Gets a service wallet transaction path Parameters transactionId required
string
Id of the transaction to get
+
Responses 200 The wallet transaction data
+404 Wallet transaction data not found
+get /api/v1/wallet/transactions/{transactionId}
/api/v1/wallet/transactions/{transactionId}
Response samples Content type application/json
Copy
Expand all Collapse all { "id" : "string" ,
"amount" : "string" ,
"timestamp" : "string" ,
"direction" : "string" ,
"fee" : "string" ,
"confirmations" : 0 ,
"created_at" : "string" ,
"memo" : "string" ,
"tx_to_self" : true ,
"order" :
{ "id" : "string" ,
"created_by" : 0 ,
"paid_with" : "string" ,
"status" : 0 ,
"created_at" : "string" ,
"updated_at" : "string" ,
"expires_at" : "string" ,
"platform" : "string" ,
"platform_order_id" : "string" ,
"payment_currency" : "string" ,
"payment_amount" : "string" ,
"payment_address" : "string" ,
"payment_txid" : "string" ,
"refund_address" : "string" ,
"paid_at" : "string" ,
"acknowledged_at" : "string" ,
"outgoing_currency" : "string" ,
"outgoing_amount" : "string" ,
"outgoing_address" : "string" ,
"outgoing_txid" : "string"
} }
Sends a service wallet transaction If the response HTTP Code is 201
, the content will be the submitted transaction data. If the response HTTP code is 202
the content will be the pending transaction data.
+
Request Body schema: application/json
destination required
priority required
Responses 201 The submitted transaction data
+202 The pending transaction data
+ Request samples Content type application/json
Copy
Expand all Collapse all { "destination" :
{ "address" : "string" ,
"amount" : "string"
} , "priority" : "string"
}
Response samples Content type application/json
Copy
Expand all Collapse all
Creates a service wallet unsigned transaction Request Body schema: application/json
destination required
priority required
Responses 201 The transaction is created
+post /api/v1/wallet/transactions/create
/api/v1/wallet/transactions/create
Request samples Content type application/json
Copy
Expand all Collapse all { "destination" :
{ "address" : "string" ,
"amount" : "string"
} , "priority" : "string"
}
Response samples Content type application/json
Submits a service wallet transaction If the response HTTP Code is 201
, the content will be the submitted transaction data. If the response HTTP code is 202
the content will be the pending transaction data.
+
Request Body schema: application/json
Responses 201 The submitted transaction data
+202 The pending transaction data
+post /api/v1/wallet/transactions/submit
/api/v1/wallet/transactions/submit
Request samples Content type application/json
Response samples Content type application/json
Copy
Expand all Collapse all
+
+
+
+
\ No newline at end of file
diff --git a/nest-cli.json b/nest-cli.json
index f9aa683..8a708b1 100644
--- a/nest-cli.json
+++ b/nest-cli.json
@@ -3,6 +3,7 @@
"collection": "@nestjs/schematics",
"sourceRoot": "src",
"compilerOptions": {
- "deleteOutDir": true
+ "deleteOutDir": true,
+ "plugins": ["@nestjs/swagger/plugin"]
}
}
diff --git a/package.json b/package.json
index b22f08d..5a51860 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "SDK",
- "version": "0.0.1",
+ "version": "0.0.2",
"description": "",
"author": "",
"private": true,
@@ -20,7 +20,9 @@
"test:watch": "jest --watch --config ./src/jest-unittests.json -w 1",
"test:cov": "jest --coverage --config ./src/jest-unittests.json -w 1",
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
- "test:e2e": "jest --config ./test/jest-e2e.json"
+ "test:e2e": "jest --config ./test/jest-e2e.json",
+ "compile": "tsc",
+ "generate:docs": "ts-node src/generateDocs && redoc-cli bundle -o docs/index.html swagger.json && rm swagger.json"
},
"dependencies": {
"@nestjs/axios": "^2.0.0",
@@ -29,7 +31,7 @@
"@nestjs/core": "^9.0.0",
"@nestjs/platform-express": "^9.0.0",
"@nestjs/swagger": "^6.3.0",
- "@rino-wallet/monero-javascript": "0.0.35",
+ "@rino-wallet/monero-javascript": "0.0.36",
"axios": "^1.4.0",
"class-transformer": "^0.5.1",
"joi": "^17.9.2",
@@ -57,6 +59,7 @@
"husky": "^8.0.3",
"jest": "29.3.1",
"prettier": "^2.3.2",
+ "redoc-cli": "^0.13.21",
"source-map-support": "^0.5.20",
"supertest": "^6.1.3",
"ts-jest": "29.0.3",
diff --git a/src/__mock__/http.service.mock.map.ts b/src/__mock__/http.service.mock.map.ts
index 8049c26..7826184 100644
--- a/src/__mock__/http.service.mock.map.ts
+++ b/src/__mock__/http.service.mock.map.ts
@@ -2,7 +2,6 @@ import config from "../config/test.config";
import { accountInfoMock } from "./account.info.mock";
import { walletMock } from "./wallet.mock";
import { taskResponseMock } from "./task.response.mock";
-import { getResponseEntityMock } from "./response.entity.mock";
import { walletActivitiesMock } from "./wallet.activities.mock";
import { walletMembersMock } from "./wallet.members.mock";
import { walletPendingTransfersMock } from "./wallet.pending.transfers.mock";
@@ -27,33 +26,25 @@ export const httpServiceMockMap: Record = {
[`GET /wallets/${WALLET_ID}`]: walletMock,
- [`GET /wallets/${WALLET_ID}/activity`]:
- getResponseEntityMock(walletActivitiesMock),
+ [`GET /wallets/${WALLET_ID}/activity`]: walletActivitiesMock,
- [`GET /wallets/${WALLET_ID}/members`]:
- getResponseEntityMock(walletMembersMock),
+ [`GET /wallets/${WALLET_ID}/members`]: walletMembersMock,
- [`GET /wallets/${WALLET_ID}/pending_transfers`]: getResponseEntityMock(
- walletPendingTransfersMock,
- ),
+ [`GET /wallets/${WALLET_ID}/pending_transfers`]: walletPendingTransfersMock,
[`GET /wallets/${WALLET_ID}/pending_transfers/${PENDING_TRANSFER_ID}`]:
- walletPendingTransfersMock.find((item) => item.id === PENDING_TRANSFER_ID),
+ walletPendingTransfersMock.results.find(
+ (item) => item.id === PENDING_TRANSFER_ID,
+ ),
- [`GET /wallets/${WALLET_ID}/removed_spenders`]: getResponseEntityMock(
- walletRemovedSpendersMock,
- ),
+ [`GET /wallets/${WALLET_ID}/removed_spenders`]: walletRemovedSpendersMock,
- [`GET /wallets/${WALLET_ID}/subaddresses`]: getResponseEntityMock(
- walletSubaddressesMock,
- ),
+ [`GET /wallets/${WALLET_ID}/subaddresses`]: walletSubaddressesMock,
- [`GET /wallets/${WALLET_ID}/transactions`]: getResponseEntityMock(
- walletTransactionsMock,
- ),
+ [`GET /wallets/${WALLET_ID}/transactions`]: walletTransactionsMock,
[`GET /wallets/${WALLET_ID}/transactions/${TRANSACTION_ID}`]:
- walletTransactionsMock.find((item) => item.id === TRANSACTION_ID),
+ walletTransactionsMock.results.find((item) => item.id === TRANSACTION_ID),
[`GET /tasks/${TASK_ID}`]: taskResponseMock,
diff --git a/src/__mock__/http.service.mock.ts b/src/__mock__/http.service.mock.ts
index a7d6623..21651db 100644
--- a/src/__mock__/http.service.mock.ts
+++ b/src/__mock__/http.service.mock.ts
@@ -63,11 +63,17 @@ const createHttpString = (
) => {
let query = "";
if (config && config.params) {
- query =
- "?" +
- Object.entries(config.params)
- .map((entry) => entry.join("="))
- .join("&");
+ const entries = Object.entries(config.params).filter(
+ ([_, value]) => !!value,
+ );
+
+ if (entries && entries.length > 0) {
+ query =
+ "?" +
+ Object.entries(config.params)
+ .map((entry) => entry.join("="))
+ .join("&");
+ }
}
return `${method} ${url}${query}`;
};
diff --git a/src/__mock__/index.ts b/src/__mock__/index.ts
index 37a7674..a234c03 100644
--- a/src/__mock__/index.ts
+++ b/src/__mock__/index.ts
@@ -1,7 +1,6 @@
export * from "./account.info.mock";
export * from "./http.service.mock";
export * from "./monero.service.mock";
-export * from "./response.entity.mock";
export * from "./rino.service.mock";
export * from "./task.response.mock";
export * from "./wallet.mock";
diff --git a/src/__mock__/monero.wallet.mock.ts b/src/__mock__/monero.wallet.mock.ts
index 835d619..851db5f 100644
--- a/src/__mock__/monero.wallet.mock.ts
+++ b/src/__mock__/monero.wallet.mock.ts
@@ -32,7 +32,7 @@ const createMockMoneroSubaddresses = (
unlockedBalance: new Uint8Array(0),
numUnspentOutputs: 0,
numBlocksToUnlock: 0,
- address: walletSubaddressesMock[0].address,
+ address: walletSubaddressesMock.results[0].address,
label: undefined,
isUsed: false,
},
diff --git a/src/__mock__/response.entity.mock.ts b/src/__mock__/response.entity.mock.ts
deleted file mode 100644
index 9ba9b80..0000000
--- a/src/__mock__/response.entity.mock.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export const getResponseEntityMock = (data: Array) => {
- return {
- count: data.length,
- next: "",
- previous: "",
- results: data,
- };
-};
diff --git a/src/__mock__/rino.service.mock.ts b/src/__mock__/rino.service.mock.ts
index 175f1ca..80e89ce 100644
--- a/src/__mock__/rino.service.mock.ts
+++ b/src/__mock__/rino.service.mock.ts
@@ -38,26 +38,29 @@ export const rinoServiceMock = createMock({
getWalletPendingTransfers: jest.fn(() => of(walletPendingTransfersMock)),
getWalletPendingTransfer: jest.fn(() =>
of(
- walletPendingTransfersMock.find(
+ walletPendingTransfersMock.results.find(
(item) => item.id === PENDING_TRANSFER_ID,
),
),
),
getWalletSubaddresses: jest.fn(() => of(walletSubaddressesMock)),
- createWalletSubaddress: jest.fn(() => of(walletSubaddressesMock[0])),
+ getWalletSubaddress: jest.fn(() => of(walletSubaddressesMock.results[0])),
+ createWalletSubaddress: jest.fn(() => of(walletSubaddressesMock.results[0])),
updateWalletSubaddress: jest.fn(() =>
- of(walletSubaddressesMock.find((item) => item.address === ADDRESS)),
+ of(walletSubaddressesMock.results.find((item) => item.address === ADDRESS)),
),
partialUpdateWalletSubaddress: jest.fn(() =>
- of(walletSubaddressesMock.find((item) => item.address === ADDRESS)),
+ of(walletSubaddressesMock.results.find((item) => item.address === ADDRESS)),
),
getWalletTransactions: jest.fn(() => of(walletTransactionsMock)),
getWalletTransaction: jest.fn(() =>
- of(walletTransactionsMock.find((item) => item.id === TRANSACTION_ID)),
+ of(
+ walletTransactionsMock.results.find((item) => item.id === TRANSACTION_ID),
+ ),
),
createWalletUnsignedTransaction: jest.fn(() => of("task_id")),
submitWalletTransaction: jest.fn(() => of("task_id")),
- signWalletSubaddress: jest.fn(() => of(walletSubaddressesMock[0])),
+ signWalletSubaddress: jest.fn(() => of(walletSubaddressesMock.results[0])),
exportTransactions: jest.fn((type) => {
let file;
diff --git a/src/__mock__/task.response.mock.ts b/src/__mock__/task.response.mock.ts
index 9e174cf..65a9195 100644
--- a/src/__mock__/task.response.mock.ts
+++ b/src/__mock__/task.response.mock.ts
@@ -1,7 +1,7 @@
import {
TaskResponseCreateTxResult,
TaskResponseEntity,
- TaskResponseSubmitTxResult,
+ WalletTransactionSubmitResultResponse,
} from "../entities";
export const taskResponseMock: TaskResponseEntity = {
@@ -26,9 +26,10 @@ export const taskResponseCreateTxResultMock: TaskResponseCreateTxResult = {
multisig_hex: "string",
};
-export const taskResponseSubmitTxResultMock: TaskResponseSubmitTxResult = {
+export const submitResultMock: WalletTransactionSubmitResultResponse = {
created_at: "string",
updated_at: "string",
+ wallet_id: "string",
txid: "string",
amount: "string",
timestamp: "string",
@@ -42,5 +43,17 @@ export const taskResponseSubmitTxResultMock: TaskResponseSubmitTxResult = {
ip_addr: "string",
euro_amount: "string",
destinations: [],
- wallet: "wallet",
+ wallet: {
+ created_at: "string",
+ updated_at: "string",
+ id: "string",
+ balance: "string",
+ unlocked_balance: "string",
+ creation_height: 0,
+ height: "string",
+ last_interaction_at: "string",
+ last_sync_at: "string",
+ address: "string",
+ status: "string",
+ },
};
diff --git a/src/__mock__/wallet.activities.mock.ts b/src/__mock__/wallet.activities.mock.ts
index 8ff7ca0..9783f07 100644
--- a/src/__mock__/wallet.activities.mock.ts
+++ b/src/__mock__/wallet.activities.mock.ts
@@ -1,202 +1,208 @@
import { WalletActivityEntity } from "../entities";
+import { Page } from "../types";
-export const walletActivitiesMock: WalletActivityEntity[] = [
- {
- id: "03eb3fb1-6e3a-4bfe-b1c2-5ef9799c2fbd",
- timestamp: "2023-05-08T19:10:39.767063Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "bf3c38a8-d424-4d99-b581-9f296dc17240",
- timestamp: "2023-05-09T08:04:41.404006Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.sharerequest.sent",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "ee44a0d4-2c12-4500-bffb-75ecc5122b35",
- timestamp: "2023-05-09T08:04:54.049161Z",
- author: "ronye+4@cryptosphere-systems.com",
- action: "wallet.sharerequest.accepted",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "cb4539cd-5e9d-4e66-b117-69a09c84f29a",
- timestamp: "2023-05-09T08:05:10.850255Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.membership.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "3c1e18d5-5b7b-4bed-a63f-f8527106b337",
- timestamp: "2023-05-09T08:05:20.146709Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.updated",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "e73388d8-dd37-4fcd-bac3-aef638f72369",
- timestamp: "2023-05-09T09:39:53.528665Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "5fab99d8-cdb5-4e18-9918-e0b193a3a0d0",
- timestamp: "2023-05-09T09:43:41.722869Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.submitted",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "138575b7-1360-4da4-b9ba-09ce7639b396",
- timestamp: "2023-05-16T14:39:17.724674Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "08c18ea1-e9aa-4e3a-99a7-7e3bdda86b23",
- timestamp: "2023-05-19T15:34:28.398605Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "e5f10114-b75b-416e-a075-65dd7fb7438f",
- timestamp: "2023-05-19T15:45:38.897349Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.pending_transfer.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "ccec52bf-698d-4adb-97d6-5e72fd2b6109",
- timestamp: "2023-05-19T15:49:54.611918Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.updated",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "1cdaf680-fa31-4674-b7c4-60ff26232806",
- timestamp: "2023-05-19T15:50:04.125107Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.pending_transfer.canceled",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "2be91341-0a49-4490-9490-96c96f3f643c",
- timestamp: "2023-05-19T15:50:47.036319Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "b77cd4df-d4b4-442b-a331-abc90266c74a",
- timestamp: "2023-05-19T15:51:32.945344Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.submitted",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "c9e1889e-51f9-495b-af04-5d25ccfc72a8",
- timestamp: "2023-05-22T05:48:01.236190Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "7b27c630-423a-4afd-87ef-c1c7fbb932f5",
- timestamp: "2023-05-22T05:48:38.715838Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.submitted",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "2a973f89-4ec5-4b95-99a8-d2bc02602bfa",
- timestamp: "2023-05-22T08:18:37.382543Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "f83bc368-c711-4448-a112-3ee7685416b3",
- timestamp: "2023-05-22T08:21:05.620151Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.submitted",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent:
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
- },
- {
- id: "3c1f5b7e-0488-413e-852a-fb60557b9796",
- timestamp: "2023-05-22T15:36:23.927521Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.created",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent: "axios/1.4.0",
- },
- {
- id: "d427b0f5-0a7f-4427-95a3-a47e326fc627",
- timestamp: "2023-05-22T15:36:31.999301Z",
- author: "ronye+3@cryptosphere-systems.com",
- action: "wallet.transaction.submitted",
- ip_address: "10.127.255.11",
- country_code: "",
- user_agent: "axios/1.4.0",
- },
-];
+export const walletActivitiesMock: Page = {
+ count: 20,
+ next: "",
+ previous: "",
+ results: [
+ {
+ id: "03eb3fb1-6e3a-4bfe-b1c2-5ef9799c2fbd",
+ timestamp: "2023-05-08T19:10:39.767063Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "bf3c38a8-d424-4d99-b581-9f296dc17240",
+ timestamp: "2023-05-09T08:04:41.404006Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.sharerequest.sent",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "ee44a0d4-2c12-4500-bffb-75ecc5122b35",
+ timestamp: "2023-05-09T08:04:54.049161Z",
+ author: "ronye+4@cryptosphere-systems.com",
+ action: "wallet.sharerequest.accepted",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "cb4539cd-5e9d-4e66-b117-69a09c84f29a",
+ timestamp: "2023-05-09T08:05:10.850255Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.membership.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "3c1e18d5-5b7b-4bed-a63f-f8527106b337",
+ timestamp: "2023-05-09T08:05:20.146709Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.updated",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "e73388d8-dd37-4fcd-bac3-aef638f72369",
+ timestamp: "2023-05-09T09:39:53.528665Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "5fab99d8-cdb5-4e18-9918-e0b193a3a0d0",
+ timestamp: "2023-05-09T09:43:41.722869Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.submitted",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "138575b7-1360-4da4-b9ba-09ce7639b396",
+ timestamp: "2023-05-16T14:39:17.724674Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "08c18ea1-e9aa-4e3a-99a7-7e3bdda86b23",
+ timestamp: "2023-05-19T15:34:28.398605Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "e5f10114-b75b-416e-a075-65dd7fb7438f",
+ timestamp: "2023-05-19T15:45:38.897349Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.pending_transfer.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "ccec52bf-698d-4adb-97d6-5e72fd2b6109",
+ timestamp: "2023-05-19T15:49:54.611918Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.updated",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "1cdaf680-fa31-4674-b7c4-60ff26232806",
+ timestamp: "2023-05-19T15:50:04.125107Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.pending_transfer.canceled",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "2be91341-0a49-4490-9490-96c96f3f643c",
+ timestamp: "2023-05-19T15:50:47.036319Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "b77cd4df-d4b4-442b-a331-abc90266c74a",
+ timestamp: "2023-05-19T15:51:32.945344Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.submitted",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "c9e1889e-51f9-495b-af04-5d25ccfc72a8",
+ timestamp: "2023-05-22T05:48:01.236190Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "7b27c630-423a-4afd-87ef-c1c7fbb932f5",
+ timestamp: "2023-05-22T05:48:38.715838Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.submitted",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "2a973f89-4ec5-4b95-99a8-d2bc02602bfa",
+ timestamp: "2023-05-22T08:18:37.382543Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "f83bc368-c711-4448-a112-3ee7685416b3",
+ timestamp: "2023-05-22T08:21:05.620151Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.submitted",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent:
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
+ },
+ {
+ id: "3c1f5b7e-0488-413e-852a-fb60557b9796",
+ timestamp: "2023-05-22T15:36:23.927521Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.created",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent: "axios/1.4.0",
+ },
+ {
+ id: "d427b0f5-0a7f-4427-95a3-a47e326fc627",
+ timestamp: "2023-05-22T15:36:31.999301Z",
+ author: "ronye+3@cryptosphere-systems.com",
+ action: "wallet.transaction.submitted",
+ ip_address: "10.127.255.11",
+ country_code: "",
+ user_agent: "axios/1.4.0",
+ },
+ ],
+};
diff --git a/src/__mock__/wallet.members.mock.ts b/src/__mock__/wallet.members.mock.ts
index a02cd3f..58830b2 100644
--- a/src/__mock__/wallet.members.mock.ts
+++ b/src/__mock__/wallet.members.mock.ts
@@ -1,30 +1,36 @@
import { WalletMemberEntity } from "../entities";
+import { Page } from "../types";
-export const walletMembersMock: WalletMemberEntity[] = [
- {
- id: "91c7f0ba-eae4-40ab-bf46-ceae7ab3850b",
- access_level: "Owner",
- created_at: "2023-05-08T19:08:28.302387Z",
- user: {
- email: "ronye+3@cryptosphere-systems.com",
- name: " ",
+export const walletMembersMock: Page = {
+ count: 2,
+ next: "",
+ previous: "",
+ results: [
+ {
+ id: "91c7f0ba-eae4-40ab-bf46-ceae7ab3850b",
+ access_level: "Owner",
+ created_at: "2023-05-08T19:08:28.302387Z",
+ user: {
+ email: "ronye+3@cryptosphere-systems.com",
+ name: " ",
+ },
+ wallet: {
+ id: "57de9693-cda3-4248-9841-85fd23ee0748",
+ name: "Enterprise Main",
+ },
},
- wallet: {
- id: "57de9693-cda3-4248-9841-85fd23ee0748",
- name: "Enterprise Main",
+ {
+ id: "e6c97ae9-6546-44c4-97e4-b6c57cde8cfe",
+ access_level: "Approver",
+ created_at: "2023-05-09T08:05:10.844166Z",
+ user: {
+ email: "ronye+4@cryptosphere-systems.com",
+ name: " ",
+ },
+ wallet: {
+ id: "57de9693-cda3-4248-9841-85fd23ee0748",
+ name: "Enterprise Main",
+ },
},
- },
- {
- id: "e6c97ae9-6546-44c4-97e4-b6c57cde8cfe",
- access_level: "Approver",
- created_at: "2023-05-09T08:05:10.844166Z",
- user: {
- email: "ronye+4@cryptosphere-systems.com",
- name: " ",
- },
- wallet: {
- id: "57de9693-cda3-4248-9841-85fd23ee0748",
- name: "Enterprise Main",
- },
- },
-];
+ ],
+};
diff --git a/src/__mock__/wallet.pending.transfers.mock.ts b/src/__mock__/wallet.pending.transfers.mock.ts
index e9b6165..d8791b3 100644
--- a/src/__mock__/wallet.pending.transfers.mock.ts
+++ b/src/__mock__/wallet.pending.transfers.mock.ts
@@ -1,43 +1,49 @@
import { WalletPendingTransferEntity } from "../entities";
+import { Page } from "../types";
-export const walletPendingTransfersMock: WalletPendingTransferEntity[] = [
- {
- id: "pending_transfer_id_0",
- status: 20,
- creator: "ronye+3@cryptosphere-systems.com",
- rejected_by: null,
- address:
- "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
- amount: 500000000000,
- memo: "",
- min_approvals: 1,
- signed_multisig_tx:
- "4d6f6e65726f206d756c746973696720756e7369676e65642074782073657401014f3f1bb2b0f47f76aa8e2234cc8b5c96f03ebaaff19baad54c4266c54162ba9cee2a8fa17a46a2159f840989709f7ac95eb4c682bf8a446d28ce294973e0d082853f531c7c26f09a3fda6397561f8d10f60f49890d0b9212ffaffb72cd1d4432bc52ff7fc3f33529a9ca50a33fe139c8f711b6ecfea9a9e7e23e8c77f07ca3e87741d28cae50e45e496590d948bd340f475ef985df9ad98b9f8e33c23c9c750e01798570b0bd08e55aed3bf0a29c7e7370c2864a716a2d5786eb5dcccef0af2e40d94f1c6a198baebb4feed4be4f313aba99aaf24375afad0aaff3faf11e564ebf85713c99c0b1cb97e8d492451a66c14ab086f6e159f0927160d5aa8b45992ce582d12ea32abdb7d17831f7cccc0e226d3472a5ac9b30f91368a578073dbdefc268ab9a562b29c14c3e707ce61c4b21d991b477551802c60c526708b93bccf1aef3270ba3ab59ed80f953a46dfdfa0c7fd17a48961e9ab708821ee6efb08f6b87a5e9c92b195a3f1428e064792fee3d967e8f637d550563c829d458e5703f9b1ede628ef5405aab76e7c25fa1ed06e1f294c24059b70ef3cf6b6f091b875aaa0a5df16f02a6ab3eda7afb5204266f4e28eff23845b4689ee0cc8b2a95a12cdd65426231571c7cfcea0f2f6e2eaa4f8a67e20a825767ccee78e53ecb4661ae956997fc294dc94822cf09225db1fda109f394b48e6b6d431a7fc277ecb85cc5b21e1a9069b246f9b1dd5187e1466d5703b88a009ab568c05b65ab2ffe44cb13ee9b2c93122201889d1a4e726ddf4809fbecf5ad8d89776fe4fdf5023a9a7df391dcbcc3e65b9b85cb63e4a57b7aac2e60051edcdab442be24452548e44e1b685a16bc1cdfd9b2568993a7560bf50849d51acea0654433d4788b3816e9e1abc8b0908e5352922c03383533bd608dc86c1a2802ac5cd83d2958f00a470cd239e1e2aa7527affd5c2553d20aee4f0bc6a5a0b5ecc4c1051fa653d276b812af6b578589b210f86172311ec806f0842b62d8fead3e279cb90f2549ecb820135fd4fffc6feb570edf8da00cceac3a47da7527758c137f67e29832d566658fa6fe1c84f929256ac30d00a1b5f4e04b4775eccd5afb25b7eb506593fd0176ca708a425502bb5a60d545907e36fd8c96c6bef74851c5c9aac4ff65754126852ef300e8bb09c6997225934f0b921839aed044c0cc7f3794434a296893ee7a193e9683c9593bd69537ddf608a9b1310c545ebb11904f2a943290644d74e27f758e6323fce4530599d993d567a60ca5b6e61a3f9b153a1db6ad2ce1e86201ff317f3dba488f543d35fb3473c3b537b6783f719bc40780dd6cc26457bf8d0f115dc9399db9f0ae9dc3d36221e881e0a647220448cfbe07894f4723c86ea6a79f499009282a648c5e7604a3382842a78d9089c9fe37c6fe5aef5fbbd0671079276546066ff0f6b46d7f17038a142dd2ac0f7cfb050482b11ba1367e2f44dfdb31b951b111401c85b2cd851468b3068ae1c15e61d2ca1f1f659b1190f3874c3ae7c188a02f386e5305361c69e29437af6028fb0cd3e9b63f1974bcca2ae29c90f6b783457bf6e8e1ff4f1e03787fd152fe4c7b9593126de16697a34eb40a3251060a3886d6758bbf289379d288da4a27691d3ae49c43ede2ed153a09f6936513c4616b20b0275c6b1080c9a08e6e31129fbc4120f68c12c035f77016c657e8a95c5d6e623b4c665dd3ce4b718ebdae13c771db7921e6b5c6f26daa4c3919f977786a333a6b79ca45c0f2fe123854cb346877aaa75e4c248bfc4334218edbe2938d32e3fa36ef8b69b90d5f002b5f88fe70f5f13ed613c4ceddfc96ad56efff08dca7f24a2433ef9989138b70c5df11168a99003ed9b4cbac68988053ae760ae4c5a8d7dbac5c02cfd5f9477b1c7adcdd532ea169184d88ea10c0c0a6479cf4db481d52735fb73d2177d74796efffbfc925c6aae4c150883e9f67ddd7d10a312644949ed20c3166431cc309ce3a7f31920fc63239ffdf119b2b1cd57e5fe1541d132508686272374aff510363b1a602da39db2c4f6d4f9df6ae27693071e83046eddb01cc3f37afd58a8f02cfe909bd5d033bb4e4177b3a1287c67576cd86955968c1a150428c97375fe3ea90b848d7f45e119b814a9c799f51744ab7512c064c999ed4760b5209afca7fe714467d83e04f655c7edf72cd0b333c55370e529075b02a26e8b97f855c9973a19cba25743d3be64e23cc3d2cc17f744f44a413144302ed386d944d9739486f7aebe68d9f48dc67a962f08787dfd45b9af21a8e94dcb2406204e9bbfc6c1b3eaca170294412c08ba279cad53a45c45f6a3a6ef56d2d6312990744ce690d49d3075b3f2b64c956083398612f0987af2be5b0ec521fb60d97efd3ec38caef2be5dc52edc619b3c3bcd634564c9bf38d869065cc71b742c7cd8d8b7b003dd71234810d05217bb20acfec87fe9c365ca64efd1a3c028e31429e5af992149e5384471ec3dc6f3cf4ba61a5234cfb112a949fea34e92552e30edce92f5847c9c9cb43a478593d8859c6ab33e92a2490cfa5b2f186fd8950385b3735692f59b858498af229e47649811f9bd40a60bdb071dc275780feb604802278e479f47c0821cd8562801fc2024120205fa1363384d692a3c8bfaef7cd644e8d555e99e470299c44f69bba2408eab5e116da10a62935f6d8ebb276baf3a7e4da0e20642c816a59d868e68fdb65548959ee4e537d86301ebf05a28417f86847c100b335b62eeba4d794a00214728eb0cb8913cf8917e431e570ebd745737540c645182974ec45cae39176eddccd320db37c49159a0559c5c4299107d944af1dd4e32769beab5bcb772213e9cb31c0b2d2e64206e81c1f6180fd0d5d59470077629cfd77017356e5d8c59d46914848630ecf179e669f9aa309101ee9e3a2046b213d5ec56dcb524fb1ebe1ea5f09afb1a45e5d93df28ba4fd3e7604c138dd71824b8afe8427bfc84b31862460571121d6928cb84853ddb698da949555587c6e4bccb60322bc8232601e864759be7fb0bf96606f7b05b245d373845c0483255da0837383395e500346a750e169db540bb515ad954930c4e70b58180ec41f040853ad4fe5140f2ce16eca58132b6a6f58e814c9e2fe747b5fc179ed51bf44bbaf63c62ae0658a1c7ce31a4417e61ca2a59ae8dfe4b7c9ca4d10f8127b2cc1fed1f077dc7d7911fdc63bb5ffa1e240e62827e0c3510869ed46b883774a682dfeb457a16eac2673c742898863d11682efbfdd6c3a94b30b7eda666062c60e8fae18d6376fe9e25f78a4241f3972a6199d2dace71f84dd88b7155ffb3827c297e44b58a84e957af5a0bea2fcbab1e83a2ffe544468b5d03fab74a197c4a1124aa3bbd9cf2beedce15de066ff81f9539a7179de960f3a28d61e6bcc1aba58982605b4af6e1c9a3eb0419703bf74158203e5de0e6248884aebc74f87fba22b2e0b4ada6319cd48c1713dc879cb0d265f49fd5a82925cc69d381099a362fd8b799966938ce6f04a071e91563cddd3f7a52505422ec8b60d5415e5d8822bff4f393df12a522b6a3cc4deaab40b46a41810c334bade3c13964ed8c6bc1e701124b6d0436711a8720db0bf02787b9aeec5d2d3abf916a20febb6afcfde6d735d60ef5ccc00fcfd0fa341e2c593eb967952b9f7453d9cc03866c5a6c7b390fa655e75fc65cd1ade4b26ec71f4bc2bbb6bb32c46e73d6998ef0d4158f77698ed0c7e3d2cf77c0ea9901559133f5623ef06f65343603940b72a0b58cf37408cdcbae2a2d79f076df8a8579d43204e1c2c30aba3f6a34f6e2b7adff9e88ef32406f66649f9335f033b936d4a7ef3ce03b4f644b7ea45d058b258c6f0ca9b40e693896dd9d4202d28919a8cbb1d7575c9fe3e6e11a3062daa739e911fd6f4fd2ab5c8d4a9836810d96b6c5462bf2dc229e2ccee6eee9e5d95fc8db05fdc64a11bb8368eeaf1401652208dc030585f47a20d1518940d6b8add292b91a10fbb2d53150177b04bc82fb3155853589da073f8f51d04391505ee53401bfac2a65dc1affb443d02ab43902675a9c349331664dd836212a819a94e88c20676137aa2e13fa5577ada681699be423394740f9d71221f7d4a084169f7fab4d94b8d32342e161973e020fb319a25be773ecef85a00fb311f3f8f88ebf805efc6b3b61ba7b364b9c020111139fbcad50749e13b460f276a51137e5fbb0d8450bbadb85ac25301428a29c39bf4e7ac8a27903a870b04655734e85c7e96c9333bd1cd5579f55d63bbc046fdd888852ab23ab5fd01baee4f72d0bc6393440cb8d18ab5d0677b6696b0077ee49f48f536b7fd54eb84fe3e18f5f342efcb09848dbef173834b598be394dcffd729a5b457f63a128d9ed5627529babc93c34c542f19e25107c890813dd179792d34bcb55b7a2bbbee1088c4446e30fbfc228aab814d6bb1371f6efa97a141df3365b79ddcec3f55386a17d54d8958e7d86d2d72dd56b17c4d472ed95fce83137b5b5de868bcee0e7e60e405f452aa9f69235651f2c6034196dd89219a480e4fc51267b981a8347235e43121ad28cfb0c2e09348bb92f04cdd9fdc7cf4355966a7b57eef020b77a1b3fef8924cdefecb789bfcc975a91fd053668d4f08cdf1dd0ecbcfc573152cea40e2fc04b7986bb6ce631ba92ff22572e0b877a8f6b9e4f705b8042ae8a39f3d30c94782eb6ff6bd1dc9a6a3519d7296b61e57c94494467aa914c77211c089811fba275c75068ad97ee8ffe2ead329bf569640ec7e5151977d888806ddd1454613554da3555241ac879d6d7033968eecd7dd883bc22b20860a00aa21eb9fa6f715a6c7c6fc3fc9b0b0e27dc81dc2b6c3de248fd99886d7f746353efe7445fbbf63ba2c2f3f8e8c5316c1560457c11d0e992bb01f30f23f5056a32d111e3340444d7abc4c945a1a43e94045515331a7b2dfb267385cfdf8b8e639ec2586204876449bb6a47e111949cc2d547953ec3bbe581700d5ae6658b0ca4da50637493509bef956edb07f35bcf21e4bd5bfb3073b7cb26928f29390502be93bad3761302c9b7d8c4b545a4fb4094e8cb5a0727f9d601dbe3014486b7319eaa95d4ce39841d8c020da150580826ed036de79101f352d3977051a50d1fdfb6d7dcb57155274c5b40f67edd28f02d56699946d2b5cfd3402ea732a348fba49bf661c6cf1c660e04911b9e09e6df4c1857baaef63f38288572e767af6d26b816a06bace6f663000b11c8809ce1f9896c50cc5e1e394607cbaf42ea418005a4361284764ffacb7292343858f858d88dfc59554bbf33d2df5ba97c7572e0ca3950854ae0773580e970ecfd83c7cc67641560e277576f91b8bf10cc55bd23c3ea8c9d958b406c2c5938c84506ebaec4a79f01a04137a05fb42b053ccec430aaef91ab7408ca5887ce820fcb17c12a89f89adb4a0b21feaf6836d8807c3b050ee5b9392709813033cd747672af8f1703a9f9a3322087cd1929b0cec8a4cee14a9f0fe909711a953c26524f9d3887759b727bf9c6b17c937f87162094b864467c1cb8d2eb623f6e3a866c0317506841504d8d73d06e3652c6050ff5226333e60b3d7df0d68ff0e557b6289ae615c4be74fa83fdb87de97b7398c9bd0163f5df4b4fef7c3c3091fccb4c17983b839a36be3811e53f1b991c44926c172c5fe5045c06e5eb0c4f54579f6b4bae5ae2a7a2ad0a727b4f3cb5fa64e2270b5f929f8e44104c8cd412c2758fc0df6fdb3c3b6d0bb69d2c7f1f1a44b250fef5d179669b62e08054bdb3da56878f086c08c05314acc94fabcb9a2f3ef692aa978a9ed1c09dc5d8e22ef9a4e15ae5753ea23374a5e8b4441504c115020a2a5ee490c5c7d7f23571d4f33075d5951fc5c8f0a07e0ada3ab02ce3a316d42f505f1aaf2bc197bc33ac0d3790b303f792de46a4eedc91dcae4f09aa4a9121988e31754586e999f4e224bb775333c1629233593365e88624f90d71fb946371f133fe695f9bab75cf61a24006a1a1d041b91c04eb32a6097d591f415e591b9db68d9ab1950cf3268794fee2fdc6be069de4137f07499578a0832abd112f1f7abf538469dc258004a1fea09624e066916960b096b2db8e40661395720c1f8017dfee21139f0be2ad8f15fd3c48e3ff1c553125adb66dee7195e87ee8abf977ae8c79947a21391c6f7bd052a969da5c5b817e6afffa2bf51866bdf172bc4f89bbbd344abf6e4f9a0cc89dc2d54746e2b995f1077900c5c16000135764b89e6ef11873618e1a1b6092170b2a606bc7cc7c752bcf6d419200a3c4ba81170b4037dcfe4f4a59fc689b404dd0a9f5f96eed4175ce9ae3bd559d9bd297d3b48e8a62d0b94d2e93c803193372c72e43bd43dfa205dfc89985cefb64626bf12e93938c3fd54351e67111b11dc22e9155be72d5122151afd65a2b4fcba41af77e541a089ec717bcc39119e75cf6193b0f0bcfe6a8c4f1c68eccf859a77d765ab67c57c57ecf3f043edfbde54c7a94d17e10f462fd3034154f87b240545ebcf797a69043467a3806d33c1af198345eecdd189e8d24552263c8c9f3fbfb926f852f8d1656d925e95a5610131cc4591181d714dbfcd5848f5b3f9797b74e51aef4f0c4389c46e66b6e96cef508f6dbabc36fcc68546b4447cb6829b7419bb7acfc72e25e9cc6ca6338141c0943d0d8274944b91cb6ad82e3c6da436182157631bf9607c8f9e44b124a9e308f8274cadcb6483d3760d139af4fa415ccf6bc236829255669883731a86bfe5ff3084bdbdc91056818b9ea8db0c90d3a9cee3c124989ab0e062d486c0799b9cd1f15fc6c3a6a994f71b01bbf2bde702bb9cfe23c497cc1cb1f69f555c923432c020fdeea54d669e914299778d16ec55420d3ac7492ac2243d03ff61b72ccd1c8414e5facb90f3e8b3dce469854e69753987cfc6d1fe68f09bd4b9f68094e5d7fd4e5f1be140fd351989218feb94e5ded7c72e023e2cdf6cec17265ace87efe059bf9c75c722b68a83a0cf099a9a91535edb328d787fd3fca70db54d8ec8d49e09cac103aab9e2e5ef356fe60002d6e41f7012db3a5204aa08d7444b17718a35536854f16d31a700b147f065e258331e1a516d83c07e2ff92b9dfd0ee78c33db04d123e963eb14ebe2cd9326899c7590ee754b9bab188db922186629ceb80dd54e7df809148cfbeb5fff21103794ca5e36f78173ec86544d716e4d963561d10b38a357bd9c5beb8f85ece80b9b129ef6c61946b192e3f970e99d4e7c983a28ad993697971dd1a8594058b843f6280a767c1856a1bd16930999319750d3187029dd8f621b5782f6c9b6c07a70662430aa1ef6f17a799574920f16f802d159986f1c7aa85e234363c1d1a30d6eb3e0ff70d7b270ff5032bad3c326f02738c3ea64231129dbc9c44c0f0f2cfd97c92fb6cfec02f9e4c77d35372a27959cbdd131d6ee8f3794c1c7cecac9e40492dec50a6472f8da0f3570be1f258659155c0f7fd4ec61fc9cedefef58818d9a43fec6f1385b6c62ee0a482124de850aa673b132f27f45415ad7e74ef1a45b5ea266411f3c167e3b691cbd9e9a5ff0bad7dee0d78b17cb9091cecf30792d08e5b7863ad566c7d51839de4c6d9cabbe29550e147c33c8e9420b02fbae820cfbe222c1a6118f5a016406aef9988d9f612bedb7f388b6f9db43950ea49b3b97133d905eeedf02126f497ee507cc101858130ce6e91aa773586b821ea7ec1d5a0555d07",
- approvals: [],
- created_at: "2023-05-19T15:45:38.888681Z",
- updated_at: "2023-05-19T15:50:04.116535Z",
- submitted_at: null,
- },
- {
- id: "pending_transfer_id_1",
- status: 50,
- creator: "ronye+3@cryptosphere-systems.com",
- rejected_by: null,
- address:
- "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
- amount: 500000000000,
- memo: "TEST",
- min_approvals: 1,
- signed_multisig_tx:
- "4d6f6e65726f206d756c746973696720756e7369676e6564207478207365740184086ffa130621f06f5500fe220300982b08ccb3755c1fa0acff8302dad1f1e7d8764b7f0e62ba802098feef26e81d868a19e7616dd009455f500fc63fae5357c19843da054967e5a2d339cbd687c44e9ad2fa2cacb75f090eaa29265792728c5c2f0f639e85c691c808906b028d3f5edf9223d2537ce183e10978ab26613d185f47557381500fd6204b5f1f1e2415a8ac6cedaccfe8c389fb46b7dc3126a305e9c0bdcb5c0e0433081859fb5cc7d06313f4b9104240e83a1a13568b1d18c019825ef3b159382ec3c07348ead94d8ed6dc75787202e62d2e879df585e5ba862cc554cc0ce6675aa7fb81609d1e1fba1cca1cd1d86616cfcebb9c51a7f28e0be3605f2a172d240765e2333661f80aa0bb2d1eadc5c9a818ee61abfaf570cc0445f2321e6f0d43b7dc572840922be70834893330a12f43f518e7b101128c002841a512062b15dee995f608b962676c626e1e3af9454dfa1a260bc4bdffa19b133913d90b329af2d0f2a1be5356386f877dc876f9a54ec40012c733c6d464498f2c3d3c645b74f4fc3db3d8759fc54905fb2aaefdf118349b02694fd07778f422fb266f1d0fcd8a0a0fcd6a0f784149a04e05dbfc46eada561cb65f6dfe0b2f5a22cea6e7e38a9e52e7077a26cc34d4a63ce4c4d9d87c0ccd1b00a642196772eec627f1a08c45c409d88d83d641be562db74d011014ff16c300462906f413e96191026f2979397486043f0b158ac98375b6585f17d6e7a8ae0335e61c6e7b1c48a8b08363beaf14c15622ea80da1a4d2cf57b981ec1b6d02631cb5bb773eca11153c616025a6228fb955c892601725dba792ffbf53a694ffb8996084a16fe0f36070f6fcd26c1ad72c43c11a09670be6e50e9532995e7125516dab01876ed65cceb1f121d1afdb1b8847b318c89ef293e11ad32c8e93287790737f281299a9530c61b9eb4fd100769f3dacb3b62cd0837e583198bf2ef779680ea8dfb50ed4e25cd92e19d18c22405392c959cbb9df53285ba1534815a9b2623fa9fce83a4554aeaac04a3bde044ada7dd1a523d06e344d0af8573e3e625fe5ca0573e2849abf26f217e7ef84e5db7d044c213eab3f68af47139908d12374d653d8495882e32185a3dec3d03a4eb5227da3d027b22c5ac62d43d488ba848c824f23c0cde5761d4d99fef104f4de1a96d783cc1ab838ac6fd3028eddfee48b66e2505d911fcaeb1e46e2ccb86659642eadf0f7b8641e1db405c8381e33533c4270d16bc728f566433f713ab70667ba43903ea1604dca83275389beb3236aae0cc271ca1da560fcbca8247534031a4a3f4114a53134e27dbf2a595b94ad656bd6d6339019dff401794ef40f0456eb00d1e4a8b3d3d61cc18f828eb70d5dc309635417d2f705188fcd4bd941f76d7844f450204fd06919cd725864c6b60a3d8e79a9b3e42ede50745c814fdd3a30cdec6ec19e574ae9ac9c6a04faa23949c9ce35019b2ac6ef279b0f63b9d8dc7249755f3252c728d3e4a4c7ae0290c9f64633c5fddc0c84d41bc822de07a6b2fa5495c1f1a46faa3b2f564932bbd11d85dbfc0384c3b735753fec3bc0a218cf4e3dc850d10fe1e5ee2394977dbd10085f4a64db588ed96a34442698ae652867e8d76354a02b49ffd9f63c3be6c638dc5836a886e478a15805082efb442e5418e30204834755a94f0b82e331b663ad659300f07a75288fa3efb7a0cb0982a2b561b7571eeb8fe777ee88b6c8938af5ed68c33209bd51cf54a8bd301d60c6799f318d667da9f4f6ac7390ce7634b68113cc87809879ce09482d7a3a61dfad0fdbef8f46dfa1b1665ac5c3bbf608860b96aa959e7d54da03846bc6523abf1de439be67318d3b577a03d330d0cb696cf9a909bf7977ae63743a768ed3a1a1f4a3799b8ba05e29ce0a58947b1fb282ba3fe7e8897da43a5cfab48daac8ef76f22a96ad3153a357142e5ec0effa8f8153fca6dbfc0dfc4c7cac45114ad96bc34329d8baf48b92cdd0d9e7ce6bc0cf73748fae2c6fba3af2e8ae23bcaa084be55be7964f43e8f2d09ce989745586ec73967cdcb0348959f33ba0dec7f2f810a578d395a673674583bb8f1a33be9bd4a04034f663c17d85b2a1ca67563b86ee2a0fe645d4157b812065e7f04c06155fbceaeae03244e85b72d5c8c5a5b0fa14fef594e3bc91ecf7ca70dcdba12a08a88008c72fdd2cb17dff16277dbc11369778fcedbd4af57f1d6bc28b5af51d291a59c113d8a4b3e40a033609b9061115448ad4a077fe115b4885a49db916663b56f82766cb0ce053e91c08cf928cc59f2c1a3c54cfd7b035698805097123b3698f3aaa1441f01117b63cf1a6f945d2e5b4ae568abbc6df37d196520b6eb915bf930164ca1d9d44adc95f945d63a5da4b0ff9d7dfb5b50b55b7884de7d2f27307e61f917833405774e94c0456fdf30b713815da382d0300ecae589a9a920f9f1803ce068195aa3a1deb3f2f1574876ef5022bea312d0ba364f9ec3b91071f4d514ae5befea355a6863f5491d5506166c3fb00387f6b600fcfc5389a3a8d1897c414ab6395f995f17ee854f563ed6a633b224f64af5d59227477bb3ecffc57a695eadc5982d535546eecb2997d497c5d19db6522cb6405a4326f476f16420860f93f4fe2f1a884996e38715b7deb340f8bd5123cbe380562a424863c28053ea3820d1d77eeac78e3bf9d38929d9956a70cff169c051f26658759d6ec465d8a80d275c045ca067799066350a6b37b7f5cd92fa39d6828855b0bb63b92c912c623f3030998a93baa0a52664e694b39719ffce4d1d4dcf2c7a11ad6a425d604185426bac1666a08c8b704dc9a012dc6538a35f33cd70d1aa87ce10f3045820b93b7f39e3825c9232cf22dab08c4a705fa1c603dac40ba5b522c3cf6877fb21129680ef4dc4f002afbaee9ae6e7a7982f49befd8c183d7f96952d8ecc943ac52b5c6e6c2d8792ff3b79096decbb445397b7f95e81abdc5894b9ec64204b668eba0cd8204440bade96bc3ac27cbfff73f46844ab6bc37281f0da437db98e49944eb5a817fea9ca782bed01c9598272642607d276ae070e540c1db2fa3206b1e4e3593e00ee91ff23847494ad813a040cd7c93b3841e8619db26a73ddf7ae4664befbfd23250fbb38245e568f6a103a6b5fbc0cf7e78025fcb951c5cad9ebb19d44a5855254b93b1590b32f897220b32e67686a54090d3bb8451cedc86115d31ef59b9846a0c9b156a99325ee77ff5a9b430ef5ce68ca1613591819a24b772341e5391449c1a38cf4408d61b970d2368f837f00a46c5e0c62b20bc3fcb29ceb447621e34552b04c0c40cca9189fce5e8c8232a38618afdae45d3b6151b912aa547244b56f66d7d0eb3ed2d48c84bf56814b842ec4961743879030baa5ead66acbe29ed8a7d6ea7800edc2ab60bebf98eb7640e8465b9eb9bf18753ded610b271344e73845687a521271ffeb4d150d1151bcda0e6e13d85c63534ce01c0f5247e9cd157ad176b1e180e0e0bf559948c76a630e4b7064e7188ff58697e91b1e58869a6afb091d46faa0ce39c47d0751297b30c60a725a80de338d6b0b9b77577fc90251987322e3b5d9a1a58e2d9ae7ccc7978c9d5b7780ccf66a912bf2f1950f61f0a88505a7564b0a73c5d6fc20bece38cdc864f1c7e36710220b9101f0c3ba2ce63014afb744e45a97b5514add679f8e776cb1a46adea0f63730ea9cdba94cb8570e1adc4ee79c69cf2ef485a4ea15e38ddb55192c74d6db7b0984eeb4a4c4fca5563b34e7c5a2c1684475ac50ea7f3b358a74b68ad6f7cbb26098dfccb239f12263044f79c2a311cd05610bff8e15869a88f197bc27344d43fcbbcc12b1c2a9f1fe184face481e4249d9962b73175d0b13f7a50057687b9f7471f8f225e65ab2acd51ba933e65bd429e8029d19d9641f6b7d08868718a37383a66ba84224854f589e27f6fe7972ef21492ca7a0d265f59d8256c6429cdbb65a52f809b3d8ff19ed8d6dd29bbcc61c32b59f97e1d298ce98f1fe75ca947a473db2953075099e0f0ec3dcce7f13944d1e1763fd3f7ed4d696a7f4177fd6b70325cdf3cda86e3586ddd74468d617808276981c827a181d3cdf30352a3df8838e445be0917c633a10a747ad2380b4bae427bcd719ae490efdc3033f3d8327dc0e4e027f54c42d91285c2e5bdfee6bbd7fe7d21d623e56c50712607979da1b6617ee53ea1b581a1fdd395fc33d2b32a6161f67f10c2038a61cbc3a8e9ce036e74ccc5d8a215af250f6fde47a7835cd43f14c780f6ea0b886586f8ffb717fa9e2d60c951ae3f1aa71416417075975afd0dcc277af63e03bbd7e4e8470b99f8b603d0a1aa7855b83c35a19e4ea6a16c46854c72633d232dfefef4afb0a85e8d108816b21f37acfe99ecfa29687ef2b61c9697cbe96d62d9555c964432cce085bfc6b8cee655fe4c5bfefcf20fc6d2ad3625879e6d167a71cf403f83e5326736856c28c42158f5676a63ed7ec356c625607f961c4841ee7a270164c4348c6b2bf9c43b6751bb235fefa2bd4355fe2958b5e07b2f988c856c02b2e96133914e6e33bcd99edd3c7048f1d813685a494258d029af0c4e84bf755937b5a7ce8624b3dac3594de904c1ca6553d9c398ef1cc1a389533bbde4af7e62c8aae58632dd2a8b02eccf3589101c5b071d801d0c7fb81b804a266591788eb31665441d886ed3a8a7a84213a7064c2f66c95be4c35f0ad763ae6f021bab048a27fc57e9015844c92a3a86776b611c890f76ea8a297263d8e4a466d446885ae7a5c097c2576dbff0da8791cbbbde391d3c3c0f76ad50f23c7688d1d836737fc204c3a0f4153cbcec820e040a405ce5388816e743c18c44f35f450f3e9c3974fcdc5d1fe0b055bdfdd09c54c5fb445928fe340700d6e453e9f4be0eeefeab64b9fd7bc29837a42acbb5f504fe5722c03666586825943f8a18ccd563d5fcc34326122473e6dc9ea04516942edaeb5228cb5502ad2ec0243602ea6e433a7237acae5ae2e18a226e254153a037f4793d37192ee609ecf5ba44331f0ba629c0ad21b5a608e048eacd1a67d7224b048250f7bee1b5133a34bad925dc9d04c57148f9de183a429d0c9c250ead5a6a9d0e3cd8572c84f26b2e7ccac1ac1540fc2e73cdca9e5b3be1c4d8f55b3afdd92d9bd09c931fc4d595a3ad2aaf3bb6a22a00106904fc9555c574afa6f68910d1588aa9a7a9c6d75452669cb5009b63a19052b59709394d6db185512a7f6457170ea115ae97e59583881d0619bda85b68b4b75f464db5e0ba9c6c49a009c4a0cc36cb11da7d9b326a65847248f1d83b97413414af20a9e693a55139ec96c0c19477d1ac4cb4953053febf1df29e8aea6b78bb5cad9a1c814be3db7dd3246676f021d604b67e0fa2c3e50b5ad9987f2d58cc048bf8cd188253bc69d6e48cbd4ccd4fb1b37c449325314ec3e7aff52d14ce54e72d43dfca25ce554f413feff8a8570702f100f2ec48d7c102f6a1154dd5d808f37b5487d9c17b29f201167ed1cd7a5b12cc56f09d27b130f8fccb51357d80e46d8fbcd65cdf308d9285416f838dd649e76b26e19dd464879786048ec61ddb22ac10bfc6145838cfc0da530ddc499e8e8d74d52255abd2f4eb82df05772b4c64b7bcff94a2450ffd87adf47e8da9372e97309e9eef07408426c999ad66efd3f4ae2d31228c77e4f88e5838ebcd471546ac9c7cf6f599614c3415a24b2257bcdf8584c06b9bdcf3b58bb3c9133633c99f7c0260c9521192c28b6e221fc5ecb967536ba98bc59d2fe0320f62d8fe271a6b54ddb2e7e04e85647b6fb98b67bb440311d691a4d08b85c64e62ffc2a02c4ba28212ca510c484c05eddef28ab74fd837b3977c72cf832d3f575750ed122f2d80bbfa88246c3e44eda7afc53dd52badf6f86baaf2b2f75c895f8c7f15e61283e06a53ad109d0236d55381eeb4e05f6d11bd1b8f13fd92ca6c919841a5201073d1ef7575ae51cc3b0621a369848334d2fa991e2cf5fb7a1810d9871faca15d46720427d2067727a5e2955053c064d11e71afa98ef7b7c5c6530c295f8b529d91e72155179186197bcbc1a958e1ee603b900eec9741cba88878a46583c4b0b69ea41d54de6a101ec156a3f0a169f03585719d1fffb788c2f56bf8dad375717ccb4f7a5a471ab34225883fd0cb3a53eecb81144c3a73e5dc00a5790a7093ff7241fff8e1d4a8b54be2ca250aeedb3fe59c04d19cc285563555aa3a910524e89efb76a63eafe25d0b5ca280421da6aa552e5c89e116fe6fdf267e8d1f7198fdd624d62f36e069d7f4af3ad8c5b055450214a4d6c7365438d685c1668d4810da028311fd8100874f9534fd9533d1a1b4ce1025238c485dda4d24742f8a2df951c142eacedd9d7c23be6eb31efdce27e1ba4b215b605ec24588ece6221eb47574846adcae7f0615e88dfa5c261a4857654de2cf3614315a6aa93f80a0dfc21ab0dc69ae14a13d048bc6555f628e347ed2276bdf424510caceda4af35bbdbd6d0f02c90a9bfa8fce5ea497ae784bb7f9726805f8799dabac07f6604468879ceee0c7db4a122c0c18df8bc885a98296d94d0c817d0e05a473cf32d160e9a2ef787e1cd540617f9cb42041ab93fcd53c412e40b8a6ac99def8117165067a1262b253e948f0f9e6ff60fc71742de4ef73a4c8dcee31b75fff38257c31c77ce458de45735938b5128d7dc2f0869da84aef913eb169b857711daa05bb30bce108e8209d817e41a884bf5aa6178bc13998d1fd0c4609371991d75bc645227ee243ee42065e4e366c8dcd97bb6ec2305e8ab444b53a3b26d870837d7f147e38d769f902b20a7d568a2191d2cd1b70e31d6683b4b9e4bbeed40bf26a33cffc49075b240ea4ff96982bb12b81c5fbb3dfa6236e58b622fa3b300f9d2bd587c8aa1b6aa0123d80584e42fa53b8c005d484251c49a4d87d7ba51847701fb78b3f27f73da8a2e1f6482b7de2a2d81e9ffd3f0c44f1b3ea17d9bf7a9e5f8d68550aafd6d6f92bbbb9378075b34362e9fcb3ea8d2d00e8805a46a407d7d6fff00b43909df3c06eea7d8dcf45ed37dae8271de3553298628af0d8ec65dda5d2010593446c8b21a1f073f79e272ba4c3b70ac8b42271f39376d73bc70b0f212d96b66238a04039015c45b165878b559cf0242f1d9aec9bfa677bb96ff4b70687b427e5c1e843c315c5fe9eb5862e02165b0049f2fc0b60305609aceeea57ae25d3da38d34751598a3bbd6d7927b6299b9417e5c679b9a6aa1b555f11f981750419777d6e81cdfc9bba940abe56541232f602596d1a08eae0a52d5ce6575d9186812e61d5ad9a2a0e3e98186601a4945e9954d339c0165434102bd6e1e6f8283d02c673ec57905808180a2f2ec1219d423586a548b50bf162f6b5564a8c7dcf5987db6c005b94c783ff71d0e033e5ccf7e0c5f8a32c9c89c33f45a3f76c9240860a15ea579c7cf0ea9837cd363872ac023a32abea3a272fd7f3347a5b41666638cde984a316c28b1e030ba80bb8541296d4a591d91e6638ddcd8bdecd561eca080e6430e4f8e5e4f69c26dc7a82278bc3d672199f041cce02fee8eb9c301d5c5f9819af1b338d30e532a61ed95f43403c6eb35c5cd09618348a036d1e3b84cc48f6b50a849a0286e10ff49d18fa83689a8e4580cacccc57f6ba5b0efc3384ca3c318591ece8a8ada13e359a5988bb3f21460ea200903045f3376300",
- approvals: [
- {
- user: "ronye+4@cryptosphere-systems.com",
- created_at: "2023-05-09T09:43:41.678553Z",
- },
- ],
- created_at: "2023-05-09T09:43:00.275555Z",
- updated_at: "2023-05-09T09:43:41.680589Z",
- submitted_at: "2023-05-09T09:43:41.680463Z",
- },
-];
+export const walletPendingTransfersMock: Page = {
+ count: 1,
+ next: "",
+ previous: "",
+ results: [
+ {
+ id: "pending_transfer_id_0",
+ status: 20,
+ creator: "ronye+3@cryptosphere-systems.com",
+ rejected_by: null,
+ address:
+ "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
+ amount: 500000000000,
+ memo: "",
+ min_approvals: 1,
+ signed_multisig_tx:
+ "4d6f6e65726f206d756c746973696720756e7369676e65642074782073657401014f3f1bb2b0f47f76aa8e2234cc8b5c96f03ebaaff19baad54c4266c54162ba9cee2a8fa17a46a2159f840989709f7ac95eb4c682bf8a446d28ce294973e0d082853f531c7c26f09a3fda6397561f8d10f60f49890d0b9212ffaffb72cd1d4432bc52ff7fc3f33529a9ca50a33fe139c8f711b6ecfea9a9e7e23e8c77f07ca3e87741d28cae50e45e496590d948bd340f475ef985df9ad98b9f8e33c23c9c750e01798570b0bd08e55aed3bf0a29c7e7370c2864a716a2d5786eb5dcccef0af2e40d94f1c6a198baebb4feed4be4f313aba99aaf24375afad0aaff3faf11e564ebf85713c99c0b1cb97e8d492451a66c14ab086f6e159f0927160d5aa8b45992ce582d12ea32abdb7d17831f7cccc0e226d3472a5ac9b30f91368a578073dbdefc268ab9a562b29c14c3e707ce61c4b21d991b477551802c60c526708b93bccf1aef3270ba3ab59ed80f953a46dfdfa0c7fd17a48961e9ab708821ee6efb08f6b87a5e9c92b195a3f1428e064792fee3d967e8f637d550563c829d458e5703f9b1ede628ef5405aab76e7c25fa1ed06e1f294c24059b70ef3cf6b6f091b875aaa0a5df16f02a6ab3eda7afb5204266f4e28eff23845b4689ee0cc8b2a95a12cdd65426231571c7cfcea0f2f6e2eaa4f8a67e20a825767ccee78e53ecb4661ae956997fc294dc94822cf09225db1fda109f394b48e6b6d431a7fc277ecb85cc5b21e1a9069b246f9b1dd5187e1466d5703b88a009ab568c05b65ab2ffe44cb13ee9b2c93122201889d1a4e726ddf4809fbecf5ad8d89776fe4fdf5023a9a7df391dcbcc3e65b9b85cb63e4a57b7aac2e60051edcdab442be24452548e44e1b685a16bc1cdfd9b2568993a7560bf50849d51acea0654433d4788b3816e9e1abc8b0908e5352922c03383533bd608dc86c1a2802ac5cd83d2958f00a470cd239e1e2aa7527affd5c2553d20aee4f0bc6a5a0b5ecc4c1051fa653d276b812af6b578589b210f86172311ec806f0842b62d8fead3e279cb90f2549ecb820135fd4fffc6feb570edf8da00cceac3a47da7527758c137f67e29832d566658fa6fe1c84f929256ac30d00a1b5f4e04b4775eccd5afb25b7eb506593fd0176ca708a425502bb5a60d545907e36fd8c96c6bef74851c5c9aac4ff65754126852ef300e8bb09c6997225934f0b921839aed044c0cc7f3794434a296893ee7a193e9683c9593bd69537ddf608a9b1310c545ebb11904f2a943290644d74e27f758e6323fce4530599d993d567a60ca5b6e61a3f9b153a1db6ad2ce1e86201ff317f3dba488f543d35fb3473c3b537b6783f719bc40780dd6cc26457bf8d0f115dc9399db9f0ae9dc3d36221e881e0a647220448cfbe07894f4723c86ea6a79f499009282a648c5e7604a3382842a78d9089c9fe37c6fe5aef5fbbd0671079276546066ff0f6b46d7f17038a142dd2ac0f7cfb050482b11ba1367e2f44dfdb31b951b111401c85b2cd851468b3068ae1c15e61d2ca1f1f659b1190f3874c3ae7c188a02f386e5305361c69e29437af6028fb0cd3e9b63f1974bcca2ae29c90f6b783457bf6e8e1ff4f1e03787fd152fe4c7b9593126de16697a34eb40a3251060a3886d6758bbf289379d288da4a27691d3ae49c43ede2ed153a09f6936513c4616b20b0275c6b1080c9a08e6e31129fbc4120f68c12c035f77016c657e8a95c5d6e623b4c665dd3ce4b718ebdae13c771db7921e6b5c6f26daa4c3919f977786a333a6b79ca45c0f2fe123854cb346877aaa75e4c248bfc4334218edbe2938d32e3fa36ef8b69b90d5f002b5f88fe70f5f13ed613c4ceddfc96ad56efff08dca7f24a2433ef9989138b70c5df11168a99003ed9b4cbac68988053ae760ae4c5a8d7dbac5c02cfd5f9477b1c7adcdd532ea169184d88ea10c0c0a6479cf4db481d52735fb73d2177d74796efffbfc925c6aae4c150883e9f67ddd7d10a312644949ed20c3166431cc309ce3a7f31920fc63239ffdf119b2b1cd57e5fe1541d132508686272374aff510363b1a602da39db2c4f6d4f9df6ae27693071e83046eddb01cc3f37afd58a8f02cfe909bd5d033bb4e4177b3a1287c67576cd86955968c1a150428c97375fe3ea90b848d7f45e119b814a9c799f51744ab7512c064c999ed4760b5209afca7fe714467d83e04f655c7edf72cd0b333c55370e529075b02a26e8b97f855c9973a19cba25743d3be64e23cc3d2cc17f744f44a413144302ed386d944d9739486f7aebe68d9f48dc67a962f08787dfd45b9af21a8e94dcb2406204e9bbfc6c1b3eaca170294412c08ba279cad53a45c45f6a3a6ef56d2d6312990744ce690d49d3075b3f2b64c956083398612f0987af2be5b0ec521fb60d97efd3ec38caef2be5dc52edc619b3c3bcd634564c9bf38d869065cc71b742c7cd8d8b7b003dd71234810d05217bb20acfec87fe9c365ca64efd1a3c028e31429e5af992149e5384471ec3dc6f3cf4ba61a5234cfb112a949fea34e92552e30edce92f5847c9c9cb43a478593d8859c6ab33e92a2490cfa5b2f186fd8950385b3735692f59b858498af229e47649811f9bd40a60bdb071dc275780feb604802278e479f47c0821cd8562801fc2024120205fa1363384d692a3c8bfaef7cd644e8d555e99e470299c44f69bba2408eab5e116da10a62935f6d8ebb276baf3a7e4da0e20642c816a59d868e68fdb65548959ee4e537d86301ebf05a28417f86847c100b335b62eeba4d794a00214728eb0cb8913cf8917e431e570ebd745737540c645182974ec45cae39176eddccd320db37c49159a0559c5c4299107d944af1dd4e32769beab5bcb772213e9cb31c0b2d2e64206e81c1f6180fd0d5d59470077629cfd77017356e5d8c59d46914848630ecf179e669f9aa309101ee9e3a2046b213d5ec56dcb524fb1ebe1ea5f09afb1a45e5d93df28ba4fd3e7604c138dd71824b8afe8427bfc84b31862460571121d6928cb84853ddb698da949555587c6e4bccb60322bc8232601e864759be7fb0bf96606f7b05b245d373845c0483255da0837383395e500346a750e169db540bb515ad954930c4e70b58180ec41f040853ad4fe5140f2ce16eca58132b6a6f58e814c9e2fe747b5fc179ed51bf44bbaf63c62ae0658a1c7ce31a4417e61ca2a59ae8dfe4b7c9ca4d10f8127b2cc1fed1f077dc7d7911fdc63bb5ffa1e240e62827e0c3510869ed46b883774a682dfeb457a16eac2673c742898863d11682efbfdd6c3a94b30b7eda666062c60e8fae18d6376fe9e25f78a4241f3972a6199d2dace71f84dd88b7155ffb3827c297e44b58a84e957af5a0bea2fcbab1e83a2ffe544468b5d03fab74a197c4a1124aa3bbd9cf2beedce15de066ff81f9539a7179de960f3a28d61e6bcc1aba58982605b4af6e1c9a3eb0419703bf74158203e5de0e6248884aebc74f87fba22b2e0b4ada6319cd48c1713dc879cb0d265f49fd5a82925cc69d381099a362fd8b799966938ce6f04a071e91563cddd3f7a52505422ec8b60d5415e5d8822bff4f393df12a522b6a3cc4deaab40b46a41810c334bade3c13964ed8c6bc1e701124b6d0436711a8720db0bf02787b9aeec5d2d3abf916a20febb6afcfde6d735d60ef5ccc00fcfd0fa341e2c593eb967952b9f7453d9cc03866c5a6c7b390fa655e75fc65cd1ade4b26ec71f4bc2bbb6bb32c46e73d6998ef0d4158f77698ed0c7e3d2cf77c0ea9901559133f5623ef06f65343603940b72a0b58cf37408cdcbae2a2d79f076df8a8579d43204e1c2c30aba3f6a34f6e2b7adff9e88ef32406f66649f9335f033b936d4a7ef3ce03b4f644b7ea45d058b258c6f0ca9b40e693896dd9d4202d28919a8cbb1d7575c9fe3e6e11a3062daa739e911fd6f4fd2ab5c8d4a9836810d96b6c5462bf2dc229e2ccee6eee9e5d95fc8db05fdc64a11bb8368eeaf1401652208dc030585f47a20d1518940d6b8add292b91a10fbb2d53150177b04bc82fb3155853589da073f8f51d04391505ee53401bfac2a65dc1affb443d02ab43902675a9c349331664dd836212a819a94e88c20676137aa2e13fa5577ada681699be423394740f9d71221f7d4a084169f7fab4d94b8d32342e161973e020fb319a25be773ecef85a00fb311f3f8f88ebf805efc6b3b61ba7b364b9c020111139fbcad50749e13b460f276a51137e5fbb0d8450bbadb85ac25301428a29c39bf4e7ac8a27903a870b04655734e85c7e96c9333bd1cd5579f55d63bbc046fdd888852ab23ab5fd01baee4f72d0bc6393440cb8d18ab5d0677b6696b0077ee49f48f536b7fd54eb84fe3e18f5f342efcb09848dbef173834b598be394dcffd729a5b457f63a128d9ed5627529babc93c34c542f19e25107c890813dd179792d34bcb55b7a2bbbee1088c4446e30fbfc228aab814d6bb1371f6efa97a141df3365b79ddcec3f55386a17d54d8958e7d86d2d72dd56b17c4d472ed95fce83137b5b5de868bcee0e7e60e405f452aa9f69235651f2c6034196dd89219a480e4fc51267b981a8347235e43121ad28cfb0c2e09348bb92f04cdd9fdc7cf4355966a7b57eef020b77a1b3fef8924cdefecb789bfcc975a91fd053668d4f08cdf1dd0ecbcfc573152cea40e2fc04b7986bb6ce631ba92ff22572e0b877a8f6b9e4f705b8042ae8a39f3d30c94782eb6ff6bd1dc9a6a3519d7296b61e57c94494467aa914c77211c089811fba275c75068ad97ee8ffe2ead329bf569640ec7e5151977d888806ddd1454613554da3555241ac879d6d7033968eecd7dd883bc22b20860a00aa21eb9fa6f715a6c7c6fc3fc9b0b0e27dc81dc2b6c3de248fd99886d7f746353efe7445fbbf63ba2c2f3f8e8c5316c1560457c11d0e992bb01f30f23f5056a32d111e3340444d7abc4c945a1a43e94045515331a7b2dfb267385cfdf8b8e639ec2586204876449bb6a47e111949cc2d547953ec3bbe581700d5ae6658b0ca4da50637493509bef956edb07f35bcf21e4bd5bfb3073b7cb26928f29390502be93bad3761302c9b7d8c4b545a4fb4094e8cb5a0727f9d601dbe3014486b7319eaa95d4ce39841d8c020da150580826ed036de79101f352d3977051a50d1fdfb6d7dcb57155274c5b40f67edd28f02d56699946d2b5cfd3402ea732a348fba49bf661c6cf1c660e04911b9e09e6df4c1857baaef63f38288572e767af6d26b816a06bace6f663000b11c8809ce1f9896c50cc5e1e394607cbaf42ea418005a4361284764ffacb7292343858f858d88dfc59554bbf33d2df5ba97c7572e0ca3950854ae0773580e970ecfd83c7cc67641560e277576f91b8bf10cc55bd23c3ea8c9d958b406c2c5938c84506ebaec4a79f01a04137a05fb42b053ccec430aaef91ab7408ca5887ce820fcb17c12a89f89adb4a0b21feaf6836d8807c3b050ee5b9392709813033cd747672af8f1703a9f9a3322087cd1929b0cec8a4cee14a9f0fe909711a953c26524f9d3887759b727bf9c6b17c937f87162094b864467c1cb8d2eb623f6e3a866c0317506841504d8d73d06e3652c6050ff5226333e60b3d7df0d68ff0e557b6289ae615c4be74fa83fdb87de97b7398c9bd0163f5df4b4fef7c3c3091fccb4c17983b839a36be3811e53f1b991c44926c172c5fe5045c06e5eb0c4f54579f6b4bae5ae2a7a2ad0a727b4f3cb5fa64e2270b5f929f8e44104c8cd412c2758fc0df6fdb3c3b6d0bb69d2c7f1f1a44b250fef5d179669b62e08054bdb3da56878f086c08c05314acc94fabcb9a2f3ef692aa978a9ed1c09dc5d8e22ef9a4e15ae5753ea23374a5e8b4441504c115020a2a5ee490c5c7d7f23571d4f33075d5951fc5c8f0a07e0ada3ab02ce3a316d42f505f1aaf2bc197bc33ac0d3790b303f792de46a4eedc91dcae4f09aa4a9121988e31754586e999f4e224bb775333c1629233593365e88624f90d71fb946371f133fe695f9bab75cf61a24006a1a1d041b91c04eb32a6097d591f415e591b9db68d9ab1950cf3268794fee2fdc6be069de4137f07499578a0832abd112f1f7abf538469dc258004a1fea09624e066916960b096b2db8e40661395720c1f8017dfee21139f0be2ad8f15fd3c48e3ff1c553125adb66dee7195e87ee8abf977ae8c79947a21391c6f7bd052a969da5c5b817e6afffa2bf51866bdf172bc4f89bbbd344abf6e4f9a0cc89dc2d54746e2b995f1077900c5c16000135764b89e6ef11873618e1a1b6092170b2a606bc7cc7c752bcf6d419200a3c4ba81170b4037dcfe4f4a59fc689b404dd0a9f5f96eed4175ce9ae3bd559d9bd297d3b48e8a62d0b94d2e93c803193372c72e43bd43dfa205dfc89985cefb64626bf12e93938c3fd54351e67111b11dc22e9155be72d5122151afd65a2b4fcba41af77e541a089ec717bcc39119e75cf6193b0f0bcfe6a8c4f1c68eccf859a77d765ab67c57c57ecf3f043edfbde54c7a94d17e10f462fd3034154f87b240545ebcf797a69043467a3806d33c1af198345eecdd189e8d24552263c8c9f3fbfb926f852f8d1656d925e95a5610131cc4591181d714dbfcd5848f5b3f9797b74e51aef4f0c4389c46e66b6e96cef508f6dbabc36fcc68546b4447cb6829b7419bb7acfc72e25e9cc6ca6338141c0943d0d8274944b91cb6ad82e3c6da436182157631bf9607c8f9e44b124a9e308f8274cadcb6483d3760d139af4fa415ccf6bc236829255669883731a86bfe5ff3084bdbdc91056818b9ea8db0c90d3a9cee3c124989ab0e062d486c0799b9cd1f15fc6c3a6a994f71b01bbf2bde702bb9cfe23c497cc1cb1f69f555c923432c020fdeea54d669e914299778d16ec55420d3ac7492ac2243d03ff61b72ccd1c8414e5facb90f3e8b3dce469854e69753987cfc6d1fe68f09bd4b9f68094e5d7fd4e5f1be140fd351989218feb94e5ded7c72e023e2cdf6cec17265ace87efe059bf9c75c722b68a83a0cf099a9a91535edb328d787fd3fca70db54d8ec8d49e09cac103aab9e2e5ef356fe60002d6e41f7012db3a5204aa08d7444b17718a35536854f16d31a700b147f065e258331e1a516d83c07e2ff92b9dfd0ee78c33db04d123e963eb14ebe2cd9326899c7590ee754b9bab188db922186629ceb80dd54e7df809148cfbeb5fff21103794ca5e36f78173ec86544d716e4d963561d10b38a357bd9c5beb8f85ece80b9b129ef6c61946b192e3f970e99d4e7c983a28ad993697971dd1a8594058b843f6280a767c1856a1bd16930999319750d3187029dd8f621b5782f6c9b6c07a70662430aa1ef6f17a799574920f16f802d159986f1c7aa85e234363c1d1a30d6eb3e0ff70d7b270ff5032bad3c326f02738c3ea64231129dbc9c44c0f0f2cfd97c92fb6cfec02f9e4c77d35372a27959cbdd131d6ee8f3794c1c7cecac9e40492dec50a6472f8da0f3570be1f258659155c0f7fd4ec61fc9cedefef58818d9a43fec6f1385b6c62ee0a482124de850aa673b132f27f45415ad7e74ef1a45b5ea266411f3c167e3b691cbd9e9a5ff0bad7dee0d78b17cb9091cecf30792d08e5b7863ad566c7d51839de4c6d9cabbe29550e147c33c8e9420b02fbae820cfbe222c1a6118f5a016406aef9988d9f612bedb7f388b6f9db43950ea49b3b97133d905eeedf02126f497ee507cc101858130ce6e91aa773586b821ea7ec1d5a0555d07",
+ approvals: [],
+ created_at: "2023-05-19T15:45:38.888681Z",
+ updated_at: "2023-05-19T15:50:04.116535Z",
+ submitted_at: null,
+ },
+ {
+ id: "pending_transfer_id_1",
+ status: 50,
+ creator: "ronye+3@cryptosphere-systems.com",
+ rejected_by: null,
+ address:
+ "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
+ amount: 500000000000,
+ memo: "TEST",
+ min_approvals: 1,
+ signed_multisig_tx:
+ "4d6f6e65726f206d756c746973696720756e7369676e6564207478207365740184086ffa130621f06f5500fe220300982b08ccb3755c1fa0acff8302dad1f1e7d8764b7f0e62ba802098feef26e81d868a19e7616dd009455f500fc63fae5357c19843da054967e5a2d339cbd687c44e9ad2fa2cacb75f090eaa29265792728c5c2f0f639e85c691c808906b028d3f5edf9223d2537ce183e10978ab26613d185f47557381500fd6204b5f1f1e2415a8ac6cedaccfe8c389fb46b7dc3126a305e9c0bdcb5c0e0433081859fb5cc7d06313f4b9104240e83a1a13568b1d18c019825ef3b159382ec3c07348ead94d8ed6dc75787202e62d2e879df585e5ba862cc554cc0ce6675aa7fb81609d1e1fba1cca1cd1d86616cfcebb9c51a7f28e0be3605f2a172d240765e2333661f80aa0bb2d1eadc5c9a818ee61abfaf570cc0445f2321e6f0d43b7dc572840922be70834893330a12f43f518e7b101128c002841a512062b15dee995f608b962676c626e1e3af9454dfa1a260bc4bdffa19b133913d90b329af2d0f2a1be5356386f877dc876f9a54ec40012c733c6d464498f2c3d3c645b74f4fc3db3d8759fc54905fb2aaefdf118349b02694fd07778f422fb266f1d0fcd8a0a0fcd6a0f784149a04e05dbfc46eada561cb65f6dfe0b2f5a22cea6e7e38a9e52e7077a26cc34d4a63ce4c4d9d87c0ccd1b00a642196772eec627f1a08c45c409d88d83d641be562db74d011014ff16c300462906f413e96191026f2979397486043f0b158ac98375b6585f17d6e7a8ae0335e61c6e7b1c48a8b08363beaf14c15622ea80da1a4d2cf57b981ec1b6d02631cb5bb773eca11153c616025a6228fb955c892601725dba792ffbf53a694ffb8996084a16fe0f36070f6fcd26c1ad72c43c11a09670be6e50e9532995e7125516dab01876ed65cceb1f121d1afdb1b8847b318c89ef293e11ad32c8e93287790737f281299a9530c61b9eb4fd100769f3dacb3b62cd0837e583198bf2ef779680ea8dfb50ed4e25cd92e19d18c22405392c959cbb9df53285ba1534815a9b2623fa9fce83a4554aeaac04a3bde044ada7dd1a523d06e344d0af8573e3e625fe5ca0573e2849abf26f217e7ef84e5db7d044c213eab3f68af47139908d12374d653d8495882e32185a3dec3d03a4eb5227da3d027b22c5ac62d43d488ba848c824f23c0cde5761d4d99fef104f4de1a96d783cc1ab838ac6fd3028eddfee48b66e2505d911fcaeb1e46e2ccb86659642eadf0f7b8641e1db405c8381e33533c4270d16bc728f566433f713ab70667ba43903ea1604dca83275389beb3236aae0cc271ca1da560fcbca8247534031a4a3f4114a53134e27dbf2a595b94ad656bd6d6339019dff401794ef40f0456eb00d1e4a8b3d3d61cc18f828eb70d5dc309635417d2f705188fcd4bd941f76d7844f450204fd06919cd725864c6b60a3d8e79a9b3e42ede50745c814fdd3a30cdec6ec19e574ae9ac9c6a04faa23949c9ce35019b2ac6ef279b0f63b9d8dc7249755f3252c728d3e4a4c7ae0290c9f64633c5fddc0c84d41bc822de07a6b2fa5495c1f1a46faa3b2f564932bbd11d85dbfc0384c3b735753fec3bc0a218cf4e3dc850d10fe1e5ee2394977dbd10085f4a64db588ed96a34442698ae652867e8d76354a02b49ffd9f63c3be6c638dc5836a886e478a15805082efb442e5418e30204834755a94f0b82e331b663ad659300f07a75288fa3efb7a0cb0982a2b561b7571eeb8fe777ee88b6c8938af5ed68c33209bd51cf54a8bd301d60c6799f318d667da9f4f6ac7390ce7634b68113cc87809879ce09482d7a3a61dfad0fdbef8f46dfa1b1665ac5c3bbf608860b96aa959e7d54da03846bc6523abf1de439be67318d3b577a03d330d0cb696cf9a909bf7977ae63743a768ed3a1a1f4a3799b8ba05e29ce0a58947b1fb282ba3fe7e8897da43a5cfab48daac8ef76f22a96ad3153a357142e5ec0effa8f8153fca6dbfc0dfc4c7cac45114ad96bc34329d8baf48b92cdd0d9e7ce6bc0cf73748fae2c6fba3af2e8ae23bcaa084be55be7964f43e8f2d09ce989745586ec73967cdcb0348959f33ba0dec7f2f810a578d395a673674583bb8f1a33be9bd4a04034f663c17d85b2a1ca67563b86ee2a0fe645d4157b812065e7f04c06155fbceaeae03244e85b72d5c8c5a5b0fa14fef594e3bc91ecf7ca70dcdba12a08a88008c72fdd2cb17dff16277dbc11369778fcedbd4af57f1d6bc28b5af51d291a59c113d8a4b3e40a033609b9061115448ad4a077fe115b4885a49db916663b56f82766cb0ce053e91c08cf928cc59f2c1a3c54cfd7b035698805097123b3698f3aaa1441f01117b63cf1a6f945d2e5b4ae568abbc6df37d196520b6eb915bf930164ca1d9d44adc95f945d63a5da4b0ff9d7dfb5b50b55b7884de7d2f27307e61f917833405774e94c0456fdf30b713815da382d0300ecae589a9a920f9f1803ce068195aa3a1deb3f2f1574876ef5022bea312d0ba364f9ec3b91071f4d514ae5befea355a6863f5491d5506166c3fb00387f6b600fcfc5389a3a8d1897c414ab6395f995f17ee854f563ed6a633b224f64af5d59227477bb3ecffc57a695eadc5982d535546eecb2997d497c5d19db6522cb6405a4326f476f16420860f93f4fe2f1a884996e38715b7deb340f8bd5123cbe380562a424863c28053ea3820d1d77eeac78e3bf9d38929d9956a70cff169c051f26658759d6ec465d8a80d275c045ca067799066350a6b37b7f5cd92fa39d6828855b0bb63b92c912c623f3030998a93baa0a52664e694b39719ffce4d1d4dcf2c7a11ad6a425d604185426bac1666a08c8b704dc9a012dc6538a35f33cd70d1aa87ce10f3045820b93b7f39e3825c9232cf22dab08c4a705fa1c603dac40ba5b522c3cf6877fb21129680ef4dc4f002afbaee9ae6e7a7982f49befd8c183d7f96952d8ecc943ac52b5c6e6c2d8792ff3b79096decbb445397b7f95e81abdc5894b9ec64204b668eba0cd8204440bade96bc3ac27cbfff73f46844ab6bc37281f0da437db98e49944eb5a817fea9ca782bed01c9598272642607d276ae070e540c1db2fa3206b1e4e3593e00ee91ff23847494ad813a040cd7c93b3841e8619db26a73ddf7ae4664befbfd23250fbb38245e568f6a103a6b5fbc0cf7e78025fcb951c5cad9ebb19d44a5855254b93b1590b32f897220b32e67686a54090d3bb8451cedc86115d31ef59b9846a0c9b156a99325ee77ff5a9b430ef5ce68ca1613591819a24b772341e5391449c1a38cf4408d61b970d2368f837f00a46c5e0c62b20bc3fcb29ceb447621e34552b04c0c40cca9189fce5e8c8232a38618afdae45d3b6151b912aa547244b56f66d7d0eb3ed2d48c84bf56814b842ec4961743879030baa5ead66acbe29ed8a7d6ea7800edc2ab60bebf98eb7640e8465b9eb9bf18753ded610b271344e73845687a521271ffeb4d150d1151bcda0e6e13d85c63534ce01c0f5247e9cd157ad176b1e180e0e0bf559948c76a630e4b7064e7188ff58697e91b1e58869a6afb091d46faa0ce39c47d0751297b30c60a725a80de338d6b0b9b77577fc90251987322e3b5d9a1a58e2d9ae7ccc7978c9d5b7780ccf66a912bf2f1950f61f0a88505a7564b0a73c5d6fc20bece38cdc864f1c7e36710220b9101f0c3ba2ce63014afb744e45a97b5514add679f8e776cb1a46adea0f63730ea9cdba94cb8570e1adc4ee79c69cf2ef485a4ea15e38ddb55192c74d6db7b0984eeb4a4c4fca5563b34e7c5a2c1684475ac50ea7f3b358a74b68ad6f7cbb26098dfccb239f12263044f79c2a311cd05610bff8e15869a88f197bc27344d43fcbbcc12b1c2a9f1fe184face481e4249d9962b73175d0b13f7a50057687b9f7471f8f225e65ab2acd51ba933e65bd429e8029d19d9641f6b7d08868718a37383a66ba84224854f589e27f6fe7972ef21492ca7a0d265f59d8256c6429cdbb65a52f809b3d8ff19ed8d6dd29bbcc61c32b59f97e1d298ce98f1fe75ca947a473db2953075099e0f0ec3dcce7f13944d1e1763fd3f7ed4d696a7f4177fd6b70325cdf3cda86e3586ddd74468d617808276981c827a181d3cdf30352a3df8838e445be0917c633a10a747ad2380b4bae427bcd719ae490efdc3033f3d8327dc0e4e027f54c42d91285c2e5bdfee6bbd7fe7d21d623e56c50712607979da1b6617ee53ea1b581a1fdd395fc33d2b32a6161f67f10c2038a61cbc3a8e9ce036e74ccc5d8a215af250f6fde47a7835cd43f14c780f6ea0b886586f8ffb717fa9e2d60c951ae3f1aa71416417075975afd0dcc277af63e03bbd7e4e8470b99f8b603d0a1aa7855b83c35a19e4ea6a16c46854c72633d232dfefef4afb0a85e8d108816b21f37acfe99ecfa29687ef2b61c9697cbe96d62d9555c964432cce085bfc6b8cee655fe4c5bfefcf20fc6d2ad3625879e6d167a71cf403f83e5326736856c28c42158f5676a63ed7ec356c625607f961c4841ee7a270164c4348c6b2bf9c43b6751bb235fefa2bd4355fe2958b5e07b2f988c856c02b2e96133914e6e33bcd99edd3c7048f1d813685a494258d029af0c4e84bf755937b5a7ce8624b3dac3594de904c1ca6553d9c398ef1cc1a389533bbde4af7e62c8aae58632dd2a8b02eccf3589101c5b071d801d0c7fb81b804a266591788eb31665441d886ed3a8a7a84213a7064c2f66c95be4c35f0ad763ae6f021bab048a27fc57e9015844c92a3a86776b611c890f76ea8a297263d8e4a466d446885ae7a5c097c2576dbff0da8791cbbbde391d3c3c0f76ad50f23c7688d1d836737fc204c3a0f4153cbcec820e040a405ce5388816e743c18c44f35f450f3e9c3974fcdc5d1fe0b055bdfdd09c54c5fb445928fe340700d6e453e9f4be0eeefeab64b9fd7bc29837a42acbb5f504fe5722c03666586825943f8a18ccd563d5fcc34326122473e6dc9ea04516942edaeb5228cb5502ad2ec0243602ea6e433a7237acae5ae2e18a226e254153a037f4793d37192ee609ecf5ba44331f0ba629c0ad21b5a608e048eacd1a67d7224b048250f7bee1b5133a34bad925dc9d04c57148f9de183a429d0c9c250ead5a6a9d0e3cd8572c84f26b2e7ccac1ac1540fc2e73cdca9e5b3be1c4d8f55b3afdd92d9bd09c931fc4d595a3ad2aaf3bb6a22a00106904fc9555c574afa6f68910d1588aa9a7a9c6d75452669cb5009b63a19052b59709394d6db185512a7f6457170ea115ae97e59583881d0619bda85b68b4b75f464db5e0ba9c6c49a009c4a0cc36cb11da7d9b326a65847248f1d83b97413414af20a9e693a55139ec96c0c19477d1ac4cb4953053febf1df29e8aea6b78bb5cad9a1c814be3db7dd3246676f021d604b67e0fa2c3e50b5ad9987f2d58cc048bf8cd188253bc69d6e48cbd4ccd4fb1b37c449325314ec3e7aff52d14ce54e72d43dfca25ce554f413feff8a8570702f100f2ec48d7c102f6a1154dd5d808f37b5487d9c17b29f201167ed1cd7a5b12cc56f09d27b130f8fccb51357d80e46d8fbcd65cdf308d9285416f838dd649e76b26e19dd464879786048ec61ddb22ac10bfc6145838cfc0da530ddc499e8e8d74d52255abd2f4eb82df05772b4c64b7bcff94a2450ffd87adf47e8da9372e97309e9eef07408426c999ad66efd3f4ae2d31228c77e4f88e5838ebcd471546ac9c7cf6f599614c3415a24b2257bcdf8584c06b9bdcf3b58bb3c9133633c99f7c0260c9521192c28b6e221fc5ecb967536ba98bc59d2fe0320f62d8fe271a6b54ddb2e7e04e85647b6fb98b67bb440311d691a4d08b85c64e62ffc2a02c4ba28212ca510c484c05eddef28ab74fd837b3977c72cf832d3f575750ed122f2d80bbfa88246c3e44eda7afc53dd52badf6f86baaf2b2f75c895f8c7f15e61283e06a53ad109d0236d55381eeb4e05f6d11bd1b8f13fd92ca6c919841a5201073d1ef7575ae51cc3b0621a369848334d2fa991e2cf5fb7a1810d9871faca15d46720427d2067727a5e2955053c064d11e71afa98ef7b7c5c6530c295f8b529d91e72155179186197bcbc1a958e1ee603b900eec9741cba88878a46583c4b0b69ea41d54de6a101ec156a3f0a169f03585719d1fffb788c2f56bf8dad375717ccb4f7a5a471ab34225883fd0cb3a53eecb81144c3a73e5dc00a5790a7093ff7241fff8e1d4a8b54be2ca250aeedb3fe59c04d19cc285563555aa3a910524e89efb76a63eafe25d0b5ca280421da6aa552e5c89e116fe6fdf267e8d1f7198fdd624d62f36e069d7f4af3ad8c5b055450214a4d6c7365438d685c1668d4810da028311fd8100874f9534fd9533d1a1b4ce1025238c485dda4d24742f8a2df951c142eacedd9d7c23be6eb31efdce27e1ba4b215b605ec24588ece6221eb47574846adcae7f0615e88dfa5c261a4857654de2cf3614315a6aa93f80a0dfc21ab0dc69ae14a13d048bc6555f628e347ed2276bdf424510caceda4af35bbdbd6d0f02c90a9bfa8fce5ea497ae784bb7f9726805f8799dabac07f6604468879ceee0c7db4a122c0c18df8bc885a98296d94d0c817d0e05a473cf32d160e9a2ef787e1cd540617f9cb42041ab93fcd53c412e40b8a6ac99def8117165067a1262b253e948f0f9e6ff60fc71742de4ef73a4c8dcee31b75fff38257c31c77ce458de45735938b5128d7dc2f0869da84aef913eb169b857711daa05bb30bce108e8209d817e41a884bf5aa6178bc13998d1fd0c4609371991d75bc645227ee243ee42065e4e366c8dcd97bb6ec2305e8ab444b53a3b26d870837d7f147e38d769f902b20a7d568a2191d2cd1b70e31d6683b4b9e4bbeed40bf26a33cffc49075b240ea4ff96982bb12b81c5fbb3dfa6236e58b622fa3b300f9d2bd587c8aa1b6aa0123d80584e42fa53b8c005d484251c49a4d87d7ba51847701fb78b3f27f73da8a2e1f6482b7de2a2d81e9ffd3f0c44f1b3ea17d9bf7a9e5f8d68550aafd6d6f92bbbb9378075b34362e9fcb3ea8d2d00e8805a46a407d7d6fff00b43909df3c06eea7d8dcf45ed37dae8271de3553298628af0d8ec65dda5d2010593446c8b21a1f073f79e272ba4c3b70ac8b42271f39376d73bc70b0f212d96b66238a04039015c45b165878b559cf0242f1d9aec9bfa677bb96ff4b70687b427e5c1e843c315c5fe9eb5862e02165b0049f2fc0b60305609aceeea57ae25d3da38d34751598a3bbd6d7927b6299b9417e5c679b9a6aa1b555f11f981750419777d6e81cdfc9bba940abe56541232f602596d1a08eae0a52d5ce6575d9186812e61d5ad9a2a0e3e98186601a4945e9954d339c0165434102bd6e1e6f8283d02c673ec57905808180a2f2ec1219d423586a548b50bf162f6b5564a8c7dcf5987db6c005b94c783ff71d0e033e5ccf7e0c5f8a32c9c89c33f45a3f76c9240860a15ea579c7cf0ea9837cd363872ac023a32abea3a272fd7f3347a5b41666638cde984a316c28b1e030ba80bb8541296d4a591d91e6638ddcd8bdecd561eca080e6430e4f8e5e4f69c26dc7a82278bc3d672199f041cce02fee8eb9c301d5c5f9819af1b338d30e532a61ed95f43403c6eb35c5cd09618348a036d1e3b84cc48f6b50a849a0286e10ff49d18fa83689a8e4580cacccc57f6ba5b0efc3384ca3c318591ece8a8ada13e359a5988bb3f21460ea200903045f3376300",
+ approvals: [
+ {
+ user: "ronye+4@cryptosphere-systems.com",
+ created_at: "2023-05-09T09:43:41.678553Z",
+ },
+ ],
+ created_at: "2023-05-09T09:43:00.275555Z",
+ updated_at: "2023-05-09T09:43:41.680589Z",
+ submitted_at: "2023-05-09T09:43:41.680463Z",
+ },
+ ],
+};
diff --git a/src/__mock__/wallet.removed.spenders.mock.ts b/src/__mock__/wallet.removed.spenders.mock.ts
index bc8b982..87a50cd 100644
--- a/src/__mock__/wallet.removed.spenders.mock.ts
+++ b/src/__mock__/wallet.removed.spenders.mock.ts
@@ -1,8 +1,14 @@
import { WalletRemovedSpenderEntity } from "../entities";
+import { Page } from "../types";
-export const walletRemovedSpendersMock: WalletRemovedSpenderEntity[] = [
- {
- user: "ronye+4@cryptosphere-systems.com",
- deleted_at: "2023-06-01T14:16:44.774923Z",
- },
-];
+export const walletRemovedSpendersMock: Page = {
+ count: 1,
+ next: "",
+ previous: "",
+ results: [
+ {
+ user: "ronye+4@cryptosphere-systems.com",
+ deleted_at: "2023-06-01T14:16:44.774923Z",
+ },
+ ],
+};
diff --git a/src/__mock__/wallet.service.mock.ts b/src/__mock__/wallet.service.mock.ts
index 884fd26..350c99c 100644
--- a/src/__mock__/wallet.service.mock.ts
+++ b/src/__mock__/wallet.service.mock.ts
@@ -35,22 +35,26 @@ export const walletServiceMock = createMock({
getPendingTransfers: jest.fn(() => of(walletPendingTransfersMock)),
getPendingTransfer: jest.fn(() =>
of(
- walletPendingTransfersMock.find(
+ walletPendingTransfersMock.results.find(
(item) => item.id === PENDING_TRANSFER_ID,
),
),
),
getSubaddresses: jest.fn(() => Promise.resolve(walletSubaddressesMock)),
- createSubaddress: jest.fn(() => Promise.resolve(walletSubaddressesMock[0])),
+ createSubaddress: jest.fn(() =>
+ Promise.resolve(walletSubaddressesMock.results[0]),
+ ),
updateSubaddress: jest.fn(() =>
- of(walletSubaddressesMock.find((item) => item.address === ADDRESS)),
+ of(walletSubaddressesMock.results.find((item) => item.address === ADDRESS)),
),
partialUpdateSubaddress: jest.fn(() =>
- of(walletSubaddressesMock.find((item) => item.address === ADDRESS)),
+ of(walletSubaddressesMock.results.find((item) => item.address === ADDRESS)),
),
getTransactions: jest.fn(() => of(walletTransactionsMock)),
getTransaction: jest.fn(() =>
- of(walletTransactionsMock.find((item) => item.id === TRANSACTION_ID)),
+ of(
+ walletTransactionsMock.results.find((item) => item.id === TRANSACTION_ID),
+ ),
),
sendTransaction: jest.fn(() =>
Promise.resolve(walletTransactionSendResponseMock),
@@ -59,7 +63,7 @@ export const walletServiceMock = createMock({
Promise.resolve(taskResponseCreateTxResultMock),
),
// submitTransaction: jest.fn(() => of("task_id")),
- // signWalletSubaddress: jest.fn(() => of(walletSubaddressesMock[0])),
+ // signWalletSubaddress: jest.fn(() => of(walletSubaddressesMock.results[0])),
exportTransactions: jest.fn((type) => {
let file;
diff --git a/src/__mock__/wallet.subaddresses.mock.ts b/src/__mock__/wallet.subaddresses.mock.ts
index 182d13d..b66d581 100644
--- a/src/__mock__/wallet.subaddresses.mock.ts
+++ b/src/__mock__/wallet.subaddresses.mock.ts
@@ -1,34 +1,40 @@
import { WalletSubaddressEntity } from "../entities";
+import { Page } from "../types";
-export const walletSubaddressesMock: WalletSubaddressEntity[] = [
- {
- address:
- "76uezxqTYhV4bKaHAs75cZVGBDubdBuqjdMhxQnAHL3mPPKG49ifGZf4XShHX8jWfg6UAGP6LsRJ7awAVGREV1nfJG6XzWX",
- index: 2,
- is_used: false,
- created_at: "2023-05-12T17:25:15.551Z",
- label: "",
- signature:
- "QWA8/vvuwHSe04V5lIGFRgQ+NTNjLNuAaLPkRWK9TwntTijSXPon4AuUJQFf2eIgWRthqFK/yPygn8jE4u+LDA==",
- },
- {
- address:
- "72wCuVF5ZcA9Rcq1mT7vi9GZ252JcXGWRMyAf8t2Dh7PfdFdWm7mKhjGyrnn8vLYxMeHaTd2wJ2DZQAghATtTmXMSu5kHGX",
- index: 1,
- is_used: false,
- created_at: "2023-05-12T17:25:15.551Z",
- label: "",
- signature:
- "zIGsR2gt+lA18rjN4dm32eRfgpgqVwwL5QxES7xow+gPEOX24BieZrFvXUmdAphOFT3vbumxYOI20a5IEl0UBg==",
- },
- {
- address:
- "79TA6cCbmfJbh5Bezm8yoKQxM1MYAtGtuBtqSp6nMNqFZJcUxYFHrc7icqecrksyHqBWcC4cFbJ9KS9ENvNVMWX47vLjuU7",
- index: 0,
- is_used: false,
- created_at: "2023-05-12T17:25:15.551Z",
- label: "",
- signature:
- "RCc3h2eTRVlfgEmGVhH0PAhonOPS66Fugz8ScQlSiQ+AjcYTVhMgIAE8/CEoN3wBgJVCYuHyQl5LTY+fmTFgDQ==",
- },
-];
+export const walletSubaddressesMock: Page = {
+ count: 3,
+ next: "",
+ previous: "",
+ results: [
+ {
+ address:
+ "76uezxqTYhV4bKaHAs75cZVGBDubdBuqjdMhxQnAHL3mPPKG49ifGZf4XShHX8jWfg6UAGP6LsRJ7awAVGREV1nfJG6XzWX",
+ index: 2,
+ is_used: false,
+ created_at: "2023-05-12T17:25:15.551Z",
+ label: "",
+ signature:
+ "QWA8/vvuwHSe04V5lIGFRgQ+NTNjLNuAaLPkRWK9TwntTijSXPon4AuUJQFf2eIgWRthqFK/yPygn8jE4u+LDA==",
+ },
+ {
+ address:
+ "72wCuVF5ZcA9Rcq1mT7vi9GZ252JcXGWRMyAf8t2Dh7PfdFdWm7mKhjGyrnn8vLYxMeHaTd2wJ2DZQAghATtTmXMSu5kHGX",
+ index: 1,
+ is_used: false,
+ created_at: "2023-05-12T17:25:15.551Z",
+ label: "",
+ signature:
+ "zIGsR2gt+lA18rjN4dm32eRfgpgqVwwL5QxES7xow+gPEOX24BieZrFvXUmdAphOFT3vbumxYOI20a5IEl0UBg==",
+ },
+ {
+ address:
+ "79TA6cCbmfJbh5Bezm8yoKQxM1MYAtGtuBtqSp6nMNqFZJcUxYFHrc7icqecrksyHqBWcC4cFbJ9KS9ENvNVMWX47vLjuU7",
+ index: 0,
+ is_used: false,
+ created_at: "2023-05-12T17:25:15.551Z",
+ label: "",
+ signature:
+ "RCc3h2eTRVlfgEmGVhH0PAhonOPS66Fugz8ScQlSiQ+AjcYTVhMgIAE8/CEoN3wBgJVCYuHyQl5LTY+fmTFgDQ==",
+ },
+ ],
+};
diff --git a/src/__mock__/wallet.transaction.send.response.mock.ts b/src/__mock__/wallet.transaction.send.response.mock.ts
index 8213185..1c19b1f 100644
--- a/src/__mock__/wallet.transaction.send.response.mock.ts
+++ b/src/__mock__/wallet.transaction.send.response.mock.ts
@@ -1,9 +1,9 @@
import { WalletTransactionSendResponse } from "../entities";
-import { taskResponseSubmitTxResultMock } from "./task.response.mock";
+import { submitResultMock } from "./task.response.mock";
export const walletTransactionSendResponseMock: WalletTransactionSendResponse =
{
requiresApproval: false,
- data: taskResponseSubmitTxResultMock,
+ result: submitResultMock,
};
diff --git a/src/__mock__/wallet.transactions.mock.ts b/src/__mock__/wallet.transactions.mock.ts
index 1d836b1..33bbddf 100644
--- a/src/__mock__/wallet.transactions.mock.ts
+++ b/src/__mock__/wallet.transactions.mock.ts
@@ -1,104 +1,110 @@
import { WalletTransactionEntity } from "../entities";
+import { Page } from "../types";
-export const walletTransactionsMock: WalletTransactionEntity[] = [
- {
- id: "transaction_id_0",
- amount: "710000000",
- timestamp: "2023-06-01T10:04:27.000Z",
- direction: "out",
- fee: "136980000",
- confirmations: 101,
- destinations: [
- {
- index: 0,
- address:
- "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
- address_label: "",
- amount: "710000000",
- },
- ],
- created_at: "2023-06-01T10:02:14.431Z",
- memo: "",
- tx_to_self: false,
- },
- {
- id: "transaction_id_1",
- amount: "7100000000",
- timestamp: "2023-06-01T09:08:17.000Z",
- direction: "out",
- fee: "137070000",
- confirmations: 117,
- destinations: [
- {
- index: 0,
- address:
- "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
- address_label: "",
- amount: "7100000000",
- },
- ],
- created_at: "2023-06-01T09:06:18.810Z",
- memo: "",
- tx_to_self: false,
- },
- {
- id: "transaction_id_2",
- amount: "7100000000",
- timestamp: "2023-06-01T07:51:06.000Z",
- direction: "out",
- fee: "137340000",
- confirmations: 114,
- destinations: [
- {
- index: 0,
- address:
- "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
- address_label: "",
- amount: "7100000000",
- },
- ],
- created_at: "2023-06-01T07:50:24.560Z",
- memo: "",
- tx_to_self: false,
- },
- {
- id: "transaction_id_3",
- amount: "7100000000",
- timestamp: "2023-05-26T09:18:54.000Z",
- direction: "out",
- fee: "138510000",
- confirmations: 134,
- destinations: [
- {
- index: 0,
- address:
- "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
- address_label: "",
- amount: "7100000000",
- },
- ],
- created_at: "2023-05-26T09:14:03.026Z",
- memo: "",
- tx_to_self: false,
- },
- {
- id: "transaction_id_4",
- amount: "7000000000",
- timestamp: "2023-05-26T08:52:15.000Z",
- direction: "out",
- fee: "138690000",
- confirmations: 107,
- destinations: [
- {
- index: 0,
- address:
- "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
- address_label: "",
- amount: "7000000000",
- },
- ],
- created_at: "2023-05-26T08:48:18.465Z",
- memo: "",
- tx_to_self: false,
- },
-];
+export const walletTransactionsMock: Page = {
+ count: 5,
+ next: "",
+ previous: "",
+ results: [
+ {
+ id: "transaction_id_0",
+ amount: "710000000",
+ timestamp: "2023-06-01T10:04:27.000Z",
+ direction: "out",
+ fee: "136980000",
+ confirmations: 101,
+ destinations: [
+ {
+ index: 0,
+ address:
+ "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
+ address_label: "",
+ amount: "710000000",
+ },
+ ],
+ created_at: "2023-06-01T10:02:14.431Z",
+ memo: "",
+ tx_to_self: false,
+ },
+ {
+ id: "transaction_id_1",
+ amount: "7100000000",
+ timestamp: "2023-06-01T09:08:17.000Z",
+ direction: "out",
+ fee: "137070000",
+ confirmations: 117,
+ destinations: [
+ {
+ index: 0,
+ address:
+ "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
+ address_label: "",
+ amount: "7100000000",
+ },
+ ],
+ created_at: "2023-06-01T09:06:18.810Z",
+ memo: "",
+ tx_to_self: false,
+ },
+ {
+ id: "transaction_id_2",
+ amount: "7100000000",
+ timestamp: "2023-06-01T07:51:06.000Z",
+ direction: "out",
+ fee: "137340000",
+ confirmations: 114,
+ destinations: [
+ {
+ index: 0,
+ address:
+ "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
+ address_label: "",
+ amount: "7100000000",
+ },
+ ],
+ created_at: "2023-06-01T07:50:24.560Z",
+ memo: "",
+ tx_to_self: false,
+ },
+ {
+ id: "transaction_id_3",
+ amount: "7100000000",
+ timestamp: "2023-05-26T09:18:54.000Z",
+ direction: "out",
+ fee: "138510000",
+ confirmations: 134,
+ destinations: [
+ {
+ index: 0,
+ address:
+ "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
+ address_label: "",
+ amount: "7100000000",
+ },
+ ],
+ created_at: "2023-05-26T09:14:03.026Z",
+ memo: "",
+ tx_to_self: false,
+ },
+ {
+ id: "transaction_id_4",
+ amount: "7000000000",
+ timestamp: "2023-05-26T08:52:15.000Z",
+ direction: "out",
+ fee: "138690000",
+ confirmations: 107,
+ destinations: [
+ {
+ index: 0,
+ address:
+ "7AsgQdjExEwieccaBhuBUThTJmJ77o5BeACNGCZRGPJbSGYhBA7aG9NdYbtGAKs4PWFrkkMZGzhPiDpnw5bxL5nQQw7Rq4v",
+ address_label: "",
+ amount: "7000000000",
+ },
+ ],
+ created_at: "2023-05-26T08:48:18.465Z",
+ memo: "",
+ tx_to_self: false,
+ },
+ ],
+};
diff --git a/src/app.controller.ts b/src/app.controller.ts
index 96f2032..3020654 100644
--- a/src/app.controller.ts
+++ b/src/app.controller.ts
@@ -21,7 +21,7 @@ export class AppController {
@ApiOperation({ summary: "Checks the service health" })
@ApiResponse({
status: 200,
- description: "The service status",
+ description: "The Ok service status",
type: StatusEntity,
})
getHealth(): Observable {
diff --git a/src/decorators/api.paginated.response.ts b/src/decorators/api.paginated.response.ts
new file mode 100644
index 0000000..c837a53
--- /dev/null
+++ b/src/decorators/api.paginated.response.ts
@@ -0,0 +1,33 @@
+import { Type, applyDecorators } from "@nestjs/common";
+import {
+ ApiExtraModels,
+ ApiResponse,
+ getSchemaPath,
+ ApiResponseOptions,
+} from "@nestjs/swagger";
+
+import { Page } from "../types";
+
+export const ApiPaginatedResponse = >(
+ data: T,
+ options: ApiResponseOptions,
+) =>
+ applyDecorators(
+ ApiExtraModels(Page, data),
+ ApiResponse({
+ ...options,
+ schema: {
+ allOf: [
+ { $ref: getSchemaPath(Page) },
+ {
+ properties: {
+ data: {
+ type: "array",
+ items: { $ref: getSchemaPath(data) },
+ },
+ },
+ },
+ ],
+ },
+ }),
+ );
diff --git a/src/entities/index.ts b/src/entities/index.ts
index db41062..2603639 100644
--- a/src/entities/index.ts
+++ b/src/entities/index.ts
@@ -9,7 +9,7 @@ export * from "./task.response.createtx.params";
export * from "./task.response.createtx.result";
export * from "./task.response.entity";
export * from "./task.response.submittx.params";
-export * from "./task.response.submittx.result";
+export * from "./wallet.transaction.submit.result.response";
export * from "./wallet.entity";
export * from "./wallet.activity.entity";
export * from "./wallet.member.entity";
diff --git a/src/entities/status.entity.ts b/src/entities/status.entity.ts
index 002fe03..da96db9 100644
--- a/src/entities/status.entity.ts
+++ b/src/entities/status.entity.ts
@@ -2,7 +2,7 @@ import { Expose } from "class-transformer";
import { ApiProperty } from "@nestjs/swagger";
export class StatusEntity {
- @ApiProperty()
+ @ApiProperty({ example: 200 })
status: number;
constructor(status: number) {
@@ -10,7 +10,7 @@ export class StatusEntity {
}
@Expose()
- @ApiProperty()
+ @ApiProperty({ example: "Ok" })
get message(): string {
switch (this.status) {
case 200:
diff --git a/src/entities/task.response.submittx.result.ts b/src/entities/task.response.submittx.result.ts
deleted file mode 100644
index d3e54ac..0000000
--- a/src/entities/task.response.submittx.result.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-export class TaskResponseSubmitTxResult {
- created_at: string;
- updated_at: string;
- txid: string;
- amount: string;
- timestamp: string;
- direction: string;
- fee: string;
- confirmations: number;
- created_on_platform: boolean;
- tx_to_self: boolean;
- memo: string;
- order_id: string;
- ip_addr: string;
- euro_amount: string;
- destinations: any[];
- wallet: any;
-}
diff --git a/src/entities/wallet.member.entity.ts b/src/entities/wallet.member.entity.ts
index 712efc9..bfcc479 100644
--- a/src/entities/wallet.member.entity.ts
+++ b/src/entities/wallet.member.entity.ts
@@ -1,5 +1,20 @@
import { ApiProperty } from "@nestjs/swagger";
+class WalletMemberEntityUser {
+ @ApiProperty()
+ email: string;
+
+ @ApiProperty()
+ name: string;
+}
+
+class WalletMemberEntityWallet {
+ @ApiProperty()
+ id: string;
+
+ @ApiProperty()
+ name: string;
+}
export class WalletMemberEntity {
@ApiProperty()
id: string;
@@ -11,14 +26,8 @@ export class WalletMemberEntity {
created_at: string;
@ApiProperty()
- user: {
- email: string;
- name: string;
- };
+ user: WalletMemberEntityUser;
@ApiProperty()
- wallet: {
- id: string;
- name: string;
- };
+ wallet: WalletMemberEntityWallet;
}
diff --git a/src/entities/wallet.pending.transfer.entity.ts b/src/entities/wallet.pending.transfer.entity.ts
index 877081c..32cfb09 100644
--- a/src/entities/wallet.pending.transfer.entity.ts
+++ b/src/entities/wallet.pending.transfer.entity.ts
@@ -1,5 +1,13 @@
import { ApiProperty } from "@nestjs/swagger";
+class WalletPendingTransferApproval {
+ @ApiProperty()
+ user: string;
+
+ @ApiProperty()
+ created_at: string;
+}
+
export class WalletPendingTransferEntity {
@ApiProperty()
id: string;
@@ -28,11 +36,8 @@ export class WalletPendingTransferEntity {
@ApiProperty()
signed_multisig_tx: string;
- @ApiProperty()
- approvals: Array<{
- user: string;
- created_at: string;
- }>;
+ @ApiProperty({ isArray: true, type: WalletPendingTransferApproval })
+ approvals: WalletPendingTransferApproval[];
@ApiProperty()
created_at: string;
diff --git a/src/entities/wallet.transaction.create.response.ts b/src/entities/wallet.transaction.create.response.ts
index da90032..1985162 100644
--- a/src/entities/wallet.transaction.create.response.ts
+++ b/src/entities/wallet.transaction.create.response.ts
@@ -1,3 +1,6 @@
+import { ApiProperty } from "@nestjs/swagger";
+
export class WalletTransactionCreateResponse {
+ @ApiProperty()
txs_hex: string;
}
diff --git a/src/entities/wallet.transaction.entity.ts b/src/entities/wallet.transaction.entity.ts
index 8b9d605..bcc9745 100644
--- a/src/entities/wallet.transaction.entity.ts
+++ b/src/entities/wallet.transaction.entity.ts
@@ -22,7 +22,7 @@ export class WalletTransactionEntity {
@ApiProperty()
confirmations: number;
- @ApiProperty()
+ @ApiProperty({ isArray: true, type: WalletTransactionDestinationEntity })
destinations: WalletTransactionDestinationEntity[];
@ApiProperty()
diff --git a/src/entities/wallet.transaction.send.response.ts b/src/entities/wallet.transaction.send.response.ts
index c87a47d..28ac2d1 100644
--- a/src/entities/wallet.transaction.send.response.ts
+++ b/src/entities/wallet.transaction.send.response.ts
@@ -1,7 +1,12 @@
-import { TaskResponseSubmitTxResult } from "./task.response.submittx.result";
+import { ApiProperty } from "@nestjs/swagger";
+
+import { WalletTransactionSubmitResultResponse } from "./wallet.transaction.submit.result.response";
import { WalletPendingTransferEntity } from "./wallet.pending.transfer.entity";
export class WalletTransactionSendResponse {
+ @ApiProperty()
requiresApproval: boolean;
- data: TaskResponseSubmitTxResult | WalletPendingTransferEntity;
+
+ @ApiProperty()
+ result?: WalletTransactionSubmitResultResponse | WalletPendingTransferEntity;
}
diff --git a/src/entities/wallet.transaction.submit.result.response.ts b/src/entities/wallet.transaction.submit.result.response.ts
new file mode 100644
index 0000000..de2c13f
--- /dev/null
+++ b/src/entities/wallet.transaction.submit.result.response.ts
@@ -0,0 +1,106 @@
+import { ApiProperty } from "@nestjs/swagger";
+
+export class WalletTransactionSubmitResultDestination {
+ @ApiProperty()
+ transaction_txid: string;
+
+ @ApiProperty()
+ transaction_wallet_id: string;
+
+ @ApiProperty()
+ index: number;
+
+ @ApiProperty()
+ address: string;
+
+ @ApiProperty()
+ amount: string;
+}
+
+export class WalletTransactionSubmitResultWallet {
+ @ApiProperty()
+ created_at: string;
+
+ @ApiProperty()
+ updated_at: string;
+
+ @ApiProperty()
+ id: string;
+
+ @ApiProperty()
+ balance: string;
+
+ @ApiProperty()
+ unlocked_balance: string;
+
+ @ApiProperty()
+ creation_height: number;
+
+ @ApiProperty()
+ height: string;
+
+ @ApiProperty()
+ last_interaction_at: string;
+
+ @ApiProperty()
+ last_sync_at: string;
+
+ @ApiProperty()
+ address: string;
+
+ @ApiProperty()
+ status: string;
+}
+
+export class WalletTransactionSubmitResultResponse {
+ @ApiProperty()
+ created_at: string;
+
+ @ApiProperty()
+ updated_at: string;
+
+ @ApiProperty()
+ wallet_id: string;
+
+ @ApiProperty()
+ txid: string;
+
+ @ApiProperty()
+ amount: string;
+
+ @ApiProperty()
+ timestamp: string;
+
+ @ApiProperty()
+ direction: string;
+
+ @ApiProperty()
+ fee: string;
+
+ @ApiProperty()
+ confirmations: number;
+
+ @ApiProperty()
+ created_on_platform: boolean;
+
+ @ApiProperty()
+ tx_to_self: boolean;
+
+ @ApiProperty()
+ memo: string;
+
+ @ApiProperty()
+ order_id: string;
+
+ @ApiProperty()
+ ip_addr: string;
+
+ @ApiProperty()
+ euro_amount: string;
+
+ @ApiProperty()
+ destinations: WalletTransactionSubmitResultDestination[];
+
+ @ApiProperty()
+ wallet: WalletTransactionSubmitResultWallet;
+}
diff --git a/src/generateDocs.ts b/src/generateDocs.ts
new file mode 100644
index 0000000..4f8fb82
--- /dev/null
+++ b/src/generateDocs.ts
@@ -0,0 +1,34 @@
+import { NestFactory } from "@nestjs/core";
+import { VersioningType } from "@nestjs/common";
+import { SwaggerModule, DocumentBuilder } from "@nestjs/swagger";
+import * as path from "path";
+import { writeFileSync } from "fs";
+
+import { AppModule } from "./app.module";
+import { GlobalExceptionsFilter } from "./filters/global.exception.filter";
+
+async function generateDocs() {
+ const app = await NestFactory.create(AppModule);
+
+ app.setGlobalPrefix("api");
+ app.enableVersioning({
+ type: VersioningType.URI,
+ });
+
+ app.useGlobalFilters(new GlobalExceptionsFilter());
+
+ const config = new DocumentBuilder()
+ .setTitle("Rino SDK")
+ .setDescription("Rino SDK API Documentation")
+ .setVersion("0.1.0")
+ .build();
+ const document = SwaggerModule.createDocument(app, config);
+ SwaggerModule.setup("docs", app, document);
+
+ const outputPath = path.resolve(process.cwd(), "swagger.json");
+ writeFileSync(outputPath, JSON.stringify(document), { encoding: "utf8" });
+
+ await app.close();
+}
+
+generateDocs();
diff --git a/src/main.ts b/src/main.ts
index 733d3fd..743927c 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -24,6 +24,7 @@ async function bootstrap() {
.setDescription("Rino SDK API Documentation")
.setVersion("0.1.0")
.build();
+
const document = SwaggerModule.createDocument(app, config);
SwaggerModule.setup("docs", app, document);
diff --git a/src/rino/rino.service.spec.ts b/src/rino/rino.service.spec.ts
index 9b3acd7..1feb81b 100644
--- a/src/rino/rino.service.spec.ts
+++ b/src/rino/rino.service.spec.ts
@@ -101,7 +101,12 @@ describe("RinoService", () => {
expect(httpService.get).toHaveBeenCalledWith(
`/wallets/${WALLET_ID}/activity`,
- undefined,
+ {
+ params: {
+ limit: undefined,
+ offset: undefined,
+ },
+ },
);
expect(result).toStrictEqual(walletActivitiesMock);
@@ -112,7 +117,12 @@ describe("RinoService", () => {
expect(httpService.get).toHaveBeenCalledWith(
`/wallets/${WALLET_ID}/members`,
- undefined,
+ {
+ params: {
+ limit: undefined,
+ offset: undefined,
+ },
+ },
);
expect(result).toStrictEqual(walletMembersMock);
@@ -123,7 +133,12 @@ describe("RinoService", () => {
expect(httpService.get).toHaveBeenCalledWith(
`/wallets/${WALLET_ID}/removed_spenders`,
- undefined,
+ {
+ params: {
+ limit: undefined,
+ offset: undefined,
+ },
+ },
);
expect(result).toStrictEqual(walletRemovedSpendersMock);
@@ -134,14 +149,19 @@ describe("RinoService", () => {
expect(httpService.get).toHaveBeenCalledWith(
`/wallets/${WALLET_ID}/pending_transfers`,
- undefined,
+ {
+ params: {
+ limit: undefined,
+ offset: undefined,
+ },
+ },
);
expect(result).toStrictEqual(walletPendingTransfersMock);
});
it("gets a pending transfer in the configured wallet", async () => {
- const pendingTransfer = walletPendingTransfersMock.find(
+ const pendingTransfer = walletPendingTransfersMock.results.find(
(item) => item.id === PENDING_TRANSFER_ID,
);
const result = await lastValueFrom(
@@ -191,12 +211,26 @@ describe("RinoService", () => {
expect(httpService.get).toHaveBeenCalledWith(
`/wallets/${WALLET_ID}/subaddresses`,
- undefined,
+ {
+ params: {
+ limit: undefined,
+ offset: undefined,
+ },
+ },
);
expect(result).toStrictEqual(walletSubaddressesMock);
});
+ it("gets a single wallet subaddress", async () => {
+ await lastValueFrom(service.getWalletSubaddress(ADDRESS));
+
+ expect(httpService.get).toHaveBeenCalledWith(
+ `/wallets/${WALLET_ID}/subaddresses/${ADDRESS}`,
+ undefined,
+ );
+ });
+
it("creates a subaddress in the configured wallet", async () => {
await lastValueFrom(service.createWalletSubaddress());
@@ -246,14 +280,19 @@ describe("RinoService", () => {
expect(httpService.get).toHaveBeenCalledWith(
`/wallets/${WALLET_ID}/transactions`,
- undefined,
+ {
+ params: {
+ limit: undefined,
+ offset: undefined,
+ },
+ },
);
expect(result).toStrictEqual(walletTransactionsMock);
});
it("gets a transaction in the configured wallet", async () => {
- const transaction = walletTransactionsMock.find(
+ const transaction = walletTransactionsMock.results.find(
(item) => item.id === TRANSACTION_ID,
);
const result = await lastValueFrom(
diff --git a/src/rino/rino.service.ts b/src/rino/rino.service.ts
index 23e393a..4bb056c 100644
--- a/src/rino/rino.service.ts
+++ b/src/rino/rino.service.ts
@@ -23,11 +23,10 @@ import {
WalletTransactionSupportedExportTypes,
FileResponseEntity,
} from "../entities";
+import { Page } from "../types";
const responseDataMapCallback = (response) => response.data;
-const responseResultsMapCallback = (response) => response.data.results;
-
const responseTaskIdMapCallback = (response) => response.data.task_id;
const defaultMapCallback = responseDataMapCallback;
@@ -63,35 +62,67 @@ export class RinoService {
return this.get(`/wallets/${this.walletId}`);
}
- getWalletActivity(): Observable {
- return this.get(
+ getWalletActivity(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.get>(
`/wallets/${this.walletId}/activity`,
- undefined,
- responseResultsMapCallback,
+ {
+ params: {
+ limit,
+ offset,
+ },
+ },
+ responseDataMapCallback,
);
}
- getWalletMembers(): Observable {
- return this.get(
+ getWalletMembers(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.get>(
`/wallets/${this.walletId}/members`,
- undefined,
- responseResultsMapCallback,
+ {
+ params: {
+ limit,
+ offset,
+ },
+ },
+ responseDataMapCallback,
);
}
- getWalletRemovedSpenders(): Observable {
- return this.get(
+ getWalletRemovedSpenders(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.get>(
`/wallets/${this.walletId}/removed_spenders`,
- undefined,
- responseResultsMapCallback,
+ {
+ params: {
+ limit,
+ offset,
+ },
+ },
+ responseDataMapCallback,
);
}
- getWalletPendingTransfers(): Observable {
- return this.get(
+ getWalletPendingTransfers(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.get>(
`/wallets/${this.walletId}/pending_transfers`,
- undefined,
- responseResultsMapCallback,
+ {
+ params: {
+ limit,
+ offset,
+ },
+ },
+ responseDataMapCallback,
);
}
@@ -131,11 +162,25 @@ export class RinoService {
);
}
- getWalletSubaddresses(): Observable {
- return this.get(
+ getWalletSubaddresses(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.get>(
`/wallets/${this.walletId}/subaddresses`,
- undefined,
- responseResultsMapCallback,
+ {
+ params: {
+ limit,
+ offset,
+ },
+ },
+ responseDataMapCallback,
+ );
+ }
+
+ getWalletSubaddress(address: string): Observable {
+ return this.get(
+ `/wallets/${this.walletId}/subaddresses/${address}`,
);
}
@@ -178,11 +223,19 @@ export class RinoService {
);
}
- getWalletTransactions(): Observable {
- return this.get(
+ getWalletTransactions(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.get>(
`/wallets/${this.walletId}/transactions`,
- undefined,
- responseResultsMapCallback,
+ {
+ params: {
+ limit,
+ offset,
+ },
+ },
+ responseDataMapCallback,
);
}
diff --git a/src/types/base.ts b/src/types/base.ts
new file mode 100644
index 0000000..8bbf421
--- /dev/null
+++ b/src/types/base.ts
@@ -0,0 +1,14 @@
+import { ApiProperty } from "@nestjs/swagger";
+
+export class Page {
+ @ApiProperty()
+ count: number;
+
+ @ApiProperty()
+ next: string;
+
+ @ApiProperty()
+ previous: string;
+
+ results: T[];
+}
diff --git a/src/types/index.ts b/src/types/index.ts
index b479fdc..bab56b7 100644
--- a/src/types/index.ts
+++ b/src/types/index.ts
@@ -1 +1,2 @@
+export * from "./base";
export * from "./wallet";
diff --git a/src/wallet/wallet.controller.spec.ts b/src/wallet/wallet.controller.spec.ts
index 2c0bc9a..1cfd77a 100644
--- a/src/wallet/wallet.controller.spec.ts
+++ b/src/wallet/wallet.controller.spec.ts
@@ -115,6 +115,12 @@ describe("WalletController", () => {
expect(walletService.getSubaddresses).toHaveBeenCalled();
});
+ it("gets a single subaddress in the configured wallet", async () => {
+ await controller.getSubaddress(ADDRESS);
+
+ expect(walletService.getSubaddress).toHaveBeenCalledWith(ADDRESS);
+ });
+
it("creates a subaddress in the configured wallet", () => {
return new Promise((resolve) => {
setTimeout(async () => {
diff --git a/src/wallet/wallet.controller.ts b/src/wallet/wallet.controller.ts
index 33ca942..3f56a33 100644
--- a/src/wallet/wallet.controller.ts
+++ b/src/wallet/wallet.controller.ts
@@ -13,6 +13,7 @@ import {
import {
ApiBearerAuth,
ApiOperation,
+ ApiParam,
ApiProduces,
ApiQuery,
ApiResponse,
@@ -33,10 +34,12 @@ import {
WalletTransactionCreateResponse,
WalletTransactionEntity,
WalletTransactionSendPayload,
- WalletTransactionSendResponse,
WalletTransactionSubmitPayload,
+ WalletTransactionSubmitResultResponse,
WalletTransactionSupportedExportTypes,
} from "../entities";
+import { Page } from "../types";
+import { ApiPaginatedResponse } from "../decorators/api.paginated.response";
ApiBearerAuth();
@Controller({
@@ -59,46 +62,102 @@ export class WalletController {
@Get("/activity")
@ApiOperation({ summary: "Gets the service wallet activity" })
- @ApiResponse({
+ @ApiPaginatedResponse(WalletActivityEntity, {
status: 200,
- description: "The wallet activity data",
- type: [WalletActivityEntity],
+ description: "The requested page with the wallet activity data",
+ })
+ @ApiQuery({
+ name: "limit",
+ required: false,
+ type: Number,
+ description: "Number of results to return per page",
})
- getActivity(): Observable {
- return this.walletService.getActivity();
+ @ApiQuery({
+ name: "offset",
+ required: false,
+ type: Number,
+ description: "The initial index from which to return the results",
+ })
+ getActivity(
+ @Query("limit") limit?: number,
+ @Query("offset") offset?: number,
+ ): Observable> {
+ return this.walletService.getActivity(limit, offset);
}
@Get("/members")
@ApiOperation({ summary: "Gets the service wallet members" })
- @ApiResponse({
+ @ApiPaginatedResponse(WalletMemberEntity, {
status: 200,
- description: "The wallet members data",
- type: [WalletMemberEntity],
+ description: "The requested page with the wallet members data",
})
- getMembers(): Observable {
- return this.walletService.getMembers();
+ @ApiQuery({
+ name: "limit",
+ required: false,
+ type: Number,
+ description: "Number of results to return per page",
+ })
+ @ApiQuery({
+ name: "offset",
+ required: false,
+ type: Number,
+ description: "The initial index from which to return the results",
+ })
+ getMembers(
+ @Query("limit") limit?: number,
+ @Query("offset") offset?: number,
+ ): Observable> {
+ return this.walletService.getMembers(limit, offset);
}
@Get("/removed_spenders")
@ApiOperation({ summary: "Gets the service wallet removed spenders" })
- @ApiResponse({
+ @ApiPaginatedResponse(WalletRemovedSpenderEntity, {
status: 200,
- description: "The wallet removed spenders data",
- type: [WalletRemovedSpenderEntity],
+ description: "The requested page with the wallet removed spenders data",
+ })
+ @ApiQuery({
+ name: "limit",
+ required: false,
+ type: Number,
+ description: "Number of results to return per page",
})
- getRemovedSpenders(): Observable {
- return this.walletService.getRemovedSpenders();
+ @ApiQuery({
+ name: "offset",
+ required: false,
+ type: Number,
+ description: "The initial index from which to return the results",
+ })
+ getRemovedSpenders(
+ @Query("limit") limit?: number,
+ @Query("offset") offset?: number,
+ ): Observable> {
+ return this.walletService.getRemovedSpenders(limit, offset);
}
@Get("/pending_transfers")
@ApiOperation({ summary: "Gets the service wallet pending transfers" })
- @ApiResponse({
+ @ApiPaginatedResponse(WalletPendingTransferEntity, {
status: 200,
- description: "The wallet pending transfers data",
- type: [WalletPendingTransferEntity],
+ description: "The requested page with the wallet pending transfers data",
+ })
+ @ApiQuery({
+ name: "limit",
+ required: false,
+ type: Number,
+ description: "Number of results to return per page",
+ })
+ @ApiQuery({
+ name: "offset",
+ required: false,
+ type: Number,
+ description: "The initial index from which to return the results",
})
- getPendingTransfers(): Observable {
- return this.walletService.getPendingTransfers();
+ getPendingTransfers(
+ @Query("limit") limit?: number,
+ @Query("offset") offset?: number,
+ ): Observable> {
+ return this.walletService.getPendingTransfers(limit, offset);
}
@Get("/pending_transfers/:pendingTransferId")
@@ -112,6 +171,10 @@ export class WalletController {
status: 404,
description: "Wallet pending transfer data not found",
})
+ @ApiParam({
+ name: "pendingTransferId",
+ description: "Id of the pending transfer to get",
+ })
getPendingTransfer(
@Param("pendingTransferId") pendingTransferId: string,
): Observable {
@@ -129,6 +192,10 @@ export class WalletController {
status: 404,
description: "Wallet pending transfer data not found",
})
+ @ApiParam({
+ name: "pendingTransferId",
+ description: "Id of the pending transfer to approve",
+ })
approvePendingTransfer(
@Param("pendingTransferId") pendingTransferId: string,
): Promise {
@@ -146,6 +213,10 @@ export class WalletController {
status: 404,
description: "Wallet pending transfer data not found",
})
+ @ApiParam({
+ name: "pendingTransferId",
+ description: "Id of the pending transfer to cancel",
+ })
cancelPendingTransfer(
@Param("pendingTransferId") pendingTransferId: string,
): Observable {
@@ -163,6 +234,10 @@ export class WalletController {
status: 404,
description: "Wallet pending transfer data not found",
})
+ @ApiParam({
+ name: "pendingTransferId",
+ description: "Id of the pending transfer to reject",
+ })
rejectPendingTransfer(
@Param("pendingTransferId") pendingTransferId: string,
): Observable {
@@ -171,13 +246,44 @@ export class WalletController {
@Get("/subaddresses")
@ApiOperation({ summary: "Gets the service wallet subaddresses" })
+ @ApiPaginatedResponse(WalletSubaddressEntity, {
+ status: 200,
+ description: "The requested page with the wallet subaddresses data",
+ })
+ @ApiQuery({
+ name: "limit",
+ required: false,
+ type: Number,
+ description: "Number of results to return per page",
+ })
+ @ApiQuery({
+ name: "offset",
+ required: false,
+ type: Number,
+ description: "The initial index from which to return the results",
+ })
+ getSubaddresses(
+ @Query("limit") limit?: number,
+ @Query("offset") offset?: number,
+ ): Promise> {
+ return this.walletService.getSubaddresses(limit, offset);
+ }
+
+ @Get("/subaddresses/:address")
+ @ApiOperation({ summary: "Gets a service wallet subaddress" })
@ApiResponse({
status: 200,
- description: "The wallet subaddresses data",
- type: [WalletSubaddressEntity],
+ description: "The wallet subaddress data",
+ type: WalletSubaddressEntity,
+ })
+ @ApiParam({
+ name: "address",
+ description: "Address of the subaddress data to get",
})
- getSubaddresses(): Promise {
- return this.walletService.getSubaddresses();
+ getSubaddress(
+ @Param("address") address: string,
+ ): Promise {
+ return this.walletService.getSubaddress(address);
}
@Post("/subaddresses")
@@ -198,6 +304,10 @@ export class WalletController {
description: "The updated wallet subaddress data",
type: WalletSubaddressEntity,
})
+ @ApiParam({
+ name: "address",
+ description: "Address of the subaddress data to update",
+ })
updateSubaddress(
@Param("address") address: string,
@Body() payload: WalletSubaddressUpdatePayload,
@@ -212,6 +322,10 @@ export class WalletController {
description: "The partially updated wallet subaddress data",
type: WalletSubaddressEntity,
})
+ @ApiParam({
+ name: "address",
+ description: "Address of the subaddress data to update partially",
+ })
partiallyUpdateSubaddress(
@Param("address") address: string,
@Body() payload: WalletSubaddressPartialUpdatePayload,
@@ -221,13 +335,27 @@ export class WalletController {
@Get("/transactions")
@ApiOperation({ summary: "Gets the service wallet transactions" })
- @ApiResponse({
+ @ApiPaginatedResponse(WalletTransactionEntity, {
status: 200,
- description: "The wallet transactions data",
- type: [WalletTransactionEntity],
+ description: "The requested page with the wallet transactions data",
})
- getTransactions(): Observable {
- return this.walletService.getTransactions();
+ @ApiQuery({
+ name: "limit",
+ required: false,
+ type: Number,
+ description: "Number of results to return per page",
+ })
+ @ApiQuery({
+ name: "offset",
+ required: false,
+ type: Number,
+ description: "The initial index from which to return the results",
+ })
+ getTransactions(
+ @Query("limit") limit?: number,
+ @Query("offset") offset?: number,
+ ): Observable> {
+ return this.walletService.getTransactions(limit, offset);
}
@Get("/transactions/export")
@@ -242,6 +370,7 @@ export class WalletController {
})
@ApiQuery({
name: "type",
+ description: "Output file format",
required: true,
enum: WalletTransactionSupportedExportTypes,
type: String,
@@ -272,6 +401,10 @@ export class WalletController {
status: 404,
description: "Wallet transaction data not found",
})
+ @ApiParam({
+ name: "transactionId",
+ description: "Id of the transaction to get",
+ })
getTransaction(
@Param("transactionId") transactionId: string,
): Observable {
@@ -279,23 +412,30 @@ export class WalletController {
}
@Post("/send")
- @ApiOperation({ summary: "Sends a service wallet transaction" })
+ @ApiOperation({
+ summary: "Sends a service wallet transaction",
+ description:
+ "If the response HTTP Code is `201`, the content will be the submitted transaction data. If the response HTTP code is `202` the content will be the pending transaction data.",
+ })
@ApiResponse({
status: 201,
- description: "The submitted transaction wallet data",
- type: WalletTransactionSendResponse,
+ description: "The submitted transaction data",
+ type: WalletTransactionSubmitResultResponse,
})
@ApiResponse({
status: 202,
- description: "The pending transaction wallet data",
- type: WalletTransactionSendResponse,
+ description: "The pending transaction data",
+ type: WalletPendingTransferEntity,
})
async sendTransaction(
@Body() payload: WalletTransactionSendPayload,
@Res() response,
- ): Promise {
- const result = await this.walletService.sendTransaction(payload);
- return response.status(result.requiresApproval ? 202 : 201).send(result);
+ ): Promise<
+ WalletTransactionSubmitResultResponse | WalletPendingTransferEntity
+ > {
+ const { requiresApproval, result } =
+ await this.walletService.sendTransaction(payload);
+ return response.status(requiresApproval ? 202 : 201).send(result);
}
@Post("/transactions/create")
@@ -303,7 +443,7 @@ export class WalletController {
@ApiResponse({
status: 201,
description: "The transaction is created",
- type: WalletTransactionSendResponse,
+ type: WalletTransactionCreateResponse,
})
createUnsignedTransaction(
@Body() payload: WalletTransactionCreatePayload,
@@ -312,22 +452,30 @@ export class WalletController {
}
@Post("/transactions/submit")
- @ApiOperation({ summary: "Submits a service wallet transaction" })
+ @ApiOperation({
+ summary: "Submits a service wallet transaction",
+ description:
+ "If the response HTTP Code is `201`, the content will be the submitted transaction data. If the response HTTP code is `202` the content will be the pending transaction data.",
+ })
@ApiResponse({
status: 201,
- description: "The submitted transaction wallet data",
- type: WalletTransactionSendResponse,
+ description: "The submitted transaction data",
+ type: WalletTransactionSubmitResultResponse,
})
@ApiResponse({
status: 202,
- description: "The pending transaction wallet data",
- type: WalletTransactionSendResponse,
+ description: "The pending transaction data",
+ type: WalletPendingTransferEntity,
})
async submitTransaction(
@Body() payload: WalletTransactionSubmitPayload,
@Res() response,
- ): Promise {
- const result = await this.walletService.submitTransaction(payload);
- return response.status(result.requiresApproval ? 202 : 201).send(result);
+ ): Promise<
+ WalletTransactionSubmitResultResponse | WalletPendingTransferEntity
+ > {
+ const { requiresApproval, result } =
+ await this.walletService.submitTransaction(payload);
+
+ return response.status(requiresApproval ? 202 : 201).send(result);
}
}
diff --git a/src/wallet/wallet.service.spec.ts b/src/wallet/wallet.service.spec.ts
index 1931207..ad901cd 100644
--- a/src/wallet/wallet.service.spec.ts
+++ b/src/wallet/wallet.service.spec.ts
@@ -128,6 +128,12 @@ describe("WalletService", () => {
expect(rinoService.getWalletSubaddresses).toHaveBeenCalled();
});
+ it("get single subaddress in the configured wallet", async () => {
+ await service.getSubaddress(ADDRESS);
+
+ expect(rinoService.getWalletSubaddress).toHaveBeenCalledWith(ADDRESS);
+ });
+
it("creates a subaddress in the configured wallet", () => {
return new Promise((resolve) => {
setTimeout(async () => {
diff --git a/src/wallet/wallet.service.ts b/src/wallet/wallet.service.ts
index 88fa592..091c3cd 100644
--- a/src/wallet/wallet.service.ts
+++ b/src/wallet/wallet.service.ts
@@ -10,7 +10,6 @@ import {
AccountInfoEntity,
FileResponseEntity,
TaskResponseEntity,
- TaskResponseSubmitTxResult,
TaskResponseSubmitTxParams,
WalletActivityEntity,
WalletEntity,
@@ -30,8 +29,10 @@ import {
WalletTransactionCreateResponse,
WalletTransactionSubmitResponse,
WalletTransactionSupportedExportTypes,
+ WalletTransactionSubmitResultResponse,
} from "../entities";
import { MoneroWallet } from "../monero/Wallet";
+import { Page } from "../types";
import {
decryptKeys,
deriveUserKeys,
@@ -85,20 +86,32 @@ export class WalletService {
return this.rinoService.getWallet();
}
- getActivity(): Observable {
- return this.rinoService.getWalletActivity();
+ getActivity(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.rinoService.getWalletActivity(limit, offset);
}
- getMembers(): Observable {
- return this.rinoService.getWalletMembers();
+ getMembers(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.rinoService.getWalletMembers(limit, offset);
}
- getRemovedSpenders(): Observable {
- return this.rinoService.getWalletRemovedSpenders();
+ getRemovedSpenders(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.rinoService.getWalletRemovedSpenders(limit, offset);
}
- getPendingTransfers(): Observable {
- return this.rinoService.getWalletPendingTransfers();
+ getPendingTransfers(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.rinoService.getWalletPendingTransfers(limit, offset);
}
getPendingTransfer(
@@ -136,11 +149,16 @@ export class WalletService {
return this.rinoService.rejectWalletPendingTransfer(pendingTransferId);
}
- async getSubaddresses() {
- const subaddresses = await lastValueFrom(
- this.rinoService.getWalletSubaddresses(),
+ async getSubaddresses(
+ limit?: number,
+ offset?: number,
+ ): Promise> {
+ const page = await lastValueFrom(
+ this.rinoService.getWalletSubaddresses(limit, offset),
);
+ const { results: subaddresses } = page;
+
const {
username,
keypair: { enc_private_key },
@@ -180,7 +198,49 @@ export class WalletService {
cleanDerivedKeys();
- return processedSubaddresses;
+ return {
+ ...page,
+ results: processedSubaddresses,
+ };
+ }
+
+ async getSubaddress(address: string) {
+ const subaddress = await lastValueFrom(
+ this.rinoService.getWalletSubaddress(address),
+ );
+
+ const {
+ username,
+ keypair: { enc_private_key },
+ } = this.accountInfo;
+
+ const encPrivateKey = JSON.parse(enc_private_key);
+
+ const { encryptionKey, clean: cleanDerivedKeys } = await deriveUserKeys(
+ this.password,
+ username,
+ );
+
+ let validated = false;
+ try {
+ if (!!subaddress.signature) {
+ validated = await verifySignature(
+ encPrivateKey,
+ encryptionKey,
+ subaddress.address,
+ Uint8Array.from(Buffer.from(subaddress.signature, "base64")),
+ );
+ }
+ } catch (error) {
+ this.logger.error(`Error verifying signature of address ${subaddress}`);
+ this.logger.error(error);
+ }
+
+ subaddress.validated = validated;
+
+ cleanDerivedKeys();
+
+ return subaddress;
}
async createSubaddress(): Promise {
@@ -240,8 +300,11 @@ export class WalletService {
return this.rinoService.partialUpdateWalletSubaddress(address, payload);
}
- getTransactions(): Observable {
- return this.rinoService.getWalletTransactions();
+ getTransactions(
+ limit?: number,
+ offset?: number,
+ ): Observable> {
+ return this.rinoService.getWalletTransactions(limit, offset);
}
getTransaction(transactionId: string): Observable {
@@ -294,18 +357,18 @@ export class WalletService {
if (typeof submitTxResponse === "string") {
const submitTxTaskResult = await this.pollTask<
- TaskResponseSubmitTxResult,
+ TaskResponseEntity,
TaskResponseSubmitTxParams
>(submitTxResponse);
response = {
requiresApproval: false,
- data: submitTxTaskResult,
+ result: submitTxTaskResult.result[0],
};
} else {
response = {
requiresApproval: true,
- data: submitTxResponse,
+ result: submitTxResponse,
};
}
@@ -393,18 +456,18 @@ export class WalletService {
if (typeof submitTxResponse === "string") {
const submitTxTaskResult = await this.pollTask<
- TaskResponseSubmitTxResult,
+ TaskResponseEntity,
TaskResponseSubmitTxParams
>(submitTxResponse);
response = {
requiresApproval: false,
- data: submitTxTaskResult,
+ result: submitTxTaskResult.result[0],
};
} else {
response = {
requiresApproval: true,
- data: submitTxResponse,
+ result: submitTxResponse,
};
}
diff --git a/yarn.lock b/yarn.lock
index c29b3ee..a5e2c68 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -73,6 +73,14 @@
dependencies:
"@babel/highlight" "^7.18.6"
+"@babel/code-frame@^7.22.13":
+ version "7.22.13"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
+ integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
+ dependencies:
+ "@babel/highlight" "^7.22.13"
+ chalk "^2.4.2"
+
"@babel/compat-data@^7.21.5":
version "7.21.7"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.7.tgz#61caffb60776e49a57ba61a88f02bedd8714f6bc"
@@ -109,6 +117,23 @@
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
+"@babel/generator@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420"
+ integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==
+ dependencies:
+ "@babel/types" "^7.23.0"
+ "@jridgewell/gen-mapping" "^0.3.2"
+ "@jridgewell/trace-mapping" "^0.3.17"
+ jsesc "^2.5.1"
+
+"@babel/helper-annotate-as-pure@^7.22.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
+ integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==
+ dependencies:
+ "@babel/types" "^7.22.5"
+
"@babel/helper-compilation-targets@^7.21.5":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz#631e6cc784c7b660417421349aac304c94115366"
@@ -125,6 +150,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz#c769afefd41d171836f7cb63e295bedf689d48ba"
integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==
+"@babel/helper-environment-visitor@^7.22.20":
+ version "7.22.20"
+ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
+ integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
+
"@babel/helper-function-name@^7.21.0":
version "7.21.0"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4"
@@ -133,6 +163,14 @@
"@babel/template" "^7.20.7"
"@babel/types" "^7.21.0"
+"@babel/helper-function-name@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
+ integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
+ dependencies:
+ "@babel/template" "^7.22.15"
+ "@babel/types" "^7.23.0"
+
"@babel/helper-hoist-variables@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
@@ -140,6 +178,20 @@
dependencies:
"@babel/types" "^7.18.6"
+"@babel/helper-hoist-variables@^7.22.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
+ integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
+ dependencies:
+ "@babel/types" "^7.22.5"
+
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.5":
+ version "7.22.15"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
+ integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
+ dependencies:
+ "@babel/types" "^7.22.15"
+
"@babel/helper-module-imports@^7.21.4":
version "7.21.4"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af"
@@ -166,6 +218,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56"
integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==
+"@babel/helper-plugin-utils@^7.22.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
+ integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
+
"@babel/helper-simple-access@^7.21.5":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee"
@@ -180,16 +237,33 @@
dependencies:
"@babel/types" "^7.18.6"
+"@babel/helper-split-export-declaration@^7.22.6":
+ version "7.22.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
+ integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
+ dependencies:
+ "@babel/types" "^7.22.5"
+
"@babel/helper-string-parser@^7.21.5":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd"
integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==
+"@babel/helper-string-parser@^7.22.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
+ integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
+
"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
version "7.19.1"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
+"@babel/helper-validator-identifier@^7.22.20":
+ version "7.22.20"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
+ integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
+
"@babel/helper-validator-option@^7.21.0":
version "7.21.0"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180"
@@ -213,11 +287,25 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
+"@babel/highlight@^7.22.13":
+ version "7.22.20"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54"
+ integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.22.20"
+ chalk "^2.4.2"
+ js-tokens "^4.0.0"
+
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.5", "@babel/parser@^7.21.8":
version "7.21.8"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.8.tgz#642af7d0333eab9c0ad70b14ac5e76dbde7bfdf8"
integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==
+"@babel/parser@^7.22.15", "@babel/parser@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
+ integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
+
"@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
@@ -253,6 +341,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
+"@babel/plugin-syntax-jsx@^7.22.5":
+ version "7.22.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918"
+ integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.22.5"
+
"@babel/plugin-syntax-jsx@^7.7.2":
version "7.21.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2"
@@ -316,6 +411,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.20.2"
+"@babel/runtime@^7.17.8":
+ version "7.23.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
+ integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
"@babel/template@^7.20.7", "@babel/template@^7.3.3":
version "7.20.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
@@ -325,6 +427,15 @@
"@babel/parser" "^7.20.7"
"@babel/types" "^7.20.7"
+"@babel/template@^7.22.15":
+ version "7.22.15"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
+ integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
+ dependencies:
+ "@babel/code-frame" "^7.22.13"
+ "@babel/parser" "^7.22.15"
+ "@babel/types" "^7.22.15"
+
"@babel/traverse@^7.21.5", "@babel/traverse@^7.7.2":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.5.tgz#ad22361d352a5154b498299d523cf72998a4b133"
@@ -341,6 +452,22 @@
debug "^4.1.0"
globals "^11.1.0"
+"@babel/traverse@^7.4.5":
+ version "7.23.2"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8"
+ integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==
+ dependencies:
+ "@babel/code-frame" "^7.22.13"
+ "@babel/generator" "^7.23.0"
+ "@babel/helper-environment-visitor" "^7.22.20"
+ "@babel/helper-function-name" "^7.23.0"
+ "@babel/helper-hoist-variables" "^7.22.5"
+ "@babel/helper-split-export-declaration" "^7.22.6"
+ "@babel/parser" "^7.23.0"
+ "@babel/types" "^7.23.0"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
version "7.21.5"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.5.tgz#18dfbd47c39d3904d5db3d3dc2cc80bedb60e5b6"
@@ -350,6 +477,15 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
+"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0":
+ version "7.23.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb"
+ integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==
+ dependencies:
+ "@babel/helper-string-parser" "^7.22.5"
+ "@babel/helper-validator-identifier" "^7.22.20"
+ to-fast-properties "^2.0.0"
+
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@@ -367,6 +503,28 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
+"@emotion/is-prop-valid@^1.1.0":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc"
+ integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==
+ dependencies:
+ "@emotion/memoize" "^0.8.1"
+
+"@emotion/memoize@^0.8.1":
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17"
+ integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==
+
+"@emotion/stylis@^0.8.4":
+ version "0.8.5"
+ resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04"
+ integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
+
+"@emotion/unitless@^0.7.4":
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
+ integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
+
"@eslint-community/eslint-utils@^4.2.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
@@ -399,6 +557,11 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.39.0.tgz#58b536bcc843f4cd1e02a7e6171da5c040f4d44b"
integrity sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==
+"@exodus/schemasafe@^1.0.0-rc.2":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@exodus/schemasafe/-/schemasafe-1.3.0.tgz#731656abe21e8e769a7f70a4d833e6312fe59b7f"
+ integrity sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==
+
"@golevelup/ts-jest@^0.3.7":
version "0.3.7"
resolved "https://registry.yarnpkg.com/@golevelup/ts-jest/-/ts-jest-0.3.7.tgz#6c66bd5cdea96d1052ac41a2d6c227c4a9509903"
@@ -844,10 +1007,36 @@
consola "^2.15.0"
node-fetch "^2.6.1"
-"@rino-wallet/monero-javascript@0.0.35":
- version "0.0.35"
- resolved "https://registry.yarnpkg.com/@rino-wallet/monero-javascript/-/monero-javascript-0.0.35.tgz#21ff9010dc2f78bc3b8199b14cf968ffac5c09b8"
- integrity sha512-CIjICHsR/m+puQ/+KGWsabP2pDDa74tk0u94qNt+LqA083Y1WoSYetkoH/+2MCNmYDF9hs1cPaYGxKrtyZnCqA==
+"@redocly/ajv@^8.11.0":
+ version "8.11.0"
+ resolved "https://registry.yarnpkg.com/@redocly/ajv/-/ajv-8.11.0.tgz#2fad322888dc0113af026e08fceb3e71aae495ae"
+ integrity sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+ uri-js "^4.2.2"
+
+"@redocly/openapi-core@^1.0.0-beta.104":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@redocly/openapi-core/-/openapi-core-1.4.0.tgz#d1ce8e391b32452082f754315c8eb265690b784f"
+ integrity sha512-M4f0H3XExPvJ0dwbEou7YKLzkpz2ZMS9JoNvrbEECO7WCwjGZ4AjbiUjp2p0ZzFMNIiNgTVUJJmkxGxsXW471Q==
+ dependencies:
+ "@redocly/ajv" "^8.11.0"
+ "@types/node" "^14.11.8"
+ colorette "^1.2.0"
+ js-levenshtein "^1.1.6"
+ js-yaml "^4.1.0"
+ lodash.isequal "^4.5.0"
+ minimatch "^5.0.1"
+ node-fetch "^2.6.1"
+ pluralize "^8.0.0"
+ yaml-ast-parser "0.0.43"
+
+"@rino-wallet/monero-javascript@0.0.36":
+ version "0.0.36"
+ resolved "https://registry.yarnpkg.com/@rino-wallet/monero-javascript/-/monero-javascript-0.0.36.tgz#0966bfd9920436b2dc8f3d13805513f6810b57ba"
+ integrity sha512-bEacrCPTzcjmE6tfsQSymyq4rl0GEJ0Dw3oShv/hbJG8MULEomhbVbylw7TTScOzu7QwTzjjV4fApm6P+6bzBg==
dependencies:
"@babel/core" "^7.14.6"
ajv "^6.12.6"
@@ -1052,6 +1241,11 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+"@types/json-schema@^7.0.7":
+ version "7.0.14"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.14.tgz#74a97a5573980802f32c8e47b663530ab3b6b7d1"
+ integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==
+
"@types/libsodium-wrappers-sumo@^0.7.5":
version "0.7.5"
resolved "https://registry.yarnpkg.com/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz#c5191fc28d44edd39583552bd1855f6b7b77ca88"
@@ -1084,6 +1278,11 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f"
integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==
+"@types/node@^14.11.8":
+ version "14.18.63"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.63.tgz#1788fa8da838dbb5f9ea994b834278205db6ca2b"
+ integrity sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==
+
"@types/parse-json@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
@@ -1432,6 +1631,13 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ansi-align@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
+ integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
+ dependencies:
+ string-width "^4.1.0"
+
ansi-colors@4.1.3:
version "4.1.3"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b"
@@ -1513,6 +1719,16 @@ asap@^2.0.0:
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
+asn1.js@^5.2.0:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
+ integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ safer-buffer "^2.1.0"
+
asn1@~0.2.3:
version "0.2.6"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
@@ -1525,6 +1741,14 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
+assert@^1.1.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.1.tgz#038ab248e4ff078e7bc2485ba6e6388466c78f76"
+ integrity sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==
+ dependencies:
+ object.assign "^4.1.4"
+ util "^0.10.4"
+
async@2.6.4:
version "2.6.4"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
@@ -1590,6 +1814,17 @@ babel-plugin-jest-hoist@^29.5.0:
"@types/babel__core" "^7.1.14"
"@types/babel__traverse" "^7.0.6"
+"babel-plugin-styled-components@>= 1.12.0":
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz#9a1f37c7f32ef927b4b008b529feb4a2c82b1092"
+ integrity sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.22.5"
+ "@babel/helper-module-imports" "^7.22.5"
+ "@babel/plugin-syntax-jsx" "^7.22.5"
+ lodash "^4.17.21"
+ picomatch "^2.3.1"
+
babel-preset-current-node-syntax@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b"
@@ -1621,7 +1856,7 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-base64-js@^1.3.1:
+base64-js@^1.0.2, base64-js@^1.3.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -1652,6 +1887,16 @@ bluebird@^3.5.0:
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
+ integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+
+bn.js@^5.0.0, bn.js@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
+ integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
+
body-parser@1.20.1:
version "1.20.1"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
@@ -1688,6 +1933,20 @@ body-parser@1.20.2:
type-is "~1.6.18"
unpipe "1.0.0"
+boxen@5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50"
+ integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==
+ dependencies:
+ ansi-align "^3.0.0"
+ camelcase "^6.2.0"
+ chalk "^4.1.0"
+ cli-boxes "^2.2.1"
+ string-width "^4.2.2"
+ type-fest "^0.20.2"
+ widest-line "^3.1.0"
+ wrap-ansi "^7.0.0"
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -1710,6 +1969,72 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
+brorand@^1.0.1, brorand@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==
+
+browserify-aes@^1.0.0, browserify-aes@^1.0.4:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
+ integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
+ dependencies:
+ buffer-xor "^1.0.3"
+ cipher-base "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.3"
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+browserify-cipher@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
+ integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
+ dependencies:
+ browserify-aes "^1.0.4"
+ browserify-des "^1.0.0"
+ evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
+ integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
+ dependencies:
+ cipher-base "^1.0.1"
+ des.js "^1.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+browserify-rsa@^4.0.0, browserify-rsa@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d"
+ integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
+ dependencies:
+ bn.js "^5.0.0"
+ randombytes "^2.0.1"
+
+browserify-sign@^4.0.0:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e"
+ integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==
+ dependencies:
+ bn.js "^5.2.1"
+ browserify-rsa "^4.1.0"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ elliptic "^6.5.4"
+ inherits "^2.0.4"
+ parse-asn1 "^5.1.6"
+ readable-stream "^3.6.2"
+ safe-buffer "^5.2.1"
+
+browserify-zlib@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
+ dependencies:
+ pako "~1.0.5"
+
browserslist@^4.14.5, browserslist@^4.21.3:
version "4.21.5"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7"
@@ -1739,6 +2064,20 @@ buffer-from@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+buffer-xor@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
+
+buffer@^4.3.0:
+ version "4.9.2"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
+ integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+ isarray "^1.0.0"
+
buffer@^5.5.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
@@ -1747,6 +2086,11 @@ buffer@^5.5.0:
base64-js "^1.3.1"
ieee754 "^1.1.13"
+builtin-status-codes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+ integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==
+
busboy@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
@@ -1767,6 +2111,20 @@ call-bind@^1.0.0:
function-bind "^1.1.1"
get-intrinsic "^1.0.2"
+call-bind@^1.0.2:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513"
+ integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==
+ dependencies:
+ function-bind "^1.1.2"
+ get-intrinsic "^1.2.1"
+ set-function-length "^1.1.1"
+
+call-me-maybe@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa"
+ integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==
+
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -1782,6 +2140,11 @@ camelcase@^6.2.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
+camelize@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3"
+ integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==
+
caniuse-lite@^1.0.30001449:
version "1.0.30001482"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz#8b3fad73dc35b2674a5c96df2d4f9f1c561435de"
@@ -1800,7 +2163,7 @@ chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^2.0.0:
+chalk@^2.0.0, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1819,7 +2182,7 @@ chardet@^0.7.0:
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-chokidar@3.5.3, chokidar@^3.5.3:
+chokidar@3.5.3, chokidar@^3.5.1, chokidar@^3.5.3:
version "3.5.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@@ -1844,6 +2207,14 @@ ci-info@^3.2.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
cjs-module-lexer@^1.0.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
@@ -1854,6 +2225,16 @@ class-transformer@^0.5.1:
resolved "https://registry.yarnpkg.com/class-transformer/-/class-transformer-0.5.1.tgz#24147d5dffd2a6cea930a3250a677addf96ab336"
integrity sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==
+classnames@^2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924"
+ integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==
+
+cli-boxes@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
+ integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
+
cli-cursor@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
@@ -1894,6 +2275,11 @@ clone@^1.0.2:
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
+clsx@^1.1.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
+ integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
+
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
@@ -1928,6 +2314,11 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+colorette@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
+ integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+
combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -1970,6 +2361,16 @@ consola@^2.15.0:
resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550"
integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==
+console-browserify@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
+ integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
+
+constants-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==
+
content-disposition@0.5.4:
version "0.5.4"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
@@ -2036,6 +2437,37 @@ cosmiconfig@^7.0.1:
path-type "^4.0.0"
yaml "^1.10.0"
+create-ecdh@^4.0.0:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
+ integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
+ dependencies:
+ bn.js "^4.1.0"
+ elliptic "^6.5.3"
+
+create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+ integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ md5.js "^1.3.4"
+ ripemd160 "^2.0.1"
+ sha.js "^2.4.0"
+
+create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+ integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
+ dependencies:
+ cipher-base "^1.0.3"
+ create-hash "^1.1.0"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
create-require@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
@@ -2050,11 +2482,42 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
+crypto-browserify@^3.11.0:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+ integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
+ dependencies:
+ browserify-cipher "^1.0.0"
+ browserify-sign "^4.0.0"
+ create-ecdh "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.0"
+ diffie-hellman "^5.0.0"
+ inherits "^2.0.1"
+ pbkdf2 "^3.0.3"
+ public-encrypt "^4.0.0"
+ randombytes "^2.0.0"
+ randomfill "^1.0.3"
+
crypto-js@^4.0.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf"
integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
+css-color-keywords@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
+ integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==
+
+css-to-react-native@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32"
+ integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==
+ dependencies:
+ camelize "^1.0.0"
+ css-color-keywords "^1.0.0"
+ postcss-value-parser "^4.0.2"
+
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
@@ -2076,6 +2539,11 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
dependencies:
ms "2.1.2"
+decko@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decko/-/decko-1.2.0.tgz#fd43c735e967b8013306884a56fbe665996b6817"
+ integrity sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ==
+
dedent@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
@@ -2098,6 +2566,24 @@ defaults@^1.0.3:
dependencies:
clone "^1.0.2"
+define-data-property@^1.0.1, define-data-property@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3"
+ integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==
+ dependencies:
+ get-intrinsic "^1.2.1"
+ gopd "^1.0.1"
+ has-property-descriptors "^1.0.0"
+
+define-properties@^1.1.4:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
+ integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
+ dependencies:
+ define-data-property "^1.0.1"
+ has-property-descriptors "^1.0.0"
+ object-keys "^1.1.1"
+
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -2108,6 +2594,14 @@ depd@2.0.0:
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+des.js@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da"
+ integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==
+ dependencies:
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
destroy@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
@@ -2136,6 +2630,15 @@ diff@^4.0.1:
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+diffie-hellman@^5.0.0:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
+ integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
+ dependencies:
+ bn.js "^4.1.0"
+ miller-rabin "^4.0.0"
+ randombytes "^2.0.0"
+
dir-glob@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
@@ -2150,6 +2653,16 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
+domain-browser@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
+ integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
+
+dompurify@^2.2.8:
+ version "2.4.7"
+ resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.7.tgz#277adeb40a2c84be2d42a8bcd45f582bfa4d0cfc"
+ integrity sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ==
+
dotenv-expand@10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37"
@@ -2178,6 +2691,19 @@ electron-to-chromium@^1.4.284:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.382.tgz#87e659b0f0d5f7b19759038871bac0a327191f82"
integrity sha512-czMavlW52VIPgutbVL9JnZIZuFijzsG1ww/1z2Otu1r1q+9Qe2bTsH3My3sZarlvwyqHM6+mnZfEnt2Vr4dsIg==
+elliptic@^6.5.3, elliptic@^6.5.4:
+ version "6.5.4"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
+ integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
+ dependencies:
+ bn.js "^4.11.9"
+ brorand "^1.1.0"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.1"
+ inherits "^2.0.4"
+ minimalistic-assert "^1.0.1"
+ minimalistic-crypto-utils "^1.0.1"
+
emittery@^0.13.1:
version "0.13.1"
resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad"
@@ -2220,6 +2746,11 @@ es-module-lexer@^1.2.1:
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.2.1.tgz#ba303831f63e6a394983fde2f97ad77b22324527"
integrity sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==
+es6-promise@^3.2.1:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
+ integrity sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==
+
escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -2372,11 +2903,24 @@ etag@~1.8.1:
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
-events@^3.2.0:
+eventemitter3@^4.0.7:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
+ integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
+
+events@^3.0.0, events@^3.2.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
+ dependencies:
+ md5.js "^1.3.4"
+ safe-buffer "^5.1.1"
+
execa@^4.0.2:
version "4.1.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
@@ -2515,7 +3059,7 @@ fast-levenshtein@^2.0.6:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
-fast-safe-stringify@2.1.1, fast-safe-stringify@^2.1.1:
+fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.7, fast-safe-stringify@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==
@@ -2602,6 +3146,11 @@ follow-redirects@^1.15.0:
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
+foreach@^2.0.4:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e"
+ integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==
+
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -2692,6 +3241,11 @@ function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+function-bind@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
+
gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@@ -2711,6 +3265,16 @@ get-intrinsic@^1.0.2:
has "^1.0.3"
has-symbols "^1.0.3"
+get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b"
+ integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==
+ dependencies:
+ function-bind "^1.1.2"
+ has-proto "^1.0.1"
+ has-symbols "^1.0.3"
+ hasown "^2.0.0"
+
get-package-type@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
@@ -2800,6 +3364,13 @@ globby@^11.1.0:
merge2 "^1.4.1"
slash "^3.0.0"
+gopd@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
+ integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
+ dependencies:
+ get-intrinsic "^1.1.3"
+
graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
@@ -2810,6 +3381,18 @@ grapheme-splitter@^1.0.4:
resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+handlebars@^4.7.7:
+ version "4.7.8"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9"
+ integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==
+ dependencies:
+ minimist "^1.2.5"
+ neo-async "^2.6.2"
+ source-map "^0.6.1"
+ wordwrap "^1.0.0"
+ optionalDependencies:
+ uglify-js "^3.1.4"
+
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
@@ -2833,6 +3416,18 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+has-property-descriptors@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340"
+ integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==
+ dependencies:
+ get-intrinsic "^1.2.2"
+
+has-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
+ integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
+
has-symbols@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
@@ -2845,11 +3440,51 @@ has@^1.0.3:
dependencies:
function-bind "^1.1.1"
+hash-base@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
+ integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
+ dependencies:
+ inherits "^2.0.4"
+ readable-stream "^3.6.0"
+ safe-buffer "^5.2.0"
+
+hash.js@^1.0.0, hash.js@^1.0.3:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
+ integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.1"
+
+hasown@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
+ integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
+ dependencies:
+ function-bind "^1.1.2"
+
hexoid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18"
integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==
+hmac-drbg@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==
+ dependencies:
+ hash.js "^1.0.3"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.1"
+
+hoist-non-react-statics@^3.0.0:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
+ integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+ dependencies:
+ react-is "^16.7.0"
+
html-escaper@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
@@ -2880,6 +3515,16 @@ http-signature@~1.2.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
+http2-client@^1.2.5:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/http2-client/-/http2-client-1.3.5.tgz#20c9dc909e3cc98284dd20af2432c524086df181"
+ integrity sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==
+
+https-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+ integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==
+
human-signals@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
@@ -2902,7 +3547,7 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
-ieee754@^1.1.13:
+ieee754@^1.1.13, ieee754@^1.1.4:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
@@ -2941,11 +3586,16 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+
inquirer@8.2.4:
version "8.2.4"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4"
@@ -3069,7 +3719,7 @@ is-unicode-supported@^0.1.0:
resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
-isarray@~1.0.0:
+isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
@@ -3512,12 +4162,17 @@ joi@^17.9.2:
"@sideway/formula" "^3.0.1"
"@sideway/pinpoint" "^2.0.0"
+js-levenshtein@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
+ integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
+
js-sdsl@^4.1.4:
version "4.4.0"
resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430"
integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==
-js-tokens@^4.0.0:
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
@@ -3552,6 +4207,13 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+json-pointer@0.6.2, json-pointer@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.2.tgz#f97bd7550be5e9ea901f8c9264c9d436a22a93cd"
+ integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==
+ dependencies:
+ foreach "^2.0.4"
+
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
@@ -3672,6 +4334,11 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
+lodash.isequal@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+ integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
+
lodash.memoize@4.x:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
@@ -3695,6 +4362,13 @@ log-symbols@^4.1.0:
chalk "^4.1.0"
is-unicode-supported "^0.1.0"
+loose-envify@^1.1.0, loose-envify@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+ dependencies:
+ js-tokens "^3.0.0 || ^4.0.0"
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -3714,6 +4388,11 @@ lru-cache@^9.0.0:
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.1.tgz#c58a93de58630b688de39ad04ef02ef26f1902f1"
integrity sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==
+lunr@^2.3.9:
+ version "2.3.9"
+ resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1"
+ integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==
+
macos-release@^2.5.0:
version "2.5.1"
resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.1.tgz#bccac4a8f7b93163a8d163b8ebf385b3c5f55bf9"
@@ -3745,6 +4424,25 @@ makeerror@1.0.12:
dependencies:
tmpl "1.0.5"
+mark.js@^8.11.1:
+ version "8.11.1"
+ resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5"
+ integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==
+
+marked@^4.0.15:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3"
+ integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==
+
+md5.js@^1.3.4:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+ integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@@ -3785,6 +4483,14 @@ micromatch@^4.0.0, micromatch@^4.0.4:
braces "^3.0.2"
picomatch "^2.3.1"
+miller-rabin@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
+ dependencies:
+ bn.js "^4.0.0"
+ brorand "^1.0.1"
+
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
@@ -3812,6 +4518,16 @@ mimic-fn@^2.1.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+
+minimalistic-crypto-utils@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
+
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -3819,6 +4535,13 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
dependencies:
brace-expansion "^1.1.7"
+minimatch@^5.0.1:
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
+ integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
minimatch@^8.0.2:
version "8.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229"
@@ -3826,7 +4549,7 @@ minimatch@^8.0.2:
dependencies:
brace-expansion "^2.0.1"
-minimist@^1.2.6:
+minimist@^1.2.5, minimist@^1.2.6:
version "1.2.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
@@ -3848,6 +4571,28 @@ mkdirp@^0.5.4:
dependencies:
minimist "^1.2.6"
+mkdirp@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+mobx-react-lite@^3.4.0:
+ version "3.4.3"
+ resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-3.4.3.tgz#3a4c22c30bfaa8b1b2aa48d12b2ba811c0947ab7"
+ integrity sha512-NkJREyFTSUXR772Qaai51BnE1voWx56LOL80xG7qkZr6vo8vEaLF3sz1JNUVh+rxmUzxYaqOhfuxTfqUh0FXUg==
+
+mobx-react@^7.2.0:
+ version "7.6.0"
+ resolved "https://registry.yarnpkg.com/mobx-react/-/mobx-react-7.6.0.tgz#ebf0456728a9bd2e5c24fdcf9b36e285a222a7d6"
+ integrity sha512-+HQUNuh7AoQ9ZnU6c4rvbiVVl+wEkb9WqYsVDzGLng+Dqj1XntHu79PvEWKtSMoMj67vFp/ZPXcElosuJO8ckA==
+ dependencies:
+ mobx-react-lite "^3.4.0"
+
+mobx@^6.3.2:
+ version "6.10.2"
+ resolved "https://registry.yarnpkg.com/mobx/-/mobx-6.10.2.tgz#96e123deef140750360ca9a5b02a8b91fbffd4d9"
+ integrity sha512-B1UGC3ieK3boCjnMEcZSwxqRDMdzX65H/8zOHbuTY8ZhvrIjTUoLRR2TP2bPqIgYRfb3+dUigu8yMZufNjn0LQ==
+
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -3918,6 +4663,13 @@ node-emoji@1.11.0:
dependencies:
lodash "^4.17.21"
+node-fetch-h2@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz#c6188325f9bd3d834020bf0f2d6dc17ced2241ac"
+ integrity sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==
+ dependencies:
+ http2-client "^1.2.5"
+
node-fetch@^2.6.1:
version "2.6.9"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6"
@@ -3930,6 +4682,42 @@ node-int64@^0.4.0:
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
+node-libs-browser@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
+ integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
+ dependencies:
+ assert "^1.1.1"
+ browserify-zlib "^0.2.0"
+ buffer "^4.3.0"
+ console-browserify "^1.1.0"
+ constants-browserify "^1.0.0"
+ crypto-browserify "^3.11.0"
+ domain-browser "^1.1.1"
+ events "^3.0.0"
+ https-browserify "^1.0.0"
+ os-browserify "^0.3.0"
+ path-browserify "0.0.1"
+ process "^0.11.10"
+ punycode "^1.2.4"
+ querystring-es3 "^0.2.0"
+ readable-stream "^2.3.3"
+ stream-browserify "^2.0.1"
+ stream-http "^2.7.2"
+ string_decoder "^1.0.0"
+ timers-browserify "^2.0.4"
+ tty-browserify "0.0.0"
+ url "^0.11.0"
+ util "^0.11.0"
+ vm-browserify "^1.0.1"
+
+node-readfiles@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/node-readfiles/-/node-readfiles-0.2.0.tgz#dbbd4af12134e2e635c245ef93ffcf6f60673a5d"
+ integrity sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==
+ dependencies:
+ es6-promise "^3.2.1"
+
node-releases@^2.0.8:
version "2.0.10"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f"
@@ -3947,6 +4735,52 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
+oas-kit-common@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/oas-kit-common/-/oas-kit-common-1.0.8.tgz#6d8cacf6e9097967a4c7ea8bcbcbd77018e1f535"
+ integrity sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==
+ dependencies:
+ fast-safe-stringify "^2.0.7"
+
+oas-linter@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/oas-linter/-/oas-linter-3.2.2.tgz#ab6a33736313490659035ca6802dc4b35d48aa1e"
+ integrity sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==
+ dependencies:
+ "@exodus/schemasafe" "^1.0.0-rc.2"
+ should "^13.2.1"
+ yaml "^1.10.0"
+
+oas-resolver@^2.5.6:
+ version "2.5.6"
+ resolved "https://registry.yarnpkg.com/oas-resolver/-/oas-resolver-2.5.6.tgz#10430569cb7daca56115c915e611ebc5515c561b"
+ integrity sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==
+ dependencies:
+ node-fetch-h2 "^2.3.0"
+ oas-kit-common "^1.0.8"
+ reftools "^1.1.9"
+ yaml "^1.10.0"
+ yargs "^17.0.1"
+
+oas-schema-walker@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz#74c3cd47b70ff8e0b19adada14455b5d3ac38a22"
+ integrity sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==
+
+oas-validator@^5.0.8:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/oas-validator/-/oas-validator-5.0.8.tgz#387e90df7cafa2d3ffc83b5fb976052b87e73c28"
+ integrity sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==
+ dependencies:
+ call-me-maybe "^1.0.1"
+ oas-kit-common "^1.0.8"
+ oas-linter "^3.2.2"
+ oas-resolver "^2.5.6"
+ oas-schema-walker "^1.1.5"
+ reftools "^1.1.9"
+ should "^13.2.1"
+ yaml "^1.10.0"
+
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
@@ -3962,6 +4796,21 @@ object-inspect@^1.9.0:
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
+object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object.assign@^4.1.4:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
+ integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ has-symbols "^1.0.3"
+ object-keys "^1.1.1"
+
on-finished@2.4.1:
version "2.4.1"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
@@ -3983,6 +4832,14 @@ onetime@^5.1.0, onetime@^5.1.2:
dependencies:
mimic-fn "^2.1.0"
+openapi-sampler@^1.3.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/openapi-sampler/-/openapi-sampler-1.3.1.tgz#eebb2a1048f830cc277398bc8022b415f887e859"
+ integrity sha512-Ert9mvc2tLPmmInwSyGZS+v4Ogu9/YoZuq9oP3EdUklg2cad6+IGndP9yqJJwbgdXwZibiq5fpv6vYujchdJFg==
+ dependencies:
+ "@types/json-schema" "^7.0.7"
+ json-pointer "0.6.2"
+
optionator@^0.9.1:
version "0.9.1"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
@@ -4010,6 +4867,11 @@ ora@5.4.1, ora@^5.4.1:
strip-ansi "^6.0.0"
wcwidth "^1.0.1"
+os-browserify@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+ integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==
+
os-name@4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/os-name/-/os-name-4.0.1.tgz#32cee7823de85a8897647ba4d76db46bf845e555"
@@ -4056,6 +4918,11 @@ p-try@^2.0.0:
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+pako@~1.0.5:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
+ integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
+
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -4063,6 +4930,17 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
+parse-asn1@^5.0.0, parse-asn1@^5.1.6:
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4"
+ integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==
+ dependencies:
+ asn1.js "^5.2.0"
+ browserify-aes "^1.0.0"
+ evp_bytestokey "^1.0.0"
+ pbkdf2 "^3.0.3"
+ safe-buffer "^5.1.1"
+
parse-json@^5.0.0, parse-json@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
@@ -4078,6 +4956,16 @@ parseurl@~1.3.3:
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+path-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
+ integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
+
+path-browserify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
+ integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
@@ -4121,6 +5009,22 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+pbkdf2@^3.0.3:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
+ integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
+ dependencies:
+ create-hash "^1.1.2"
+ create-hmac "^1.1.4"
+ ripemd160 "^2.0.1"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+perfect-scrollbar@^1.5.5:
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz#41a211a2fb52a7191eff301432134ea47052b27f"
+ integrity sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==
+
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
@@ -4148,11 +5052,23 @@ pkg-dir@^4.2.0:
dependencies:
find-up "^4.0.0"
-pluralize@8.0.0:
+pluralize@8.0.0, pluralize@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==
+polished@^4.1.3:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/polished/-/polished-4.2.2.tgz#2529bb7c3198945373c52e34618c8fe7b1aa84d1"
+ integrity sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==
+ dependencies:
+ "@babel/runtime" "^7.17.8"
+
+postcss-value-parser@^4.0.2:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -4179,11 +5095,21 @@ pretty-format@^29.0.0, pretty-format@^29.5.0:
ansi-styles "^5.0.0"
react-is "^18.0.0"
+prismjs@^1.27.0:
+ version "1.29.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"
+ integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==
+
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+process@^0.11.10:
+ version "0.11.10"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+
promise-throttle@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/promise-throttle/-/promise-throttle-1.1.2.tgz#8a59d0424b6f9673aa8405c8b6bd4b5e4f7f71db"
@@ -4197,6 +5123,15 @@ prompts@^2.0.1:
kleur "^3.0.3"
sisteransi "^1.0.5"
+prop-types@^15.5.0, prop-types@^15.7.2:
+ version "15.8.1"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
+ integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.13.1"
+
proxy-addr@~2.0.7:
version "2.0.7"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
@@ -4215,6 +5150,18 @@ psl@^1.1.28:
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
+public-encrypt@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
+ integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
+ dependencies:
+ bn.js "^4.1.0"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ parse-asn1 "^5.0.0"
+ randombytes "^2.0.1"
+ safe-buffer "^5.1.2"
+
pump@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
@@ -4223,6 +5170,11 @@ pump@^3.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"
+punycode@^1.2.4, punycode@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==
+
punycode@^2.1.0, punycode@^2.1.1:
version "2.3.0"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
@@ -4247,23 +5199,43 @@ qs@^6.11.0:
dependencies:
side-channel "^1.0.4"
+qs@^6.11.2:
+ version "6.11.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9"
+ integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==
+ dependencies:
+ side-channel "^1.0.4"
+
qs@~6.5.2:
version "6.5.3"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
+querystring-es3@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-randombytes@^2.1.0:
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
dependencies:
safe-buffer "^5.1.0"
+randomfill@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
+ integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
+ dependencies:
+ randombytes "^2.0.5"
+ safe-buffer "^5.1.0"
+
range-parser@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
@@ -4289,12 +5261,42 @@ raw-body@2.5.2:
iconv-lite "0.4.24"
unpipe "1.0.0"
+react-dom@^17.0.1:
+ version "17.0.2"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
+ integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ scheduler "^0.20.2"
+
+react-is@^16.13.1, react-is@^16.7.0:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
react-is@^18.0.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-readable-stream@^2.2.2:
+react-tabs@^3.2.2:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/react-tabs/-/react-tabs-3.2.3.tgz#ccbb3e1241ad3f601047305c75db661239977f2f"
+ integrity sha512-jx325RhRVnS9DdFbeF511z0T0WEqEoMl1uCE3LoZ6VaZZm7ytatxbum0B8bCTmaiV0KsU+4TtLGTGevCic7SWg==
+ dependencies:
+ clsx "^1.1.0"
+ prop-types "^15.5.0"
+
+react@^17.0.1:
+ version "17.0.2"
+ resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
+ integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
@@ -4307,7 +5309,7 @@ readable-stream@^2.2.2:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-readable-stream@^3.4.0:
+readable-stream@^3.4.0, readable-stream@^3.6.0, readable-stream@^3.6.2:
version "3.6.2"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
@@ -4330,11 +5332,66 @@ rechoir@^0.6.2:
dependencies:
resolve "^1.1.6"
+redoc-cli@^0.13.21:
+ version "0.13.21"
+ resolved "https://registry.yarnpkg.com/redoc-cli/-/redoc-cli-0.13.21.tgz#90bfca81c249422b806367e9a4691f4888626907"
+ integrity sha512-pjuPf0HkKqo9qtoHxMK4x5dhC/lJ08O0hO0rJISbSRCf19bPBjQ5lb2mHRu9j6vypTMltyaLtFIfVNveuyF5fQ==
+ dependencies:
+ boxen "5.1.2"
+ chokidar "^3.5.1"
+ handlebars "^4.7.7"
+ mkdirp "^1.0.4"
+ mobx "^6.3.2"
+ node-libs-browser "^2.2.1"
+ react "^17.0.1"
+ react-dom "^17.0.1"
+ redoc "2.0.0"
+ styled-components "^5.3.0"
+ yargs "^17.3.1"
+
+redoc@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/redoc/-/redoc-2.0.0.tgz#8b3047ca75b84d31558c6c92da7f84affef35c3e"
+ integrity sha512-rU8iLdAkT89ywOkYk66Mr+IofqaMASlRvTew0dJvopCORMIPUcPMxjlJbJNC6wsn2vvMnpUFLQ/0ISDWn9BWag==
+ dependencies:
+ "@redocly/openapi-core" "^1.0.0-beta.104"
+ classnames "^2.3.1"
+ decko "^1.2.0"
+ dompurify "^2.2.8"
+ eventemitter3 "^4.0.7"
+ json-pointer "^0.6.2"
+ lunr "^2.3.9"
+ mark.js "^8.11.1"
+ marked "^4.0.15"
+ mobx-react "^7.2.0"
+ openapi-sampler "^1.3.0"
+ path-browserify "^1.0.1"
+ perfect-scrollbar "^1.5.5"
+ polished "^4.1.3"
+ prismjs "^1.27.0"
+ prop-types "^15.7.2"
+ react-tabs "^3.2.2"
+ slugify "~1.4.7"
+ stickyfill "^1.1.1"
+ style-loader "^3.3.1"
+ swagger2openapi "^7.0.6"
+ url-template "^2.0.8"
+
reflect-metadata@^0.1.13:
version "0.1.13"
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08"
integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==
+reftools@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/reftools/-/reftools-1.1.9.tgz#e16e19f662ccd4648605312c06d34e5da3a2b77e"
+ integrity sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==
+
+regenerator-runtime@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
+ integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
+
request-promise-core@1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f"
@@ -4446,6 +5503,14 @@ rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
+ripemd160@^2.0.0, ripemd160@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+ integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
run-async@^2.4.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
@@ -4472,7 +5537,7 @@ rxjs@^7.2.0, rxjs@^7.5.5:
dependencies:
tslib "^2.1.0"
-safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
+safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -4487,6 +5552,14 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+scheduler@^0.20.2:
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
+ integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
schema-utils@^3.1.1, schema-utils@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.2.tgz#36c10abca6f7577aeae136c804b0c741edeadc99"
@@ -4551,11 +5624,39 @@ serve-static@1.15.0:
parseurl "~1.3.3"
send "0.18.0"
+set-function-length@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed"
+ integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==
+ dependencies:
+ define-data-property "^1.1.1"
+ get-intrinsic "^1.2.1"
+ gopd "^1.0.1"
+ has-property-descriptors "^1.0.0"
+
+setimmediate@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
+
setprototypeof@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+sha.js@^2.4.0, sha.js@^2.4.8:
+ version "2.4.11"
+ resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+ integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+shallowequal@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
+ integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
+
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
@@ -4577,6 +5678,50 @@ shelljs@0.8.5:
interpret "^1.0.0"
rechoir "^0.6.2"
+should-equal@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-2.0.0.tgz#6072cf83047360867e68e98b09d71143d04ee0c3"
+ integrity sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==
+ dependencies:
+ should-type "^1.4.0"
+
+should-format@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1"
+ integrity sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==
+ dependencies:
+ should-type "^1.3.0"
+ should-type-adaptors "^1.0.1"
+
+should-type-adaptors@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz#401e7f33b5533033944d5cd8bf2b65027792e27a"
+ integrity sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==
+ dependencies:
+ should-type "^1.3.0"
+ should-util "^1.0.0"
+
+should-type@^1.3.0, should-type@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3"
+ integrity sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==
+
+should-util@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.1.tgz#fb0d71338f532a3a149213639e2d32cbea8bcb28"
+ integrity sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==
+
+should@^13.2.1:
+ version "13.2.3"
+ resolved "https://registry.yarnpkg.com/should/-/should-13.2.3.tgz#96d8e5acf3e97b49d89b51feaa5ae8d07ef58f10"
+ integrity sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==
+ dependencies:
+ should-equal "^2.0.0"
+ should-format "^3.0.3"
+ should-type "^1.4.0"
+ should-type-adaptors "^1.0.1"
+ should-util "^1.0.0"
+
side-channel@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
@@ -4601,6 +5746,11 @@ slash@^3.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+slugify@~1.4.7:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.4.7.tgz#e42359d505afd84a44513280868e31202a79a628"
+ integrity sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==
+
source-map-support@0.5.13:
version "0.5.13"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
@@ -4664,6 +5814,30 @@ stealthy-require@^1.1.1:
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==
+stickyfill@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/stickyfill/-/stickyfill-1.1.1.tgz#39413fee9d025c74a7e59ceecb23784cc0f17f02"
+ integrity sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==
+
+stream-browserify@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
+ integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "^2.0.2"
+
+stream-http@^2.7.2:
+ version "2.8.3"
+ resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
+ integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
+ dependencies:
+ builtin-status-codes "^3.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.3.6"
+ to-arraybuffer "^1.0.0"
+ xtend "^4.0.0"
+
streamsearch@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
@@ -4677,7 +5851,7 @@ string-length@^4.0.1:
char-regex "^1.0.2"
strip-ansi "^6.0.0"
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -4686,7 +5860,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
-string_decoder@^1.1.1:
+string_decoder@^1.0.0, string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
@@ -4727,6 +5901,27 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+style-loader@^3.3.1:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff"
+ integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==
+
+styled-components@^5.3.0:
+ version "5.3.11"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.11.tgz#9fda7bf1108e39bf3f3e612fcc18170dedcd57a8"
+ integrity sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/traverse" "^7.4.5"
+ "@emotion/is-prop-valid" "^1.1.0"
+ "@emotion/stylis" "^0.8.4"
+ "@emotion/unitless" "^0.7.4"
+ babel-plugin-styled-components ">= 1.12.0"
+ css-to-react-native "^3.0.0"
+ hoist-non-react-statics "^3.0.0"
+ shallowequal "^1.1.0"
+ supports-color "^5.5.0"
+
superagent@^8.0.5:
version "8.0.9"
resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.0.9.tgz#2c6fda6fadb40516515f93e9098c0eb1602e0535"
@@ -4751,7 +5946,7 @@ supertest@^6.1.3:
methods "^1.1.2"
superagent "^8.0.5"
-supports-color@^5.3.0:
+supports-color@^5.3.0, supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
@@ -4782,6 +5977,23 @@ swagger-ui-dist@4.18.2:
resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-4.18.2.tgz#323308f1c1d87a7c22ce3e273c31835eb680a71b"
integrity sha512-oVBoBl9Dg+VJw8uRWDxlyUyHoNEDC0c1ysT6+Boy6CTgr2rUcLcfPon4RvxgS2/taNW6O0+US+Z/dlAsWFjOAQ==
+swagger2openapi@^7.0.6:
+ version "7.0.8"
+ resolved "https://registry.yarnpkg.com/swagger2openapi/-/swagger2openapi-7.0.8.tgz#12c88d5de776cb1cbba758994930f40ad0afac59"
+ integrity sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==
+ dependencies:
+ call-me-maybe "^1.0.1"
+ node-fetch "^2.6.1"
+ node-fetch-h2 "^2.3.0"
+ node-readfiles "^0.2.0"
+ oas-kit-common "^1.0.8"
+ oas-resolver "^2.5.6"
+ oas-schema-walker "^1.1.5"
+ oas-validator "^5.0.8"
+ reftools "^1.1.9"
+ yaml "^1.10.0"
+ yargs "^17.0.1"
+
symbol-observable@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205"
@@ -4837,6 +6049,13 @@ through@^2.3.6:
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+timers-browserify@^2.0.4:
+ version "2.0.12"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
+ integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
+ dependencies:
+ setimmediate "^1.0.4"
+
tls@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/tls/-/tls-0.0.1.tgz#0ab2bf5968d71df2f8c0e1515d24a2240b98aac8"
@@ -4854,6 +6073,11 @@ tmpl@1.0.5:
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
+to-arraybuffer@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==
+
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
@@ -4976,6 +6200,11 @@ tsutils@^3.21.0:
dependencies:
tslib "^1.8.1"
+tty-browserify@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+ integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==
+
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@@ -5028,6 +6257,11 @@ typescript@4.9.5, typescript@^4.7.4:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
+uglify-js@^3.1.4:
+ version "3.17.4"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c"
+ integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==
+
uid@2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/uid/-/uid-2.0.2.tgz#4b5782abf0f2feeefc00fa88006b2b3b7af3e3b9"
@@ -5060,11 +6294,38 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
+url-template@^2.0.8:
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21"
+ integrity sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==
+
+url@^0.11.0:
+ version "0.11.3"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad"
+ integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==
+ dependencies:
+ punycode "^1.4.1"
+ qs "^6.11.2"
+
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+util@^0.10.4:
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
+ integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
+ dependencies:
+ inherits "2.0.3"
+
+util@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
+ integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
+ dependencies:
+ inherits "2.0.3"
+
utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
@@ -5108,6 +6369,11 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+vm-browserify@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
+ integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
+
walker@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
@@ -5195,6 +6461,13 @@ which@^2.0.1:
dependencies:
isexe "^2.0.0"
+widest-line@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
+ integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
+ dependencies:
+ string-width "^4.0.0"
+
windows-release@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-4.0.0.tgz#4725ec70217d1bf6e02c7772413b29cdde9ec377"
@@ -5207,6 +6480,11 @@ word-wrap@^1.2.3:
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+wordwrap@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
+
wrap-ansi@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
@@ -5249,6 +6527,11 @@ yallist@^4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+yaml-ast-parser@0.0.43:
+ version "0.0.43"
+ resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb"
+ integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==
+
yaml@^1.10.0:
version "1.10.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
@@ -5259,7 +6542,7 @@ yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
-yargs@^17.3.1:
+yargs@^17.0.1, yargs@^17.3.1:
version "17.7.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==