UNPKG

@coinbase/cdp-sdk

Version:

SDK for interacting with the Coinbase Developer Platform Wallet API

58 lines (52 loc) 2.13 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"; import type { ListEvmTokenBalances200 } from "../coinbaseDeveloperPlatformAPIs.schemas.js"; export const getListEvmTokenBalancesResponseMock = (): ListEvmTokenBalances200 => ({ ...{ 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 getListEvmTokenBalancesMockHandler = ( overrideResponse?: | ListEvmTokenBalances200 | (( info: Parameters<Parameters<typeof http.get>[1]>[0], ) => Promise<ListEvmTokenBalances200> | ListEvmTokenBalances200), ) => { return http.get("*/v2/evm/token-balances/:network/:address", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getListEvmTokenBalancesResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getEvmTokenBalancesMock = () => [getListEvmTokenBalancesMockHandler()];