-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
dfc2b50
commit 86762f4
Showing
6 changed files
with
940 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
pragma solidity ^0.8.10; | ||
|
||
import "@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol"; | ||
|
||
/// @title ERC-721 MultiVault Proxy Contract | ||
/// @author Jake Nyquist -- [email protected] | ||
/// @notice Each instance of this contract is a unique multi-vault which references the | ||
/// shared implementation pointed to by the Beacon | ||
contract HookERC721MultiVault is BeaconProxy { | ||
constructor( | ||
address beacon, | ||
address nftAddress, | ||
address hookProtocolAddress | ||
) | ||
BeaconProxy( | ||
beacon, | ||
abi.encodeWithSignature( | ||
"initialize(address,address)", | ||
nftAddress, | ||
hookProtocolAddress | ||
) | ||
) | ||
{} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
pragma solidity ^0.8.10; | ||
|
||
import "./HookUpgradeableBeacon.sol"; | ||
|
||
/// @title HookERC721MultiVaultBeacon -- beacon holding pointer to current ERC721MultiVault implementation | ||
/// @author Jake Nyquist -- [email protected] | ||
/// @notice The beacon broadcasts the address which contains the existing implementation of the ERC721MultiVault | ||
/// @dev Permissions for who can upgrade are contained within the protocol contract. | ||
contract HookERC721MultiVaultBeacon is HookUpgradeableBeacon { | ||
constructor( | ||
address implementation, | ||
address hookProtocol, | ||
bytes32 upgraderRole | ||
) HookUpgradeableBeacon(implementation, hookProtocol, upgraderRole) {} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.