@exponent-labs/exponent-sdk 0.1.7 → 0.1.8
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.
- package/build/EventDecoderV2.d.ts +31 -0
- package/build/EventDecoderV2.js +76 -0
- package/build/EventDecoderV2.js.map +1 -0
- package/build/addressLookupTableUtil.d.ts +17 -1
- package/build/addressLookupTableUtil.js +35 -1
- package/build/addressLookupTableUtil.js.map +1 -1
- package/build/clmm/events.d.ts +10 -0
- package/build/clmm/events.js +10 -0
- package/build/clmm/events.js.map +1 -0
- package/build/clmm/index.d.ts +1 -0
- package/build/clmm/index.js +18 -0
- package/build/clmm/index.js.map +1 -0
- package/build/events.d.ts +200 -9
- package/build/events.js +73 -24
- package/build/events.js.map +1 -1
- package/build/eventsV2.d.ts +7 -0
- package/build/eventsV2.js +10 -0
- package/build/eventsV2.js.map +1 -0
- package/build/flavors.d.ts +2 -0
- package/build/flavors.js +81 -27
- package/build/flavors.js.map +1 -1
- package/build/index.d.ts +6 -0
- package/build/index.js +14 -4
- package/build/index.js.map +1 -1
- package/build/lpPosition.js +4 -1
- package/build/lpPosition.js.map +1 -1
- package/build/market.d.ts +14 -2
- package/build/market.js +70 -29
- package/build/market.js.map +1 -1
- package/build/marketThree.d.ts +664 -0
- package/build/marketThree.js +1415 -0
- package/build/marketThree.js.map +1 -0
- package/build/marketThree.test.d.ts +1 -0
- package/build/marketThree.test.js +166 -0
- package/build/marketThree.test.js.map +1 -0
- package/build/orderbook/events.d.ts +7 -0
- package/build/orderbook/events.js +10 -0
- package/build/orderbook/events.js.map +1 -0
- package/build/orderbook/index.d.ts +4 -0
- package/build/orderbook/index.js +41 -0
- package/build/orderbook/index.js.map +1 -0
- package/build/orderbook/math.d.ts +26 -0
- package/build/orderbook/math.js +111 -0
- package/build/orderbook/math.js.map +1 -0
- package/build/orderbook/orderbook.d.ts +175 -0
- package/build/orderbook/orderbook.js +756 -0
- package/build/orderbook/orderbook.js.map +1 -0
- package/build/orderbook/types.d.ts +49 -0
- package/build/orderbook/types.js +27 -0
- package/build/orderbook/types.js.map +1 -0
- package/build/orderbook/utils.d.ts +18 -0
- package/build/orderbook/utils.js +74 -0
- package/build/orderbook/utils.js.map +1 -0
- package/build/router.d.ts +92 -0
- package/build/router.js +214 -0
- package/build/router.js.map +1 -0
- package/build/syPosition.js +6 -0
- package/build/syPosition.js.map +1 -1
- package/build/utils/index.d.ts +3 -2
- package/build/utils/index.js +22 -1
- package/build/utils/index.js.map +1 -1
- package/build/vault.d.ts +3 -1
- package/build/vault.js +98 -62
- package/build/vault.js.map +1 -1
- package/build/ytPosition.d.ts +2 -0
- package/build/ytPosition.js +18 -5
- package/build/ytPosition.js.map +1 -1
- package/package.json +28 -23
- package/src/EventDecoderV2.ts +96 -0
- package/src/addressLookupTableUtil.ts +42 -1
- package/src/clmm/events.ts +17 -0
- package/src/clmm/index.ts +1 -0
- package/src/events.ts +280 -27
- package/src/eventsV2.ts +13 -0
- package/src/flavors.ts +97 -27
- package/src/index.ts +6 -0
- package/src/lpPosition.ts +5 -2
- package/src/market.ts +100 -31
- package/src/marketThree.test.ts +208 -0
- package/src/marketThree.ts +2430 -0
- package/src/orderbook/events.ts +13 -0
- package/src/orderbook/index.ts +12 -0
- package/src/orderbook/math.ts +122 -0
- package/src/orderbook/orderbook.ts +1153 -0
- package/src/orderbook/types.ts +45 -0
- package/src/orderbook/utils.ts +74 -0
- package/src/router.ts +360 -0
- package/src/syPosition.ts +4 -0
- package/src/utils/index.ts +27 -2
- package/src/vault.ts +100 -62
- package/src/ytPosition.ts +28 -7
- package/tsconfig.json +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketThree.js","sourceRoot":"","sources":["../src/marketThree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const anchor_1 = require("@coral-xyz/anchor");
|
|
7
|
+
const globals_1 = require("@jest/globals");
|
|
8
|
+
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
9
|
+
const marketThree_1 = require("./marketThree");
|
|
10
|
+
const rawTicks = {
|
|
11
|
+
ticksTree: [
|
|
12
|
+
{
|
|
13
|
+
apy: 10_000,
|
|
14
|
+
feeGrowthOutsidePt: "0",
|
|
15
|
+
feeGrowthOutsideSy: "0",
|
|
16
|
+
liquidityNet: "212216886",
|
|
17
|
+
liquidityGross: "212216886",
|
|
18
|
+
lnImpliedRate: 1.01,
|
|
19
|
+
principalPt: "8489056",
|
|
20
|
+
principalSy: "10000563",
|
|
21
|
+
principalShareSupply: "9213872",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
apy: 100_000,
|
|
25
|
+
feeGrowthOutsidePt: "0",
|
|
26
|
+
feeGrowthOutsideSy: "0",
|
|
27
|
+
liquidityNet: "-212216886",
|
|
28
|
+
liquidityGross: "212216886",
|
|
29
|
+
lnImpliedRate: 1.1,
|
|
30
|
+
principalPt: "0",
|
|
31
|
+
principalSy: "3935",
|
|
32
|
+
principalShareSupply: "0",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
apy: 65_536,
|
|
36
|
+
feeGrowthOutsidePt: "276675485368327",
|
|
37
|
+
feeGrowthOutsideSy: "0",
|
|
38
|
+
liquidityNet: "637259347272925184",
|
|
39
|
+
liquidityGross: "637259347272925184",
|
|
40
|
+
lnImpliedRate: 0,
|
|
41
|
+
principalPt: "70334384439296",
|
|
42
|
+
principalSy: "32088147345014784",
|
|
43
|
+
principalShareSupply: "0",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
apy: 65_536,
|
|
47
|
+
feeGrowthOutsidePt: "276675485368327",
|
|
48
|
+
feeGrowthOutsideSy: "0",
|
|
49
|
+
liquidityNet: "6510516211317473280",
|
|
50
|
+
liquidityGross: "6510516211317473280",
|
|
51
|
+
lnImpliedRate: 9.085484053695086e135,
|
|
52
|
+
principalPt: "70335071634063",
|
|
53
|
+
principalSy: "4226346775310499840",
|
|
54
|
+
principalShareSupply: "0",
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
market: "11111111111111111111111111111111",
|
|
58
|
+
feeGrowthIndexGlobalPt: "0",
|
|
59
|
+
feeGrowthIndexGlobalSy: "0",
|
|
60
|
+
currentPrefixSum: "0",
|
|
61
|
+
currentSpotPrice: 0,
|
|
62
|
+
currentTick: 0,
|
|
63
|
+
};
|
|
64
|
+
const ticksFixture = {
|
|
65
|
+
ticksTree: rawTicks.ticksTree.map((tick) => ({
|
|
66
|
+
apy: tick.apy,
|
|
67
|
+
feeGrowthOutsidePt: BigInt(tick.feeGrowthOutsidePt),
|
|
68
|
+
feeGrowthOutsideSy: BigInt(tick.feeGrowthOutsideSy),
|
|
69
|
+
liquidityNet: BigInt(tick.liquidityNet),
|
|
70
|
+
liquidityGross: BigInt(tick.liquidityGross),
|
|
71
|
+
lnImpliedRate: tick.lnImpliedRate,
|
|
72
|
+
principalPt: BigInt(tick.principalPt),
|
|
73
|
+
principalSy: BigInt(tick.principalSy),
|
|
74
|
+
principalShareSupply: BigInt(tick.principalShareSupply),
|
|
75
|
+
})),
|
|
76
|
+
market: new anchor_1.web3.PublicKey(rawTicks.market),
|
|
77
|
+
feeGrowthIndexGlobalPt: BigInt(rawTicks.feeGrowthIndexGlobalPt),
|
|
78
|
+
feeGrowthIndexGlobalSy: BigInt(rawTicks.feeGrowthIndexGlobalSy),
|
|
79
|
+
currentPrefixSum: BigInt(rawTicks.currentPrefixSum),
|
|
80
|
+
currentSpotPrice: rawTicks.currentSpotPrice,
|
|
81
|
+
currentTick: rawTicks.currentTick,
|
|
82
|
+
};
|
|
83
|
+
const SECONDS_PER_YEAR = 365 * 24 * 60 * 60;
|
|
84
|
+
function buildTestMarket(ticks, expirationTs) {
|
|
85
|
+
const market = Object.create(marketThree_1.MarketThree.prototype);
|
|
86
|
+
market.state = {
|
|
87
|
+
ticks,
|
|
88
|
+
financials: {
|
|
89
|
+
expirationTs,
|
|
90
|
+
ptBalance: 0n,
|
|
91
|
+
syBalance: 0n,
|
|
92
|
+
liquidityBalance: 0n,
|
|
93
|
+
},
|
|
94
|
+
configurationOptions: {
|
|
95
|
+
treasuryFeeBps: 0,
|
|
96
|
+
lnFeeRateRoot: 0,
|
|
97
|
+
minLpTickAmount: 0n,
|
|
98
|
+
epsilonClamp: 0,
|
|
99
|
+
maxLpSupply: 0n,
|
|
100
|
+
tickSpace: 1,
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
market.flavor = {
|
|
104
|
+
flavor: "generic",
|
|
105
|
+
currentSyExchangeRate: 1,
|
|
106
|
+
};
|
|
107
|
+
return market;
|
|
108
|
+
}
|
|
109
|
+
function ticksWithSpotPrice(spotPrice) {
|
|
110
|
+
return {
|
|
111
|
+
...ticksFixture,
|
|
112
|
+
currentSpotPrice: spotPrice,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
(0, globals_1.describe)("MarketThree.liquidityUnitPriceInAsset", () => {
|
|
116
|
+
let dateNowSpy;
|
|
117
|
+
(0, globals_1.beforeAll)(() => {
|
|
118
|
+
dateNowSpy = jest.spyOn(Date, "now").mockReturnValue(0);
|
|
119
|
+
});
|
|
120
|
+
(0, globals_1.afterAll)(() => {
|
|
121
|
+
dateNowSpy.mockRestore();
|
|
122
|
+
});
|
|
123
|
+
(0, globals_1.it)("computes principal-only LP price for a populated tick range", () => {
|
|
124
|
+
const syExchangeRate = 1.2;
|
|
125
|
+
const spotPrice = 0.2;
|
|
126
|
+
const ticks = ticksWithSpotPrice(spotPrice);
|
|
127
|
+
const market = buildTestMarket(ticks, SECONDS_PER_YEAR);
|
|
128
|
+
const lowerTickKey = 10_000;
|
|
129
|
+
const upperTickKey = 200_000;
|
|
130
|
+
const result = market.liquidityUnitPriceInAsset({
|
|
131
|
+
lowerTickKey,
|
|
132
|
+
upperTickKey,
|
|
133
|
+
syExchangeRateOverride: syExchangeRate,
|
|
134
|
+
});
|
|
135
|
+
const relevantIntervals = ticks.ticksTree.filter((tick) => tick.apy >= lowerTickKey && tick.apy < upperTickKey);
|
|
136
|
+
const totalPrincipalPt = relevantIntervals.reduce((acc, tick) => acc + tick.principalPt, 0n);
|
|
137
|
+
const totalPrincipalSy = relevantIntervals.reduce((acc, tick) => acc + tick.principalSy, 0n);
|
|
138
|
+
const totalShareSupply = relevantIntervals.reduce((acc, tick) => acc + tick.principalShareSupply, 0n);
|
|
139
|
+
const timeFactor = SECONDS_PER_YEAR / SECONDS_PER_YEAR;
|
|
140
|
+
const ptAssetValuePerToken = Math.exp(-timeFactor * spotPrice);
|
|
141
|
+
const principalPtValue = new decimal_js_1.default(totalPrincipalPt.toString()).mul(ptAssetValuePerToken);
|
|
142
|
+
const principalSyValue = new decimal_js_1.default(totalPrincipalSy.toString()).mul(syExchangeRate);
|
|
143
|
+
const expected = principalPtValue.plus(principalSyValue).div(new decimal_js_1.default(totalShareSupply.toString()));
|
|
144
|
+
(0, globals_1.expect)(result).toBeCloseTo(expected.toNumber(), 9);
|
|
145
|
+
});
|
|
146
|
+
(0, globals_1.it)("returns zero when the selected range has no share supply", () => {
|
|
147
|
+
const ticks = ticksWithSpotPrice(0.5);
|
|
148
|
+
const market = buildTestMarket(ticks, SECONDS_PER_YEAR);
|
|
149
|
+
const price = market.liquidityUnitPriceInAsset({
|
|
150
|
+
lowerTickKey: 65_536,
|
|
151
|
+
upperTickKey: 65_537,
|
|
152
|
+
syExchangeRateOverride: 1.05,
|
|
153
|
+
});
|
|
154
|
+
(0, globals_1.expect)(price).toBe(0);
|
|
155
|
+
});
|
|
156
|
+
(0, globals_1.it)("throws when lower tick boundary is not less than upper", () => {
|
|
157
|
+
const ticks = ticksWithSpotPrice(0.5);
|
|
158
|
+
const market = buildTestMarket(ticks, SECONDS_PER_YEAR);
|
|
159
|
+
(0, globals_1.expect)(() => market.liquidityUnitPriceInAsset({
|
|
160
|
+
lowerTickKey: 42,
|
|
161
|
+
upperTickKey: 42,
|
|
162
|
+
syExchangeRateOverride: 1,
|
|
163
|
+
})).toThrow("lowerTickKey must be less than upperTickKey");
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
//# sourceMappingURL=marketThree.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketThree.test.js","sourceRoot":"","sources":["../src/marketThree.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IdlTypes } from "@coral-xyz/anchor";
|
|
2
|
+
import { ExponentOrderbook } from "@exponent-labs/exponent-orderbook-idl";
|
|
3
|
+
import { EventDecoderV2 } from "../EventDecoderV2";
|
|
4
|
+
export declare const ORDERBOOK_PROGRAM_ID: string;
|
|
5
|
+
export declare const ORDERBOOK_EVENT_DECODER: EventDecoderV2<ExponentOrderbook>;
|
|
6
|
+
export type OrderbookEventNames = ExponentOrderbook["events"][number]["name"];
|
|
7
|
+
export type OrderbookEvent<Name extends OrderbookEventNames> = IdlTypes<ExponentOrderbook>[Name];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ORDERBOOK_EVENT_DECODER = exports.ORDERBOOK_PROGRAM_ID = void 0;
|
|
4
|
+
const exponent_orderbook_idl_1 = require("@exponent-labs/exponent-orderbook-idl");
|
|
5
|
+
const EventDecoderV2_1 = require("../EventDecoderV2");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
exports.ORDERBOOK_PROGRAM_ID = exponent_orderbook_idl_1.PROGRAM_ID;
|
|
8
|
+
const ORDERBOOK_PROGRAM = (0, utils_1.createAnchorProgram)(exponent_orderbook_idl_1.IDL);
|
|
9
|
+
exports.ORDERBOOK_EVENT_DECODER = new EventDecoderV2_1.EventDecoderV2(ORDERBOOK_PROGRAM);
|
|
10
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/orderbook/events.ts"],"names":[],"mappings":";;;AAEA,kFAA0F;AAE1F,sDAAkD;AAClD,oCAA8C;AAEjC,QAAA,oBAAoB,GAAG,mCAAU,CAAA;AAC9C,MAAM,iBAAiB,GAAG,IAAA,2BAAmB,EAAC,4BAAwB,CAAC,CAAA;AAC1D,QAAA,uBAAuB,GAAG,IAAI,+BAAc,CAAC,iBAAiB,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { Orderbook } from "./orderbook";
|
|
2
|
+
export { OfferTradeDirection, QuoteDirection, OfferTypeAnchor, OfferOptionsAnchor, OrderbookLoadOptions } from "./types";
|
|
3
|
+
export { getOfferType, getOfferTypeFromTradeDirection, convertOfferTypeToAnchorType, convertOfferTypeFromAnchorType, getOfferDirectionFromQuoteDirection, isQuoteInputTokenBase, isQuoteOutputTokenBase, } from "./utils";
|
|
4
|
+
export * as orderbookEvents from "./events";
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.orderbookEvents = exports.isQuoteOutputTokenBase = exports.isQuoteInputTokenBase = exports.getOfferDirectionFromQuoteDirection = exports.convertOfferTypeFromAnchorType = exports.convertOfferTypeToAnchorType = exports.getOfferTypeFromTradeDirection = exports.getOfferType = exports.QuoteDirection = exports.OfferTradeDirection = exports.Orderbook = void 0;
|
|
27
|
+
var orderbook_1 = require("./orderbook");
|
|
28
|
+
Object.defineProperty(exports, "Orderbook", { enumerable: true, get: function () { return orderbook_1.Orderbook; } });
|
|
29
|
+
var types_1 = require("./types");
|
|
30
|
+
Object.defineProperty(exports, "OfferTradeDirection", { enumerable: true, get: function () { return types_1.OfferTradeDirection; } });
|
|
31
|
+
Object.defineProperty(exports, "QuoteDirection", { enumerable: true, get: function () { return types_1.QuoteDirection; } });
|
|
32
|
+
var utils_1 = require("./utils");
|
|
33
|
+
Object.defineProperty(exports, "getOfferType", { enumerable: true, get: function () { return utils_1.getOfferType; } });
|
|
34
|
+
Object.defineProperty(exports, "getOfferTypeFromTradeDirection", { enumerable: true, get: function () { return utils_1.getOfferTypeFromTradeDirection; } });
|
|
35
|
+
Object.defineProperty(exports, "convertOfferTypeToAnchorType", { enumerable: true, get: function () { return utils_1.convertOfferTypeToAnchorType; } });
|
|
36
|
+
Object.defineProperty(exports, "convertOfferTypeFromAnchorType", { enumerable: true, get: function () { return utils_1.convertOfferTypeFromAnchorType; } });
|
|
37
|
+
Object.defineProperty(exports, "getOfferDirectionFromQuoteDirection", { enumerable: true, get: function () { return utils_1.getOfferDirectionFromQuoteDirection; } });
|
|
38
|
+
Object.defineProperty(exports, "isQuoteInputTokenBase", { enumerable: true, get: function () { return utils_1.isQuoteInputTokenBase; } });
|
|
39
|
+
Object.defineProperty(exports, "isQuoteOutputTokenBase", { enumerable: true, get: function () { return utils_1.isQuoteOutputTokenBase; } });
|
|
40
|
+
exports.orderbookEvents = __importStar(require("./events"));
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orderbook/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,iCAAwH;AAA/G,4GAAA,mBAAmB,OAAA;AAAE,uGAAA,cAAc,OAAA;AAC5C,iCAQgB;AAPd,qGAAA,YAAY,OAAA;AACZ,uHAAA,8BAA8B,OAAA;AAC9B,qHAAA,4BAA4B,OAAA;AAC5B,uHAAA,8BAA8B,OAAA;AAC9B,4HAAA,mCAAmC,OAAA;AACnC,8GAAA,qBAAqB,OAAA;AACrB,+GAAA,sBAAsB,OAAA;AAExB,4DAA2C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Offer, OfferType } from "./types";
|
|
2
|
+
export declare const PRICE_BASE_POINTS = 1000000;
|
|
3
|
+
export declare const MAX_FILLED_OFFERS = 120;
|
|
4
|
+
/**
|
|
5
|
+
* How much token offer can get (offer buys)
|
|
6
|
+
*/
|
|
7
|
+
export declare function getOfferAmountToGet(offer: Offer, syExchangeRate: number, secUntilMaturity: number): number;
|
|
8
|
+
/**
|
|
9
|
+
* How much YT/SY offer can give (offer sells)
|
|
10
|
+
*/
|
|
11
|
+
export declare function getOfferSize(offer: Offer, secUntilMaturity: number, syExchangeRate: number): number;
|
|
12
|
+
export declare function calcPriceInAssetsByAPYPt(priceApy: number, secUntilMaturity: number): number;
|
|
13
|
+
export declare function getPtToSyRate(priceApy: number, syExchangeRate: number, secUntilMaturity: number): number;
|
|
14
|
+
export declare function getYtToSyRate(priceApy: number, syExchangeRate: number, secUntilMaturity: number): number;
|
|
15
|
+
export declare function getOfferAmountToGetNoVirtual(offer: Offer, syExchangeRate: number, secUntilMaturity: number): number;
|
|
16
|
+
export declare function getOfferAmountToGetVirtual(offer: Offer, syExchangeRate: number, secUntilMaturity: number): number;
|
|
17
|
+
/**
|
|
18
|
+
* Rounds priceApy(float) to priceDecimals precision. Returns integer
|
|
19
|
+
*/
|
|
20
|
+
export declare function roundPriceApy(priceApy: number, priceDecimals: number): number;
|
|
21
|
+
export declare function calcRemainingAmountOnCounterOfferFilling(offerToGet: number, takenAmount: number, isQuoteVirtualOffer: boolean, quoteOfferType: OfferType, syExchangeRate: number): number;
|
|
22
|
+
export declare function calcOutAmountOnCounterOfferFilling(offerToGet: number, takenAmount: number, isQuoteVirtualOffer: boolean, quoteOfferType: OfferType, syExchangeRate: number, makerFeeRate: number): {
|
|
23
|
+
tradeFee: number;
|
|
24
|
+
outAmount: number;
|
|
25
|
+
};
|
|
26
|
+
export declare function getTradeFeesForTakerOffer(offer: Offer, syExchangeRate: number, secUntilMaturity: number, takerFeeRate: number): number;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTradeFeesForTakerOffer = exports.calcOutAmountOnCounterOfferFilling = exports.calcRemainingAmountOnCounterOfferFilling = exports.roundPriceApy = exports.getOfferAmountToGetVirtual = exports.getOfferAmountToGetNoVirtual = exports.getYtToSyRate = exports.getPtToSyRate = exports.calcPriceInAssetsByAPYPt = exports.getOfferSize = exports.getOfferAmountToGet = exports.MAX_FILLED_OFFERS = exports.PRICE_BASE_POINTS = void 0;
|
|
4
|
+
const market_math_1 = require("@exponent-labs/market-math");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
const SECONDS_IN_DAY = 24 * 60 * 60;
|
|
7
|
+
exports.PRICE_BASE_POINTS = 1e6;
|
|
8
|
+
exports.MAX_FILLED_OFFERS = 120; // maximum number of filled offers in a single post_offer or market_offer transaction, to prevent CU overflow
|
|
9
|
+
/**
|
|
10
|
+
* How much token offer can get (offer buys)
|
|
11
|
+
*/
|
|
12
|
+
function getOfferAmountToGet(offer, syExchangeRate, secUntilMaturity) {
|
|
13
|
+
if (offer.isVirtual) {
|
|
14
|
+
const offerAmountToGet = getOfferAmountToGetVirtual(offer, syExchangeRate, secUntilMaturity);
|
|
15
|
+
return Math.floor(offerAmountToGet);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const offerAmountToGet = getOfferAmountToGetNoVirtual(offer, syExchangeRate, secUntilMaturity);
|
|
19
|
+
return Math.floor(offerAmountToGet);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.getOfferAmountToGet = getOfferAmountToGet;
|
|
23
|
+
/**
|
|
24
|
+
* How much YT/SY offer can give (offer sells)
|
|
25
|
+
*/
|
|
26
|
+
function getOfferSize(offer, secUntilMaturity, syExchangeRate) {
|
|
27
|
+
const { isVirtual, priceApy, amount, type } = offer;
|
|
28
|
+
if (!isVirtual)
|
|
29
|
+
return amount;
|
|
30
|
+
if (type === types_1.OfferType.BuyYT) {
|
|
31
|
+
return getOfferAmountToGetNoVirtual({ ...offer, type: types_1.OfferType.SellYT }, syExchangeRate, secUntilMaturity);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
const ptToSyRate = getPtToSyRate(priceApy, syExchangeRate, secUntilMaturity);
|
|
35
|
+
const ytToSell = offer.amount / ptToSyRate;
|
|
36
|
+
return ytToSell;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.getOfferSize = getOfferSize;
|
|
40
|
+
function calcPriceInAssetsByAPYPt(priceApy, secUntilMaturity) {
|
|
41
|
+
const factor = -secUntilMaturity / (SECONDS_IN_DAY * 365);
|
|
42
|
+
const ptPriceInAsset = Math.exp(priceApy * factor);
|
|
43
|
+
return ptPriceInAsset;
|
|
44
|
+
}
|
|
45
|
+
exports.calcPriceInAssetsByAPYPt = calcPriceInAssetsByAPYPt;
|
|
46
|
+
function getPtToSyRate(priceApy, syExchangeRate, secUntilMaturity) {
|
|
47
|
+
const ptPriceAsset = calcPriceInAssetsByAPYPt(priceApy, secUntilMaturity);
|
|
48
|
+
return ptPriceAsset / syExchangeRate;
|
|
49
|
+
}
|
|
50
|
+
exports.getPtToSyRate = getPtToSyRate;
|
|
51
|
+
function getYtToSyRate(priceApy, syExchangeRate, secUntilMaturity) {
|
|
52
|
+
const ptPriceAsset = calcPriceInAssetsByAPYPt(priceApy, secUntilMaturity);
|
|
53
|
+
const rate = (1 - ptPriceAsset) / syExchangeRate;
|
|
54
|
+
return rate;
|
|
55
|
+
}
|
|
56
|
+
exports.getYtToSyRate = getYtToSyRate;
|
|
57
|
+
function getOfferAmountToGetNoVirtual(offer, syExchangeRate, secUntilMaturity) {
|
|
58
|
+
const ytToSyRate = getYtToSyRate(offer.priceApy, syExchangeRate, secUntilMaturity);
|
|
59
|
+
const amountToGet = offer.type === types_1.OfferType.SellYT ? offer.amount * ytToSyRate : offer.amount / ytToSyRate;
|
|
60
|
+
return Math.floor(amountToGet);
|
|
61
|
+
}
|
|
62
|
+
exports.getOfferAmountToGetNoVirtual = getOfferAmountToGetNoVirtual;
|
|
63
|
+
function getOfferAmountToGetVirtual(offer, syExchangeRate, secUntilMaturity) {
|
|
64
|
+
const ptToSyRate = getPtToSyRate(offer.priceApy, syExchangeRate, secUntilMaturity);
|
|
65
|
+
if (offer.type === types_1.OfferType.SellYT) {
|
|
66
|
+
return offer.amount / ptToSyRate / syExchangeRate - offer.amount;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
return offer.amount;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.getOfferAmountToGetVirtual = getOfferAmountToGetVirtual;
|
|
73
|
+
/**
|
|
74
|
+
* Rounds priceApy(float) to priceDecimals precision. Returns integer
|
|
75
|
+
*/
|
|
76
|
+
function roundPriceApy(priceApy, priceDecimals) {
|
|
77
|
+
const factor = 10 ** priceDecimals;
|
|
78
|
+
const roundedPrice = Math.round(priceApy * factor) / factor;
|
|
79
|
+
return Math.round(roundedPrice * exports.PRICE_BASE_POINTS);
|
|
80
|
+
}
|
|
81
|
+
exports.roundPriceApy = roundPriceApy;
|
|
82
|
+
function calcRemainingAmountOnCounterOfferFilling(offerToGet, takenAmount, isQuoteVirtualOffer, quoteOfferType, syExchangeRate) {
|
|
83
|
+
if (!isQuoteVirtualOffer)
|
|
84
|
+
return offerToGet;
|
|
85
|
+
if (quoteOfferType === types_1.OfferType.BuyYT) {
|
|
86
|
+
return takenAmount;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return offerToGet / syExchangeRate - takenAmount;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.calcRemainingAmountOnCounterOfferFilling = calcRemainingAmountOnCounterOfferFilling;
|
|
93
|
+
function calcOutAmountOnCounterOfferFilling(offerToGet, takenAmount, isQuoteVirtualOffer, quoteOfferType, syExchangeRate, makerFeeRate) {
|
|
94
|
+
let feeBase = !isQuoteVirtualOffer
|
|
95
|
+
? takenAmount
|
|
96
|
+
: quoteOfferType === types_1.OfferType.BuyYT
|
|
97
|
+
? takenAmount / syExchangeRate - offerToGet
|
|
98
|
+
: offerToGet;
|
|
99
|
+
let fees = (0, market_math_1.tradeFee)(feeBase, makerFeeRate);
|
|
100
|
+
return {
|
|
101
|
+
tradeFee: fees,
|
|
102
|
+
outAmount: feeBase - fees,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
exports.calcOutAmountOnCounterOfferFilling = calcOutAmountOnCounterOfferFilling;
|
|
106
|
+
function getTradeFeesForTakerOffer(offer, syExchangeRate, secUntilMaturity, takerFeeRate) {
|
|
107
|
+
let amountToGet = getOfferAmountToGet(offer, syExchangeRate, secUntilMaturity);
|
|
108
|
+
return (0, market_math_1.tradeFee)(amountToGet, takerFeeRate);
|
|
109
|
+
}
|
|
110
|
+
exports.getTradeFeesForTakerOffer = getTradeFeesForTakerOffer;
|
|
111
|
+
//# sourceMappingURL=math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/orderbook/math.ts"],"names":[],"mappings":"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"}
|