@clober/v2-sdk 0.0.2 → 0.0.3

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.
Files changed (72) hide show
  1. package/dist/cjs/apis/market.js +10 -16
  2. package/dist/cjs/apis/market.js.map +1 -1
  3. package/dist/cjs/apis/open-order.js +12 -12
  4. package/dist/cjs/apis/open-order.js.map +1 -1
  5. package/dist/cjs/apis/subgraph.js +26 -0
  6. package/dist/cjs/apis/subgraph.js.map +1 -0
  7. package/dist/cjs/approval.js +0 -26
  8. package/dist/cjs/approval.js.map +1 -1
  9. package/dist/cjs/call.js +0 -208
  10. package/dist/cjs/call.js.map +1 -1
  11. package/dist/cjs/constants/fee.js +2 -2
  12. package/dist/cjs/constants/fee.js.map +1 -1
  13. package/dist/cjs/index.js +6 -19
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/model/book.js +145 -112
  16. package/dist/cjs/model/book.js.map +1 -1
  17. package/dist/cjs/model/fee-policy.js +71 -21
  18. package/dist/cjs/model/fee-policy.js.map +1 -1
  19. package/dist/cjs/model/market.js +235 -171
  20. package/dist/cjs/model/market.js.map +1 -1
  21. package/dist/cjs/package.json +1 -1
  22. package/dist/cjs/signature.js +0 -33
  23. package/dist/cjs/signature.js.map +1 -1
  24. package/dist/cjs/utils/market.js +0 -3
  25. package/dist/cjs/utils/market.js.map +1 -1
  26. package/dist/cjs/utils/math.js +1 -28
  27. package/dist/cjs/utils/math.js.map +1 -1
  28. package/dist/cjs/view.js +0 -92
  29. package/dist/cjs/view.js.map +1 -1
  30. package/dist/esm/apis/market.js +10 -16
  31. package/dist/esm/apis/market.js.map +1 -1
  32. package/dist/esm/apis/open-order.js +12 -12
  33. package/dist/esm/apis/open-order.js.map +1 -1
  34. package/dist/esm/apis/subgraph.js +22 -0
  35. package/dist/esm/apis/subgraph.js.map +1 -0
  36. package/dist/esm/model/book.js +147 -112
  37. package/dist/esm/model/book.js.map +1 -1
  38. package/dist/esm/model/fee-policy.js +71 -21
  39. package/dist/esm/model/fee-policy.js.map +1 -1
  40. package/dist/esm/model/market.js +241 -171
  41. package/dist/esm/model/market.js.map +1 -1
  42. package/dist/esm/package.json +1 -1
  43. package/dist/tsconfig.build.tsbuildinfo +1 -0
  44. package/dist/types/apis/market.d.ts.map +1 -1
  45. package/dist/types/apis/open-order.d.ts.map +1 -1
  46. package/dist/types/apis/subgraph.d.ts +3 -0
  47. package/dist/types/apis/subgraph.d.ts.map +1 -0
  48. package/dist/types/model/book.d.ts +21 -0
  49. package/dist/types/model/book.d.ts.map +1 -1
  50. package/dist/types/model/open-order.d.ts +26 -0
  51. package/dist/types/model/open-order.d.ts.map +1 -1
  52. package/package.json +7 -14
  53. package/dist/cjs/.graphclient/index.js +0 -243
  54. package/dist/cjs/.graphclient/index.js.map +0 -1
  55. package/dist/cjs/.graphclient/sources/clober-v2/introspectionSchema.js +0 -14485
  56. package/dist/cjs/.graphclient/sources/clober-v2/introspectionSchema.js.map +0 -1
  57. package/dist/cjs/.graphclient/sources/clober-v2/types.js +0 -4
  58. package/dist/cjs/.graphclient/sources/clober-v2/types.js.map +0 -1
  59. package/dist/cjs/tsconfig.build.tsbuildinfo +0 -1
  60. package/dist/esm/.graphclient/index.js +0 -233
  61. package/dist/esm/.graphclient/index.js.map +0 -1
  62. package/dist/esm/.graphclient/sources/clober-v2/introspectionSchema.js +0 -14483
  63. package/dist/esm/.graphclient/sources/clober-v2/introspectionSchema.js.map +0 -1
  64. package/dist/esm/.graphclient/sources/clober-v2/types.js +0 -3
  65. package/dist/esm/.graphclient/sources/clober-v2/types.js.map +0 -1
  66. package/dist/esm/tsconfig.build.tsbuildinfo +0 -1
  67. package/dist/types/.graphclient/index.d.ts +0 -1281
  68. package/dist/types/.graphclient/index.d.ts.map +0 -1
  69. package/dist/types/.graphclient/sources/clober-v2/introspectionSchema.d.ts +0 -3
  70. package/dist/types/.graphclient/sources/clober-v2/introspectionSchema.d.ts.map +0 -1
  71. package/dist/types/.graphclient/sources/clober-v2/types.d.ts +0 -984
  72. package/dist/types/.graphclient/sources/clober-v2/types.d.ts.map +0 -1
@@ -6,125 +6,158 @@ const fee_1 = require("../constants/fee");
6
6
  const math_1 = require("../utils/math");
7
7
  const decimals_1 = require("../utils/decimals");
8
8
  class Book {
9
- id;
10
- base;
11
- unit;
12
- quote;
13
- depths;
14
9
  constructor({ id, base, quote, unit, depths, }) {
10
+ Object.defineProperty(this, "id", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: void 0
15
+ });
16
+ Object.defineProperty(this, "base", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: void 0
21
+ });
22
+ Object.defineProperty(this, "unit", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ Object.defineProperty(this, "quote", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ Object.defineProperty(this, "depths", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ Object.defineProperty(this, "take", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: ({ limitPrice, amountOut, }) => {
45
+ let takenQuoteAmount = 0n;
46
+ let spendBaseAmount = 0n;
47
+ if (this.depths.length === 0) {
48
+ return {
49
+ takenQuoteAmount,
50
+ spendBaseAmount,
51
+ };
52
+ }
53
+ const ticks = this.depths
54
+ .sort((a, b) => Number(b.tick) - Number(a.tick))
55
+ .map((depth) => depth.tick);
56
+ let index = 0;
57
+ let tick = ticks[index];
58
+ while (tick > -8388608n) {
59
+ if (limitPrice > (0, tick_1.toPrice)(tick)) {
60
+ break;
61
+ }
62
+ let maxAmount = fee_1.TAKER_DEFAULT_POLICY.usesQuote
63
+ ? fee_1.TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountOut - takenQuoteAmount, true)
64
+ : amountOut - takenQuoteAmount;
65
+ maxAmount = (0, math_1.divide)(maxAmount, this.unit, true);
66
+ if (maxAmount === 0n) {
67
+ break;
68
+ }
69
+ const currentDepth = this.depths.find((depth) => depth.tick === tick);
70
+ let quoteAmount = (currentDepth.rawAmount > maxAmount
71
+ ? maxAmount
72
+ : currentDepth.rawAmount) * this.unit;
73
+ let baseAmount = (0, decimals_1.quoteToBase)(tick, quoteAmount, true);
74
+ if (fee_1.TAKER_DEFAULT_POLICY.usesQuote) {
75
+ quoteAmount =
76
+ quoteAmount - fee_1.TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
77
+ }
78
+ else {
79
+ baseAmount =
80
+ baseAmount + fee_1.TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
81
+ }
82
+ if (quoteAmount === 0n) {
83
+ break;
84
+ }
85
+ takenQuoteAmount += quoteAmount;
86
+ spendBaseAmount += baseAmount;
87
+ if (amountOut <= takenQuoteAmount) {
88
+ break;
89
+ }
90
+ index++;
91
+ tick = ticks[index];
92
+ }
93
+ return {
94
+ takenQuoteAmount,
95
+ spendBaseAmount,
96
+ };
97
+ }
98
+ });
99
+ Object.defineProperty(this, "spend", {
100
+ enumerable: true,
101
+ configurable: true,
102
+ writable: true,
103
+ value: ({ limitPrice, amountIn, }) => {
104
+ let takenQuoteAmount = 0n;
105
+ let spendBaseAmount = 0n;
106
+ if (this.depths.length === 0) {
107
+ return {
108
+ takenQuoteAmount,
109
+ spendBaseAmount,
110
+ };
111
+ }
112
+ const ticks = this.depths
113
+ .sort((a, b) => Number(b.tick) - Number(a.tick))
114
+ .map((depth) => depth.tick);
115
+ let index = 0;
116
+ let tick = ticks[index];
117
+ while (spendBaseAmount <= amountIn && tick > -8388608n) {
118
+ if (limitPrice > (0, tick_1.toPrice)(tick)) {
119
+ break;
120
+ }
121
+ let maxAmount = fee_1.TAKER_DEFAULT_POLICY.usesQuote
122
+ ? amountIn - spendBaseAmount
123
+ : fee_1.TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountIn - spendBaseAmount, false);
124
+ maxAmount = (0, decimals_1.baseToQuote)(tick, maxAmount, false) / this.unit;
125
+ if (maxAmount === 0n) {
126
+ break;
127
+ }
128
+ const currentDepth = this.depths.find((depth) => depth.tick === tick);
129
+ let quoteAmount = (currentDepth.rawAmount > maxAmount
130
+ ? maxAmount
131
+ : currentDepth.rawAmount) * this.unit;
132
+ let baseAmount = (0, decimals_1.quoteToBase)(tick, quoteAmount, true);
133
+ if (fee_1.TAKER_DEFAULT_POLICY.usesQuote) {
134
+ quoteAmount =
135
+ quoteAmount - fee_1.TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
136
+ }
137
+ else {
138
+ baseAmount =
139
+ baseAmount + fee_1.TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
140
+ }
141
+ if (baseAmount === 0n) {
142
+ break;
143
+ }
144
+ takenQuoteAmount += quoteAmount;
145
+ spendBaseAmount += baseAmount;
146
+ index++;
147
+ tick = ticks[index];
148
+ }
149
+ return {
150
+ takenQuoteAmount,
151
+ spendBaseAmount,
152
+ };
153
+ }
154
+ });
15
155
  this.id = id;
16
156
  this.base = base;
17
157
  this.unit = unit;
18
158
  this.quote = quote;
19
159
  this.depths = depths;
20
160
  }
21
- take = ({ limitPrice, amountOut, // quote
22
- }) => {
23
- let takenQuoteAmount = 0n;
24
- let spendBaseAmount = 0n;
25
- if (this.depths.length === 0) {
26
- return {
27
- takenQuoteAmount,
28
- spendBaseAmount,
29
- };
30
- }
31
- const ticks = this.depths
32
- .sort((a, b) => Number(b.tick) - Number(a.tick))
33
- .map((depth) => depth.tick);
34
- let index = 0;
35
- let tick = ticks[index];
36
- while (tick > -8388608n) {
37
- if (limitPrice > (0, tick_1.toPrice)(tick)) {
38
- break;
39
- }
40
- let maxAmount = fee_1.TAKER_DEFAULT_POLICY.usesQuote
41
- ? fee_1.TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountOut - takenQuoteAmount, true)
42
- : amountOut - takenQuoteAmount;
43
- maxAmount = (0, math_1.divide)(maxAmount, this.unit, true);
44
- if (maxAmount === 0n) {
45
- break;
46
- }
47
- const currentDepth = this.depths.find((depth) => depth.tick === tick);
48
- let quoteAmount = (currentDepth.rawAmount > maxAmount
49
- ? maxAmount
50
- : currentDepth.rawAmount) * this.unit;
51
- let baseAmount = (0, decimals_1.quoteToBase)(tick, quoteAmount, true);
52
- if (fee_1.TAKER_DEFAULT_POLICY.usesQuote) {
53
- quoteAmount =
54
- quoteAmount - fee_1.TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
55
- }
56
- else {
57
- baseAmount =
58
- baseAmount + fee_1.TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
59
- }
60
- if (quoteAmount === 0n) {
61
- break;
62
- }
63
- takenQuoteAmount += quoteAmount;
64
- spendBaseAmount += baseAmount;
65
- if (amountOut <= takenQuoteAmount) {
66
- break;
67
- }
68
- index++;
69
- tick = ticks[index];
70
- }
71
- return {
72
- takenQuoteAmount,
73
- spendBaseAmount,
74
- };
75
- };
76
- spend = ({ limitPrice, amountIn, // base
77
- }) => {
78
- let takenQuoteAmount = 0n;
79
- let spendBaseAmount = 0n;
80
- if (this.depths.length === 0) {
81
- return {
82
- takenQuoteAmount,
83
- spendBaseAmount,
84
- };
85
- }
86
- const ticks = this.depths
87
- .sort((a, b) => Number(b.tick) - Number(a.tick))
88
- .map((depth) => depth.tick);
89
- let index = 0;
90
- let tick = ticks[index];
91
- while (spendBaseAmount <= amountIn && tick > -8388608n) {
92
- if (limitPrice > (0, tick_1.toPrice)(tick)) {
93
- break;
94
- }
95
- let maxAmount = fee_1.TAKER_DEFAULT_POLICY.usesQuote
96
- ? amountIn - spendBaseAmount
97
- : fee_1.TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountIn - spendBaseAmount, false);
98
- maxAmount = (0, decimals_1.baseToQuote)(tick, maxAmount, false) / this.unit;
99
- if (maxAmount === 0n) {
100
- break;
101
- }
102
- const currentDepth = this.depths.find((depth) => depth.tick === tick);
103
- let quoteAmount = (currentDepth.rawAmount > maxAmount
104
- ? maxAmount
105
- : currentDepth.rawAmount) * this.unit;
106
- let baseAmount = (0, decimals_1.quoteToBase)(tick, quoteAmount, true);
107
- if (fee_1.TAKER_DEFAULT_POLICY.usesQuote) {
108
- quoteAmount =
109
- quoteAmount - fee_1.TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
110
- }
111
- else {
112
- baseAmount =
113
- baseAmount + fee_1.TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
114
- }
115
- if (baseAmount === 0n) {
116
- break;
117
- }
118
- takenQuoteAmount += quoteAmount;
119
- spendBaseAmount += baseAmount;
120
- index++;
121
- tick = ticks[index];
122
- }
123
- return {
124
- takenQuoteAmount,
125
- spendBaseAmount,
126
- };
127
- };
128
161
  }
129
162
  exports.Book = Book;
130
163
  //# sourceMappingURL=book.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"book.js","sourceRoot":"","sources":["../../../src/model/book.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"book.js","sourceRoot":"","sources":["../../../src/model/book.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,52 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FeePolicy = void 0;
4
4
  const math_1 = require("../utils/math");
5
5
  class FeePolicy {
6
- static MAX_FEE_RATE = 500000n;
7
- static MIN_FEE_RATE = -500000n;
8
- static RATE_MASK = 0x7fffffn;
9
- RATE_PRECISION = 10n ** 6n;
10
- usesQuote;
11
- value;
12
- rate;
13
6
  constructor(usesQuote, rate) {
7
+ Object.defineProperty(this, "RATE_PRECISION", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: 10n ** 6n
12
+ });
13
+ Object.defineProperty(this, "usesQuote", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ Object.defineProperty(this, "value", {
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true,
23
+ value: void 0
24
+ });
25
+ Object.defineProperty(this, "rate", {
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ Object.defineProperty(this, "calculateFee", {
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true,
35
+ value: (amount, reverseRounding) => {
36
+ const positive = this.rate > 0n;
37
+ const absRate = positive ? this.rate : -this.rate;
38
+ const absFee = (0, math_1.divide)(amount * absRate, this.RATE_PRECISION, reverseRounding ? !positive : positive);
39
+ return positive ? absFee : -absFee;
40
+ }
41
+ });
42
+ Object.defineProperty(this, "calculateOriginalAmount", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: (amount, reverseFee) => {
47
+ const positive = this.rate > 0;
48
+ const divider = this.RATE_PRECISION + (reverseFee ? -this.rate : this.rate);
49
+ return (0, math_1.divide)(amount * this.RATE_PRECISION, divider, positive);
50
+ }
51
+ });
14
52
  this.usesQuote = usesQuote;
15
53
  this.rate = rate;
16
54
  if (rate > FeePolicy.MAX_FEE_RATE || rate < FeePolicy.MIN_FEE_RATE) {
@@ -23,20 +61,32 @@ class FeePolicy {
23
61
  const usesQuote = value >> 23n > 0n;
24
62
  return new FeePolicy(usesQuote, FeePolicy.getRateFromValue(value));
25
63
  }
26
- static getRateFromValue = (value) => {
27
- return (value & FeePolicy.RATE_MASK) - FeePolicy.MAX_FEE_RATE;
28
- };
29
- calculateFee = (amount, reverseRounding) => {
30
- const positive = this.rate > 0n;
31
- const absRate = positive ? this.rate : -this.rate;
32
- const absFee = (0, math_1.divide)(amount * absRate, this.RATE_PRECISION, reverseRounding ? !positive : positive);
33
- return positive ? absFee : -absFee;
34
- };
35
- calculateOriginalAmount = (amount, reverseFee) => {
36
- const positive = this.rate > 0;
37
- const divider = this.RATE_PRECISION + (reverseFee ? -this.rate : this.rate);
38
- return (0, math_1.divide)(amount * this.RATE_PRECISION, divider, positive);
39
- };
40
64
  }
41
65
  exports.FeePolicy = FeePolicy;
66
+ Object.defineProperty(FeePolicy, "MAX_FEE_RATE", {
67
+ enumerable: true,
68
+ configurable: true,
69
+ writable: true,
70
+ value: 500000n
71
+ });
72
+ Object.defineProperty(FeePolicy, "MIN_FEE_RATE", {
73
+ enumerable: true,
74
+ configurable: true,
75
+ writable: true,
76
+ value: -500000n
77
+ });
78
+ Object.defineProperty(FeePolicy, "RATE_MASK", {
79
+ enumerable: true,
80
+ configurable: true,
81
+ writable: true,
82
+ value: 0x7fffffn
83
+ });
84
+ Object.defineProperty(FeePolicy, "getRateFromValue", {
85
+ enumerable: true,
86
+ configurable: true,
87
+ writable: true,
88
+ value: (value) => {
89
+ return (value & FeePolicy.RATE_MASK) - FeePolicy.MAX_FEE_RATE;
90
+ }
91
+ });
42
92
  //# sourceMappingURL=fee-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fee-policy.js","sourceRoot":"","sources":["../../../src/model/fee-policy.ts"],"names":[],"mappings":";;;AAAA,wCAAsC;AAEtC,MAAa,SAAS;IACpB,MAAM,CAAU,YAAY,GAAG,OAAO,CAAA;IACtC,MAAM,CAAU,YAAY,GAAG,CAAC,OAAO,CAAA;IACvC,MAAM,CAAU,SAAS,GAAG,SAAS,CAAA;IAC5B,cAAc,GAAG,GAAG,IAAI,EAAE,CAAA;IAC5B,SAAS,CAAS;IAClB,KAAK,CAAQ;IACb,IAAI,CAAQ;IAEnB,YAAY,SAAkB,EAAE,IAAY;QAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,IAAI,IAAI,GAAG,SAAS,CAAC,YAAY,IAAI,IAAI,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IACrD,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAa;QAC9B,MAAM,SAAS,GAAG,KAAK,IAAI,GAAG,GAAG,EAAE,CAAA;QACnC,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;IACpE,CAAC;IAEO,MAAM,CAAC,gBAAgB,GAAG,CAAC,KAAa,EAAU,EAAE;QAC1D,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,YAAY,CAAA;IAC/D,CAAC,CAAA;IAEM,YAAY,GAAG,CAAC,MAAc,EAAE,eAAwB,EAAU,EAAE;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QACjD,MAAM,MAAM,GAAG,IAAA,aAAM,EACnB,MAAM,GAAG,OAAO,EAChB,IAAI,CAAC,cAAc,EACnB,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CACvC,CAAA;QACD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACpC,CAAC,CAAA;IAEM,uBAAuB,GAAG,CAC/B,MAAc,EACd,UAAmB,EACX,EAAE;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3E,OAAO,IAAA,aAAM,EAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAChE,CAAC,CAAA;;AA/CH,8BAgDC"}
1
+ {"version":3,"file":"fee-policy.js","sourceRoot":"","sources":["../../../src/model/fee-policy.ts"],"names":[],"mappings":";;;AAAA,wCAAsC;AAEtC,MAAa,SAAS;IASpB,YAAY,SAAkB,EAAE,IAAY;QALnC;;;;mBAAiB,GAAG,IAAI,EAAE;WAAA;QAC5B;;;;;WAAkB;QAClB;;;;;WAAa;QACb;;;;;WAAY;QAsBZ;;;;mBAAe,CAAC,MAAc,EAAE,eAAwB,EAAU,EAAE;gBACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;gBAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;gBACjD,MAAM,MAAM,GAAG,IAAA,aAAM,EACnB,MAAM,GAAG,OAAO,EAChB,IAAI,CAAC,cAAc,EACnB,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CACvC,CAAA;gBACD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YACpC,CAAC;WAAA;QAEM;;;;mBAA0B,CAC/B,MAAc,EACd,UAAmB,EACX,EAAE;gBACV,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC3E,OAAO,IAAA,aAAM,EAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;YAChE,CAAC;WAAA;QArCC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,IAAI,IAAI,GAAG,SAAS,CAAC,YAAY,IAAI,IAAI,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IACrD,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAa;QAC9B,MAAM,SAAS,GAAG,KAAK,IAAI,GAAG,GAAG,EAAE,CAAA;QACnC,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;IACpE,CAAC;;AAvBH,8BAgDC;AA/CiB;;;;WAAe,OAAO;EAAV,CAAU;AACtB;;;;WAAe,CAAC,OAAO;EAAX,CAAW;AACvB;;;;WAAY,SAAS;EAAZ,CAAY;AAsBtB;;;;WAAmB,CAAC,KAAa,EAAU,EAAE;QAC1D,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,YAAY,CAAA;IAC/D,CAAC;EAF8B,CAE9B"}