@@ -45,38 +45,26 @@ export function handleJoin(event: LOG_JOIN): void {
45
45
if ( token . isDatatoken ) {
46
46
poolTx . datatoken = token . id
47
47
poolTx . datatokenValue = ammount
48
- if ( pool . isFinalized ) {
49
- const poolSnapshot = getPoolSnapshot (
50
- pool . id ,
51
- event . block . timestamp . toI32 ( )
52
- )
53
- poolSnapshot . datatokenLiquidity =
54
- poolSnapshot . datatokenLiquidity . plus ( ammount )
55
-
56
- poolSnapshot . save ( )
57
- }
58
48
59
49
pool . datatokenLiquidity = pool . datatokenLiquidity . plus ( ammount )
60
50
} else {
61
51
poolTx . baseToken = token . id
62
52
poolTx . baseTokenValue = ammount
63
-
64
- if ( pool . isFinalized ) {
65
- const poolSnapshot = getPoolSnapshot (
66
- pool . id ,
67
- event . block . timestamp . toI32 ( )
68
- )
69
- poolSnapshot . baseTokenLiquidity =
70
- poolSnapshot . baseTokenLiquidity . plus ( ammount )
71
- poolSnapshot . save ( )
72
- }
73
53
pool . baseTokenLiquidity = pool . baseTokenLiquidity . plus ( ammount )
74
54
75
55
addLiquidity ( token . id , ammount )
76
56
}
77
57
78
58
poolTx . save ( )
79
59
pool . save ( )
60
+
61
+ if ( pool . isFinalized ) {
62
+ const poolSnapshot = getPoolSnapshot ( pool . id , event . block . timestamp . toI32 ( ) )
63
+ poolSnapshot . baseTokenLiquidity = pool . baseTokenLiquidity
64
+ poolSnapshot . datatokenLiquidity = pool . datatokenLiquidity
65
+ poolSnapshot . totalShares = pool . totalShares
66
+ poolSnapshot . save ( )
67
+ }
80
68
}
81
69
82
70
export function handleExit ( event : LOG_EXIT ) : void {
@@ -98,21 +86,19 @@ export function handleExit(event: LOG_EXIT): void {
98
86
poolTx . datatoken = token . id
99
87
poolTx . datatokenValue = ammount . neg ( )
100
88
101
- poolSnapshot . datatokenLiquidity =
102
- poolSnapshot . datatokenLiquidity . minus ( ammount )
103
-
104
89
pool . datatokenLiquidity . minus ( ammount )
105
90
} else {
106
91
poolTx . baseToken = token . id
107
92
poolTx . baseTokenValue = ammount . neg ( )
108
93
109
- poolSnapshot . baseTokenLiquidity =
110
- poolSnapshot . baseTokenLiquidity . minus ( ammount )
111
-
112
94
pool . baseTokenLiquidity . minus ( ammount )
113
95
removeLiquidity ( token . id , ammount )
114
96
}
115
97
98
+ poolSnapshot . baseTokenLiquidity = pool . baseTokenLiquidity
99
+ poolSnapshot . datatokenLiquidity = pool . datatokenLiquidity
100
+ poolSnapshot . totalShares = pool . totalShares
101
+
116
102
poolSnapshot . save ( )
117
103
poolTx . save ( )
118
104
pool . save ( )
@@ -139,17 +125,12 @@ export function handleSwap(event: LOG_SWAP): void {
139
125
poolTx . datatokenValue = ammountOut . neg ( )
140
126
141
127
pool . datatokenLiquidity = pool . datatokenLiquidity . minus ( ammountOut )
142
-
143
- poolSnapshot . datatokenLiquidity =
144
- poolSnapshot . datatokenLiquidity . minus ( ammountOut )
145
128
} else {
146
129
poolTx . baseToken = tokenOut . id
147
130
poolTx . baseTokenValue = ammountOut . neg ( )
148
131
149
132
pool . baseTokenLiquidity = pool . baseTokenLiquidity . minus ( ammountOut )
150
-
151
- poolSnapshot . baseTokenLiquidity =
152
- poolSnapshot . baseTokenLiquidity . minus ( ammountOut )
133
+ poolSnapshot . swapVolume = poolSnapshot . swapVolume . plus ( ammountOut )
153
134
154
135
addPoolSwap ( tokenOut . id , ammountOut )
155
136
removeLiquidity ( tokenOut . id , ammountOut )
@@ -166,17 +147,12 @@ export function handleSwap(event: LOG_SWAP): void {
166
147
poolTx . datatokenValue = ammountIn
167
148
168
149
pool . datatokenLiquidity = pool . datatokenLiquidity . plus ( ammountIn )
169
-
170
- poolSnapshot . datatokenLiquidity =
171
- poolSnapshot . datatokenLiquidity . plus ( ammountIn )
172
150
} else {
173
151
poolTx . baseToken = tokenIn . id
174
152
poolTx . baseTokenValue = ammountIn
175
153
176
154
pool . baseTokenLiquidity = pool . baseTokenLiquidity . plus ( ammountIn )
177
-
178
- poolSnapshot . baseTokenLiquidity =
179
- poolSnapshot . baseTokenLiquidity . plus ( ammountIn )
155
+ poolSnapshot . swapVolume = poolSnapshot . swapVolume . plus ( ammountIn )
180
156
181
157
addLiquidity ( tokenIn . id , ammountIn )
182
158
addPoolSwap ( tokenIn . id , ammountIn )
@@ -192,6 +168,9 @@ export function handleSwap(event: LOG_SWAP): void {
192
168
)
193
169
pool . spotPrice = spotPrice
194
170
poolSnapshot . spotPrice = spotPrice
171
+ poolSnapshot . baseTokenLiquidity = pool . baseTokenLiquidity
172
+ poolSnapshot . datatokenLiquidity = pool . datatokenLiquidity
173
+ poolSnapshot . totalShares = pool . totalShares
195
174
196
175
poolSnapshot . save ( )
197
176
poolTx . save ( )
0 commit comments