UNPKG

@coinbase/cdp-sdk

Version:

SDK for interacting with the Coinbase Developer Platform Wallet API

129 lines 5.68 kB
/** * Generated by orval v7.6.0 🍺 * Do not edit manually. * Coinbase Developer Platform APIs * The Coinbase Developer Platform APIs - leading the world's transition onchain. * OpenAPI spec version: 2.0.0 */ import { faker } from "@faker-js/faker"; import { HttpResponse, delay, http } from "msw"; import { ListEvmTokenBalancesNetwork } from "../coinbaseDeveloperPlatformAPIs.schemas.js"; export const getRunSQLQueryResponseMock = (overrideResponse = {}) => ({ result: faker.helpers.arrayElement([ Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({})), undefined, ]), schema: faker.helpers.arrayElement([ { columns: faker.helpers.arrayElement([ Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({ name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]), type: faker.helpers.arrayElement([ faker.helpers.arrayElement([ "String", "UInt8", "UInt16", "UInt32", "UInt64", "UInt128", "UInt256", "Int8", "Int16", "Int32", "Int64", "Int128", "Int256", "Float32", "Float64", "Bool", "Date", "DateTime", "DateTime64", "UUID", ]), undefined, ]), })), undefined, ]), }, undefined, ]), metadata: faker.helpers.arrayElement([ { cached: faker.helpers.arrayElement([faker.datatype.boolean(), undefined]), executionTimeMs: faker.helpers.arrayElement([ faker.number.int({ min: undefined, max: undefined }), undefined, ]), rowCount: faker.helpers.arrayElement([ faker.number.int({ min: undefined, max: undefined }), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getListTokensForAccountResponseMock = (overrideResponse = {}) => ({ accountAddress: faker.helpers.arrayElement([faker.string.alpha(20), undefined]), tokenAddresses: faker.helpers.arrayElement([ Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$")), undefined, ]), totalCount: faker.helpers.arrayElement([faker.number.int({ min: 0, max: undefined }), undefined]), ...overrideResponse, }); export const getListDataTokenBalancesResponseMock = () => ({ ...{ balances: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({ amount: { amount: faker.helpers.fromRegExp("^[0-9]+$"), decimals: faker.number.int({ min: undefined, max: undefined }), }, token: { network: faker.helpers.arrayElement(Object.values(ListEvmTokenBalancesNetwork)), symbol: faker.helpers.arrayElement([faker.string.alpha(20), undefined]), name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]), contractAddress: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"), }, })), }, ...{ nextPageToken: faker.helpers.arrayElement([faker.string.alpha(20), undefined]) }, }); export const getRunSQLQueryMockHandler = (overrideResponse) => { return http.post("*/v2/data/query/run", async (info) => { await delay(0); return new HttpResponse(JSON.stringify(overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getRunSQLQueryResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } }); }); }; export const getListTokensForAccountMockHandler = (overrideResponse) => { return http.get("*/v2/data/evm/token-ownership/:network/:address", async (info) => { await delay(0); return new HttpResponse(JSON.stringify(overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getListTokensForAccountResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } }); }); }; export const getListDataTokenBalancesMockHandler = (overrideResponse) => { return http.get("*/v2/data/evm/token-balances/:network/:address", async (info) => { await delay(0); return new HttpResponse(JSON.stringify(overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getListDataTokenBalancesResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } }); }); }; export const getOnchainDataMock = () => [ getRunSQLQueryMockHandler(), getListTokensForAccountMockHandler(), getListDataTokenBalancesMockHandler(), ]; //# sourceMappingURL=onchain-data.msw.js.map