Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,17 @@ docs/
.env

# coverage files
coverage/
coverage/
node_modules
.env
coverage
coverage.json
typechain
typechain-types

# Hardhat files
cache
artifacts
artifacts-selected

cache_hardhat
43 changes: 43 additions & 0 deletions broadcast/DeployKernel.s.sol/80001/run-1681156953.json

Large diffs are not rendered by default.

75 changes: 75 additions & 0 deletions broadcast/DeployKernel.s.sol/80001/run-1681156960.json

Large diffs are not rendered by default.

75 changes: 75 additions & 0 deletions broadcast/DeployKernel.s.sol/80001/run-latest.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions dist/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './types';
17 changes: 17 additions & 0 deletions dist/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./types"), exports);
83 changes: 83 additions & 0 deletions dist/types/AccountFactory.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
export interface AccountFactoryInterface extends utils.Interface {
functions: {
"accountTemplate()": FunctionFragment;
"createAccount(address,uint256)": FunctionFragment;
"getAccountAddress(address,uint256)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "accountTemplate" | "createAccount" | "getAccountAddress"): FunctionFragment;
encodeFunctionData(functionFragment: "accountTemplate", values?: undefined): string;
encodeFunctionData(functionFragment: "createAccount", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getAccountAddress", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
decodeFunctionResult(functionFragment: "accountTemplate", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "createAccount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getAccountAddress", data: BytesLike): Result;
events: {
"AccountCreated(address,address,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "AccountCreated"): EventFragment;
}
export interface AccountCreatedEventObject {
account: string;
owner: string;
index: BigNumber;
}
export type AccountCreatedEvent = TypedEvent<[
string,
string,
BigNumber
], AccountCreatedEventObject>;
export type AccountCreatedEventFilter = TypedEventFilter<AccountCreatedEvent>;
export interface AccountFactory extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: AccountFactoryInterface;
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {
accountTemplate(overrides?: CallOverrides): Promise<[string]>;
createAccount(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getAccountAddress(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
};
accountTemplate(overrides?: CallOverrides): Promise<string>;
createAccount(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getAccountAddress(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
callStatic: {
accountTemplate(overrides?: CallOverrides): Promise<string>;
createAccount(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
getAccountAddress(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
};
filters: {
"AccountCreated(address,address,uint256)"(account?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, index?: null): AccountCreatedEventFilter;
AccountCreated(account?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, index?: null): AccountCreatedEventFilter;
};
estimateGas: {
accountTemplate(overrides?: CallOverrides): Promise<BigNumber>;
createAccount(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
getAccountAddress(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
};
populateTransaction: {
accountTemplate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
createAccount(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
getAccountAddress(_owner: PromiseOrValue<string>, _index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
};
}
2 changes: 2 additions & 0 deletions dist/types/AccountFactory.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
83 changes: 83 additions & 0 deletions dist/types/Compatibility.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
export interface CompatibilityInterface extends utils.Interface {
functions: {
"isValidSignature(bytes32,bytes)": FunctionFragment;
"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": FunctionFragment;
"onERC1155Received(address,address,uint256,uint256,bytes)": FunctionFragment;
"onERC721Received(address,address,uint256,bytes)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "isValidSignature" | "onERC1155BatchReceived" | "onERC1155Received" | "onERC721Received"): FunctionFragment;
encodeFunctionData(functionFragment: "isValidSignature", values: [PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>]): string;
encodeFunctionData(functionFragment: "onERC1155BatchReceived", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>[],
PromiseOrValue<BigNumberish>[],
PromiseOrValue<BytesLike>
]): string;
encodeFunctionData(functionFragment: "onERC1155Received", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BytesLike>
]): string;
encodeFunctionData(functionFragment: "onERC721Received", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BytesLike>
]): string;
decodeFunctionResult(functionFragment: "isValidSignature", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "onERC1155BatchReceived", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "onERC1155Received", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "onERC721Received", data: BytesLike): Result;
events: {};
}
export interface Compatibility extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: CompatibilityInterface;
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {
isValidSignature(_hash: PromiseOrValue<BytesLike>, _signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
};
isValidSignature(_hash: PromiseOrValue<BytesLike>, _signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
callStatic: {
isValidSignature(_hash: PromiseOrValue<BytesLike>, _signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
};
filters: {};
estimateGas: {
isValidSignature(_hash: PromiseOrValue<BytesLike>, _signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
};
populateTransaction: {
isValidSignature(_hash: PromiseOrValue<BytesLike>, _signature: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
onERC1155BatchReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>[], arg3: PromiseOrValue<BigNumberish>[], arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
onERC1155Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BigNumberish>, arg4: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
onERC721Received(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<BigNumberish>, arg3: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
};
}
2 changes: 2 additions & 0 deletions dist/types/Compatibility.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
27 changes: 27 additions & 0 deletions dist/types/EIP1967Proxy.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import type { BaseContract, Signer, utils } from "ethers";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common";
export interface EIP1967ProxyInterface extends utils.Interface {
functions: {};
events: {};
}
export interface EIP1967Proxy extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: EIP1967ProxyInterface;
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {};
callStatic: {};
filters: {};
estimateGas: {};
populateTransaction: {};
}
2 changes: 2 additions & 0 deletions dist/types/EIP1967Proxy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
92 changes: 92 additions & 0 deletions dist/types/IAccount.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
export type UserOperationStruct = {
sender: PromiseOrValue<string>;
nonce: PromiseOrValue<BigNumberish>;
initCode: PromiseOrValue<BytesLike>;
callData: PromiseOrValue<BytesLike>;
callGasLimit: PromiseOrValue<BigNumberish>;
verificationGasLimit: PromiseOrValue<BigNumberish>;
preVerificationGas: PromiseOrValue<BigNumberish>;
maxFeePerGas: PromiseOrValue<BigNumberish>;
maxPriorityFeePerGas: PromiseOrValue<BigNumberish>;
paymasterAndData: PromiseOrValue<BytesLike>;
signature: PromiseOrValue<BytesLike>;
};
export type UserOperationStructOutput = [
string,
BigNumber,
string,
string,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
string,
string
] & {
sender: string;
nonce: BigNumber;
initCode: string;
callData: string;
callGasLimit: BigNumber;
verificationGasLimit: BigNumber;
preVerificationGas: BigNumber;
maxFeePerGas: BigNumber;
maxPriorityFeePerGas: BigNumber;
paymasterAndData: string;
signature: string;
};
export interface IAccountInterface extends utils.Interface {
functions: {
"validateUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "validateUserOp"): FunctionFragment;
encodeFunctionData(functionFragment: "validateUserOp", values: [
UserOperationStruct,
PromiseOrValue<BytesLike>,
PromiseOrValue<BigNumberish>
]): string;
decodeFunctionResult(functionFragment: "validateUserOp", data: BytesLike): Result;
events: {};
}
export interface IAccount extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: IAccountInterface;
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {
validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
};
validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
callStatic: {
validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
};
filters: {};
estimateGas: {
validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
};
populateTransaction: {
validateUserOp(userOp: UserOperationStruct, userOpHash: PromiseOrValue<BytesLike>, missingAccountFunds: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
};
}
2 changes: 2 additions & 0 deletions dist/types/IAccount.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
Loading