Modify contarct

This commit is contained in:
daniecon
2022-09-24 17:21:16 +02:00
parent 4060d88039
commit 413329bd4c
3 changed files with 95 additions and 20 deletions

View File

@@ -7,20 +7,23 @@ contract ZkWalletFactory {
mapping(address => address) userAddressToWalletAddress;
event WalletCreated(address walletAddress);
constructor() {}
address public hashCheckVerifier;
constructor(address _hashCheckVerifier) {
hashCheckVerifier = _hashCheckVerifier;
}
function deployWallet(
address _hashCheckVerifier,
uint256 _ownerPasswordHash,
address[] memory _trustees,
uint256[] memory _passwordHashes,
uint256 _thresholdForRecovery,
address _otpVerifier,
uint256 _root
uint256 _root,
address _otpVerifier
) external returns (address walletAddress) {
ZkSocialRecoveryWallet wallet = new ZkSocialRecoveryWallet(
_hashCheckVerifier,
hashCheckVerifier,
_ownerPasswordHash,
_trustees,
_passwordHashes,

View File

@@ -33,6 +33,7 @@ export interface ZkSocialRecoveryWalletInterface extends utils.Interface {
"currentRecoveryNumber()": FunctionFragment;
"executeRecoveryChange(uint256[2],uint256[2][2],uint256[2],uint256[1],uint256)": FunctionFragment;
"executeTxn(uint256[2],uint256[2][2],uint256[2],uint256[2],address,uint256)": FunctionFragment;
"isRecoveryOn()": FunctionFragment;
"onERC721Received(address,address,uint256,bytes)": FunctionFragment;
"owner()": FunctionFragment;
"startRecovery(uint256[2],uint256[2][2],uint256[2],uint256[1],address)": FunctionFragment;
@@ -45,6 +46,7 @@ export interface ZkSocialRecoveryWalletInterface extends utils.Interface {
| "currentRecoveryNumber"
| "executeRecoveryChange"
| "executeTxn"
| "isRecoveryOn"
| "onERC721Received"
| "owner"
| "startRecovery"
@@ -95,6 +97,10 @@ export interface ZkSocialRecoveryWalletInterface extends utils.Interface {
PromiseOrValue<BigNumberish>
]
): string;
encodeFunctionData(
functionFragment: "isRecoveryOn",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "onERC721Received",
values: [
@@ -145,6 +151,10 @@ export interface ZkSocialRecoveryWalletInterface extends utils.Interface {
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "executeTxn", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "isRecoveryOn",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "onERC721Received",
data: BytesLike
@@ -287,6 +297,8 @@ export interface ZkSocialRecoveryWallet extends BaseContract {
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
isRecoveryOn(overrides?: CallOverrides): Promise<[boolean]>;
onERC721Received(
arg0: PromiseOrValue<string>,
arg1: PromiseOrValue<string>,
@@ -361,6 +373,8 @@ export interface ZkSocialRecoveryWallet extends BaseContract {
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
isRecoveryOn(overrides?: CallOverrides): Promise<boolean>;
onERC721Received(
arg0: PromiseOrValue<string>,
arg1: PromiseOrValue<string>,
@@ -435,6 +449,8 @@ export interface ZkSocialRecoveryWallet extends BaseContract {
overrides?: CallOverrides
): Promise<string>;
isRecoveryOn(overrides?: CallOverrides): Promise<boolean>;
onERC721Received(
arg0: PromiseOrValue<string>,
arg1: PromiseOrValue<string>,
@@ -552,6 +568,8 @@ export interface ZkSocialRecoveryWallet extends BaseContract {
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
isRecoveryOn(overrides?: CallOverrides): Promise<BigNumber>;
onERC721Received(
arg0: PromiseOrValue<string>,
arg1: PromiseOrValue<string>,
@@ -629,6 +647,8 @@ export interface ZkSocialRecoveryWallet extends BaseContract {
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
isRecoveryOn(overrides?: CallOverrides): Promise<PopulatedTransaction>;
onERC721Received(
arg0: PromiseOrValue<string>,
arg1: PromiseOrValue<string>,

View File

@@ -29,28 +29,50 @@ import type {
export interface ZkWalletFactoryInterface extends utils.Interface {
functions: {
"deployWallet(address,uint256,address[],uint256[],uint256,uint256,address)": FunctionFragment;
"deployWallet(uint256,address[],uint256[],uint256,address,uint256)": FunctionFragment;
"getUserWalletAddress(address)": FunctionFragment;
"hashCheckVerifier()": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "deployWallet"): FunctionFragment;
getFunction(
nameOrSignatureOrTopic:
| "deployWallet"
| "getUserWalletAddress"
| "hashCheckVerifier"
): FunctionFragment;
encodeFunctionData(
functionFragment: "deployWallet",
values: [
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<string>[],
PromiseOrValue<BigNumberish>[],
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<string>
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>
]
): string;
encodeFunctionData(
functionFragment: "getUserWalletAddress",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "hashCheckVerifier",
values?: undefined
): string;
decodeFunctionResult(
functionFragment: "deployWallet",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getUserWalletAddress",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "hashCheckVerifier",
data: BytesLike
): Result;
events: {
"WalletCreated(address)": EventFragment;
@@ -94,39 +116,57 @@ export interface ZkWalletFactory extends BaseContract {
functions: {
deployWallet(
_hashCheckVerifier: PromiseOrValue<string>,
_ownerPasswordHash: PromiseOrValue<BigNumberish>,
_trustees: PromiseOrValue<string>[],
_passwordHashes: PromiseOrValue<BigNumberish>[],
_thresholdForRecovery: PromiseOrValue<BigNumberish>,
_root: PromiseOrValue<BigNumberish>,
_otpVerifier: PromiseOrValue<string>,
_root: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
getUserWalletAddress(
_user: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<[string] & { _walletAddress: string }>;
hashCheckVerifier(overrides?: CallOverrides): Promise<[string]>;
};
deployWallet(
_hashCheckVerifier: PromiseOrValue<string>,
_ownerPasswordHash: PromiseOrValue<BigNumberish>,
_trustees: PromiseOrValue<string>[],
_passwordHashes: PromiseOrValue<BigNumberish>[],
_thresholdForRecovery: PromiseOrValue<BigNumberish>,
_root: PromiseOrValue<BigNumberish>,
_otpVerifier: PromiseOrValue<string>,
_root: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
getUserWalletAddress(
_user: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<string>;
hashCheckVerifier(overrides?: CallOverrides): Promise<string>;
callStatic: {
deployWallet(
_hashCheckVerifier: PromiseOrValue<string>,
_ownerPasswordHash: PromiseOrValue<BigNumberish>,
_trustees: PromiseOrValue<string>[],
_passwordHashes: PromiseOrValue<BigNumberish>[],
_thresholdForRecovery: PromiseOrValue<BigNumberish>,
_root: PromiseOrValue<BigNumberish>,
_otpVerifier: PromiseOrValue<string>,
_root: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<string>;
getUserWalletAddress(
_user: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<string>;
hashCheckVerifier(overrides?: CallOverrides): Promise<string>;
};
filters: {
@@ -136,27 +176,39 @@ export interface ZkWalletFactory extends BaseContract {
estimateGas: {
deployWallet(
_hashCheckVerifier: PromiseOrValue<string>,
_ownerPasswordHash: PromiseOrValue<BigNumberish>,
_trustees: PromiseOrValue<string>[],
_passwordHashes: PromiseOrValue<BigNumberish>[],
_thresholdForRecovery: PromiseOrValue<BigNumberish>,
_root: PromiseOrValue<BigNumberish>,
_otpVerifier: PromiseOrValue<string>,
_root: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
getUserWalletAddress(
_user: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
hashCheckVerifier(overrides?: CallOverrides): Promise<BigNumber>;
};
populateTransaction: {
deployWallet(
_hashCheckVerifier: PromiseOrValue<string>,
_ownerPasswordHash: PromiseOrValue<BigNumberish>,
_trustees: PromiseOrValue<string>[],
_passwordHashes: PromiseOrValue<BigNumberish>[],
_thresholdForRecovery: PromiseOrValue<BigNumberish>,
_root: PromiseOrValue<BigNumberish>,
_otpVerifier: PromiseOrValue<string>,
_root: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
getUserWalletAddress(
_user: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
hashCheckVerifier(overrides?: CallOverrides): Promise<PopulatedTransaction>;
};
}