Skip to content

0xPilou/supertoken-wrapper-hook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Uniswap V4 Hooks for SuperToken upgrading/downgrading

This repository contains the Uniswap V4 hooks for upgrading/downgrading SuperTokens in Uniswap V4 pools.

Documentation

These hooks are inspired by the WETHHook from the Uniswap V4 Periphery repository.

Due to the different types of SuperTokens that Superfluid Protocol offers, it exists two types of hooks:

  • SuperTokenWrapperHook : used for Wrapper SuperToken upgrading/downgrading
  • SETHHook : used for Native Asset SuperToken upgrading/downgrading

Requirements

For these hook to work, Uniswap V4 PoolManager contract must hold the SuperToken and the underlying token. These assets may be provided in any pools.

Repository Usage

Build

$ forge build

Deploy

Deploy SETHHook

$ forge script script/SETH/DeploySETHHook.s.sol:DeployHookScript --rpc-url <your_rpc_url> --private-key <your_private_key>

Deploy SuperTokenWrapperHook

$ forge script script/wrapper-supertoken/DeploySuperTokenWrapperHook.s.sol:DeploySuperTokenWrapperHookScript --rpc-url <your_rpc_url> --private-key <your_private_key>

Deployment Logs

SETHHook

Base Mainnet

forge script script/SETH/DeploySETHHook.s.sol:DeployHookScript --rpc-url $BASE_RPC_URL --account UNISWAP_DEPLOYER --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY

[⠊] Compiling...
No files changed, compilation skipped
Enter keystore password:
Script ran successfully.

== Logs ==

  ===> DEPLOYMENT CONFIGURATION
   --- UniswapV4 Position Manager    : 0x7C5f5A4bBd8fD63184577525326123B519429bDc
   --- UniswapV4 Pool Manager        : 0x498581fF718922c3f8e6A244956aF099B2652b2b
   --- Permit2 address               : 0x000000000022D473030F116dDEE9F6B43aC78BA3
   --- SETH address                  : 0x46fd5cfB4c12D87acD3a13e92BAa53240C661D93

  ===> DEPLOYING SETHHook
   --- Chain ID          :    8453
   --- Deployer address  :    0x820C691030AEA686C4072F734D9d357d725c9446
   --- Deployer balance  :    0 ETH

  ===> DEPLOYMENT RESULTS
   --- SETHHook            : 0xE0E522e5888e398d9E5d4D90A48c489425cb2888


## Setting up 1 EVM.

==========================

Chain 8453

Estimated gas price: 0.019379344 gwei

Estimated total gas used for script: 1821089

Estimated amount required: 0.000035291510185616 ETH

==========================

##### base
✅  [Success] Hash: 0x064096ed29acd6f48fded84ec06449930ea844ae75a3f082ba12523ef4bce13b
Block: 37216789
Paid: 0.000013601550066608 ETH (1318436 gas * 0.010316428 gwei)

✅ Sequence #1 on base | Total Paid: 0.000013601550066608 ETH (1318436 gas * avg 0.010316428 gwei)


==========================

ONCHAIN EXECUTION COMPLETE & SUCCESSFUL.
##

SuperTokenWrapperHook (USDCx/USDC)

Base Mainnet

forge script script/wrapper-supertoken/DeploySuperTokenWrapperHook.s.sol:DeploySuperTokenWrapperHookScript --rpc-url $BASE_RPC_URL --account UNISWAP_DEPLOYER --broadcast --verify $ETHERSCAN_API_KEY

[⠊] Compiling...
No files changed, compilation skipped
Enter keystore password:
Script ran successfully.

== Logs ==

  ===> DEPLOYMENT CONFIGURATION
   --- UniswapV4 Position Manager    : 0x7C5f5A4bBd8fD63184577525326123B519429bDc
   --- UniswapV4 Pool Manager        : 0x498581fF718922c3f8e6A244956aF099B2652b2b
   --- Permit2 address               : 0x000000000022D473030F116dDEE9F6B43aC78BA3
   --- fUSDC address                  : 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
   --- fUSDCx address                  : 0xD04383398dD2426297da660F9CCA3d439AF9ce1b

  ===> DEPLOYING SuperTokenWrapperHook
   --- Chain ID          :    8453
   --- Deployer address  :    0x820C691030AEA686C4072F734D9d357d725c9446
   --- Deployer balance  :    0 ETH

  ===> DEPLOYMENT RESULTS
   --- SuperTokenWrapperHook            : 0xa09FF20120D0dC9B9840C3260EA4F2be7e6cE888


## Setting up 1 EVM.

==========================

Chain 8453

Estimated gas price: 0.019294476 gwei

Estimated total gas used for script: 1881896

Estimated amount required: 0.000036310197206496 ETH

==========================

##### base
✅  [Success] Hash: 0x1014507a03bf97b0e7dafbe27376ed2e3e49ac4c257844d5dcaeb594074c9a42
Block: 37216925
Paid: 0.00001374126881226 ETH (1362460 gas * 0.010085631 gwei)

✅ Sequence #1 on base | Total Paid: 0.00001374126881226 ETH (1362460 gas * avg 0.010085631 gwei)


==========================

ONCHAIN EXECUTION COMPLETE & SUCCESSFUL.
##

About

Upgrade & Downgrade SuperToken using UniswapV4 Hooks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors