metadata-arb1.json
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,28 +0,0 @@
|
||||
{
|
||||
"42161": {
|
||||
"t": [
|
||||
{
|
||||
"a": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
|
||||
"n": "Wrapped Ether",
|
||||
"s": "WETH",
|
||||
"d": 18
|
||||
},
|
||||
{
|
||||
"a": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
||||
"n": "USD Coin (Arbitrum Native)",
|
||||
"s": "USDC",
|
||||
"d": 6
|
||||
}
|
||||
],
|
||||
"p": [
|
||||
{
|
||||
"a": "0xC6962004f452bE9203591991D15f6b388e09E8D0",
|
||||
"b": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
|
||||
"q": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
||||
"f": 500,
|
||||
"e": 1,
|
||||
"d": 12
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ import sys
|
||||
|
||||
from sqlalchemy import select
|
||||
|
||||
from dexorder import db
|
||||
from dexorder import db, ADDRESS_0
|
||||
from dexorder.configuration import parse_args
|
||||
from dexorder.database.model import Pool, Token
|
||||
from dexorder.metadata import generate_metadata
|
||||
@@ -21,7 +21,7 @@ def main():
|
||||
parse_args()
|
||||
db.connect(migrate=False)
|
||||
tokens = db.session.scalars(select(Token))
|
||||
pools = db.session.scalars(select(Pool))
|
||||
pools = db.session.scalars(select(Pool).where(Pool.base!=ADDRESS_0 and Pool.quote!=ADDRESS_0))
|
||||
generate_metadata(tokens, pools)
|
||||
|
||||
|
||||
|
||||
@@ -56,10 +56,10 @@ def dump_tokens(out, tokens):
|
||||
dump(out, ',')
|
||||
if isinstance(token, Token):
|
||||
token: Token
|
||||
a = token.address,
|
||||
n = token.name,
|
||||
s = token.symbol,
|
||||
d = token.decimals,
|
||||
a = token.address
|
||||
n = token.name
|
||||
s = token.symbol
|
||||
d = token.decimals
|
||||
x = None
|
||||
elif 'a' in token:
|
||||
token: TokenDict
|
||||
|
||||
@@ -23,10 +23,14 @@ log = logging.getLogger(__name__)
|
||||
|
||||
async def get_pool(address: str) -> OldPoolDict:
|
||||
try:
|
||||
return address_metadata[address]
|
||||
result: OldPoolDict = address_metadata[address]
|
||||
except KeyError:
|
||||
result = address_metadata[address] = await load_pool(address)
|
||||
return result
|
||||
else:
|
||||
if result['base'] == ADDRESS_0 or result['quote'] == ADDRESS_0:
|
||||
log.warning(f'Repairing bad pool {address}')
|
||||
result = address_metadata[address] = await load_pool(address)
|
||||
return result
|
||||
|
||||
|
||||
async def load_pool(address: str) -> OldPoolDict:
|
||||
@@ -41,6 +45,8 @@ async def load_pool(address: str) -> OldPoolDict:
|
||||
try:
|
||||
v3 = UniswapV3Pool(address)
|
||||
t0, t1 = await asyncio.gather(v3.token0(), v3.token1())
|
||||
if t0 == ADDRESS_0 or t1 == ADDRESS_0:
|
||||
raise ValueError(f'Pool tokens had a zero address. pool: {address} tokens: {t0} {t1}', address, t0, t1)
|
||||
token0, token1 = await asyncio.gather(get_token(t0), get_token(t1))
|
||||
# This is an old conditional that checks for token approval before handling the data. The backend currently
|
||||
# handles all pools and token regardless of approval.
|
||||
|
||||
Reference in New Issue
Block a user