Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions config/indexer-config-taiko.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
chain_id: 167000
cross_tx_job:
contract_dict : {'MessageProcessed' : '0x8580f507761043ecdd2bdca084d6fb0109150b3d9842d854d34e3dea6d69387d'}
8 changes: 8 additions & 0 deletions enumeration/entity_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@
UniswapV3TokenDetail,
UniswapV3TokenUpdateLiquidity,
)
from indexer.modules.custom.cross_tx.domains.feature_cross_tx import (
L1toL2TxOnL2
)
from indexer.modules.user_ops.domain.user_operations import UserOperationsResult


Expand Down Expand Up @@ -71,6 +74,8 @@ class EntityType(IntFlag):

EIGEN_LAYER = 1 << 13

CROSS_TX = 1 << 14

EXPLORER = EXPLORER_BASE | EXPLORER_TOKEN | EXPLORER_TRACE

@staticmethod
Expand Down Expand Up @@ -145,6 +150,9 @@ def generate_output_types(entity_types):
yield UniswapV3TokenDetail
yield UniswapV3TokenCurrentStatus

if entity_types & EntityType.CROSS_TX:
yield L1toL2TxOnL2

if entity_types & EntityType.USER_OPS:
yield UserOperationsResult

Expand Down
Empty file.
281 changes: 281 additions & 0 deletions indexer/modules/custom/cross_tx/cross_tx_abi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,281 @@
from common.utils.abi_code_utils import Event, Function

MINT_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": True, "internalType": "address", "name": "minter", "type": "address"},
{"indexed": True, "internalType": "address", "name": "to", "type": "address"},
{"indexed": False, "internalType": "uint256", "name": "amount", "type": "uint256"},
],
"name": "Mint",
"type": "event",
}
)


TRANSFER_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": True, "internalType": "address", "name": "from", "type": "address"},
{"indexed": True, "internalType": "address", "name": "to", "type": "address"},
{"indexed": False, "internalType": "uint256", "name": "value", "type": "uint256"},
],
"name": "Transfer",
"type": "event",
}
)

APPROVAL_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": True, "internalType": "address", "name": "owner", "type": "address"},
{"indexed": True, "internalType": "address", "name": "spender", "type": "address"},
{"indexed": False, "internalType": "uint256", "name": "value", "type": "uint256"},
],
"name": "Approval",
"type": "event",
}
)

BURN_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": True, "internalType": "address", "name": "burner", "type": "address"},
{"indexed": False, "internalType": "uint256", "name": "amount", "type": "uint256"},
],
"name": "Burn",
"type": "event",
}
)

TOKENSENT_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": True, "internalType": "bytes32", "name": "msgHash", "type": "bytes32"},
{"indexed": True, "internalType": "address", "name": "from", "type": "address"},
{"indexed": True, "internalType": "address", "name": "to", "type": "address"},
{"indexed": False, "internalType": "uint64", "name": "canonicalChainId", "type": "uint64"},
{"indexed": False, "internalType": "uint64", "name": "destChainId", "type": "uint64"},
{"indexed": False, "internalType": "address", "name": "ctoken", "type": "address"},
{"indexed": False, "internalType": "address", "name": "token", "type": "address"},
{"indexed": False, "internalType": "uint256", "name": "amount", "type": "uint256"},
],
"name": "TokenSent",
"type": "event",
}
)

TOKENRECEIVED_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": True, "internalType": "bytes32", "name": "msgHash", "type": "bytes32"},
{"indexed": True, "internalType": "address", "name": "from", "type": "address"},
{"indexed": True, "internalType": "address", "name": "to", "type": "address"},
{"indexed": False, "internalType": "uint64", "name": "srcChainId", "type": "uint64"},
{"indexed": False, "internalType": "address", "name": "ctoken", "type": "address"},
{"indexed": False, "internalType": "address", "name": "token", "type": "address"},
{"indexed": False, "internalType": "uint256", "name": "amount", "type": "uint256"},
],
"name": "TokenReceived",
"type": "event",
}
)


MESSAGESENT_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": True, "internalType": "bytes32", "name": "msgHash", "type": "bytes32"},
{"components": [
{
"internalType": "uint64",
"name": "id",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "fee",
"type": "uint64"
},
{
"internalType": "uint32",
"name": "gasLimit",
"type": "uint32"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint64",
"name": "srcChainId",
"type": "uint64"
},
{
"internalType": "address",
"name": "srcOwner",
"type": "address"
},
{
"internalType": "uint64",
"name": "destChainId",
"type": "uint64"
},
{
"internalType": "address",
"name": "destOwner",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"indexed": False,
"internalType": "struct IBridge.Message",
"name": "message",
"type": "tuple"
}
],
"name": "MessageSent",
"type": "event",
}
)


MESSAGESTATUSCHANGED_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": True, "internalType": "bytes32", "name": "msgHash", "type": "bytes32"},
{"indexed": False, "internalType": "enum IBridge.Status", "name": "status", "type": "uint8"},
],
"name": "MessageStatusChanged",
"type": "event",
}
)


MESSAGEPROCESSED_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": True, "internalType": "bytes32", "name": "msgHash", "type": "bytes32"},
{"components": [{
"internalType": "uint64",
"name": "id",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "fee",
"type": "uint64"
},
{
"internalType": "uint32",
"name": "gasLimit",
"type": "uint32"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint64",
"name": "srcChainId",
"type": "uint64"
},
{
"internalType": "address",
"name": "srcOwner",
"type": "address"
},
{
"internalType": "uint64",
"name": "destChainId",
"type": "uint64"
},
{
"internalType": "address",
"name": "destOwner",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}], "indexed": False, "internalType": "struct IBridge.Message", "name": "message", "type": "tuple"},
{
"components": [
{
"internalType": "uint32",
"name": "gasUsedInFeeCalc",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "proofSize",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "numCacheOps",
"type": "uint32"
},
{
"internalType": "bool",
"name": "processedByRelayer",
"type": "bool"
}],"indexed": False, "internalType": "struct Bridge.ProcessingStats","name": "stats","type": "tuple"}
],
"name": "MessageProcessed",
"type": "event",
}
)

SIGNALSENT_EVENT = Event(
{
"anonymous": False,
"inputs": [
{"indexed": False, "internalType": "address", "name": "app", "type": "address"},
{"indexed": False, "internalType": "bytes32", "name": "signal", "type": "bytes32"},
{"indexed": False, "internalType": "bytes32", "name": "slot", "type": "bytes32"},
{"indexed": False, "internalType": "bytes32", "name": "value", "type": "bytes32"},
],
"name": "SignalSent",
"type": "event",
}
)

# todo: other event

Loading