-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathautoload.config.json
More file actions
118 lines (118 loc) · 14.4 KB
/
Copy pathautoload.config.json
File metadata and controls
118 lines (118 loc) · 14.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
{
"_comment": "EVMI autoloader config for the Clear DeFi exporter. Replace every 0x\u2026/<...> placeholder (RPC URL, reserve/pool addresses, start blocks, DSNs, plugin gitUrl) before use. Resources are created if absent on startup (idempotent).",
"database": {
"type": "POSTGRES",
"config": {
"dsn": "host=postgres user=evmi password=secret dbname=evmi port=5432 sslmode=disable"
}
},
"metrics": {
"enabled": true,
"path": "/metrics",
"port": 9999
},
"plugins": [
{
"name": "clear-defi",
"description": "Clear protocol exporter (reserves, IOUs, curve pools)",
"gitUrl": "https://github.com/<your-org>/clear-defi-exporter",
"relativePath": "."
}
],
"resources": {
"blockchains": [
{
"name": "sepolia",
"chainId": 11155111,
"rpcUrl": "https://sepolia.infura.io/v3/<KEY>",
"blockRange": 500,
"blockSlice": 5,
"pullInterval": 5,
"rpcMaxBatchSize": 100
}
],
"abis": [
{
"contractName": "ClearBaseReserve",
"content": "[{\"type\":\"event\",\"name\":\"Transfer\",\"anonymous\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"Deposit\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"lpMinted\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"SingleAssetDeposit\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountIn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"lpMinted\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"Withdraw\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"lpBurned\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"SingleAssetWithdraw\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":true},{\"name\":\"lpBurned\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"amountOut\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"Rebalanced\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"tokenIn\",\"type\":\"address\",\"indexed\":true},{\"name\":\"tokenOut\",\"type\":\"address\",\"indexed\":true},{\"name\":\"recipient\",\"type\":\"address\",\"indexed\":false},{\"name\":\"amountIn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"amountOut\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"Swap\",\"anonymous\":false,\"inputs\":[{\"name\":\"trader\",\"type\":\"address\",\"indexed\":true},{\"name\":\"tokenIn\",\"type\":\"address\",\"indexed\":true},{\"name\":\"tokenOut\",\"type\":\"address\",\"indexed\":true},{\"name\":\"recipient\",\"type\":\"address\",\"indexed\":false},{\"name\":\"amountIn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"amountOut\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"iouTotal\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"traderIOU\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"treasuryIOU\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"lpIOU\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"IOUMinted\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"IOURedeemed\",\"anonymous\":false,\"inputs\":[{\"name\":\"holder\",\"type\":\"address\",\"indexed\":true},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"AssetAdded\",\"anonymous\":false,\"inputs\":[{\"name\":\"asset\",\"type\":\"address\",\"indexed\":true},{\"name\":\"decimals\",\"type\":\"uint8\",\"indexed\":false},{\"name\":\"iou\",\"type\":\"address\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"FlashLoan\",\"anonymous\":false,\"inputs\":[{\"name\":\"initiator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"token\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false}]}]"
},
{
"contractName": "ClearMetaReserve",
"content": "[{\"type\":\"event\",\"name\":\"Transfer\",\"anonymous\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"Deposit\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"baseLpIn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"nativeIn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"metaLpMinted\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"SingleAssetDeposit\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amountIn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"metaLpMinted\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"Withdraw\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"metaLpBurned\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"baseLpOut\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"nativeOut\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"SingleAssetWithdraw\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":true},{\"name\":\"metaLpBurned\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"amountOut\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"Rebalanced\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"tokenIn\",\"type\":\"address\",\"indexed\":true},{\"name\":\"tokenOut\",\"type\":\"address\",\"indexed\":true},{\"name\":\"recipient\",\"type\":\"address\",\"indexed\":false},{\"name\":\"amountIn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"amountOut\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"Swap\",\"anonymous\":false,\"inputs\":[{\"name\":\"trader\",\"type\":\"address\",\"indexed\":true},{\"name\":\"tokenIn\",\"type\":\"address\",\"indexed\":true},{\"name\":\"tokenOut\",\"type\":\"address\",\"indexed\":true},{\"name\":\"recipient\",\"type\":\"address\",\"indexed\":false},{\"name\":\"amountIn\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"amountOut\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"iouTotal\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"traderIOU\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"treasuryIOU\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"lpIOU\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"IOUMinted\",\"anonymous\":false,\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"IOURedeemed\",\"anonymous\":false,\"inputs\":[{\"name\":\"holder\",\"type\":\"address\",\"indexed\":true},{\"name\":\"asset\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"FlashLoan\",\"anonymous\":false,\"inputs\":[{\"name\":\"initiator\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"token\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"fee\",\"type\":\"uint256\",\"indexed\":false}]}]"
},
{
"contractName": "ClearIOU",
"content": "[{\"type\":\"event\",\"name\":\"Transfer\",\"anonymous\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"ClearIOUMinted\",\"anonymous\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"treasuryFee\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"ClearIOUBurned\",\"anonymous\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false}]}]"
},
{
"contractName": "CurveStableSwapNG",
"content": "[{\"type\":\"event\",\"name\":\"Transfer\",\"anonymous\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true},{\"name\":\"receiver\",\"type\":\"address\",\"indexed\":true},{\"name\":\"value\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"TokenExchange\",\"anonymous\":false,\"inputs\":[{\"name\":\"buyer\",\"type\":\"address\",\"indexed\":true},{\"name\":\"sold_id\",\"type\":\"int128\",\"indexed\":false},{\"name\":\"tokens_sold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"bought_id\",\"type\":\"int128\",\"indexed\":false},{\"name\":\"tokens_bought\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"TokenExchangeUnderlying\",\"anonymous\":false,\"inputs\":[{\"name\":\"buyer\",\"type\":\"address\",\"indexed\":true},{\"name\":\"sold_id\",\"type\":\"int128\",\"indexed\":false},{\"name\":\"tokens_sold\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"bought_id\",\"type\":\"int128\",\"indexed\":false},{\"name\":\"tokens_bought\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"AddLiquidity\",\"anonymous\":false,\"inputs\":[{\"name\":\"provider\",\"type\":\"address\",\"indexed\":true},{\"name\":\"token_amounts\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"fees\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"invariant\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"token_supply\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"RemoveLiquidity\",\"anonymous\":false,\"inputs\":[{\"name\":\"provider\",\"type\":\"address\",\"indexed\":true},{\"name\":\"token_amounts\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"fees\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"token_supply\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"RemoveLiquidityOne\",\"anonymous\":false,\"inputs\":[{\"name\":\"provider\",\"type\":\"address\",\"indexed\":true},{\"name\":\"token_id\",\"type\":\"int128\",\"indexed\":false},{\"name\":\"token_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"coin_amount\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"token_supply\",\"type\":\"uint256\",\"indexed\":false}]},{\"type\":\"event\",\"name\":\"RemoveLiquidityImbalance\",\"anonymous\":false,\"inputs\":[{\"name\":\"provider\",\"type\":\"address\",\"indexed\":true},{\"name\":\"token_amounts\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"fees\",\"type\":\"uint256[]\",\"indexed\":false},{\"name\":\"invariant\",\"type\":\"uint256\",\"indexed\":false},{\"name\":\"token_supply\",\"type\":\"uint256\",\"indexed\":false}]}]"
}
],
"stores": [
{
"identifier": "clickhouse-main",
"description": "Raw indexed logs",
"storeType": "clickhouse",
"storeConfig": {
"addr": "clickhouse:9000",
"database": "evmi",
"username": "default",
"password": "",
"logsTableName": "logs",
"transactionsTableName": "transactions"
}
}
],
"pipelines": [
{
"name": "clear",
"blockchain": "sepolia",
"store": "clickhouse-main"
}
],
"sources": [
{
"_comment": "Base reserve as a FACTORY: indexes its own events AND spawns a CONTRACT source (ClearIOU) for each IOU announced by AssetAdded.",
"pipeline": "clear",
"abi": "ClearBaseReserve",
"type": "FACTORY",
"enabled": true,
"startBlock": 0,
"address": "0x0000000000000000000000000000000000000001",
"factoryChildAbi": "ClearIOU",
"factoryCreationFunctionName": "AssetAdded",
"factoryCreationAddressLogArg": "iou"
},
{
"pipeline": "clear",
"abi": "ClearMetaReserve",
"type": "CONTRACT",
"enabled": true,
"startBlock": 0,
"address": "0x0000000000000000000000000000000000000002"
},
{
"pipeline": "clear",
"abi": "CurveStableSwapNG",
"type": "CONTRACT",
"enabled": true,
"startBlock": 0,
"address": "0x0000000000000000000000000000000000000003"
}
],
"exporters": [
{
"name": "clear-defi",
"pipeline": "clear",
"plugin": "clear-defi",
"enabled": true,
"startBlock": 0,
"pluginConfig": {
"dsn": "postgres://evmi:secret@postgres:5432/clear?sslmode=disable",
"autoMigrate": true
}
}
]
}
}