@coti-io/coti-contracts-examples
Version:
Example smart contracts demonstrating the use of COTI's GC technology, including integrations with MPC, private ERC20, and ERC721 contracts.
425 lines (386 loc) • 12.6 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import type {
BaseContract,
BigNumberish,
BytesLike,
FunctionFragment,
Result,
Interface,
EventFragment,
AddressLike,
ContractRunner,
ContractMethod,
Listener,
} from "ethers";
import type {
TypedContractEvent,
TypedDeferredTopicFilter,
TypedEventLog,
TypedLogDescription,
TypedListener,
TypedContractMethod,
} from "../common";
export type CtStringStruct = { value: BigNumberish[] };
export type CtStringStructOutput = [value: bigint[]] & { value: bigint[] };
export type ItStringStruct = {
ciphertext: CtStringStruct;
signature: BytesLike[];
};
export type ItStringStructOutput = [
ciphertext: CtStringStructOutput,
signature: string[]
] & { ciphertext: CtStringStructOutput; signature: string[] };
export type ItUint64Struct = { ciphertext: BigNumberish; signature: BytesLike };
export type ItUint64StructOutput = [ciphertext: bigint, signature: string] & {
ciphertext: bigint;
signature: string;
};
export interface DataOnChainInterface extends Interface {
getFunction(
nameOrSignature:
| "add"
| "getNetworkSomeEncryptedValue"
| "getNetworkSomeEncryptedValueEncryptedInput"
| "getSomeValue"
| "getUserArithmeticResult"
| "getUserSomeEncryptedStringEncryptedInput"
| "getUserSomeEncryptedValue"
| "getUserSomeEncryptedValueEncryptedInput"
| "setNetworkSomeEncryptedValue"
| "setSomeEncryptedStringEncryptedInput"
| "setSomeEncryptedValue"
| "setSomeEncryptedValueEncryptedInput"
| "setUserSomeEncryptedStringEncryptedInput"
| "setUserSomeEncryptedValue"
| "setUserSomeEncryptedValueEncryptedInput"
): FunctionFragment;
getEvent(
nameOrSignatureOrTopic: "UserEncryptedStringValue" | "UserEncryptedValue"
): EventFragment;
encodeFunctionData(functionFragment: "add", values?: undefined): string;
encodeFunctionData(
functionFragment: "getNetworkSomeEncryptedValue",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getNetworkSomeEncryptedValueEncryptedInput",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getSomeValue",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getUserArithmeticResult",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getUserSomeEncryptedStringEncryptedInput",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getUserSomeEncryptedValue",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getUserSomeEncryptedValueEncryptedInput",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "setNetworkSomeEncryptedValue",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "setSomeEncryptedStringEncryptedInput",
values: [ItStringStruct]
): string;
encodeFunctionData(
functionFragment: "setSomeEncryptedValue",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "setSomeEncryptedValueEncryptedInput",
values: [ItUint64Struct]
): string;
encodeFunctionData(
functionFragment: "setUserSomeEncryptedStringEncryptedInput",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "setUserSomeEncryptedValue",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "setUserSomeEncryptedValueEncryptedInput",
values?: undefined
): string;
decodeFunctionResult(functionFragment: "add", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "getNetworkSomeEncryptedValue",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getNetworkSomeEncryptedValueEncryptedInput",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getSomeValue",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getUserArithmeticResult",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getUserSomeEncryptedStringEncryptedInput",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getUserSomeEncryptedValue",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getUserSomeEncryptedValueEncryptedInput",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setNetworkSomeEncryptedValue",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setSomeEncryptedStringEncryptedInput",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setSomeEncryptedValue",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setSomeEncryptedValueEncryptedInput",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setUserSomeEncryptedStringEncryptedInput",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setUserSomeEncryptedValue",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setUserSomeEncryptedValueEncryptedInput",
data: BytesLike
): Result;
}
export namespace UserEncryptedStringValueEvent {
export type InputTuple = [
_from: AddressLike,
ctUserSomeEncryptedStringValue: CtStringStruct
];
export type OutputTuple = [
_from: string,
ctUserSomeEncryptedStringValue: CtStringStructOutput
];
export interface OutputObject {
_from: string;
ctUserSomeEncryptedStringValue: CtStringStructOutput;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export namespace UserEncryptedValueEvent {
export type InputTuple = [
_from: AddressLike,
ctUserSomeEncryptedValue: BigNumberish
];
export type OutputTuple = [_from: string, ctUserSomeEncryptedValue: bigint];
export interface OutputObject {
_from: string;
ctUserSomeEncryptedValue: bigint;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export interface DataOnChain extends BaseContract {
connect(runner?: ContractRunner | null): DataOnChain;
waitForDeployment(): Promise<this>;
interface: DataOnChainInterface;
queryFilter<TCEvent extends TypedContractEvent>(
event: TCEvent,
fromBlockOrBlockhash?: string | number | undefined,
toBlock?: string | number | undefined
): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(
filter: TypedDeferredTopicFilter<TCEvent>,
fromBlockOrBlockhash?: string | number | undefined,
toBlock?: string | number | undefined
): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(
event: TCEvent,
listener: TypedListener<TCEvent>
): Promise<this>;
on<TCEvent extends TypedContractEvent>(
filter: TypedDeferredTopicFilter<TCEvent>,
listener: TypedListener<TCEvent>
): Promise<this>;
once<TCEvent extends TypedContractEvent>(
event: TCEvent,
listener: TypedListener<TCEvent>
): Promise<this>;
once<TCEvent extends TypedContractEvent>(
filter: TypedDeferredTopicFilter<TCEvent>,
listener: TypedListener<TCEvent>
): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(
event: TCEvent
): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(
event?: TCEvent
): Promise<this>;
add: TypedContractMethod<[], [void], "nonpayable">;
getNetworkSomeEncryptedValue: TypedContractMethod<[], [bigint], "view">;
getNetworkSomeEncryptedValueEncryptedInput: TypedContractMethod<
[],
[bigint],
"view"
>;
getSomeValue: TypedContractMethod<[], [bigint], "view">;
getUserArithmeticResult: TypedContractMethod<[], [bigint], "view">;
getUserSomeEncryptedStringEncryptedInput: TypedContractMethod<
[],
[CtStringStructOutput],
"view"
>;
getUserSomeEncryptedValue: TypedContractMethod<[], [bigint], "view">;
getUserSomeEncryptedValueEncryptedInput: TypedContractMethod<
[],
[bigint],
"view"
>;
setNetworkSomeEncryptedValue: TypedContractMethod<
[networkEncrypted: BigNumberish],
[void],
"nonpayable"
>;
setSomeEncryptedStringEncryptedInput: TypedContractMethod<
[itValue: ItStringStruct],
[void],
"nonpayable"
>;
setSomeEncryptedValue: TypedContractMethod<
[_value: BigNumberish],
[void],
"nonpayable"
>;
setSomeEncryptedValueEncryptedInput: TypedContractMethod<
[itValue: ItUint64Struct],
[void],
"nonpayable"
>;
setUserSomeEncryptedStringEncryptedInput: TypedContractMethod<
[],
[void],
"nonpayable"
>;
setUserSomeEncryptedValue: TypedContractMethod<[], [void], "nonpayable">;
setUserSomeEncryptedValueEncryptedInput: TypedContractMethod<
[],
[void],
"nonpayable"
>;
getFunction<T extends ContractMethod = ContractMethod>(
key: string | FunctionFragment
): T;
getFunction(
nameOrSignature: "add"
): TypedContractMethod<[], [void], "nonpayable">;
getFunction(
nameOrSignature: "getNetworkSomeEncryptedValue"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "getNetworkSomeEncryptedValueEncryptedInput"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "getSomeValue"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "getUserArithmeticResult"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "getUserSomeEncryptedStringEncryptedInput"
): TypedContractMethod<[], [CtStringStructOutput], "view">;
getFunction(
nameOrSignature: "getUserSomeEncryptedValue"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "getUserSomeEncryptedValueEncryptedInput"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "setNetworkSomeEncryptedValue"
): TypedContractMethod<
[networkEncrypted: BigNumberish],
[void],
"nonpayable"
>;
getFunction(
nameOrSignature: "setSomeEncryptedStringEncryptedInput"
): TypedContractMethod<[itValue: ItStringStruct], [void], "nonpayable">;
getFunction(
nameOrSignature: "setSomeEncryptedValue"
): TypedContractMethod<[_value: BigNumberish], [void], "nonpayable">;
getFunction(
nameOrSignature: "setSomeEncryptedValueEncryptedInput"
): TypedContractMethod<[itValue: ItUint64Struct], [void], "nonpayable">;
getFunction(
nameOrSignature: "setUserSomeEncryptedStringEncryptedInput"
): TypedContractMethod<[], [void], "nonpayable">;
getFunction(
nameOrSignature: "setUserSomeEncryptedValue"
): TypedContractMethod<[], [void], "nonpayable">;
getFunction(
nameOrSignature: "setUserSomeEncryptedValueEncryptedInput"
): TypedContractMethod<[], [void], "nonpayable">;
getEvent(
key: "UserEncryptedStringValue"
): TypedContractEvent<
UserEncryptedStringValueEvent.InputTuple,
UserEncryptedStringValueEvent.OutputTuple,
UserEncryptedStringValueEvent.OutputObject
>;
getEvent(
key: "UserEncryptedValue"
): TypedContractEvent<
UserEncryptedValueEvent.InputTuple,
UserEncryptedValueEvent.OutputTuple,
UserEncryptedValueEvent.OutputObject
>;
filters: {
"UserEncryptedStringValue(address,tuple)": TypedContractEvent<
UserEncryptedStringValueEvent.InputTuple,
UserEncryptedStringValueEvent.OutputTuple,
UserEncryptedStringValueEvent.OutputObject
>;
UserEncryptedStringValue: TypedContractEvent<
UserEncryptedStringValueEvent.InputTuple,
UserEncryptedStringValueEvent.OutputTuple,
UserEncryptedStringValueEvent.OutputObject
>;
"UserEncryptedValue(address,uint256)": TypedContractEvent<
UserEncryptedValueEvent.InputTuple,
UserEncryptedValueEvent.OutputTuple,
UserEncryptedValueEvent.OutputObject
>;
UserEncryptedValue: TypedContractEvent<
UserEncryptedValueEvent.InputTuple,
UserEncryptedValueEvent.OutputTuple,
UserEncryptedValueEvent.OutputObject
>;
};
}