UNPKG

@coinbase/cdp-sdk

Version:

SDK for interacting with the Coinbase Developer Platform Wallet API

218 lines (205 loc) 7.37 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 type { CreateSwapQuoteResponse, CreateSwapQuoteResponseWrapper, GetSwapPriceResponse, GetSwapPriceResponseWrapper, SwapUnavailableResponse, } from "../coinbaseDeveloperPlatformAPIs.schemas.js"; export const getGetEvmSwapPriceResponseGetSwapPriceResponseMock = ( overrideResponse: Partial<GetSwapPriceResponse> = {}, ): GetSwapPriceResponse => ({ ...{ ...{ blockNumber: faker.helpers.fromRegExp("^[1-9]\d*$"), toAmount: faker.helpers.fromRegExp("^(0|[1-9]\d*)$"), toToken: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), fees: { gasFee: { ...{ amount: faker.helpers.fromRegExp("^\d+$"), token: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), }, }, protocolFee: { ...{ amount: faker.helpers.fromRegExp("^\d+$"), token: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), }, }, }, issues: { allowance: { currentAllowance: faker.helpers.fromRegExp("^\d+$"), spender: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), }, balance: { token: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), currentBalance: faker.helpers.fromRegExp("^\d+$"), requiredBalance: faker.helpers.fromRegExp("^\d+$"), }, simulationIncomplete: faker.datatype.boolean(), }, liquidityAvailable: faker.datatype.boolean(), minToAmount: faker.helpers.fromRegExp("^(0|[1-9]\d*)$"), fromAmount: faker.helpers.fromRegExp("^(0|[1-9]\d*)$"), fromToken: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), }, ...{ gas: faker.helpers.arrayElement([faker.helpers.fromRegExp("^\d+$"), null]), gasPrice: faker.helpers.fromRegExp("^\d+$"), }, }, ...overrideResponse, }); export const getGetEvmSwapPriceResponseSwapUnavailableResponseMock = ( overrideResponse: Partial<SwapUnavailableResponse> = {}, ): SwapUnavailableResponse => ({ ...{ liquidityAvailable: faker.datatype.boolean() }, ...overrideResponse, }); export const getGetEvmSwapPriceResponseMock = (): GetSwapPriceResponseWrapper => faker.helpers.arrayElement([ { ...getGetEvmSwapPriceResponseGetSwapPriceResponseMock() }, { ...getGetEvmSwapPriceResponseSwapUnavailableResponseMock() }, ]); export const getCreateEvmSwapQuoteResponseCreateSwapQuoteResponseMock = ( overrideResponse: Partial<CreateSwapQuoteResponse> = {}, ): CreateSwapQuoteResponse => ({ ...{ ...{ permit2: { hash: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{64}$"), eip712: { domain: { name: faker.helpers.arrayElement([faker.string.alpha(20), undefined]), version: faker.helpers.arrayElement([faker.string.alpha(20), undefined]), chainId: faker.helpers.arrayElement([ faker.number.int({ min: undefined, max: undefined }), undefined, ]), verifyingContract: faker.helpers.arrayElement([ faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), undefined, ]), salt: faker.helpers.arrayElement([ faker.helpers.fromRegExp("^0x[a-fA-F0-9]{64}$"), undefined, ]), }, types: {}, primaryType: faker.string.alpha(20), message: {}, }, }, transaction: { to: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), data: faker.string.alpha(20), gas: faker.helpers.fromRegExp("^\d+$"), gasPrice: faker.helpers.fromRegExp("^\d+$"), value: faker.helpers.fromRegExp("^\d+$"), }, }, ...{ blockNumber: faker.helpers.fromRegExp("^[1-9]\d*$"), toAmount: faker.helpers.fromRegExp("^(0|[1-9]\d*)$"), toToken: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), fees: { gasFee: { ...{ amount: faker.helpers.fromRegExp("^\d+$"), token: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), }, }, protocolFee: { ...{ amount: faker.helpers.fromRegExp("^\d+$"), token: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), }, }, }, issues: { allowance: { currentAllowance: faker.helpers.fromRegExp("^\d+$"), spender: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), }, balance: { token: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), currentBalance: faker.helpers.fromRegExp("^\d+$"), requiredBalance: faker.helpers.fromRegExp("^\d+$"), }, simulationIncomplete: faker.datatype.boolean(), }, liquidityAvailable: faker.datatype.boolean(), minToAmount: faker.helpers.fromRegExp("^(0|[1-9]\d*)$"), fromAmount: faker.helpers.fromRegExp("^(0|[1-9]\d*)$"), fromToken: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"), }, }, ...overrideResponse, }); export const getCreateEvmSwapQuoteResponseSwapUnavailableResponseMock = ( overrideResponse: Partial<SwapUnavailableResponse> = {}, ): SwapUnavailableResponse => ({ ...{ liquidityAvailable: faker.datatype.boolean() }, ...overrideResponse, }); export const getCreateEvmSwapQuoteResponseMock = (): CreateSwapQuoteResponseWrapper => faker.helpers.arrayElement([ { ...getCreateEvmSwapQuoteResponseCreateSwapQuoteResponseMock() }, { ...getCreateEvmSwapQuoteResponseSwapUnavailableResponseMock() }, ]); export const getGetEvmSwapPriceMockHandler = ( overrideResponse?: | GetSwapPriceResponseWrapper | (( info: Parameters<Parameters<typeof http.get>[1]>[0], ) => Promise<GetSwapPriceResponseWrapper> | GetSwapPriceResponseWrapper), ) => { return http.get("*/v2/evm/swaps/quote", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getGetEvmSwapPriceResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getCreateEvmSwapQuoteMockHandler = ( overrideResponse?: | CreateSwapQuoteResponseWrapper | (( info: Parameters<Parameters<typeof http.post>[1]>[0], ) => Promise<CreateSwapQuoteResponseWrapper> | CreateSwapQuoteResponseWrapper), ) => { return http.post("*/v2/evm/swaps", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getCreateEvmSwapQuoteResponseMock(), ), { status: 201, headers: { "Content-Type": "application/json" } }, ); }); }; export const getEvmSwapsMock = () => [ getGetEvmSwapPriceMockHandler(), getCreateEvmSwapQuoteMockHandler(), ];