Skip to content

Commit

Permalink
enable erc20_alt (#392)
Browse files Browse the repository at this point in the history
  • Loading branch information
leafyoung authored Nov 15, 2023
1 parent 3e9828b commit cdbf36d
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 34 deletions.
46 changes: 30 additions & 16 deletions models/credmark/protocols/dexes/uniswap/univ2_pool.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,21 +54,28 @@ def __init__(self, pool_addr: Address, _protocol: str, _pool_data: Optional[dict
except (ModelDataError, OverflowError):
try:
self.token0 = Token(Address(
self.token0_addr).checksum).as_erc20(set_loaded=True)
self.token0_addr).checksum).as_erc20(set_loaded=True, use_alt=True)
self.token0_decimals = self.token0.decimals
self.token0_symbol = self.token0.symbol
except (ModelDataError, OverflowError):
deployment = context.run_model(
'token.deployment-maybe', {'address': self.token0_addr}, return_type=Maybe[dict])
if not deployment.just:
raise ValueError(f"Unable to find token deployment for {self.token0}") from None

deployment_block_number = deployment.just["deployed_block_number"]
with context.fork(block_number=deployment_block_number) as _past_context:
try:
self.token0 = Token(Address(
self.token0_addr).checksum).as_erc20(set_loaded=True)
self.token0_decimals = self.token0.decimals
self.token0_symbol = self.token0.symbol
except (ModelDataError, OverflowError):
deployment = context.run_model(
'token.deployment-maybe', {'address': self.token0_addr}, return_type=Maybe[dict])
if not deployment.just:
raise ValueError(
f"Unable to find token deployment for {self.token0}") from None

deployment_block_number = deployment.just["deployed_block_number"]
with context.fork(block_number=deployment_block_number) as _past_context:
self.token0 = Token(Address(
self.token0_addr).checksum).as_erc20(set_loaded=True)
self.token0_decimals = self.token0.decimals
self.token0_symbol = self.token0.symbol

try:
self.token1 = Token(Address(self.token1_addr).checksum)
Expand All @@ -77,21 +84,28 @@ def __init__(self, pool_addr: Address, _protocol: str, _pool_data: Optional[dict
except (ModelDataError, OverflowError):
try:
self.token1 = Token(address=Address(
self.token1_addr).checksum).as_erc20(set_loaded=True)
self.token1_addr).checksum).as_erc20(set_loaded=True, use_alt=True)
self.token1_decimals = self.token1.decimals
self.token1_symbol = self.token1.symbol
except (ModelDataError, OverflowError):
deployment = context.run_model(
'token.deployment-maybe', {'address': self.token1_addr}, return_type=Maybe[dict])
if not deployment.just:
raise ValueError(f"Unable to find token deployment for {self.token1}") from None

deployment_block_number = deployment.just["deployed_block_number"]
with context.fork(block_number=deployment_block_number) as _past_context:
try:
self.token1 = Token(address=Address(
self.token1_addr).checksum).as_erc20(set_loaded=True)
self.token1_decimals = self.token1.decimals
self.token1_symbol = self.token1.symbol
except (ModelDataError, OverflowError):
deployment = context.run_model(
'token.deployment-maybe', {'address': self.token1_addr}, return_type=Maybe[dict])
if not deployment.just:
raise ValueError(
f"Unable to find token deployment for {self.token1}") from None

deployment_block_number = deployment.just["deployed_block_number"]
with context.fork(block_number=deployment_block_number) as _past_context:
self.token1 = Token(address=Address(
self.token1_addr).checksum).as_erc20(set_loaded=True)
self.token1_decimals = self.token1.decimals
self.token1_symbol = self.token1.symbol

if _pool_data is None:
self.reserve0 = 0
Expand Down
46 changes: 30 additions & 16 deletions models/credmark/protocols/dexes/uniswap/univ3_pool.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,21 +84,28 @@ def __init__(self, pool_addr: Address, _protocol: str, _pool_data: Optional[dict
except (ModelDataError, OverflowError):
try:
self.token0 = Token(Address(
self.token0_addr).checksum).as_erc20(set_loaded=True)
self.token0_addr).checksum).as_erc20(set_loaded=True, use_alt=True)
self.token0_decimals = self.token0.decimals
self.token0_symbol = self.token0.symbol
except (ModelDataError, OverflowError):
deployment = context.run_model(
'token.deployment-maybe', {'address': self.token0_addr}, return_type=Maybe[dict])
if not deployment.just:
raise ValueError(f"Unable to find token deployment for {self.token0}") from None

deployment_block_number = deployment.just["deployed_block_number"]
with context.fork(block_number=deployment_block_number) as _past_context:
try:
self.token0 = Token(Address(
self.token0_addr).checksum).as_erc20(set_loaded=True)
self.token0_decimals = self.token0.decimals
self.token0_symbol = self.token0.symbol
except (ModelDataError, OverflowError):
deployment = context.run_model(
'token.deployment-maybe', {'address': self.token0_addr}, return_type=Maybe[dict])
if not deployment.just:
raise ValueError(
f"Unable to find token deployment for {self.token0}") from None

deployment_block_number = deployment.just["deployed_block_number"]
with context.fork(block_number=deployment_block_number) as _past_context:
self.token0 = Token(Address(
self.token0_addr).checksum).as_erc20(set_loaded=True)
self.token0_decimals = self.token0.decimals
self.token0_symbol = self.token0.symbol

try:
self.token1 = Token(Address(self.token1_addr).checksum)
Expand All @@ -107,21 +114,28 @@ def __init__(self, pool_addr: Address, _protocol: str, _pool_data: Optional[dict
except (ModelDataError, OverflowError):
try:
self.token1 = Token(address=Address(
self.token1_addr).checksum).as_erc20(set_loaded=True)
self.token1_addr).checksum).as_erc20(set_loaded=True, use_alt=True)
self.token1_decimals = self.token1.decimals
self.token1_symbol = self.token1.symbol
except (ModelDataError, OverflowError):
deployment = context.run_model(
'token.deployment-maybe', {'address': self.token1_addr}, return_type=Maybe[dict])
if not deployment.just:
raise ValueError(f"Unable to find token deployment for {self.token1}") from None

deployment_block_number = deployment.just["deployed_block_number"]
with context.fork(block_number=deployment_block_number) as _past_context:
try:
self.token1 = Token(address=Address(
self.token1_addr).checksum).as_erc20(set_loaded=True)
self.token1_decimals = self.token1.decimals
self.token1_symbol = self.token1.symbol
except (ModelDataError, OverflowError):
deployment = context.run_model(
'token.deployment-maybe', {'address': self.token1_addr}, return_type=Maybe[dict])
if not deployment.just:
raise ValueError(
f"Unable to find token deployment for {self.token1}") from None

deployment_block_number = deployment.just["deployed_block_number"]
with context.fork(block_number=deployment_block_number) as _past_context:
self.token1 = Token(address=Address(
self.token1_addr).checksum).as_erc20(set_loaded=True)
self.token1_decimals = self.token1.decimals
self.token1_symbol = self.token1.symbol

if _pool_data is None:
self.pool_tick = None
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ packages = [{ include = "models" }]

[tool.poetry.dependencies]
python = ">=3.11"
credmark-model-framework = { git = "https://github.com/credmark/credmark-model-framework-py.git", tag = "0.8.135" }
credmark-model-framework = { git = "https://github.com/credmark/credmark-model-framework-py.git", tag = "0.8.136" }
ipfshttpclient = ">=0.8.0a2"
matplotlib = ">=3.7.1"
networkx = ">=3.1"
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
git+https://github.com/credmark/[email protected].135
git+https://github.com/credmark/[email protected].136
ipfshttpclient>=0.8.0a2
matplotlib>=3.7.1
networkx>=3.1
Expand Down

0 comments on commit cdbf36d

Please sign in to comment.