Variable CreatePolicyBodySchemaConst
CreatePolicyBodySchema: ZodObject<
{
description: ZodOptional<ZodString>;
rules: ZodArray<
ZodDiscriminatedUnion<
"operation",
[
ZodObject<
{
action: ZodEnum<["reject", "accept"]>;
criteria: ZodArray<
ZodDiscriminatedUnion<
"type",
[
ZodObject<(...), (...), (...), (...), (...)>,
ZodObject<(...), (...), (...), (...), (...)>,
ZodObject<(...), (...), (...), (...), (...)>,
],
>,
"many",
>;
operation: ZodLiteral<"signEvmTransaction">;
},
"strip",
ZodTypeAny,
{
action: "reject"
| "accept";
criteria: (
| {
ethValue: string;
operator: (...)
| (...)
| (...)
| (...)
| (...);
type: "ethValue";
}
| {
addresses: (...)[];
operator: (...) | (...);
type: "evmAddress";
}
| {
abi: (...)
| (...)
| (...)
| (...);
conditions: (...)[];
type: "evmData";
}
)[];
operation: "signEvmTransaction";
},
{
action: "reject"
| "accept";
criteria: (
| {
ethValue: string;
operator: (...)
| (...)
| (...)
| (...)
| (...);
type: "ethValue";
}
| {
addresses: (...)[];
operator: (...) | (...);
type: "evmAddress";
}
| {
abi: (...)
| (...)
| (...)
| (...);
conditions: (...)[];
type: "evmData";
}
)[];
operation: "signEvmTransaction";
},
>,
ZodObject<
{
action: ZodEnum<["reject", "accept"]>;
operation: ZodLiteral<"signEvmHash">;
},
"strip",
ZodTypeAny,
{ action: "reject"
| "accept"; operation: "signEvmHash" },
{ action: "reject" | "accept"; operation: "signEvmHash" },
>,
ZodObject<
{
action: ZodEnum<["reject", "accept"]>;
criteria: ZodArray<
ZodDiscriminatedUnion<
"type",
[ZodObject<(...), (...), (...), (...), (...)>],
>,
"many",
>;
operation: ZodLiteral<"signEvmMessage">;
},
"strip",
ZodTypeAny,
{
action: "reject"
| "accept";
criteria: { match: string; type: "evmMessage" }[];
operation: "signEvmMessage";
},
{
action: "reject"
| "accept";
criteria: { match: string; type: "evmMessage" }[];
operation: "signEvmMessage";
},
>,
ZodObject<
{
action: ZodEnum<["reject", "accept"]>;
criteria: ZodArray<
ZodDiscriminatedUnion<
"type",
[
ZodObject<(...), (...), (...), (...), (...)>,
ZodObject<(...), (...), (...), (...), (...)>,
ZodObject<(...), (...), (...), (...), (...)>,
ZodObject<(...), (...), (...), (...), (...)>,
],
>,
"many",
>;
operation: ZodLiteral<"sendEvmTransaction">;
},
"strip",
ZodTypeAny,
{
action: "reject"
| "accept";
criteria: (
| {
ethValue: string;
operator: (...)
| (...)
| (...)
| (...)
| (...);
type: "ethValue";
}
| {
addresses: (...)[];
operator: (...) | (...);
type: "evmAddress";
}
| { networks: (...)[]; operator: (...) | (...); type: "evmNetwork" }
| {
abi: (...) | (...) | (...) | (...);
conditions: (...)[];
type: "evmData";
}
)[];
operation: "sendEvmTransaction";
},
{
action: "reject"
| "accept";
criteria: (
| {
ethValue: string;
operator: (...)
| (...)
| (...)
| (...)
| (...);
type: "ethValue";
}
| {
addresses: (...)[];
operator: (...) | (...);
type: "evmAddress";
}
| { networks: (...)[]; operator: (...) | (...); type: "evmNetwork" }
| {
abi: (...) | (...) | (...) | (...);
conditions: (...)[];
type: "evmData";
}
)[];
operation: "sendEvmTransaction";
},
>,
ZodObject<
{
action: ZodEnum<["reject", "accept"]>;
criteria: ZodArray<
ZodDiscriminatedUnion<
"type",
[ZodObject<(...), (...), (...), (...), (...)>],
>,
"many",
>;
operation: ZodLiteral<"signSolTransaction">;
},
"strip",
ZodTypeAny,
{
action: "reject"
| "accept";
criteria: {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}[];
operation: "signSolTransaction";
},
{
action: "reject"
| "accept";
criteria: {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}[];
operation: "signSolTransaction";
},
>,
],
>,
"many",
>;
scope: ZodEnum<["project", "account"]>;
},
"strip",
ZodTypeAny,
{
description?: string;
rules: (
| {
action: "reject"
| "accept";
criteria: (
| {
ethValue: string;
operator: ">"
| ">="
| "<"
| "<="
| "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in"
| "not in";
type: "evmAddress";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly ((...) | (...) | (...))[];
conditions: { function: string; params?: (...) | (...) }[];
type: "evmData";
}
)[];
operation: "signEvmTransaction";
}
| { action: "reject"
| "accept"; operation: "signEvmHash" }
| {
action: "reject" | "accept";
criteria: { match: string; type: "evmMessage" }[];
operation: "signEvmMessage";
}
| {
action: "reject"
| "accept";
criteria: (
| {
ethValue: string;
operator: ">"
| ">="
| "<"
| "<="
| "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in"
| "not in";
type: "evmAddress";
}
| {
networks: ("base-sepolia" | "base")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly ((...) | (...) | (...))[];
conditions: { function: string; params?: (...) | (...) }[];
type: "evmData";
}
)[];
operation: "sendEvmTransaction";
}
| {
action: "reject"
| "accept";
criteria: {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}[];
operation: "signSolTransaction";
}
)[];
scope: "project"
| "account";
},
{
description?: string;
rules: (
| {
action: "reject"
| "accept";
criteria: (
| {
ethValue: string;
operator: ">"
| ">="
| "<"
| "<="
| "==";
type: "ethValue";
}
| {
addresses: string[];
operator: "in"
| "not in";
type: "evmAddress";
}
| {
abi: "erc20"
| "erc721"
| "erc1155"
| readonly unknown[];
conditions: { function: string; params?: (...) | (...) }[];
type: "evmData";
}
)[];
operation: "signEvmTransaction";
}
| { action: "reject"
| "accept"; operation: "signEvmHash" }
| {
action: "reject" | "accept";
criteria: { match: string; type: "evmMessage" }[];
operation: "signEvmMessage";
}
| {
action: "reject"
| "accept";
criteria: (
| {
ethValue: string;
operator: ">"
| ">="
| "<"
| "<="
| "==";
type: "ethValue";
}
| {
addresses: string[];
operator: "in"
| "not in";
type: "evmAddress";
}
| {
networks: ("base-sepolia" | "base")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
abi: "erc20"
| "erc721"
| "erc1155"
| readonly unknown[];
conditions: { function: string; params?: (...) | (...) }[];
type: "evmData";
}
)[];
operation: "sendEvmTransaction";
}
| {
action: "reject"
| "accept";
criteria: {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}[];
operation: "signSolTransaction";
}
)[];
scope: "project"
| "account";
},
> = ...
Schema for creating or updating a Policy.