@@ -119,12 +119,24 @@ fn fungibles_unbalanced_trait_should_work() {
119
119
Preservation :: Expendable ,
120
120
Fortitude :: Polite
121
121
) ,
122
- Ok ( 5 )
122
+ Ok ( 4 )
123
123
) ;
124
124
assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 0 ) ;
125
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 0 ) ;
125
126
// set reserved
126
127
assert_ok ! ( <Tokens as fungibles:: Unbalanced <_>>:: write_balance( DOT , & ALICE , 100 ) ) ;
127
128
assert_ok ! ( <Tokens as MultiReservableCurrency <AccountId >>:: reserve( DOT , & ALICE , 50 ) ) ;
129
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
130
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 100 ) ;
131
+ assert_eq ! (
132
+ <Tokens as fungibles:: Inspect <_>>:: reducible_balance(
133
+ DOT ,
134
+ & ALICE ,
135
+ Preservation :: Protect ,
136
+ Fortitude :: Polite
137
+ ) ,
138
+ 50
139
+ ) ;
128
140
assert_noop ! (
129
141
<Tokens as fungibles:: Unbalanced <_>>:: decrease_balance(
130
142
DOT ,
@@ -134,7 +146,7 @@ fn fungibles_unbalanced_trait_should_work() {
134
146
Preservation :: Protect ,
135
147
Fortitude :: Polite
136
148
) ,
137
- TokenError :: BelowMinimum
149
+ TokenError :: FundsUnavailable
138
150
) ;
139
151
assert_eq ! (
140
152
<Tokens as fungibles:: Unbalanced <_>>:: decrease_balance(
@@ -147,16 +159,19 @@ fn fungibles_unbalanced_trait_should_work() {
147
159
) ,
148
160
Ok ( 50 )
149
161
) ;
150
- assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
162
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 0 ) ;
163
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 50 ) ;
151
164
assert_eq ! (
152
165
<Tokens as MultiReservableCurrency <AccountId >>:: unreserve( DOT , & ALICE , 50 ) ,
153
166
0
154
167
) ;
155
168
assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
169
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 50 ) ;
156
170
157
171
// decrease_balance_at_most
158
172
assert_ok ! ( <Tokens as fungibles:: Unbalanced <_>>:: write_balance( DOT , & ALICE , 10 ) ) ;
159
173
assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 10 ) ;
174
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 10 ) ;
160
175
assert_eq ! (
161
176
<Tokens as fungibles:: Unbalanced <_>>:: decrease_balance(
162
177
DOT ,
@@ -168,6 +183,8 @@ fn fungibles_unbalanced_trait_should_work() {
168
183
) ,
169
184
Ok ( 10 )
170
185
) ;
186
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 0 ) ;
187
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 0 ) ;
171
188
assert_ok ! ( <Tokens as fungibles:: Unbalanced <_>>:: write_balance( DOT , & ALICE , 10 ) ) ;
172
189
assert_eq ! (
173
190
<Tokens as fungibles:: Unbalanced <_>>:: decrease_balance(
@@ -181,6 +198,8 @@ fn fungibles_unbalanced_trait_should_work() {
181
198
Ok ( 5 )
182
199
) ;
183
200
assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 5 ) ;
201
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 5 ) ;
202
+
184
203
// new balance < ExistentialDeposits, clean dust
185
204
assert_eq ! (
186
205
<Tokens as fungibles:: Unbalanced <_>>:: decrease_balance(
@@ -191,12 +210,24 @@ fn fungibles_unbalanced_trait_should_work() {
191
210
Preservation :: Expendable ,
192
211
Fortitude :: Polite
193
212
) ,
194
- Ok ( 5 )
213
+ Ok ( 4 )
195
214
) ;
196
215
assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 0 ) ;
216
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 0 ) ;
197
217
// set reserved
198
218
assert_ok ! ( <Tokens as fungibles:: Unbalanced <_>>:: write_balance( DOT , & ALICE , 100 ) ) ;
199
219
assert_ok ! ( <Tokens as MultiReservableCurrency <AccountId >>:: reserve( DOT , & ALICE , 50 ) ) ;
220
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
221
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 100 ) ;
222
+ assert_eq ! (
223
+ <Tokens as fungibles:: Inspect <_>>:: reducible_balance(
224
+ DOT ,
225
+ & ALICE ,
226
+ Preservation :: Protect ,
227
+ Fortitude :: Polite
228
+ ) ,
229
+ 50
230
+ ) ;
200
231
assert_eq ! (
201
232
<Tokens as fungibles:: Unbalanced <_>>:: decrease_balance(
202
233
DOT ,
@@ -208,12 +239,14 @@ fn fungibles_unbalanced_trait_should_work() {
208
239
) ,
209
240
Ok ( 50 ) ,
210
241
) ;
211
- assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
242
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 0 ) ;
243
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 50 ) ;
212
244
assert_eq ! (
213
245
<Tokens as MultiReservableCurrency <AccountId >>:: unreserve( DOT , & ALICE , 50 ) ,
214
246
0
215
247
) ;
216
248
assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 50 ) ;
249
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: total_balance( DOT , & ALICE ) , 50 ) ;
217
250
218
251
// increase_balance
219
252
assert_ok ! ( <Tokens as fungibles:: Unbalanced <_>>:: write_balance( DOT , & ALICE , 0 ) ) ;
@@ -285,11 +318,15 @@ fn fungibles_mutate_hold_trait_should_work() {
285
318
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & ALICE ) ,
286
319
0
287
320
) ;
321
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 100 ) ;
322
+
288
323
assert_ok ! ( <Tokens as fungibles:: MutateHold <_>>:: hold( DOT , REASON , & ALICE , 100 ) ) ;
289
324
assert_eq ! (
290
325
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & ALICE ) ,
291
326
100
292
327
) ;
328
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 0 ) ;
329
+
293
330
assert_eq ! (
294
331
<Tokens as fungibles:: MutateHold <_>>:: release( DOT , REASON , & ALICE , 40 , Precision :: Exact ) ,
295
332
Ok ( 40 )
@@ -298,6 +335,7 @@ fn fungibles_mutate_hold_trait_should_work() {
298
335
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & ALICE ) ,
299
336
60
300
337
) ;
338
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 40 ) ;
301
339
302
340
// exceed hold amount when not in best_effort
303
341
assert_noop ! (
@@ -314,17 +352,20 @@ fn fungibles_mutate_hold_trait_should_work() {
314
352
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & ALICE ) ,
315
353
0
316
354
) ;
355
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 100 ) ;
317
356
318
357
assert_ok ! ( <Tokens as fungibles:: MutateHold <_>>:: hold( DOT , REASON , & ALICE , 70 ) ) ;
319
358
assert_eq ! (
320
359
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & ALICE ) ,
321
360
70
322
361
) ;
323
- assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & BOB ) , 100 ) ;
362
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 30 ) ;
363
+
324
364
assert_eq ! (
325
365
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & BOB ) ,
326
366
0
327
367
) ;
368
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & BOB ) , 100 ) ;
328
369
assert_eq ! (
329
370
<Tokens as fungibles:: MutateHold <_>>:: transfer_on_hold(
330
371
DOT ,
@@ -342,11 +383,13 @@ fn fungibles_mutate_hold_trait_should_work() {
342
383
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & ALICE ) ,
343
384
65
344
385
) ;
345
- assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & BOB ) , 105 ) ;
386
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 30 ) ;
346
387
assert_eq ! (
347
388
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & BOB ) ,
348
389
0
349
390
) ;
391
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & BOB ) , 105 ) ;
392
+
350
393
assert_eq ! (
351
394
<Tokens as fungibles:: MutateHold <_>>:: transfer_on_hold(
352
395
DOT ,
@@ -364,11 +407,12 @@ fn fungibles_mutate_hold_trait_should_work() {
364
407
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & ALICE ) ,
365
408
60
366
409
) ;
367
- assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & BOB ) , 110 ) ;
410
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 30 ) ;
368
411
assert_eq ! (
369
412
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & BOB ) ,
370
413
5
371
414
) ;
415
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & BOB ) , 105 ) ;
372
416
373
417
// exceed hold amount when not in best_effort
374
418
assert_noop ! (
@@ -403,11 +447,12 @@ fn fungibles_mutate_hold_trait_should_work() {
403
447
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & ALICE ) ,
404
448
0
405
449
) ;
406
- assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & BOB ) , 170 ) ;
450
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & ALICE ) , 30 ) ;
407
451
assert_eq ! (
408
452
<Tokens as fungibles:: InspectHold <_>>:: balance_on_hold( DOT , REASON , & BOB ) ,
409
453
65
410
454
) ;
455
+ assert_eq ! ( <Tokens as fungibles:: Inspect <_>>:: balance( DOT , & BOB ) , 105 ) ;
411
456
} ) ;
412
457
}
413
458
0 commit comments