24 Commits

Author SHA1 Message Date
Jayden Windle
3d7ec8eebb Updated openzeppelin remappings to enable hardhat compatibility 2023-07-28 11:38:07 -07:00
Jayden Windle
2a8aaa58f1 Updated to use new execution interface 2023-07-28 11:25:50 -07:00
Jayden Windle
fb8c39a2b4 Initial EIP compatibility update 2023-07-28 11:10:23 -07:00
Jayden Windle
a30654c16a Added zero check to account proxy constructor 2023-06-27 10:37:10 -07:00
Jayden Windle
a35e64f548 Switched to immutable account proxy, modified deploy scripts 2023-05-06 18:36:45 -07:00
Jayden Windle
0674ede666 Simplified ownership cycle protection 2023-05-03 10:22:17 -07:00
Jayden Windle
6bd23562ed Added account proxy 2023-05-03 10:16:15 -07:00
Jayden Windle
17319c960e simplified permissions model 2023-04-13 10:56:58 -04:00
Jayden Windle
2c3aee92f6 Cleaned up interface, small fixes 2023-04-11 14:29:18 -04:00
Jayden Windle
a7d68c483e Added 4337 tests + brought up to 100% test coverage 2023-04-11 14:29:09 -04:00
Jayden Windle
1efdcefd2d Upgraded to 0.6.0 EntryPoint, added ownership cycle protection 2023-04-11 14:28:57 -04:00
Jayden Windle
36840f5070 Removed old implementation + tests, migrated all asset transfer tests to v2 implementation 2023-04-11 14:28:47 -04:00
Jayden Windle
dcf7de85e1 Moved guardian logic to own contract, many small quality of life fixes 2023-04-11 14:28:37 -04:00
Jayden Windle
349d4716cf Made v2 account pass v1 test suite 2023-04-11 14:28:26 -04:00
Jayden Windle
03a730c2c0 Macro Audit Fixes (#19)
* [H-3]: Added max lock time (#8)

* Added max lock time of 1 year

* Fixed tests + covered max unlock exceeded scenario

* Removed payable castings (#9)

* [L-2]: Added event coverage (#10)

* [Q-1]: Added onlyUnlocked modifier (#11)

* [Q-2] Removed unused imports (#12)

* [Q-3]: Added ERC165 support (#14)

* [G-3] Made vaultImplementation immutable (#15)

* Added chainid to vault salt + context (#16)

* Added chainid to vault salt + context to mitigate cross-chain attacks

* Added support for deploying cross-chain vaults to VaultRegistry

* Updated natspec docs

* Added cross-chain executor (#17)

* Added support for cross-chain executors and increased test coverage

* added natspec coverage

* Apply EIP naming conventions (#18)

* migrated vault to account in accordance with eip naming

* renamed VaultRegistry to AccountRegistry, updated naming in tests

* split registry and cross chain executor list, renamed methods

* finished migrating to eip naming conventions, split out tests, removed proxy size test

* removed chainid from interface

* remove console

* removed unused imports

* fix spelling

* fixed registry interface to match eip

* fix event

* fixed event test

* added event indexing
2023-04-11 14:23:26 -04:00
Jayden Windle
6a9ebf78de Increased test coverage to 100% (#7)
* Brought test coverage up to 100% for core contracts

* Fixed warnings
2023-01-09 12:23:24 -08:00
Jayden Windle
dcc9eb77ed Replaced delegatecall with custom executor (#6)
* Removed delegatecall support in favor of a permissioned executor

* Cleanup

* Fixed issues with Vault interface
2023-01-08 22:16:18 -08:00
Jayden Windle
c1d90a1864 Increased MinimalProxyStore context size limit (#5)
* Updated MinimalProxyStore assembly to allow storage up to max contract
size

* enable PR CI runs

* updated ci

* more ci config

* fix ci tests for context overflow

* removed unnecessary contextSize param from getContext
2023-01-08 20:43:35 -08:00
Jayden Windle
b47ea6beed Added MinimalProxyStore + Execution Modules (#4)
* moved to custom proxy implementation, added example for locked vault

* Removed lock implementation using module

* Moved to MinimalProxyStore + execution module pattern

* Removed MinimalReceiver

* Added natspec to MinimalProxyStore

* Cleaned up imports and modified contract natspec

* Improved natspec docs

* Added test for minimal proxy store reverts

* Cleaned up tests

* Added test for custom execution module
2023-01-06 10:15:25 -08:00
Jayden Windle
45b1054bc3 Added delegatecall support (#3)
* Replaced beacon upgradability with executeDelegateCall, cleaned up init
logic, added natspec docs

* Added locking to delegateCall

* natspec for lock

* Added natspec for unlockTimestamp mapping

* fixed locking vuln due to delegatecall

* lock authorization

* Switched to stateless vault implementation

* Added authorization check to signature validation

* Cleanup, api changes

* Moved sig validation to registry
2023-01-06 10:01:33 -08:00
Jayden Windle
81ae712d33 Added time-based locking to vaults (#1) 2022-12-28 18:50:45 -08:00
Jayden Windle
bc28e6926d Store token data in vault storage, cleanup 2022-11-29 21:23:13 -08:00
Jayden Windle
9a9d9c8e72 Initial commit 2022-11-29 14:17:49 -08:00
Jayden Windle
13743607d0 chore: forge init 2022-11-29 14:04:44 -08:00