@coinbase/cdp-sdk
Version:
SDK for interacting with the Coinbase Developer Platform Wallet API
524 lines (482 loc) • 16.7 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 {
EvmAccount,
ExportEvmAccount200,
ExportEvmAccountByName200,
ListEvmAccounts200,
SendEvmTransaction200,
SignEvmHash200,
SignEvmMessage200,
SignEvmTransaction200,
SignEvmTypedData200,
} from "../coinbaseDeveloperPlatformAPIs.schemas.js";
export const getListEvmAccountsResponseMock = (): ListEvmAccounts200 => ({
...{
accounts: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(
() => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
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 getCreateEvmAccountResponseMock = (
overrideResponse: Partial<EvmAccount> = {},
): EvmAccount => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
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 getGetEvmAccountResponseMock = (
overrideResponse: Partial<EvmAccount> = {},
): EvmAccount => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
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 getUpdateEvmAccountResponseMock = (
overrideResponse: Partial<EvmAccount> = {},
): EvmAccount => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
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 getGetEvmAccountByNameResponseMock = (
overrideResponse: Partial<EvmAccount> = {},
): EvmAccount => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
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 getSendEvmTransactionResponseMock = (
overrideResponse: Partial<SendEvmTransaction200> = {},
): SendEvmTransaction200 => ({ transactionHash: faker.string.alpha(20), ...overrideResponse });
export const getSignEvmTransactionResponseMock = (
overrideResponse: Partial<SignEvmTransaction200> = {},
): SignEvmTransaction200 => ({ signedTransaction: faker.string.alpha(20), ...overrideResponse });
export const getSignEvmHashResponseMock = (
overrideResponse: Partial<SignEvmHash200> = {},
): SignEvmHash200 => ({ signature: faker.string.alpha(20), ...overrideResponse });
export const getSignEvmMessageResponseMock = (
overrideResponse: Partial<SignEvmMessage200> = {},
): SignEvmMessage200 => ({ signature: faker.string.alpha(20), ...overrideResponse });
export const getSignEvmTypedDataResponseMock = (
overrideResponse: Partial<SignEvmTypedData200> = {},
): SignEvmTypedData200 => ({ signature: faker.string.alpha(20), ...overrideResponse });
export const getImportEvmAccountResponseMock = (
overrideResponse: Partial<EvmAccount> = {},
): EvmAccount => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
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 getExportEvmAccountResponseMock = (
overrideResponse: Partial<ExportEvmAccount200> = {},
): ExportEvmAccount200 => ({ encryptedPrivateKey: faker.string.alpha(20), ...overrideResponse });
export const getExportEvmAccountByNameResponseMock = (
overrideResponse: Partial<ExportEvmAccountByName200> = {},
): ExportEvmAccountByName200 => ({
encryptedPrivateKey: faker.string.alpha(20),
...overrideResponse,
});
export const getListEvmAccountsMockHandler = (
overrideResponse?:
| ListEvmAccounts200
| ((
info: Parameters<Parameters<typeof http.get>[1]>[0],
) => Promise<ListEvmAccounts200> | ListEvmAccounts200),
) => {
return http.get("*/v2/evm/accounts", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getListEvmAccountsResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getCreateEvmAccountMockHandler = (
overrideResponse?:
| EvmAccount
| ((info: Parameters<Parameters<typeof http.post>[1]>[0]) => Promise<EvmAccount> | EvmAccount),
) => {
return http.post("*/v2/evm/accounts", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getCreateEvmAccountResponseMock(),
),
{ status: 201, headers: { "Content-Type": "application/json" } },
);
});
};
export const getGetEvmAccountMockHandler = (
overrideResponse?:
| EvmAccount
| ((info: Parameters<Parameters<typeof http.get>[1]>[0]) => Promise<EvmAccount> | EvmAccount),
) => {
return http.get("*/v2/evm/accounts/:address", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getGetEvmAccountResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getUpdateEvmAccountMockHandler = (
overrideResponse?:
| EvmAccount
| ((info: Parameters<Parameters<typeof http.put>[1]>[0]) => Promise<EvmAccount> | EvmAccount),
) => {
return http.put("*/v2/evm/accounts/:address", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getUpdateEvmAccountResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getGetEvmAccountByNameMockHandler = (
overrideResponse?:
| EvmAccount
| ((info: Parameters<Parameters<typeof http.get>[1]>[0]) => Promise<EvmAccount> | EvmAccount),
) => {
return http.get("*/v2/evm/accounts/by-name/:name", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getGetEvmAccountByNameResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getSendEvmTransactionMockHandler = (
overrideResponse?:
| SendEvmTransaction200
| ((
info: Parameters<Parameters<typeof http.post>[1]>[0],
) => Promise<SendEvmTransaction200> | SendEvmTransaction200),
) => {
return http.post("*/v2/evm/accounts/:address/send/transaction", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getSendEvmTransactionResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getSignEvmTransactionMockHandler = (
overrideResponse?:
| SignEvmTransaction200
| ((
info: Parameters<Parameters<typeof http.post>[1]>[0],
) => Promise<SignEvmTransaction200> | SignEvmTransaction200),
) => {
return http.post("*/v2/evm/accounts/:address/sign/transaction", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getSignEvmTransactionResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getSignEvmHashMockHandler = (
overrideResponse?:
| SignEvmHash200
| ((
info: Parameters<Parameters<typeof http.post>[1]>[0],
) => Promise<SignEvmHash200> | SignEvmHash200),
) => {
return http.post("*/v2/evm/accounts/:address/sign", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getSignEvmHashResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getSignEvmMessageMockHandler = (
overrideResponse?:
| SignEvmMessage200
| ((
info: Parameters<Parameters<typeof http.post>[1]>[0],
) => Promise<SignEvmMessage200> | SignEvmMessage200),
) => {
return http.post("*/v2/evm/accounts/:address/sign/message", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getSignEvmMessageResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getSignEvmTypedDataMockHandler = (
overrideResponse?:
| SignEvmTypedData200
| ((
info: Parameters<Parameters<typeof http.post>[1]>[0],
) => Promise<SignEvmTypedData200> | SignEvmTypedData200),
) => {
return http.post("*/v2/evm/accounts/:address/sign/typed-data", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getSignEvmTypedDataResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getImportEvmAccountMockHandler = (
overrideResponse?:
| EvmAccount
| ((info: Parameters<Parameters<typeof http.post>[1]>[0]) => Promise<EvmAccount> | EvmAccount),
) => {
return http.post("*/v2/evm/accounts/import", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getImportEvmAccountResponseMock(),
),
{ status: 201, headers: { "Content-Type": "application/json" } },
);
});
};
export const getExportEvmAccountMockHandler = (
overrideResponse?:
| ExportEvmAccount200
| ((
info: Parameters<Parameters<typeof http.post>[1]>[0],
) => Promise<ExportEvmAccount200> | ExportEvmAccount200),
) => {
return http.post("*/v2/evm/accounts/:address/export", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getExportEvmAccountResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getExportEvmAccountByNameMockHandler = (
overrideResponse?:
| ExportEvmAccountByName200
| ((
info: Parameters<Parameters<typeof http.post>[1]>[0],
) => Promise<ExportEvmAccountByName200> | ExportEvmAccountByName200),
) => {
return http.post("*/v2/evm/accounts/export/by-name/:name", async info => {
await delay(0);
return new HttpResponse(
JSON.stringify(
overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getExportEvmAccountByNameResponseMock(),
),
{ status: 200, headers: { "Content-Type": "application/json" } },
);
});
};
export const getEvmAccountsMock = () => [
getListEvmAccountsMockHandler(),
getCreateEvmAccountMockHandler(),
getGetEvmAccountMockHandler(),
getUpdateEvmAccountMockHandler(),
getGetEvmAccountByNameMockHandler(),
getSendEvmTransactionMockHandler(),
getSignEvmTransactionMockHandler(),
getSignEvmHashMockHandler(),
getSignEvmMessageMockHandler(),
getSignEvmTypedDataMockHandler(),
getImportEvmAccountMockHandler(),
getExportEvmAccountMockHandler(),
getExportEvmAccountByNameMockHandler(),
];