44 Commits

Author SHA1 Message Date
Jayden Windle
18f8148aa9 Merge pull request #23 from tokenbound/jw/eip_interface_updates
Implemented EIP interface changes
2023-07-31 18:45:29 -07:00
Jayden Windle
fe0c851276 Updated erc6551 dependency 2023-07-31 18:43:25 -07:00
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
7f94f2b954 forge install: erc6551
v0.2.0
2023-07-28 11:18:59 -07:00
Jayden Windle
7053ea6e2a reset erc6551 dependency 2023-07-28 11:18:38 -07:00
Jayden Windle
fb8c39a2b4 Initial EIP compatibility update 2023-07-28 11:10:23 -07:00
Jayden Windle
9b836bbbc3 Added README.md 2023-07-24 12:03:51 -07:00
Jayden Windle
208f086450 Merge pull request #20 from tokenbound/jw/account-v2
v2 Account Implementation
2023-07-10 08:23:13 -07:00
Jayden Windle
a30654c16a Added zero check to account proxy constructor 2023-06-27 10:37:10 -07:00
Jayden Windle
57481d42ba Updated erc6551/reference dependency commit 2023-06-27 10:31:00 -07:00
Jayden Windle
96ef95fd82 Testnet deployments 2023-05-17 07:09:46 -07:00
Jayden Windle
551a52da3f Beta mainnet deployment 2023-05-10 13:33:35 -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
1bd176bcc7 Updated to account abstraction v0.6.0 2023-05-03 09:09:53 -07:00
Jayden Windle
89069edd59 Fixed SRC-01 | Missing Emit Events 2023-04-23 13:56:03 -07:00
Jayden Windle
fe9f7d10e7 Fixed GIT-01 | Missing Zero Address Validation 2023-04-23 13:27:43 -07:00
Jayden Windle
0cd68b35df testnet deployments 2023-04-13 15:26:06 -04:00
Jayden Windle
d0461dddf3 Added initial in-code documentation 2023-04-13 11:56:11 -04:00
Jayden Windle
17319c960e simplified permissions model 2023-04-13 10:56:58 -04:00
Jayden Windle
64ac552d74 Updated to new bytecode lib, removed sstore2 dependency 2023-04-13 10:37:31 -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
5056a8a879 Added v2 account contract 2023-04-11 14:28:16 -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
0e30953647 Enable CI 2023-01-06 10:16:10 -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
34520f89b3 Added support for smart contract vault owner signatures 2022-11-30 09:10:16 -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
14d6f4f993 forge install: openzeppelin-contracts 2022-11-29 14:06:58 -08:00
Jayden Windle
2bec5b7846 forge install: forge-std 2022-11-29 14:04:45 -08:00
Jayden Windle
13743607d0 chore: forge init 2022-11-29 14:04:44 -08:00