/
events.ts
89 lines (71 loc) · 1.72 KB
/
events.ts
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
import * as core from "./core";
import {Address, Amount, TxRef} from "@proximaone/stream-schema-base";
export type MangroveEvent = (
| TakerApprovalUpdated
| MakerBalanceUpdated
| OfferListParamsUpdated
| MangroveCreated
| MangroveParamsUpdated
| OfferWritten
| OfferRetracted
| OrderCompleted
) & {
tx: Pick<TxRef, "blockNumber" | "blockHash" | "sender" | "txHash" >;
mangroveId: core.MangroveId;
chainId: number;
parentOrder?: core.OrderRef; // not empty in case event is emitted in callback/posthook functions
};
export interface TakerApprovalUpdated {
type: "TakerApprovalUpdated";
owner: Address;
offerList: core.OfferList;
spender: Address;
amount: Amount;
}
export interface MakerBalanceUpdated {
type: "MakerBalanceUpdated";
maker: core.MakerId;
amountChange: Amount;
}
export interface OfferListParamsUpdated {
type: "OfferListParamsUpdated";
offerList: core.OfferList;
params: core.OfferListParams;
}
export interface MangroveParamsUpdated {
type: "MangroveParamsUpdated";
params: core.MangroveParams;
}
export interface MangroveCreated {
type: "MangroveCreated";
id: string;
address: string;
chain: {
name: string;
chainlistId: number;
};
}
export interface OfferWritten {
type: "OfferWritten";
offerList: core.OfferList;
offer: core.Offer;
maker: core.MakerId;
}
export interface OfferRetracted {
type: "OfferRetracted";
offerList: core.OfferList;
offerId: core.OfferId;
deprovision?: boolean;
}
export interface OrderCompleted {
type: "OrderCompleted";
id: core.OrderId;
offerList: core.OfferList;
order: core.Order;
}
//
// export interface OracleStateUpdated {
// type: 'OracleStateUpdated';
//
// state: core.OracleState;
// }