@coinbase/cdp-sdk
Version:
SDK for interacting with the Coinbase Developer Platform Wallet API
488 lines • 22.3 kB
JavaScript
/**
* 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 { EvmUserOperationNetwork } from "../coinbaseDeveloperPlatformAPIs.schemas.js";
export const getListEvmSmartAccountsResponseMock = () => ({
...{
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}$"),
owners: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => 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 getCreateEvmSmartAccountResponseMock = (overrideResponse = {}) => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
owners: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => 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 getGetEvmSmartAccountByNameResponseMock = (overrideResponse = {}) => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
owners: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => 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 getGetEvmSmartAccountResponseMock = (overrideResponse = {}) => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
owners: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => 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 getUpdateEvmSmartAccountResponseMock = (overrideResponse = {}) => ({
address: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
owners: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => 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 getPrepareUserOperationResponseMock = (overrideResponse = {}) => ({
network: faker.helpers.arrayElement(Object.values(EvmUserOperationNetwork)),
userOpHash: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$"),
calls: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
to: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
value: faker.string.alpha(20),
data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"),
})),
status: faker.helpers.arrayElement([
"pending",
"signed",
"broadcast",
"complete",
"dropped",
"failed",
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
receipts: faker.helpers.arrayElement([
Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
revert: faker.helpers.arrayElement([
{ data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"), message: faker.string.alpha(20) },
undefined,
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[a-fA-F0-9]{64}$"),
undefined,
]),
blockHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
blockNumber: faker.helpers.arrayElement([
faker.number.int({ min: undefined, max: undefined }),
undefined,
]),
gasUsed: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
})),
undefined,
]),
...overrideResponse,
});
export const getGetUserOperationResponseMock = (overrideResponse = {}) => ({
network: faker.helpers.arrayElement(Object.values(EvmUserOperationNetwork)),
userOpHash: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$"),
calls: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
to: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
value: faker.string.alpha(20),
data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"),
})),
status: faker.helpers.arrayElement([
"pending",
"signed",
"broadcast",
"complete",
"dropped",
"failed",
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
receipts: faker.helpers.arrayElement([
Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
revert: faker.helpers.arrayElement([
{ data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"), message: faker.string.alpha(20) },
undefined,
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[a-fA-F0-9]{64}$"),
undefined,
]),
blockHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
blockNumber: faker.helpers.arrayElement([
faker.number.int({ min: undefined, max: undefined }),
undefined,
]),
gasUsed: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
})),
undefined,
]),
...overrideResponse,
});
export const getSendUserOperationResponseMock = (overrideResponse = {}) => ({
network: faker.helpers.arrayElement(Object.values(EvmUserOperationNetwork)),
userOpHash: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$"),
calls: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
to: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
value: faker.string.alpha(20),
data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"),
})),
status: faker.helpers.arrayElement([
"pending",
"signed",
"broadcast",
"complete",
"dropped",
"failed",
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
receipts: faker.helpers.arrayElement([
Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
revert: faker.helpers.arrayElement([
{ data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"), message: faker.string.alpha(20) },
undefined,
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[a-fA-F0-9]{64}$"),
undefined,
]),
blockHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
blockNumber: faker.helpers.arrayElement([
faker.number.int({ min: undefined, max: undefined }),
undefined,
]),
gasUsed: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
})),
undefined,
]),
...overrideResponse,
});
export const getCreateSpendPermissionResponseMock = (overrideResponse = {}) => ({
network: faker.helpers.arrayElement(Object.values(EvmUserOperationNetwork)),
userOpHash: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$"),
calls: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
to: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
value: faker.string.alpha(20),
data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"),
})),
status: faker.helpers.arrayElement([
"pending",
"signed",
"broadcast",
"complete",
"dropped",
"failed",
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
receipts: faker.helpers.arrayElement([
Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
revert: faker.helpers.arrayElement([
{ data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"), message: faker.string.alpha(20) },
undefined,
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[a-fA-F0-9]{64}$"),
undefined,
]),
blockHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
blockNumber: faker.helpers.arrayElement([
faker.number.int({ min: undefined, max: undefined }),
undefined,
]),
gasUsed: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
})),
undefined,
]),
...overrideResponse,
});
export const getListSpendPermissionsResponseMock = () => ({
...{
spendPermissions: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
permission: {
account: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"),
spender: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"),
token: faker.helpers.fromRegExp("^0x[a-fA-F0-9]{40}$"),
allowance: faker.string.alpha(20),
period: faker.string.alpha(20),
start: faker.string.alpha(20),
end: faker.string.alpha(20),
salt: faker.string.alpha(20),
extraData: faker.string.alpha(20),
},
permissionHash: faker.string.alpha(20),
revoked: faker.datatype.boolean(),
revokedAt: faker.helpers.arrayElement([
`${faker.date.past().toISOString().split(".")[0]}Z`,
undefined,
]),
createdAt: `${faker.date.past().toISOString().split(".")[0]}Z`,
})),
},
...{ nextPageToken: faker.helpers.arrayElement([faker.string.alpha(20), undefined]) },
});
export const getRevokeSpendPermissionResponseMock = (overrideResponse = {}) => ({
network: faker.helpers.arrayElement(Object.values(EvmUserOperationNetwork)),
userOpHash: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$"),
calls: Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
to: faker.helpers.fromRegExp("^0x[0-9a-fA-F]{40}$"),
value: faker.string.alpha(20),
data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"),
})),
status: faker.helpers.arrayElement([
"pending",
"signed",
"broadcast",
"complete",
"dropped",
"failed",
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
receipts: faker.helpers.arrayElement([
Array.from({ length: faker.number.int({ min: 1, max: 10 }) }, (_, i) => i + 1).map(() => ({
revert: faker.helpers.arrayElement([
{ data: faker.helpers.fromRegExp("^0x[0-9a-fA-F]*$"), message: faker.string.alpha(20) },
undefined,
]),
transactionHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[a-fA-F0-9]{64}$"),
undefined,
]),
blockHash: faker.helpers.arrayElement([
faker.helpers.fromRegExp("^0x[0-9a-fA-F]{64}$|^$"),
undefined,
]),
blockNumber: faker.helpers.arrayElement([
faker.number.int({ min: undefined, max: undefined }),
undefined,
]),
gasUsed: faker.helpers.arrayElement([faker.string.alpha(20), undefined]),
})),
undefined,
]),
...overrideResponse,
});
export const getListEvmSmartAccountsMockHandler = (overrideResponse) => {
return http.get("*/v2/evm/smart-accounts", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getListEvmSmartAccountsResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } });
});
};
export const getCreateEvmSmartAccountMockHandler = (overrideResponse) => {
return http.post("*/v2/evm/smart-accounts", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getCreateEvmSmartAccountResponseMock()), { status: 201, headers: { "Content-Type": "application/json" } });
});
};
export const getGetEvmSmartAccountByNameMockHandler = (overrideResponse) => {
return http.get("*/v2/evm/smart-accounts/by-name/:name", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getGetEvmSmartAccountByNameResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } });
});
};
export const getGetEvmSmartAccountMockHandler = (overrideResponse) => {
return http.get("*/v2/evm/smart-accounts/:address", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getGetEvmSmartAccountResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } });
});
};
export const getUpdateEvmSmartAccountMockHandler = (overrideResponse) => {
return http.put("*/v2/evm/smart-accounts/:address", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getUpdateEvmSmartAccountResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } });
});
};
export const getPrepareUserOperationMockHandler = (overrideResponse) => {
return http.post("*/v2/evm/smart-accounts/:address/user-operations", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getPrepareUserOperationResponseMock()), { status: 201, headers: { "Content-Type": "application/json" } });
});
};
export const getGetUserOperationMockHandler = (overrideResponse) => {
return http.get("*/v2/evm/smart-accounts/:address/user-operations/:userOpHash", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getGetUserOperationResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } });
});
};
export const getSendUserOperationMockHandler = (overrideResponse) => {
return http.post("*/v2/evm/smart-accounts/:address/user-operations/:userOpHash/send", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getSendUserOperationResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } });
});
};
export const getCreateSpendPermissionMockHandler = (overrideResponse) => {
return http.post("*/v2/evm/smart-accounts/:address/spend-permissions", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getCreateSpendPermissionResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } });
});
};
export const getListSpendPermissionsMockHandler = (overrideResponse) => {
return http.get("*/v2/evm/smart-accounts/:address/spend-permissions/list", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getListSpendPermissionsResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } });
});
};
export const getRevokeSpendPermissionMockHandler = (overrideResponse) => {
return http.post("*/v2/evm/smart-accounts/:address/spend-permissions/revoke", async (info) => {
await delay(0);
return new HttpResponse(JSON.stringify(overrideResponse !== undefined
? typeof overrideResponse === "function"
? await overrideResponse(info)
: overrideResponse
: getRevokeSpendPermissionResponseMock()), { status: 200, headers: { "Content-Type": "application/json" } });
});
};
export const getEvmSmartAccountsMock = () => [
getListEvmSmartAccountsMockHandler(),
getCreateEvmSmartAccountMockHandler(),
getGetEvmSmartAccountByNameMockHandler(),
getGetEvmSmartAccountMockHandler(),
getUpdateEvmSmartAccountMockHandler(),
getPrepareUserOperationMockHandler(),
getGetUserOperationMockHandler(),
getSendUserOperationMockHandler(),
getCreateSpendPermissionMockHandler(),
getListSpendPermissionsMockHandler(),
getRevokeSpendPermissionMockHandler(),
];
//# sourceMappingURL=evm-smart-accounts.msw.js.map