@coinbase/cdp-sdk
Version:
SDK for interacting with the Coinbase Developer Platform Wallet API
56 lines (50 loc) • 1.99 kB
text/typescript
/**
* 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 type { ListSolanaTokenBalances200 } from "../coinbaseDeveloperPlatformAPIs.schemas.js";
export const getListSolanaTokenBalancesResponseMock = (): ListSolanaTokenBalances200 => ({
...{
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: {
symbol: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
mintAddress: faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"),
},
}),
),
},
...{ nextPageToken: faker.helpers.arrayElement([faker.string.alpha(20), undefined]) },
});
export const getListSolanaTokenBalancesMockHandler = (
overrideResponse?:
| ListSolanaTokenBalances200
| ((
info: Parameters<Parameters<typeof http.get>[1]>[0],
) => Promise<ListSolanaTokenBalances200> | ListSolanaTokenBalances200),
) => {
return http.get("*/v2/solana/token-balances/:network/:address", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getListSolanaTokenBalancesResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getSolanaTokenBalancesMock = () => [getListSolanaTokenBalancesMockHandler()];