Skip to content

Instantly share code, notes, and snippets.

@bartubozkurt
Created April 23, 2022 09:46
Show Gist options
  • Save bartubozkurt/71f5d2d4b4d5978ffa9c074209062ad7 to your computer and use it in GitHub Desktop.
Save bartubozkurt/71f5d2d4b4d5978ffa9c074209062ad7 to your computer and use it in GitHub Desktop.
pragma solidity ^0.6.0;
contract DelegateProxy {
address internal implementation;
fallback() external payable {
address addr = implementation;
assembly {
calldatacopy(0, 0, calldatasize())
let result := delegatecall(gas(), addr, 0, calldatasize(), 0, 0)
returndatacopy(0, 0, returndatasize())
switch result
case 0 { revert(0, returndatasize()) }
default { return(0, returndatasize()) }
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment