@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
@@ -1,13 +1,51 @@
1
1
  import { divide } from '../utils/math';
2
2
  export class FeePolicy {
3
- static MAX_FEE_RATE = 500000n;
4
- static MIN_FEE_RATE = -500000n;
5
- static RATE_MASK = 0x7fffffn;
6
- RATE_PRECISION = 10n ** 6n;
7
- usesQuote;
8
- value;
9
- rate;
10
3
  constructor(usesQuote, rate) {
4
+ Object.defineProperty(this, "RATE_PRECISION", {
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true,
8
+ value: 10n ** 6n
9
+ });
10
+ Object.defineProperty(this, "usesQuote", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: void 0
15
+ });
16
+ Object.defineProperty(this, "value", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: void 0
21
+ });
22
+ Object.defineProperty(this, "rate", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ Object.defineProperty(this, "calculateFee", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: (amount, reverseRounding) => {
33
+ const positive = this.rate > 0n;
34
+ const absRate = positive ? this.rate : -this.rate;
35
+ const absFee = divide(amount * absRate, this.RATE_PRECISION, reverseRounding ? !positive : positive);
36
+ return positive ? absFee : -absFee;
37
+ }
38
+ });
39
+ Object.defineProperty(this, "calculateOriginalAmount", {
40
+ enumerable: true,
41
+ configurable: true,
42
+ writable: true,
43
+ value: (amount, reverseFee) => {
44
+ const positive = this.rate > 0;
45
+ const divider = this.RATE_PRECISION + (reverseFee ? -this.rate : this.rate);
46
+ return divide(amount * this.RATE_PRECISION, divider, positive);
47
+ }
48
+ });
11
49
  this.usesQuote = usesQuote;
12
50
  this.rate = rate;
13
51
  if (rate > FeePolicy.MAX_FEE_RATE || rate < FeePolicy.MIN_FEE_RATE) {
@@ -20,19 +58,31 @@ export class FeePolicy {
20
58
  const usesQuote = value >> 23n > 0n;
21
59
  return new FeePolicy(usesQuote, FeePolicy.getRateFromValue(value));
22
60
  }
23
- static getRateFromValue = (value) => {
24
- return (value & FeePolicy.RATE_MASK) - FeePolicy.MAX_FEE_RATE;
25
- };
26
- calculateFee = (amount, reverseRounding) => {
27
- const positive = this.rate > 0n;
28
- const absRate = positive ? this.rate : -this.rate;
29
- const absFee = divide(amount * absRate, this.RATE_PRECISION, reverseRounding ? !positive : positive);
30
- return positive ? absFee : -absFee;
31
- };
32
- calculateOriginalAmount = (amount, reverseFee) => {
33
- const positive = this.rate > 0;
34
- const divider = this.RATE_PRECISION + (reverseFee ? -this.rate : this.rate);
35
- return divide(amount * this.RATE_PRECISION, divider, positive);
36
- };
37
61
  }
62
+ Object.defineProperty(FeePolicy, "MAX_FEE_RATE", {
63
+ enumerable: true,
64
+ configurable: true,
65
+ writable: true,
66
+ value: 500000n
67
+ });
68
+ Object.defineProperty(FeePolicy, "MIN_FEE_RATE", {
69
+ enumerable: true,
70
+ configurable: true,
71
+ writable: true,
72
+ value: -500000n
73
+ });
74
+ Object.defineProperty(FeePolicy, "RATE_MASK", {
75
+ enumerable: true,
76
+ configurable: true,
77
+ writable: true,
78
+ value: 0x7fffffn
79
+ });
80
+ Object.defineProperty(FeePolicy, "getRateFromValue", {
81
+ enumerable: true,
82
+ configurable: true,
83
+ writable: true,
84
+ value: (value) => {
85
+ return (value & FeePolicy.RATE_MASK) - FeePolicy.MAX_FEE_RATE;
86
+ }
87
+ });
38
88
  //# sourceMappingURL=fee-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fee-policy.js","sourceRoot":"","sources":["../../../src/model/fee-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,MAAM,OAAO,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,MAAM,CACnB,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,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAChE,CAAC,CAAA"}
1
+ {"version":3,"file":"fee-policy.js","sourceRoot":"","sources":["../../../src/model/fee-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,MAAM,OAAO,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,MAAM,CACnB,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,MAAM,CAAC,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;;AAtBe;;;;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"}
@@ -6,17 +6,248 @@ import { MAKER_DEFAULT_POLICY, TAKER_DEFAULT_POLICY } from '../constants/fee';
6
6
  import { divide } from '../utils/math';
7
7
  import { baseToQuote, quoteToBase } from '../utils/decimals';
8
8
  export class Market {
9
- makerFee = (Number(MAKER_DEFAULT_POLICY.rate) * 100) / 1e6;
10
- takerFee = (Number(TAKER_DEFAULT_POLICY.rate) * 100) / 1e6;
11
- id;
12
- quote;
13
- base;
14
- bids;
15
- bidBookOpen;
16
- asks;
17
- askBookOpen;
18
- books;
19
9
  constructor({ chainId, tokens, books, }) {
10
+ Object.defineProperty(this, "makerFee", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: (Number(MAKER_DEFAULT_POLICY.rate) * 100) / 1e6
15
+ });
16
+ Object.defineProperty(this, "takerFee", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: (Number(TAKER_DEFAULT_POLICY.rate) * 100) / 1e6
21
+ });
22
+ Object.defineProperty(this, "id", {
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, "base", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ Object.defineProperty(this, "bids", {
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true,
44
+ value: void 0
45
+ });
46
+ Object.defineProperty(this, "bidBookOpen", {
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true,
50
+ value: void 0
51
+ });
52
+ Object.defineProperty(this, "asks", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: void 0
57
+ });
58
+ Object.defineProperty(this, "askBookOpen", {
59
+ enumerable: true,
60
+ configurable: true,
61
+ writable: true,
62
+ value: void 0
63
+ });
64
+ Object.defineProperty(this, "books", {
65
+ enumerable: true,
66
+ configurable: true,
67
+ writable: true,
68
+ value: void 0
69
+ });
70
+ Object.defineProperty(this, "take", {
71
+ enumerable: true,
72
+ configurable: true,
73
+ writable: true,
74
+ value: ({ takeQuote, limitPrice, amountOut, // quote if takeQuote, base otherwise
75
+ }) => {
76
+ if (takeQuote) {
77
+ const bidDepths = this.books
78
+ .filter((book) => isAddressEqual(book.quote.address, this.quote.address))
79
+ .flatMap((book) => book.depths);
80
+ return this.takeInner({ depths: bidDepths, limitPrice, amountOut });
81
+ }
82
+ else {
83
+ const askDepths = this.books
84
+ .filter((book) => isAddressEqual(book.quote.address, this.base.address))
85
+ .flatMap((book) => book.depths);
86
+ return this.takeInner({
87
+ depths: askDepths,
88
+ limitPrice: invertPrice(limitPrice),
89
+ amountOut,
90
+ });
91
+ }
92
+ }
93
+ });
94
+ Object.defineProperty(this, "spend", {
95
+ enumerable: true,
96
+ configurable: true,
97
+ writable: true,
98
+ value: ({ spendBase, limitPrice, amountIn, // base if spendBase, quote otherwise
99
+ }) => {
100
+ if (spendBase) {
101
+ const bidDepths = this.books
102
+ .filter((book) => isAddressEqual(book.quote.address, this.quote.address))
103
+ .flatMap((book) => book.depths);
104
+ return this.spendInner({ depths: bidDepths, limitPrice, amountIn });
105
+ }
106
+ else {
107
+ const askDepths = this.books
108
+ .filter((book) => isAddressEqual(book.quote.address, this.base.address))
109
+ .flatMap((book) => book.depths);
110
+ return this.spendInner({
111
+ depths: askDepths,
112
+ limitPrice: invertPrice(limitPrice),
113
+ amountIn,
114
+ });
115
+ }
116
+ }
117
+ });
118
+ Object.defineProperty(this, "takeInner", {
119
+ enumerable: true,
120
+ configurable: true,
121
+ writable: true,
122
+ value: ({ depths, // only bid orders
123
+ limitPrice, amountOut, // quote
124
+ }) => {
125
+ if (depths.length === 0) {
126
+ return {};
127
+ }
128
+ const takeResult = {};
129
+ for (const depth of depths) {
130
+ if (!takeResult[depth.bookId]) {
131
+ takeResult[depth.bookId] = {
132
+ takenAmount: 0n,
133
+ spendAmount: 0n,
134
+ };
135
+ }
136
+ }
137
+ let totalTakenQuoteAmount = 0n;
138
+ const ticks = depths
139
+ .sort((a, b) => Number(b.tick) - Number(a.tick))
140
+ .map((depth) => depth.tick);
141
+ let index = 0;
142
+ let tick = ticks[index];
143
+ while (tick > -8388608n) {
144
+ if (limitPrice > toPrice(tick)) {
145
+ break;
146
+ }
147
+ const currentDepth = depths.find((depth) => depth.tick === tick);
148
+ const currentBook = this.books.find((book) => book.id === BigInt(currentDepth.bookId));
149
+ let maxAmount = TAKER_DEFAULT_POLICY.usesQuote
150
+ ? TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountOut - totalTakenQuoteAmount, true)
151
+ : amountOut - totalTakenQuoteAmount;
152
+ maxAmount = divide(maxAmount, currentBook.unit, true);
153
+ if (maxAmount === 0n) {
154
+ break;
155
+ }
156
+ let quoteAmount = (currentDepth.rawAmount > maxAmount
157
+ ? maxAmount
158
+ : currentDepth.rawAmount) * currentBook.unit;
159
+ let baseAmount = quoteToBase(tick, quoteAmount, true);
160
+ if (TAKER_DEFAULT_POLICY.usesQuote) {
161
+ quoteAmount =
162
+ quoteAmount - TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
163
+ }
164
+ else {
165
+ baseAmount =
166
+ baseAmount + TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
167
+ }
168
+ if (quoteAmount === 0n) {
169
+ break;
170
+ }
171
+ takeResult[currentDepth.bookId].takenAmount += quoteAmount;
172
+ takeResult[currentDepth.bookId].spendAmount += baseAmount;
173
+ totalTakenQuoteAmount += quoteAmount;
174
+ if (amountOut <= totalTakenQuoteAmount) {
175
+ break;
176
+ }
177
+ if (ticks.length === index + 1) {
178
+ break;
179
+ }
180
+ index++;
181
+ tick = ticks[index];
182
+ }
183
+ return Object.fromEntries(Object.entries(takeResult).filter(([, value]) => value.spendAmount > 0 && value.takenAmount > 0));
184
+ }
185
+ });
186
+ Object.defineProperty(this, "spendInner", {
187
+ enumerable: true,
188
+ configurable: true,
189
+ writable: true,
190
+ value: ({ depths, // only bid orders
191
+ limitPrice, amountIn, // base
192
+ }) => {
193
+ if (depths.length === 0) {
194
+ return {};
195
+ }
196
+ const spendResult = {};
197
+ for (const depth of depths) {
198
+ if (!spendResult[depth.bookId]) {
199
+ spendResult[depth.bookId] = {
200
+ takenAmount: 0n,
201
+ spendAmount: 0n,
202
+ };
203
+ }
204
+ }
205
+ let totalSpendBaseAmount = 0n;
206
+ const ticks = depths
207
+ .sort((a, b) => Number(b.tick) - Number(a.tick))
208
+ .map((depth) => depth.tick);
209
+ let index = 0;
210
+ let tick = ticks[index];
211
+ while (totalSpendBaseAmount <= amountIn && tick > -8388608n) {
212
+ if (limitPrice > toPrice(tick)) {
213
+ break;
214
+ }
215
+ const currentDepth = depths.find((depth) => depth.tick === tick);
216
+ const currentBook = this.books.find((book) => book.id === BigInt(currentDepth.bookId));
217
+ let maxAmount = TAKER_DEFAULT_POLICY.usesQuote
218
+ ? amountIn - totalSpendBaseAmount
219
+ : TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountIn - totalSpendBaseAmount, false);
220
+ maxAmount = baseToQuote(tick, maxAmount, false) / currentBook.unit;
221
+ if (maxAmount === 0n) {
222
+ break;
223
+ }
224
+ let quoteAmount = (currentDepth.rawAmount > maxAmount
225
+ ? maxAmount
226
+ : currentDepth.rawAmount) * currentBook.unit;
227
+ let baseAmount = quoteToBase(tick, quoteAmount, true);
228
+ if (TAKER_DEFAULT_POLICY.usesQuote) {
229
+ quoteAmount =
230
+ quoteAmount - TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
231
+ }
232
+ else {
233
+ baseAmount =
234
+ baseAmount + TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
235
+ }
236
+ if (baseAmount === 0n) {
237
+ break;
238
+ }
239
+ spendResult[currentDepth.bookId].takenAmount += quoteAmount;
240
+ spendResult[currentDepth.bookId].spendAmount += baseAmount;
241
+ totalSpendBaseAmount += baseAmount;
242
+ if (ticks.length === index + 1) {
243
+ break;
244
+ }
245
+ index++;
246
+ tick = ticks[index];
247
+ }
248
+ return Object.fromEntries(Object.entries(spendResult).filter(([, value]) => value.spendAmount > 0 && value.takenAmount > 0));
249
+ }
250
+ });
20
251
  const { marketId, quoteTokenAddress, baseTokenAddress } = getMarketId(chainId, tokens.map((token) => token.address));
21
252
  this.id = marketId;
22
253
  this.quote = tokens.find((token) => isAddressEqual(token.address, quoteTokenAddress));
@@ -46,166 +277,5 @@ export class Market {
46
277
  books.filter((book) => isAddressEqual(book.quote.address, this.base.address)).length > 0;
47
278
  this.books = books;
48
279
  }
49
- take = ({ takeQuote, limitPrice, amountOut, // quote if takeQuote, base otherwise
50
- }) => {
51
- if (takeQuote) {
52
- const bidDepths = this.books
53
- .filter((book) => isAddressEqual(book.quote.address, this.quote.address))
54
- .flatMap((book) => book.depths);
55
- return this.takeInner({ depths: bidDepths, limitPrice, amountOut });
56
- }
57
- else {
58
- const askDepths = this.books
59
- .filter((book) => isAddressEqual(book.quote.address, this.base.address))
60
- .flatMap((book) => book.depths);
61
- return this.takeInner({
62
- depths: askDepths,
63
- limitPrice: invertPrice(limitPrice),
64
- amountOut,
65
- });
66
- }
67
- };
68
- spend = ({ spendBase, limitPrice, amountIn, // base if spendBase, quote otherwise
69
- }) => {
70
- if (spendBase) {
71
- const bidDepths = this.books
72
- .filter((book) => isAddressEqual(book.quote.address, this.quote.address))
73
- .flatMap((book) => book.depths);
74
- return this.spendInner({ depths: bidDepths, limitPrice, amountIn });
75
- }
76
- else {
77
- const askDepths = this.books
78
- .filter((book) => isAddressEqual(book.quote.address, this.base.address))
79
- .flatMap((book) => book.depths);
80
- return this.spendInner({
81
- depths: askDepths,
82
- limitPrice: invertPrice(limitPrice),
83
- amountIn,
84
- });
85
- }
86
- };
87
- takeInner = ({ depths, // only bid orders
88
- limitPrice, amountOut, // quote
89
- }) => {
90
- if (depths.length === 0) {
91
- return {};
92
- }
93
- const takeResult = {};
94
- for (const depth of depths) {
95
- if (!takeResult[depth.bookId]) {
96
- takeResult[depth.bookId] = {
97
- takenAmount: 0n,
98
- spendAmount: 0n,
99
- };
100
- }
101
- }
102
- let totalTakenQuoteAmount = 0n;
103
- const ticks = depths
104
- .sort((a, b) => Number(b.tick) - Number(a.tick))
105
- .map((depth) => depth.tick);
106
- let index = 0;
107
- let tick = ticks[index];
108
- while (tick > -8388608n) {
109
- if (limitPrice > toPrice(tick)) {
110
- break;
111
- }
112
- const currentDepth = depths.find((depth) => depth.tick === tick);
113
- const currentBook = this.books.find((book) => book.id === BigInt(currentDepth.bookId));
114
- let maxAmount = TAKER_DEFAULT_POLICY.usesQuote
115
- ? TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountOut - totalTakenQuoteAmount, true)
116
- : amountOut - totalTakenQuoteAmount;
117
- maxAmount = divide(maxAmount, currentBook.unit, true);
118
- if (maxAmount === 0n) {
119
- break;
120
- }
121
- let quoteAmount = (currentDepth.rawAmount > maxAmount
122
- ? maxAmount
123
- : currentDepth.rawAmount) * currentBook.unit;
124
- let baseAmount = quoteToBase(tick, quoteAmount, true);
125
- if (TAKER_DEFAULT_POLICY.usesQuote) {
126
- quoteAmount =
127
- quoteAmount - TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
128
- }
129
- else {
130
- baseAmount =
131
- baseAmount + TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
132
- }
133
- if (quoteAmount === 0n) {
134
- break;
135
- }
136
- takeResult[currentDepth.bookId].takenAmount += quoteAmount;
137
- takeResult[currentDepth.bookId].spendAmount += baseAmount;
138
- totalTakenQuoteAmount += quoteAmount;
139
- if (amountOut <= totalTakenQuoteAmount) {
140
- break;
141
- }
142
- if (ticks.length === index + 1) {
143
- break;
144
- }
145
- index++;
146
- tick = ticks[index];
147
- }
148
- return Object.fromEntries(Object.entries(takeResult).filter(([, value]) => value.spendAmount > 0 && value.takenAmount > 0));
149
- };
150
- spendInner = ({ depths, // only bid orders
151
- limitPrice, amountIn, // base
152
- }) => {
153
- if (depths.length === 0) {
154
- return {};
155
- }
156
- const spendResult = {};
157
- for (const depth of depths) {
158
- if (!spendResult[depth.bookId]) {
159
- spendResult[depth.bookId] = {
160
- takenAmount: 0n,
161
- spendAmount: 0n,
162
- };
163
- }
164
- }
165
- let totalSpendBaseAmount = 0n;
166
- const ticks = depths
167
- .sort((a, b) => Number(b.tick) - Number(a.tick))
168
- .map((depth) => depth.tick);
169
- let index = 0;
170
- let tick = ticks[index];
171
- while (totalSpendBaseAmount <= amountIn && tick > -8388608n) {
172
- if (limitPrice > toPrice(tick)) {
173
- break;
174
- }
175
- const currentDepth = depths.find((depth) => depth.tick === tick);
176
- const currentBook = this.books.find((book) => book.id === BigInt(currentDepth.bookId));
177
- let maxAmount = TAKER_DEFAULT_POLICY.usesQuote
178
- ? amountIn - totalSpendBaseAmount
179
- : TAKER_DEFAULT_POLICY.calculateOriginalAmount(amountIn - totalSpendBaseAmount, false);
180
- maxAmount = baseToQuote(tick, maxAmount, false) / currentBook.unit;
181
- if (maxAmount === 0n) {
182
- break;
183
- }
184
- let quoteAmount = (currentDepth.rawAmount > maxAmount
185
- ? maxAmount
186
- : currentDepth.rawAmount) * currentBook.unit;
187
- let baseAmount = quoteToBase(tick, quoteAmount, true);
188
- if (TAKER_DEFAULT_POLICY.usesQuote) {
189
- quoteAmount =
190
- quoteAmount - TAKER_DEFAULT_POLICY.calculateFee(quoteAmount, false);
191
- }
192
- else {
193
- baseAmount =
194
- baseAmount + TAKER_DEFAULT_POLICY.calculateFee(baseAmount, false);
195
- }
196
- if (baseAmount === 0n) {
197
- break;
198
- }
199
- spendResult[currentDepth.bookId].takenAmount += quoteAmount;
200
- spendResult[currentDepth.bookId].spendAmount += baseAmount;
201
- totalSpendBaseAmount += baseAmount;
202
- if (ticks.length === index + 1) {
203
- break;
204
- }
205
- index++;
206
- tick = ticks[index];
207
- }
208
- return Object.fromEntries(Object.entries(spendResult).filter(([, value]) => value.spendAmount > 0 && value.takenAmount > 0));
209
- };
210
280
  }
211
281
  //# sourceMappingURL=market.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/model/market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/model/market.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"type":"module"}
1
+ {"type": "module","sideEffects":false}