-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathprocessor.ts
More file actions
86 lines (79 loc) · 2.85 KB
/
processor.ts
File metadata and controls
86 lines (79 loc) · 2.85 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
import { SubstrateProcessor } from "@subsquid/substrate-processor";
import assert from "assert";
import {
cancelIssue,
cancelRedeem,
decreaseLockedCollateral,
executeIssue,
executeRedeem,
executeRefund,
feedValues,
findAndUpdateExpiredRequests,
increaseLockedCollateral,
issuePeriodChange,
issueAmountChange,
redeemPeriodChange,
registerVault,
requestIssue,
requestRedeem,
requestRefund,
setInitialPeriods,
storeMainChainHeader,
updateActiveBlock,
updateVaultActivity,
} from "./mappings";
import { tokensTransfer } from "./mappings/event/transfer";
import { deposit, withdraw } from "./mappings/event/escrow";
const processor = new SubstrateProcessor(
"interbtc" // "interbtc_status" schema will be created in the database
);
const archive = process.env.ARCHIVE_ENDPOINT;
assert(!!archive);
const chain = process.env.CHAIN_ENDPOINT;
assert(!!chain);
processor.setDataSource({ archive, chain });
processor.setTypesBundle("indexer/typesBundle.json");
const processFrom = Number(process.env.PROCESS_FROM) || 0;
processor.setBlockRange({ from: processFrom });
processor.addEventHandler(
"btcRelay.StoreMainChainHeader",
storeMainChainHeader
);
processor.addEventHandler("escrow.Deposit", deposit);
processor.addEventHandler("escrow.Withdraw", withdraw);
processor.addEventHandler("issue.CancelIssue", cancelIssue);
processor.addEventHandler("issue.ExecuteIssue", executeIssue);
processor.addEventHandler("issue.RequestIssue", requestIssue);
processor.addEventHandler("issue.IssuePeriodChange", issuePeriodChange);
processor.addEventHandler("issue.IssueAmountChange", issueAmountChange);
processor.addEventHandler("oracle.FeedValues", feedValues);
processor.addEventHandler("redeem.CancelRedeem", cancelRedeem);
processor.addEventHandler("redeem.ExecuteRedeem", executeRedeem);
processor.addEventHandler("redeem.RequestRedeem", requestRedeem);
processor.addEventHandler("redeem.RedeemPeriodChange", redeemPeriodChange);
processor.addEventHandler("refund.ExecuteRefund", executeRefund);
processor.addEventHandler("refund.RequestRefund", requestRefund);
processor.addEventHandler("security.UpdateActiveBlock", updateActiveBlock);
processor.addEventHandler("tokens.Transfer", tokensTransfer);
processor.addEventHandler("vaultRegistry.RegisterVault", registerVault);
processor.addEventHandler(
"vaultRegistry.IncreaseLockedCollateral",
increaseLockedCollateral
);
processor.addEventHandler(
"vaultRegistry.DecreaseLockedCollateral",
decreaseLockedCollateral
);
processor.addExtrinsicHandler(
"relay.store_block_header",
{
triggerEvents: ["system.ExtrinsicSuccess", "system.ExtrinsicFailure"],
},
updateVaultActivity
);
processor.addPostHook(
{ range: { from: processFrom, to: processFrom } },
setInitialPeriods
);
processor.addPostHook(findAndUpdateExpiredRequests);
processor.run();