optional idempotencyKey: string;
policy: {
description?: string;
rules: (
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
changeCents: number;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "netUSDChange";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
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: (
| {
conditions: (
| {
addresses: ...[];
operator: ... | ...;
path: string;
}
| {
operator: ... | ... | ... | ... | ...;
path: string;
value: string;
}
| {
match: string;
path: string;
})[];
type: "evmTypedDataField";
types: {
primaryType: string;
types: Record<string, {
name: ...;
type: ...;
}[]>;
};
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmTypedDataVerifyingContract";
})[];
operation: "signEvmTypedData";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
networks: (
| "base-sepolia"
| "base"
| "arbitrum"
| "optimism"
| "polygon"
| "avalanche"
| "ethereum"
| "ethereum-sepolia")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
changeCents: number;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "netUSDChange";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "sendEvmTransaction";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
networks: (
| "base-sepolia"
| "base"
| "arbitrum"
| "optimism"
| "zora"
| "polygon"
| "bnb"
| "avalanche"
| "ethereum"
| "ethereum-sepolia")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "prepareUserOperation";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "sendUserOperation";
}
| {
action: "reject" | "accept";
criteria: (
| {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
solValue: string;
type: "solValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "splAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
splValue: string;
type: "splValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "mintAddress";
}
| {
conditions: {
instruction: string;
params?: ...[];
}[];
idls: (
| "SystemProgram"
| "TokenProgram"
| "AssociatedTokenProgram"
| objectOutputType<{
address: ...;
instructions: ...;
}, ZodTypeAny, "passthrough">)[];
type: "solData";
})[];
operation: "signSolTransaction";
}
| {
action: "reject" | "accept";
criteria: (
| {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
solValue: string;
type: "solValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "splAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
splValue: string;
type: "splValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "mintAddress";
}
| {
conditions: {
instruction: string;
params?: ...[];
}[];
idls: (
| "SystemProgram"
| "TokenProgram"
| "AssociatedTokenProgram"
| objectOutputType<{
address: ...;
instructions: ...;
}, ZodTypeAny, "passthrough">)[];
type: "solData";
})[];
operation: "sendSolTransaction";
})[];
scope: "project" | "account";
};
optional description: string;
rules: (
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
changeCents: number;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "netUSDChange";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
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: (
| {
conditions: (
| {
addresses: ...[];
operator: ... | ...;
path: string;
}
| {
operator: ... | ... | ... | ... | ...;
path: string;
value: string;
}
| {
match: string;
path: string;
})[];
type: "evmTypedDataField";
types: {
primaryType: string;
types: Record<string, {
name: ...;
type: ...;
}[]>;
};
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmTypedDataVerifyingContract";
})[];
operation: "signEvmTypedData";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
networks: (
| "base-sepolia"
| "base"
| "arbitrum"
| "optimism"
| "polygon"
| "avalanche"
| "ethereum"
| "ethereum-sepolia")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
changeCents: number;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "netUSDChange";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "sendEvmTransaction";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
networks: (
| "base-sepolia"
| "base"
| "arbitrum"
| "optimism"
| "zora"
| "polygon"
| "bnb"
| "avalanche"
| "ethereum"
| "ethereum-sepolia")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "prepareUserOperation";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "sendUserOperation";
}
| {
action: "reject" | "accept";
criteria: (
| {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
solValue: string;
type: "solValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "splAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
splValue: string;
type: "splValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "mintAddress";
}
| {
conditions: {
instruction: string;
params?: ...[];
}[];
idls: (
| "SystemProgram"
| "TokenProgram"
| "AssociatedTokenProgram"
| objectOutputType<{
address: ...;
instructions: ...;
}, ZodTypeAny, "passthrough">)[];
type: "solData";
})[];
operation: "signSolTransaction";
}
| {
action: "reject" | "accept";
criteria: (
| {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
solValue: string;
type: "solValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "splAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
splValue: string;
type: "splValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "mintAddress";
}
| {
conditions: {
instruction: string;
params?: ...[];
}[];
idls: (
| "SystemProgram"
| "TokenProgram"
| "AssociatedTokenProgram"
| objectOutputType<{
address: ...;
instructions: ...;
}, ZodTypeAny, "passthrough">)[];
type: "solData";
})[];
operation: "sendSolTransaction";
})[];
scope: "project" | "account" = PolicyScopeEnum;
id: string;
optional idempotencyKey: string;
id: string;
optional pageSize: number;
optional pageToken: string;
optional scope: "project" | "account";
project
, the response will include exactly one policy, which is the project-level policy. If account
, the response will include all account-level policies for the developer’s CDP Project.
optional nextPageToken: string;
policies: Policy[];
id: string;
optional idempotencyKey: string;
policy: {
description?: string;
rules: (
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
changeCents: number;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "netUSDChange";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
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: (
| {
conditions: (
| {
addresses: ...[];
operator: ... | ...;
path: string;
}
| {
operator: ... | ... | ... | ... | ...;
path: string;
value: string;
}
| {
match: string;
path: string;
})[];
type: "evmTypedDataField";
types: {
primaryType: string;
types: Record<string, {
name: ...;
type: ...;
}[]>;
};
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmTypedDataVerifyingContract";
})[];
operation: "signEvmTypedData";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
networks: (
| "base-sepolia"
| "base"
| "arbitrum"
| "optimism"
| "polygon"
| "avalanche"
| "ethereum"
| "ethereum-sepolia")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
changeCents: number;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "netUSDChange";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "sendEvmTransaction";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
networks: (
| "base-sepolia"
| "base"
| "arbitrum"
| "optimism"
| "zora"
| "polygon"
| "bnb"
| "avalanche"
| "ethereum"
| "ethereum-sepolia")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "prepareUserOperation";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "sendUserOperation";
}
| {
action: "reject" | "accept";
criteria: (
| {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
solValue: string;
type: "solValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "splAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
splValue: string;
type: "splValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "mintAddress";
}
| {
conditions: {
instruction: string;
params?: ...[];
}[];
idls: (
| "SystemProgram"
| "TokenProgram"
| "AssociatedTokenProgram"
| objectOutputType<{
address: ...;
instructions: ...;
}, ZodTypeAny, "passthrough">)[];
type: "solData";
})[];
operation: "signSolTransaction";
}
| {
action: "reject" | "accept";
criteria: (
| {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
solValue: string;
type: "solValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "splAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
splValue: string;
type: "splValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "mintAddress";
}
| {
conditions: {
instruction: string;
params?: ...[];
}[];
idls: (
| "SystemProgram"
| "TokenProgram"
| "AssociatedTokenProgram"
| objectOutputType<{
address: ...;
instructions: ...;
}, ZodTypeAny, "passthrough">)[];
type: "solData";
})[];
operation: "sendSolTransaction";
})[];
};
optional description: string;
rules: (
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
changeCents: number;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "netUSDChange";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
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: (
| {
conditions: (
| {
addresses: ...[];
operator: ... | ...;
path: string;
}
| {
operator: ... | ... | ... | ... | ...;
path: string;
value: string;
}
| {
match: string;
path: string;
})[];
type: "evmTypedDataField";
types: {
primaryType: string;
types: Record<string, {
name: ...;
type: ...;
}[]>;
};
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmTypedDataVerifyingContract";
})[];
operation: "signEvmTypedData";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
networks: (
| "base-sepolia"
| "base"
| "arbitrum"
| "optimism"
| "polygon"
| "avalanche"
| "ethereum"
| "ethereum-sepolia")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
changeCents: number;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "netUSDChange";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "sendEvmTransaction";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
networks: (
| "base-sepolia"
| "base"
| "arbitrum"
| "optimism"
| "zora"
| "polygon"
| "bnb"
| "avalanche"
| "ethereum"
| "ethereum-sepolia")[];
operator: "in" | "not in";
type: "evmNetwork";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "prepareUserOperation";
}
| {
action: "reject" | "accept";
criteria: (
| {
ethValue: string;
operator: ">" | ">=" | "<" | "<=" | "==";
type: "ethValue";
}
| {
addresses: `0x${string}`[];
operator: "in" | "not in";
type: "evmAddress";
}
| {
abi: | "erc20"
| "erc721"
| "erc1155"
| readonly (
| {
}
| {
}
| { payable?: boolean | undefined; constant?: boolean | undefined; gas?: number | undefined; } & ({ inputs: readonly AbiParameter[]; outputs: readonly AbiParameter[]; type: "function"; name: string; stateMutability: "pure" | ... 2 more ... | "payable"; } | { ...; } | { ...; } | { ...; }))[];
conditions: {
function: string;
params?: ...[];
}[];
type: "evmData";
})[];
operation: "sendUserOperation";
}
| {
action: "reject" | "accept";
criteria: (
| {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
solValue: string;
type: "solValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "splAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
splValue: string;
type: "splValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "mintAddress";
}
| {
conditions: {
instruction: string;
params?: ...[];
}[];
idls: (
| "SystemProgram"
| "TokenProgram"
| "AssociatedTokenProgram"
| objectOutputType<{
address: ...;
instructions: ...;
}, ZodTypeAny, "passthrough">)[];
type: "solData";
})[];
operation: "signSolTransaction";
}
| {
action: "reject" | "accept";
criteria: (
| {
addresses: string[];
operator: "in" | "not in";
type: "solAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
solValue: string;
type: "solValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "splAddress";
}
| {
operator: ">" | ">=" | "<" | "<=" | "==";
splValue: string;
type: "splValue";
}
| {
addresses: string[];
operator: "in" | "not in";
type: "mintAddress";
}
| {
conditions: {
instruction: string;
params?: ...[];
}[];
idls: (
| "SystemProgram"
| "TokenProgram"
| "AssociatedTokenProgram"
| objectOutputType<{
address: ...;
instructions: ...;
}, ZodTypeAny, "passthrough">)[];
type: "solData";
})[];
operation: "sendSolTransaction";
})[];
type PoliciesClientInterface = Omit<typeof OpenApiPoliciesMethods,
| "createPolicy"
| "listPolicies"
| "getPolicyById"
| "deletePolicy"
| "updatePolicy"> & {
createPolicy: (options: CreatePolicyOptions) => Promise<Policy>;
deletePolicy: (options: DeletePolicyOptions) => Promise<void>;
getPolicyById: (options: GetPolicyByIdOptions) => Promise<Policy>;
listPolicies: (options: ListPoliciesOptions) => Promise<ListPoliciesResult>;
updatePolicy: (options: UpdatePolicyOptions) => Promise<Policy>;
};
createPolicy: (options: CreatePolicyOptions) => Promise<Policy>;
CreatePolicyOptions
Promise
<Policy
>
deletePolicy: (options: DeletePolicyOptions) => Promise<void>;
DeletePolicyOptions
Promise
<void
>
getPolicyById: (options: GetPolicyByIdOptions) => Promise<Policy>;
GetPolicyByIdOptions
Promise
<Policy
>
listPolicies: (options: ListPoliciesOptions) => Promise<ListPoliciesResult>;
ListPoliciesOptions
Promise
<ListPoliciesResult
>
updatePolicy: (options: UpdatePolicyOptions) => Promise<Policy>;
UpdatePolicyOptions
Promise
<Policy
>