UNPKG

@coinbase/cdp-sdk

Version:

SDK for interacting with the Coinbase Developer Platform Wallet API

479 lines (443 loc) 15.4 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 { ExportSolanaAccount200, ExportSolanaAccountByName200, ListSolanaAccounts200, SendSolanaTransaction200, SignSolanaMessage200, SignSolanaTransaction200, SolanaAccount, } from "../coinbaseDeveloperPlatformAPIs.schemas.js"; export const getListSolanaAccountsResponseMock = (): ListSolanaAccounts200 => ({ ...{ accounts: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map( () => ({ address: faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"), name: faker.helpers.arrayElement([ faker.helpers.fromRegExp("^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$"), undefined, ]), policies: faker.helpers.arrayElement([ Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => faker.helpers.fromRegExp( "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", ), ), undefined, ]), createdAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), updatedAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), }), ), }, ...{ nextPageToken: faker.helpers.arrayElement([faker.string.alpha(20), undefined]) }, }); export const getCreateSolanaAccountResponseMock = ( overrideResponse: Partial<SolanaAccount> = {}, ): SolanaAccount => ({ address: faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"), name: faker.helpers.arrayElement([ faker.helpers.fromRegExp("^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$"), undefined, ]), policies: faker.helpers.arrayElement([ Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => faker.helpers.fromRegExp( "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", ), ), undefined, ]), createdAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), updatedAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), ...overrideResponse, }); export const getGetSolanaAccountResponseMock = ( overrideResponse: Partial<SolanaAccount> = {}, ): SolanaAccount => ({ address: faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"), name: faker.helpers.arrayElement([ faker.helpers.fromRegExp("^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$"), undefined, ]), policies: faker.helpers.arrayElement([ Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => faker.helpers.fromRegExp( "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", ), ), undefined, ]), createdAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), updatedAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), ...overrideResponse, }); export const getUpdateSolanaAccountResponseMock = ( overrideResponse: Partial<SolanaAccount> = {}, ): SolanaAccount => ({ address: faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"), name: faker.helpers.arrayElement([ faker.helpers.fromRegExp("^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$"), undefined, ]), policies: faker.helpers.arrayElement([ Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => faker.helpers.fromRegExp( "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", ), ), undefined, ]), createdAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), updatedAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), ...overrideResponse, }); export const getGetSolanaAccountByNameResponseMock = ( overrideResponse: Partial<SolanaAccount> = {}, ): SolanaAccount => ({ address: faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"), name: faker.helpers.arrayElement([ faker.helpers.fromRegExp("^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$"), undefined, ]), policies: faker.helpers.arrayElement([ Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => faker.helpers.fromRegExp( "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", ), ), undefined, ]), createdAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), updatedAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), ...overrideResponse, }); export const getImportSolanaAccountResponseMock = ( overrideResponse: Partial<SolanaAccount> = {}, ): SolanaAccount => ({ address: faker.helpers.fromRegExp("^[1-9A-HJ-NP-Za-km-z]{32,44}$"), name: faker.helpers.arrayElement([ faker.helpers.fromRegExp("^[A-Za-z0-9][A-Za-z0-9-]{0,34}[A-Za-z0-9]$"), undefined, ]), policies: faker.helpers.arrayElement([ Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => faker.helpers.fromRegExp( "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", ), ), undefined, ]), createdAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), updatedAt: faker.helpers.arrayElement([ `${faker.date.past().toISOString().split(".")[0]}Z`, undefined, ]), ...overrideResponse, }); export const getExportSolanaAccountResponseMock = ( overrideResponse: Partial<ExportSolanaAccount200> = {}, ): ExportSolanaAccount200 => ({ encryptedPrivateKey: faker.string.alpha(20), ...overrideResponse }); export const getExportSolanaAccountByNameResponseMock = ( overrideResponse: Partial<ExportSolanaAccountByName200> = {}, ): ExportSolanaAccountByName200 => ({ encryptedPrivateKey: faker.string.alpha(20), ...overrideResponse, }); export const getSignSolanaTransactionResponseMock = ( overrideResponse: Partial<SignSolanaTransaction200> = {}, ): SignSolanaTransaction200 => ({ signedTransaction: faker.string.alpha(20), ...overrideResponse }); export const getSignSolanaMessageResponseMock = ( overrideResponse: Partial<SignSolanaMessage200> = {}, ): SignSolanaMessage200 => ({ signature: faker.string.alpha(20), ...overrideResponse }); export const getSendSolanaTransactionResponseMock = ( overrideResponse: Partial<SendSolanaTransaction200> = {}, ): SendSolanaTransaction200 => ({ transactionSignature: faker.string.alpha(20), ...overrideResponse, }); export const getListSolanaAccountsMockHandler = ( overrideResponse?: | ListSolanaAccounts200 | (( info: Parameters<Parameters<typeof http.get>[1]>[0], ) => Promise<ListSolanaAccounts200> | ListSolanaAccounts200), ) => { return http.get("*/v2/solana/accounts", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getListSolanaAccountsResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getCreateSolanaAccountMockHandler = ( overrideResponse?: | SolanaAccount | (( info: Parameters<Parameters<typeof http.post>[1]>[0], ) => Promise<SolanaAccount> | SolanaAccount), ) => { return http.post("*/v2/solana/accounts", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getCreateSolanaAccountResponseMock(), ), { status: 201, headers: { "Content-Type": "application/json" } }, ); }); }; export const getGetSolanaAccountMockHandler = ( overrideResponse?: | SolanaAccount | (( info: Parameters<Parameters<typeof http.get>[1]>[0], ) => Promise<SolanaAccount> | SolanaAccount), ) => { return http.get("*/v2/solana/accounts/:address", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getGetSolanaAccountResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getUpdateSolanaAccountMockHandler = ( overrideResponse?: | SolanaAccount | (( info: Parameters<Parameters<typeof http.put>[1]>[0], ) => Promise<SolanaAccount> | SolanaAccount), ) => { return http.put("*/v2/solana/accounts/:address", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getUpdateSolanaAccountResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getGetSolanaAccountByNameMockHandler = ( overrideResponse?: | SolanaAccount | (( info: Parameters<Parameters<typeof http.get>[1]>[0], ) => Promise<SolanaAccount> | SolanaAccount), ) => { return http.get("*/v2/solana/accounts/by-name/:name", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getGetSolanaAccountByNameResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getImportSolanaAccountMockHandler = ( overrideResponse?: | SolanaAccount | (( info: Parameters<Parameters<typeof http.post>[1]>[0], ) => Promise<SolanaAccount> | SolanaAccount), ) => { return http.post("*/v2/solana/accounts/import", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getImportSolanaAccountResponseMock(), ), { status: 201, headers: { "Content-Type": "application/json" } }, ); }); }; export const getExportSolanaAccountMockHandler = ( overrideResponse?: | ExportSolanaAccount200 | (( info: Parameters<Parameters<typeof http.post>[1]>[0], ) => Promise<ExportSolanaAccount200> | ExportSolanaAccount200), ) => { return http.post("*/v2/solana/accounts/:address/export", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getExportSolanaAccountResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getExportSolanaAccountByNameMockHandler = ( overrideResponse?: | ExportSolanaAccountByName200 | (( info: Parameters<Parameters<typeof http.post>[1]>[0], ) => Promise<ExportSolanaAccountByName200> | ExportSolanaAccountByName200), ) => { return http.post("*/v2/solana/accounts/export/by-name/:name", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getExportSolanaAccountByNameResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getSignSolanaTransactionMockHandler = ( overrideResponse?: | SignSolanaTransaction200 | (( info: Parameters<Parameters<typeof http.post>[1]>[0], ) => Promise<SignSolanaTransaction200> | SignSolanaTransaction200), ) => { return http.post("*/v2/solana/accounts/:address/sign/transaction", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getSignSolanaTransactionResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getSignSolanaMessageMockHandler = ( overrideResponse?: | SignSolanaMessage200 | (( info: Parameters<Parameters<typeof http.post>[1]>[0], ) => Promise<SignSolanaMessage200> | SignSolanaMessage200), ) => { return http.post("*/v2/solana/accounts/:address/sign/message", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getSignSolanaMessageResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getSendSolanaTransactionMockHandler = ( overrideResponse?: | SendSolanaTransaction200 | (( info: Parameters<Parameters<typeof http.post>[1]>[0], ) => Promise<SendSolanaTransaction200> | SendSolanaTransaction200), ) => { return http.post("*/v2/solana/accounts/send/transaction", async info => { await delay(0); return new HttpResponse( JSON.stringify( overrideResponse !== undefined ? typeof overrideResponse === "function" ? await overrideResponse(info) : overrideResponse : getSendSolanaTransactionResponseMock(), ), { status: 200, headers: { "Content-Type": "application/json" } }, ); }); }; export const getSolanaAccountsMock = () => [ getListSolanaAccountsMockHandler(), getCreateSolanaAccountMockHandler(), getGetSolanaAccountMockHandler(), getUpdateSolanaAccountMockHandler(), getGetSolanaAccountByNameMockHandler(), getImportSolanaAccountMockHandler(), getExportSolanaAccountMockHandler(), getExportSolanaAccountByNameMockHandler(), getSignSolanaTransactionMockHandler(), getSignSolanaMessageMockHandler(), getSendSolanaTransactionMockHandler(), ];