@wharfkit/resources 1.5.0-rc3 → 1.5.0-rc5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @wharfkit/resources v1.5.0-rc3
2
+ * @wharfkit/resources v1.5.0-rc5
3
3
  * https://github.com/wharfkit/resources
4
4
  *
5
5
  * @license
@@ -45,16 +45,10 @@ class PowerUpStateResource extends Struct {
45
45
  this.default_block_net_limit = UInt64.from(1048576000);
46
46
  }
47
47
  // Get the current number of allocated units (shift from REX -> PowerUp)
48
- get allocated_legacy() {
49
- return 1 - Number(this.weight_ratio) / Number(this.target_weight_ratio) / 100;
50
- }
51
48
  get allocated() {
52
49
  return 1 - Number(this.weight_ratio.dividing(this.target_weight_ratio)) / 100;
53
50
  }
54
51
  // Get the current percentage of reserved units
55
- get reserved_legacy() {
56
- return new BN(String(this.utilization)) / new BN(String(this.weight));
57
- }
58
52
  get reserved() {
59
53
  return this.utilization.dividing(this.weight);
60
54
  }
@@ -63,40 +57,13 @@ class PowerUpStateResource extends Struct {
63
57
  return this.min_price.symbol;
64
58
  }
65
59
  // Mimic: https://github.com/EOSIO/eosio.contracts/blob/d7bc0a5cc8c0c2edd4dc61b0126517d0cb46fd94/contracts/eosio.system/src/powerup.cpp#L358
66
- utilization_increase_legacy(frac) {
67
- const { weight } = this;
68
- const frac128 = UInt128.from(frac);
69
- const utilization_increase = new BN(weight.value.mul(new BN(frac128.value))) / Math.pow(10, 15);
70
- return Math.ceil(utilization_increase);
71
- }
72
60
  utilization_increase(frac) {
73
61
  const base = intToBigDecimal(frac);
74
62
  const weight = intToBigDecimal(this.weight);
75
63
  const multiplier = intToBigDecimal(Math.pow(10, 15));
76
- // return Number(weight.multiply(base).divide(multiplier).getValue())
77
- console.log('fooo', Number(weight.multiply(base).divide(multiplier).getValue()));
78
- return frac.multiplying(this.weight).dividing(UInt128.from(Math.pow(10, 15)), 'ceil');
64
+ return UInt128.from(base.multiply(weight).divide(multiplier, 15).ceil().getValue());
79
65
  }
80
66
  // Mimic: https://github.com/EOSIO/eosio.contracts/blob/d7bc0a5cc8c0c2edd4dc61b0126517d0cb46fd94/contracts/eosio.system/src/powerup.cpp#L284-L298
81
- price_function_legacy(utilization) {
82
- const { exponent, weight } = this;
83
- const max_price = this.max_price.value;
84
- const min_price = this.min_price.value;
85
- let price = min_price;
86
- const new_exponent = Number(exponent) - 1.0;
87
- if (new_exponent <= 0.0) {
88
- return max_price;
89
- }
90
- else {
91
- const util_weight = intToBigDecimal(utilization).divide(intToBigDecimal(weight), 18);
92
- console.log('old', String(util_weight.getValue()));
93
- const difference = max_price - min_price;
94
- console.log('diff', difference);
95
- price += difference * Math.pow(Number(util_weight.getValue()), new_exponent);
96
- }
97
- console.log('price_function_legacy return', price);
98
- return price;
99
- }
100
67
  price_function(utilization) {
101
68
  const { weight } = this;
102
69
  let price = this.min_price.value;
@@ -107,28 +74,12 @@ class PowerUpStateResource extends Struct {
107
74
  else {
108
75
  // const util_weight = utilization.dividing(weight)
109
76
  const util_weight = intToBigDecimal(utilization).divide(intToBigDecimal(weight), 18);
110
- console.log('new', String(util_weight.getValue()));
111
77
  const difference = this.max_price.value - this.min_price.value;
112
- console.log('diff', String(difference));
113
78
  price += difference * Math.pow(Number(util_weight.getValue()), new_exponent);
114
79
  }
115
- console.log('price_function return', price);
116
80
  return price;
117
81
  }
118
82
  // Mimic: https://github.com/EOSIO/eosio.contracts/blob/d7bc0a5cc8c0c2edd4dc61b0126517d0cb46fd94/contracts/eosio.system/src/powerup.cpp#L274-L280
119
- price_integral_delta_legacy(start_utilization, end_utilization) {
120
- const { exponent, weight } = this;
121
- const max_price = this.max_price.value;
122
- const min_price = this.min_price.value;
123
- const coefficient = (max_price - min_price) / exponent.value;
124
- const start_u = Number(start_utilization.dividing(weight));
125
- const end_u = Number(end_utilization.dividing(weight));
126
- const delta = min_price * end_u -
127
- min_price * start_u +
128
- coefficient * Math.pow(end_u, exponent.value) -
129
- coefficient * Math.pow(start_u, exponent.value);
130
- return delta;
131
- }
132
83
  price_integral_delta(start_utilization, end_utilization) {
133
84
  const difference = Asset.fromUnits(this.max_price.units.subtracting(this.min_price.units), this.symbol);
134
85
  const coefficient = difference.value / this.exponent.value;
@@ -141,25 +92,6 @@ class PowerUpStateResource extends Struct {
141
92
  return delta;
142
93
  }
143
94
  // Mimic: https://github.com/EOSIO/eosio.contracts/blob/d7bc0a5cc8c0c2edd4dc61b0126517d0cb46fd94/contracts/eosio.system/src/powerup.cpp#L262-L315
144
- fee_legacy(utilization_increase, adjusted_utilization) {
145
- const { utilization, weight } = this;
146
- let start_utilization = Int64.from(utilization);
147
- const end_utilization = start_utilization.adding(utilization_increase);
148
- let fee = 0;
149
- if (start_utilization.lt(adjusted_utilization)) {
150
- const min = Math.min(utilization_increase, adjusted_utilization.subtracting(start_utilization));
151
- console.log('min', min);
152
- fee += Number(new bigDecimal(this.price_function_legacy(adjusted_utilization) * min)
153
- .divide(new bigDecimal(weight.toString()))
154
- .getValue());
155
- start_utilization = adjusted_utilization;
156
- }
157
- if (start_utilization.gt(end_utilization)) {
158
- fee += this.price_integral_delta(start_utilization, end_utilization);
159
- }
160
- console.log('fee_legacy', fee);
161
- return fee;
162
- }
163
95
  fee(utilization_increase, adjusted_utilization) {
164
96
  const { utilization, weight } = this;
165
97
  let start_utilization = Int64.from(utilization);
@@ -167,32 +99,14 @@ class PowerUpStateResource extends Struct {
167
99
  let fee = 0;
168
100
  if (start_utilization.lt(adjusted_utilization)) {
169
101
  const min = Math.min(Number(utilization_increase), Number(adjusted_utilization.subtracting(start_utilization)));
170
- console.log('min', min);
171
- // fee += Number(
172
- // new bigDecimal(
173
- // String(
174
- // (this.price_function(adjusted_utilization) /
175
- // Math.pow(10, this.symbol.precision)) *
176
- // min
177
- // )
178
- // )
179
- // .divide(new bigDecimal(weight.toString()))
180
- // .getValue()
181
- // )
182
- // fee += Number(
183
- // new bigDecimal(this.price_function_legacy(adjusted_utilization) * min)
184
- // .divide(new bigDecimal(weight.toString()))
185
- // .getValue()
186
- // )
187
102
  fee += Number(intToBigDecimal(this.price_function(adjusted_utilization) * min)
188
103
  .divide(intToBigDecimal(weight))
189
104
  .getValue());
190
105
  start_utilization = adjusted_utilization;
191
106
  }
192
- if (start_utilization.gt(end_utilization)) {
107
+ if (start_utilization.lt(end_utilization)) {
193
108
  fee += this.price_integral_delta(start_utilization, end_utilization);
194
109
  }
195
- console.log('fee', fee);
196
110
  return fee;
197
111
  }
198
112
  // Mimic: https://github.com/EOSIO/eosio.contracts/blob/d7bc0a5cc8c0c2edd4dc61b0126517d0cb46fd94/contracts/eosio.system/src/powerup.cpp#L105-L117
@@ -266,16 +180,12 @@ let PowerUpStateResourceCPU = class PowerUpStateResourceCPU extends PowerUpState
266
180
  // Return smallest units per day, μs (microseconds)
267
181
  this.per_day = (options) => this.us_per_day(options);
268
182
  // Default frac generation by smallest unit type
269
- this.frac_legacy = (usage, us) => this.frac_by_us_legacy(usage, us);
270
183
  this.frac = (usage, us) => this.frac_by_us(usage, us);
271
184
  // Frac generation by ms (milliseconds)
272
- this.frac_by_ms_legacy = (usage, ms) => this.frac_by_us_legacy(usage, ms * 1000);
273
185
  this.frac_by_ms = (usage, ms) => this.frac_by_us(usage, ms * 1000);
274
186
  // Price generation by smallest units, μs (microseconds)
275
- this.price_per_legacy = (usage, us = 1000, options) => this.price_per_us_legacy(usage, us, options);
276
187
  this.price_per = (usage, us = 1000, options) => this.price_per_us(usage, us, options);
277
188
  // Price generation by ms (milliseconds)
278
- this.price_per_ms_legacy = (usage, ms = 1, options) => this.price_per_us_legacy(usage, ms * 1000, options);
279
189
  this.price_per_ms = (usage, ms = 1, options) => this.price_per_us(usage, ms * 1000, options);
280
190
  }
281
191
  // Return ms (milliseconds) per day
@@ -290,27 +200,14 @@ let PowerUpStateResourceCPU = class PowerUpStateResourceCPU extends PowerUpState
290
200
  return Number(limit) * 2 * 60 * 60 * 24;
291
201
  }
292
202
  // Convert weight to μs (microseconds)
293
- weight_to_us_legacy(sample, weight) {
294
- return Math.ceil((weight * Number(sample)) / BNPrecision);
295
- }
296
203
  weight_to_us(sample, weight) {
297
204
  return UInt128.from(UInt128.from(weight).multiplying(Int64.from(sample)).dividing(BNPrecision, 'ceil'));
298
205
  }
299
206
  // Convert μs (microseconds) to weight
300
- us_to_weight_legacy(sample, us) {
301
- const sampled = intToBigDecimal(sample);
302
- return Math.floor((us / Number(sampled.getValue())) * BNPrecision);
303
- }
304
207
  us_to_weight(sample, us) {
305
- return Int64.from(us).multiplying(BNPrecision).dividing(Int64.from(sample), 'floor');
208
+ return Int64.from(us).multiplying(BNPrecision).dividing(sample, 'floor');
306
209
  }
307
210
  // Frac generation by μs (microseconds)
308
- frac_by_us_legacy(usage, us) {
309
- const weight = intToBigDecimal(this.us_to_weight_legacy(usage.cpu, us));
310
- const current = intToBigDecimal(this.weight);
311
- const frac = weight.divide(current);
312
- return Math.floor(Number(frac.getValue()) * Math.pow(10, 15));
313
- }
314
211
  frac_by_us(usage, us) {
315
212
  const precision = 15;
316
213
  const converted = intToBigDecimal(this.us_to_weight(usage.cpu, us));
@@ -320,41 +217,25 @@ let PowerUpStateResourceCPU = class PowerUpStateResourceCPU extends PowerUpState
320
217
  return Int64.from(frac.getValue());
321
218
  }
322
219
  // Price generation by μs (microseconds)
323
- price_per_us_legacy(usage, us = 1000, options) {
324
- // Determine the utilization increase by this action
325
- const frac = UInt128.from(this.frac_legacy(usage, us));
326
- console.log('frac', String(frac));
327
- const utilization_increase = this.utilization_increase_legacy(frac);
328
- console.log('utilization_increase', String(utilization_increase));
329
- // Determine the adjusted utilization if needed
330
- const adjusted_utilization = this.determine_adjusted_utilization(options);
331
- console.log('adjusted_utilization', String(adjusted_utilization));
332
- // Derive the fee from the increase and utilization
333
- const fee = this.fee_legacy(utilization_increase, adjusted_utilization);
334
- console.log('fee', fee);
335
- // Force the fee up to the next highest value of precision
336
- const precision = Math.pow(10, this.max_price.symbol.precision);
337
- const value = Math.ceil(fee * precision) / precision;
338
- console.log('ceil', value);
339
- // Return the modified fee
340
- return value;
341
- }
342
220
  price_per_us(usage, us = 1000, options) {
343
221
  // Determine the utilization increase by this action
344
222
  const frac = UInt128.from(this.frac(usage, us));
345
- console.log('frac', String(frac));
346
223
  const utilization_increase = this.utilization_increase(frac);
347
- console.log('utilization_increase', String(utilization_increase));
348
224
  // Determine the adjusted utilization if needed
349
225
  const adjusted_utilization = this.determine_adjusted_utilization(options);
350
- console.log('adjusted_utilization', String(adjusted_utilization));
351
226
  // Derive the fee from the increase and utilization
352
227
  const fee = this.fee(utilization_increase, adjusted_utilization);
353
- console.log('fee', fee);
354
228
  // Force the fee up to the next highest value of precision
355
229
  const precision = Math.pow(10, this.max_price.symbol.precision);
356
- const value = Math.ceil(fee * precision) / precision;
357
- console.log('ceil', value);
230
+ const price = fee * precision;
231
+ const value = Math.ceil(price) / precision;
232
+ const asset = Asset.fromFloat(fee, this.symbol);
233
+ if (price < 1) {
234
+ throw new Error(`Price (${String(asset)}) for requested CPU amount (${us}us) below required precision, increase requested amount.`);
235
+ }
236
+ if (options && options.min_payment && options.min_payment.units.gt(asset.units)) {
237
+ throw new Error(`Price (${String(asset)}) for requested CPU amount (${us}us) below minimum required payment (${String(options.min_payment)}), increase requested CPU amount.`);
238
+ }
358
239
  // Return the modified fee
359
240
  return value;
360
241
  }
@@ -369,16 +250,12 @@ let PowerUpStateResourceNET = class PowerUpStateResourceNET extends PowerUpState
369
250
  // Return smallest units per day, bytes
370
251
  this.per_day = (options) => this.bytes_per_day(options);
371
252
  // Default frac generation by smallest unit type
372
- this.frac_legacy = (usage, bytes) => this.frac_by_bytes_legacy(usage, bytes);
373
253
  this.frac = (usage, bytes) => this.frac_by_bytes(usage, bytes);
374
254
  // Frac generation by kb
375
- this.frac_by_kb_legacy = (usage, kilobytes) => this.frac_by_bytes_legacy(usage, kilobytes * 1000);
376
255
  this.frac_by_kb = (usage, kilobytes) => this.frac_by_bytes(usage, kilobytes * 1000);
377
256
  // Price generation by smallest units, bytes
378
- this.price_per_legacy = (usage, bytes = 1000, options) => this.price_per_byte_legacy(usage, bytes, options);
379
257
  this.price_per = (usage, bytes = 1000, options) => this.price_per_byte(usage, bytes, options);
380
258
  // Price generation by kb
381
- this.price_per_kb_legacy = (usage, kilobytes = 1, options) => this.price_per_byte_legacy(usage, kilobytes * 1000, options);
382
259
  this.price_per_kb = (usage, kilobytes = 1, options) => this.price_per_byte(usage, kilobytes * 1000, options);
383
260
  }
384
261
  // Return kb per day
@@ -393,25 +270,14 @@ let PowerUpStateResourceNET = class PowerUpStateResourceNET extends PowerUpState
393
270
  return Number(limit) * 2 * 60 * 60 * 24;
394
271
  }
395
272
  // Convert weight to bytes
396
- weight_to_bytes_legacy(sample, weight) {
397
- return Math.ceil((weight * Number(sample)) / BNPrecision);
398
- }
399
273
  weight_to_bytes(sample, weight) {
400
274
  return UInt128.from(UInt128.from(weight).multiplying(Int64.from(sample)).dividing(BNPrecision, 'ceil'));
401
275
  }
402
276
  // Convert bytes to weight
403
- bytes_to_weight_legacy(sample, bytes) {
404
- return Math.floor((bytes / Number(sample)) * BNPrecision);
405
- }
406
277
  bytes_to_weight(sample, bytes) {
407
278
  return Int64.from(bytes).multiplying(BNPrecision).dividing(Int64.from(sample), 'floor');
408
279
  }
409
280
  // Frac generation by bytes
410
- frac_by_bytes_legacy(usage, bytes) {
411
- const { weight } = this;
412
- const frac = new BN(this.bytes_to_weight_legacy(usage.net, bytes)) / Number(weight);
413
- return Math.floor(frac * Math.pow(10, 15));
414
- }
415
281
  frac_by_bytes(usage, bytes) {
416
282
  const precision = 15;
417
283
  const converted = intToBigDecimal(this.bytes_to_weight(usage.net, bytes));
@@ -421,19 +287,6 @@ let PowerUpStateResourceNET = class PowerUpStateResourceNET extends PowerUpState
421
287
  return Int64.from(frac.getValue());
422
288
  }
423
289
  // Price generation by bytes
424
- price_per_byte_legacy(usage, bytes = 1000, options) {
425
- // Determine the utilization increase by this action
426
- const frac = UInt128.from(this.frac_legacy(usage, bytes));
427
- const utilization_increase = this.utilization_increase_legacy(frac);
428
- // Determine the adjusted utilization if needed
429
- const adjusted_utilization = this.determine_adjusted_utilization(options);
430
- // Derive the fee from the increase and utilization
431
- const fee = this.fee_legacy(utilization_increase, adjusted_utilization);
432
- const precision = Math.pow(10, this.max_price.symbol.precision);
433
- const value = Math.ceil(fee * precision) / precision;
434
- // Return the modified fee
435
- return value;
436
- }
437
290
  price_per_byte(usage, bytes = 1000, options) {
438
291
  // Determine the utilization increase by this action
439
292
  const frac = UInt128.from(this.frac(usage, bytes));
@@ -557,11 +410,17 @@ let REXState = class REXState extends Struct {
557
410
  return this.total_lent.symbol.precision;
558
411
  }
559
412
  get value() {
560
- return ((Number(this.total_lent.units) + Number(this.total_unlent.units)) /
561
- Number(this.total_rex.units));
413
+ const lent = intToBigDecimal(this.total_lent.units);
414
+ const unlent = intToBigDecimal(this.total_unlent.units);
415
+ const rex = intToBigDecimal(this.total_rex.units);
416
+ return Number(lent.add(unlent).divide(rex, 18).getValue());
562
417
  }
563
418
  exchange(amount) {
564
- return Asset.from((amount.value * this.total_lendable.value) / this.total_rex.value, this.symbol);
419
+ const value = intToBigDecimal(amount.units);
420
+ const lendable = intToBigDecimal(this.total_lendable.units);
421
+ const rex = intToBigDecimal(this.total_rex.units);
422
+ const tokens = value.multiply(lendable).divide(rex, this.precision);
423
+ return Asset.fromUnits(Number(tokens.getValue()), this.symbol);
565
424
  }
566
425
  cpu_price_per_ms(sample, ms = 1) {
567
426
  return this.cpu_price_per_us(sample, ms * 1000);
@@ -1 +1 @@
1
- {"version":3,"file":"wharfkit-resources.m.js","sources":["../src/powerup/abstract.ts","../src/powerup/cpu.ts","../src/powerup/net.ts","../src/powerup.ts","../src/ram.ts","../src/rex.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wharfkit-resources.m.js","sources":["../src/powerup/abstract.ts","../src/powerup/cpu.ts","../src/powerup/net.ts","../src/powerup.ts","../src/ram.ts","../src/rex.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wharfkit/resources",
3
3
  "description": "Library to assist in Antelope-blockchain resource calculations.",
4
- "version": "1.5.0-rc3",
4
+ "version": "1.5.0-rc5",
5
5
  "homepage": "https://github.com/wharfkit/resources",
6
6
  "license": "BSD-3-Clause",
7
7
  "main": "lib/wharfkit-resources.js",
@@ -10,10 +10,8 @@ import {
10
10
  UInt8,
11
11
  } from '@wharfkit/antelope'
12
12
 
13
- import BN from 'bn.js'
14
- import {PowerUpStateOptions} from './options'
15
- import bigDecimal from 'js-big-decimal'
16
13
  import {intToBigDecimal} from '..'
14
+ import {PowerUpStateOptions} from './options'
17
15
 
18
16
  export abstract class PowerUpStateResource extends Struct {
19
17
  @Struct.field('uint8') version!: UInt8
@@ -38,19 +36,11 @@ export abstract class PowerUpStateResource extends Struct {
38
36
  abstract per_day(options?: PowerUpStateOptions): number
39
37
 
40
38
  // Get the current number of allocated units (shift from REX -> PowerUp)
41
- public get allocated_legacy() {
42
- return 1 - Number(this.weight_ratio) / Number(this.target_weight_ratio) / 100
43
- }
44
-
45
39
  public get allocated(): number {
46
40
  return 1 - Number(this.weight_ratio.dividing(this.target_weight_ratio)) / 100
47
41
  }
48
42
 
49
43
  // Get the current percentage of reserved units
50
- public get reserved_legacy() {
51
- return new BN(String(this.utilization)) / new BN(String(this.weight))
52
- }
53
-
54
44
  public get reserved(): Int64 {
55
45
  return this.utilization.dividing(this.weight)
56
46
  }
@@ -61,43 +51,14 @@ export abstract class PowerUpStateResource extends Struct {
61
51
  }
62
52
 
63
53
  // Mimic: https://github.com/EOSIO/eosio.contracts/blob/d7bc0a5cc8c0c2edd4dc61b0126517d0cb46fd94/contracts/eosio.system/src/powerup.cpp#L358
64
- utilization_increase_legacy(frac) {
65
- const {weight} = this
66
- const frac128 = UInt128.from(frac)
67
- const utilization_increase =
68
- new BN(weight.value.mul(new BN(frac128.value))) / Math.pow(10, 15)
69
- return Math.ceil(utilization_increase)
70
- }
71
-
72
54
  utilization_increase(frac: UInt128) {
73
55
  const base = intToBigDecimal(frac)
74
56
  const weight = intToBigDecimal(this.weight)
75
57
  const multiplier = intToBigDecimal(Math.pow(10, 15))
76
- // return Number(weight.multiply(base).divide(multiplier).getValue())
77
- console.log('fooo', Number(weight.multiply(base).divide(multiplier).getValue()))
78
- return frac.multiplying(this.weight).dividing(UInt128.from(Math.pow(10, 15)), 'ceil')
58
+ return UInt128.from(base.multiply(weight).divide(multiplier, 15).ceil().getValue())
79
59
  }
80
60
 
81
61
  // Mimic: https://github.com/EOSIO/eosio.contracts/blob/d7bc0a5cc8c0c2edd4dc61b0126517d0cb46fd94/contracts/eosio.system/src/powerup.cpp#L284-L298
82
- price_function_legacy(utilization: Int64): number {
83
- const {exponent, weight} = this
84
- const max_price: number = this.max_price.value
85
- const min_price: number = this.min_price.value
86
- let price = min_price
87
- const new_exponent = Number(exponent) - 1.0
88
- if (new_exponent <= 0.0) {
89
- return max_price
90
- } else {
91
- const util_weight = intToBigDecimal(utilization).divide(intToBigDecimal(weight), 18)
92
- console.log('old', String(util_weight.getValue()))
93
- const difference = max_price - min_price
94
- console.log('diff', difference)
95
- price += difference * Math.pow(Number(util_weight.getValue()), new_exponent)
96
- }
97
- console.log('price_function_legacy return', price)
98
- return price
99
- }
100
-
101
62
  price_function(utilization: Int64): number {
102
63
  const {weight} = this
103
64
  let price = this.min_price.value
@@ -107,31 +68,13 @@ export abstract class PowerUpStateResource extends Struct {
107
68
  } else {
108
69
  // const util_weight = utilization.dividing(weight)
109
70
  const util_weight = intToBigDecimal(utilization).divide(intToBigDecimal(weight), 18)
110
- console.log('new', String(util_weight.getValue()))
111
71
  const difference = this.max_price.value - this.min_price.value
112
- console.log('diff', String(difference))
113
72
  price += difference * Math.pow(Number(util_weight.getValue()), new_exponent)
114
73
  }
115
- console.log('price_function return', price)
116
74
  return price
117
75
  }
118
76
 
119
77
  // Mimic: https://github.com/EOSIO/eosio.contracts/blob/d7bc0a5cc8c0c2edd4dc61b0126517d0cb46fd94/contracts/eosio.system/src/powerup.cpp#L274-L280
120
- price_integral_delta_legacy(start_utilization: Int64, end_utilization: Int64): number {
121
- const {exponent, weight} = this
122
- const max_price: number = this.max_price.value
123
- const min_price: number = this.min_price.value
124
- const coefficient = (max_price - min_price) / exponent.value
125
- const start_u = Number(start_utilization.dividing(weight))
126
- const end_u = Number(end_utilization.dividing(weight))
127
- const delta =
128
- min_price * end_u -
129
- min_price * start_u +
130
- coefficient * Math.pow(end_u, exponent.value) -
131
- coefficient * Math.pow(start_u, exponent.value)
132
- return delta
133
- }
134
-
135
78
  price_integral_delta(start_utilization: Int64, end_utilization: Int64): number {
136
79
  const difference = Asset.fromUnits(
137
80
  this.max_price.units.subtracting(this.min_price.units),
@@ -149,33 +92,6 @@ export abstract class PowerUpStateResource extends Struct {
149
92
  }
150
93
 
151
94
  // Mimic: https://github.com/EOSIO/eosio.contracts/blob/d7bc0a5cc8c0c2edd4dc61b0126517d0cb46fd94/contracts/eosio.system/src/powerup.cpp#L262-L315
152
- fee_legacy(utilization_increase, adjusted_utilization) {
153
- const {utilization, weight} = this
154
-
155
- let start_utilization = Int64.from(utilization)
156
- const end_utilization = start_utilization.adding(utilization_increase)
157
-
158
- let fee = 0
159
- if (start_utilization.lt(adjusted_utilization)) {
160
- const min = Math.min(
161
- utilization_increase,
162
- adjusted_utilization.subtracting(start_utilization)
163
- )
164
- console.log('min', min)
165
- fee += Number(
166
- new bigDecimal(this.price_function_legacy(adjusted_utilization) * min)
167
- .divide(new bigDecimal(weight.toString()))
168
- .getValue()
169
- )
170
- start_utilization = adjusted_utilization
171
- }
172
- if (start_utilization.gt(end_utilization)) {
173
- fee += this.price_integral_delta(start_utilization, end_utilization)
174
- }
175
- console.log('fee_legacy', fee)
176
- return fee
177
- }
178
-
179
95
  fee(utilization_increase: UInt128, adjusted_utilization: Int64) {
180
96
  const {utilization, weight} = this
181
97
 
@@ -188,26 +104,6 @@ export abstract class PowerUpStateResource extends Struct {
188
104
  Number(utilization_increase),
189
105
  Number(adjusted_utilization.subtracting(start_utilization))
190
106
  )
191
- console.log('min', min)
192
-
193
- // fee += Number(
194
- // new bigDecimal(
195
- // String(
196
- // (this.price_function(adjusted_utilization) /
197
- // Math.pow(10, this.symbol.precision)) *
198
- // min
199
- // )
200
- // )
201
- // .divide(new bigDecimal(weight.toString()))
202
- // .getValue()
203
- // )
204
-
205
- // fee += Number(
206
- // new bigDecimal(this.price_function_legacy(adjusted_utilization) * min)
207
- // .divide(new bigDecimal(weight.toString()))
208
- // .getValue()
209
- // )
210
-
211
107
  fee += Number(
212
108
  intToBigDecimal(this.price_function(adjusted_utilization) * min)
213
109
  .divide(intToBigDecimal(weight))
@@ -216,10 +112,9 @@ export abstract class PowerUpStateResource extends Struct {
216
112
 
217
113
  start_utilization = adjusted_utilization
218
114
  }
219
- if (start_utilization.gt(end_utilization)) {
115
+ if (start_utilization.lt(end_utilization)) {
220
116
  fee += this.price_integral_delta(start_utilization, end_utilization)
221
117
  }
222
- console.log('fee', fee)
223
118
  return fee
224
119
  }
225
120