flash-sdk 1.0.6 → 1.0.7

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.
@@ -11,6 +11,9 @@ export declare class OraclePrice {
11
11
  price: BN;
12
12
  exponent: BN;
13
13
  }): OraclePrice;
14
+ /**
15
+ * @description lhs.cmp(rhs) === (lhs > rhs) compare numbers and return `-1 (a < b)`, `0 (a == b)`, or `1 (a > b)` depending on the comparison result
16
+ */
14
17
  cmp(other: OraclePrice): -1 | 0 | 1;
15
18
  scale_to_exponent(target_exponent: BN): OraclePrice;
16
19
  getTokenAmount(asset_amount_usd: BN, token_decimals: number): BN;
@@ -12,6 +12,9 @@ var OraclePrice = /** @class */ (function () {
12
12
  OraclePrice.from = function (parseData) {
13
13
  return new OraclePrice(parseData);
14
14
  };
15
+ /**
16
+ * @description lhs.cmp(rhs) === (lhs > rhs) compare numbers and return `-1 (a < b)`, `0 (a == b)`, or `1 (a > b)` depending on the comparison result
17
+ */
15
18
  OraclePrice.prototype.cmp = function (other) {
16
19
  // TODO make sure this works when they're diff signs or 0
17
20
  // return this.data.cmp(x.getData());
@@ -1407,7 +1407,7 @@ export declare class PerpetualsClient {
1407
1407
  lockedAmount: BN;
1408
1408
  collateralAmount: BN;
1409
1409
  }>;
1410
- getUserPositions: (wallet: PublicKey) => Promise<{
1410
+ getUserPositions: (wallet: PublicKey, poolConfig: PoolConfig) => Promise<{
1411
1411
  pool: PublicKey;
1412
1412
  mint: PublicKey;
1413
1413
  tokenAccount: PublicKey;
@@ -1948,8 +1948,8 @@ export declare class PerpetualsClient {
1948
1948
  getAumView: (poolName: string) => Promise<any>;
1949
1949
  getAumTrx: (poolName: string) => Promise<string>;
1950
1950
  getAumSdk: (poolAccount: PoolAccount, token_prices: OraclePrice[], token_ema_prices: OraclePrice[], custodies: CustodyAccount[], aum_calc_mode: AumCalcMode, currentTime: BN) => BN;
1951
- openPosition: (payTokenSymbol: string, price: BN, collateral: BN, size: BN, side: Side, slippagePercentage: number, poolConfig: PoolConfig) => Promise<TransactionInstruction[]>;
1952
- closePosition: (receivingTokenSymbol: string, price: BN, side: Side, slippagePercentage: number, poolConfig: PoolConfig) => Promise<TransactionInstruction[]>;
1951
+ openPosition: (payTokenSymbol: string, priceAfterSlippage: BN, collateral: BN, size: BN, side: Side, poolConfig: PoolConfig) => Promise<TransactionInstruction[]>;
1952
+ closePosition: (receivingTokenSymbol: string, priceAfterSlippage: BN, side: Side, poolConfig: PoolConfig) => Promise<TransactionInstruction[]>;
1953
1953
  swap: (receivingTokenSymbol: string, dispensingTokenSymbol: string, amountIn: BN, minAmountOut: BN, poolConfig: PoolConfig) => Promise<TransactionInstruction[]>;
1954
1954
  addLiquidity: (payTokenSymbol: string, tokenAmountIn: BN, minLpAmountOut: BN, poolConfig: PoolConfig) => Promise<TransactionInstruction[]>;
1955
1955
  removeLiquidity: (recieveTokenSymbol: string, liquidityAmountIn: BN, minTokenAmountOut: BN, poolConfig: PoolConfig, closeLpATA?: boolean) => Promise<TransactionInstruction[]>;
@@ -233,8 +233,8 @@ var PerpetualsClient = /** @class */ (function () {
233
233
  return [2 /*return*/, this.program.account.position.fetch(this.getPositionKey(wallet, poolName, tokenMint, side))];
234
234
  });
235
235
  }); };
236
- this.getUserPositions = function (wallet) { return __awaiter(_this, void 0, void 0, function () {
237
- var data, positions;
236
+ this.getUserPositions = function (wallet, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
237
+ var data, positionKeys, positions;
238
238
  var _this = this;
239
239
  return __generator(this, function (_a) {
240
240
  switch (_a.label) {
@@ -243,14 +243,11 @@ var PerpetualsClient = /** @class */ (function () {
243
243
  this.getAccountDiscriminator("Position"),
244
244
  wallet.toBuffer(),
245
245
  ]));
246
- return [4 /*yield*/, this.provider.connection.getProgramAccounts(this.program.programId, {
247
- filters: [{ dataSize: 200 }, { memcmp: { bytes: data, offset: 0 } }],
248
- })];
246
+ positionKeys = __spreadArray(__spreadArray([], poolConfig.getAllTokenMints().map(function (mint) { return _this.getPositionKey(wallet, poolConfig.poolName, mint, 'long'); }), true), poolConfig.getAllTokenMints().map(function (mint) { return _this.getPositionKey(wallet, poolConfig.poolName, mint, 'short'); }), true);
247
+ return [4 /*yield*/, this.provider.connection.getMultipleAccountsInfo(positionKeys)];
249
248
  case 1:
250
249
  positions = _a.sent();
251
- return [2 /*return*/, Promise.all(positions.map(function (position) {
252
- return _this.program.account.position.fetch(position.pubkey);
253
- }))];
250
+ return [2 /*return*/, positions.map(function (p) { return _this.program.coder.accounts.decode('position', p.data); })];
254
251
  }
255
252
  });
256
253
  }); };
@@ -1047,14 +1044,12 @@ var PerpetualsClient = /** @class */ (function () {
1047
1044
  // TODO: Balance checks - DONE
1048
1045
  // TODO: ATA check - else create - DONE
1049
1046
  // TODO: for close Accounts - NOT NEEDED
1050
- this.openPosition = function (payTokenSymbol, price, collateral, size, side, slippagePercentage, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
1051
- var slippageMultiplier, priceAfterSlippage, publicKey, payTokenCustody, userCustodyTokenAccount, instructions, wsolAssociatedTokenAccount, wsolATAExist, wsolBalance, _a, _b, unWrappedSolBalance, _c, totalSolBal, conversionAmt, tokenAccountBalance, _d, positionAccount, params, instruction, error_2;
1047
+ this.openPosition = function (payTokenSymbol, priceAfterSlippage, collateral, size, side, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
1048
+ var publicKey, payTokenCustody, userCustodyTokenAccount, instructions, wsolAssociatedTokenAccount, wsolATAExist, wsolBalance, _a, _b, unWrappedSolBalance, _c, totalSolBal, conversionAmt, tokenAccountBalance, _d, positionAccount, params, instruction, error_2;
1052
1049
  return __generator(this, function (_e) {
1053
1050
  switch (_e.label) {
1054
1051
  case 0:
1055
1052
  console.log("open position :::", payTokenSymbol, poolConfig.getTokenFromSymbol(payTokenSymbol).mintKey.toBase58());
1056
- slippageMultiplier = (0, types_1.isVariant)(side, 'long') ? -1 : 1;
1057
- priceAfterSlippage = price.mul(new anchor_1.BN((100 - (slippagePercentage * slippageMultiplier)) * 100)).div(new anchor_1.BN(100 * 100));
1058
1053
  publicKey = this.provider.wallet.publicKey;
1059
1054
  payTokenCustody = poolConfig.custodies.find(function (i) { return i.mintKey.equals(poolConfig.getTokenFromSymbol(payTokenSymbol).mintKey); });
1060
1055
  return [4 /*yield*/, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(payTokenSymbol).mintKey, publicKey)];
@@ -1163,14 +1158,12 @@ var PerpetualsClient = /** @class */ (function () {
1163
1158
  // TODO: ATA check - else create - DONE
1164
1159
  // TODO: for close Accounts - DONE BY ANCHOR
1165
1160
  // TODO : if out token WSOL -> unwrap to SOL - DONE
1166
- this.closePosition = function (receivingTokenSymbol, price, side, slippagePercentage, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
1167
- var slippageMultiplier, priceAfterSlippage, publicKey, userReceivingTokenAccount, instructions, receivingTokenCustody, positionAccount, params, instruction, closeWsolATAIns, error_3;
1161
+ this.closePosition = function (receivingTokenSymbol, priceAfterSlippage, side, poolConfig) { return __awaiter(_this, void 0, void 0, function () {
1162
+ var publicKey, userReceivingTokenAccount, instructions, receivingTokenCustody, positionAccount, params, instruction, closeWsolATAIns, error_3;
1168
1163
  return __generator(this, function (_a) {
1169
1164
  switch (_a.label) {
1170
1165
  case 0:
1171
1166
  console.log("close position :::", receivingTokenSymbol, poolConfig.getTokenFromSymbol(receivingTokenSymbol).mintKey.toBase58());
1172
- slippageMultiplier = (0, types_1.isVariant)(side, 'long') ? -1 : 1;
1173
- priceAfterSlippage = price.mul(new anchor_1.BN((100 - (slippagePercentage * slippageMultiplier)) * 100)).div(new anchor_1.BN(100 * 100));
1174
1167
  publicKey = this.provider.wallet.publicKey;
1175
1168
  return [4 /*yield*/, (0, spl_token_1.getAssociatedTokenAddress)(poolConfig.getTokenFromSymbol(receivingTokenSymbol).mintKey, publicKey)];
1176
1169
  case 1:
@@ -1591,12 +1584,12 @@ var PerpetualsClient = /** @class */ (function () {
1591
1584
  this.program = new anchor_1.Program(perpetuals_1.IDL, programId);
1592
1585
  this.programId = programId;
1593
1586
  //this.program = workspace.Perpetuals as Program<Perpetuals>;
1594
- console.log("client constructor programID : ", this.program.programId.toBase58());
1587
+ // console.log("client constructor programID : ", this.program.programId.toBase58());
1595
1588
  // this.admin = Keypair.fromSecretKey(
1596
1589
  // new Uint8Array(JSON.parse(readFileSync(adminKey).toString()))
1597
1590
  // );
1598
1591
  this.admin = this.provider.wallet.publicKey;
1599
- console.log("admin:", this.admin.toBase58());
1592
+ // console.log("admin:", this.admin.toBase58())
1600
1593
  this.multisig = this.findProgramAddress("multisig");
1601
1594
  this.authority = this.findProgramAddress("transfer_authority");
1602
1595
  this.perpetuals = this.findProgramAddress("perpetuals");
@@ -24,8 +24,9 @@ export declare class PoolAccount implements Pool {
24
24
  getExitFee(size: BN, custody: CustodyAccount): BN;
25
25
  getLiquidationFee(size: BN, custody: CustodyAccount): BN;
26
26
  getCurrentRatio(custody: CustodyAccount, tokenPrice: OraclePrice): BN;
27
+ getEntryPrice(token_price: OraclePrice, token_ema_price: OraclePrice, side: Side, custody: CustodyAccount): BN;
27
28
  getExitPrice(token_price: OraclePrice, token_ema_price: OraclePrice, side: Side, custody: CustodyAccount): BN;
28
- getPrice(token_price: OraclePrice, token_ema_price: OraclePrice, side: Side, spread: BN): OraclePrice;
29
+ static getPrice(token_price: OraclePrice, token_ema_price: OraclePrice, side: Side, spread: BN): OraclePrice;
29
30
  getPnlUsd(position: PositionAccount, token_price: OraclePrice, token_ema_price: OraclePrice, custody: CustodyAccount, curtime: BN, liquidation: boolean): {
30
31
  profit: BN;
31
32
  loss: BN;
@@ -69,11 +69,15 @@ var PoolAccount = /** @class */ (function () {
69
69
  // )?)?;
70
70
  // Ok(std::cmp::min(ratio, Perpetuals::BPS_POWER as u64))
71
71
  };
72
+ PoolAccount.prototype.getEntryPrice = function (token_price, token_ema_price, side, custody) {
73
+ var price = PoolAccount.getPrice(token_price, token_ema_price, ((0, types_1.isVariant)(side, 'long')) ? types_1.Side.Long : types_1.Side.Short, ((0, types_1.isVariant)(side, 'long')) ? custody.pricing.tradeSpreadLong : custody.pricing.tradeSpreadShort);
74
+ return price.scale_to_exponent(new anchor_1.BN(-1 * constants_1.PRICE_DECIMALS)).price;
75
+ };
72
76
  PoolAccount.prototype.getExitPrice = function (token_price, token_ema_price, side, custody) {
73
- var price = this.getPrice(token_price, token_ema_price, ((0, types_1.isVariant)(side, 'long')) ? types_1.Side.Short : types_1.Side.Long, ((0, types_1.isVariant)(side, 'long')) ? custody.pricing.tradeSpreadShort : custody.pricing.tradeSpreadLong);
77
+ var price = PoolAccount.getPrice(token_price, token_ema_price, ((0, types_1.isVariant)(side, 'long')) ? types_1.Side.Short : types_1.Side.Long, ((0, types_1.isVariant)(side, 'long')) ? custody.pricing.tradeSpreadShort : custody.pricing.tradeSpreadLong);
74
78
  return price.scale_to_exponent(new anchor_1.BN(-1 * constants_1.PRICE_DECIMALS)).price;
75
79
  };
76
- PoolAccount.prototype.getPrice = function (token_price, token_ema_price, side, spread) {
80
+ PoolAccount.getPrice = function (token_price, token_ema_price, side, spread) {
77
81
  if ((0, types_1.isVariant)(side, 'long')) {
78
82
  console.log("inside long");
79
83
  var max_price = void 0;
@@ -84,23 +88,10 @@ var PoolAccount = /** @class */ (function () {
84
88
  max_price = token_ema_price;
85
89
  }
86
90
  ;
87
- // Ok(OraclePrice {
88
- // price: math::checked_add(
89
- // max_price.price,
90
- // math::checked_decimal_ceil_mul(
91
- // max_price.price,
92
- // max_price.exponent,
93
- // spread,
94
- // -(Perpetuals::BPS_DECIMALS as i32),
95
- // max_price.exponent,
96
- // )?,
97
- // )?,
98
- // exponent: max_price.exponent,
99
- // })
100
- var x = (0, utils_1.checkedDecimalCeilMul)(max_price.price, max_price.exponent, spread, new anchor_1.BN(-1 * constants_1.BPS_DECIMALS), max_price.exponent);
101
- console.log("x:", x);
91
+ var spread_i = (0, utils_1.checkedDecimalCeilMul)(max_price.price, max_price.exponent, spread, new anchor_1.BN(-1 * constants_1.BPS_DECIMALS), max_price.exponent);
92
+ console.log("spread_i:", spread_i);
102
93
  return new OraclePrice_1.OraclePrice({
103
- price: max_price.price.add((0, utils_1.checkedDecimalCeilMul)(max_price.price, max_price.exponent, spread, new anchor_1.BN(-1 * constants_1.BPS_DECIMALS), max_price.exponent)),
94
+ price: max_price.price.add(spread_i),
104
95
  exponent: max_price.exponent,
105
96
  });
106
97
  }
@@ -114,7 +105,6 @@ var PoolAccount = /** @class */ (function () {
114
105
  min_price = token_price;
115
106
  }
116
107
  ;
117
- console.log("min_price:", min_price.price.toString());
118
108
  var spread_i = (0, utils_1.checkedDecimalMul)(min_price.price, min_price.exponent, spread, new anchor_1.BN(-1 * constants_1.BPS_DECIMALS), min_price.exponent);
119
109
  console.log("spread_i:", spread_i.toString());
120
110
  var price = void 0;
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.d.ts","../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/buffer/index.d.ts","../node_modules/formdata-polyfill/esm.min.d.ts","../node_modules/fetch-blob/file.d.ts","../node_modules/fetch-blob/index.d.ts","../node_modules/fetch-blob/from.d.ts","../node_modules/node-fetch/@types/index.d.ts","../node_modules/@solana/web3.js/lib/index.d.ts","../node_modules/eventemitter3/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/idl.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/context.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/common.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/rpc.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/provider.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/nodewallet.d.ts","../node_modules/@types/bn.js/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/error.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/account.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/accounts-resolver.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/instruction.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/transaction.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/rpc.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/simulate.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/views.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/methods.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/types.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/event.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/accounts.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/event.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/types.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/instruction.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/accounts.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/events.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/types.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/instruction.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/sha256.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/pubkey.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/hex.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/utf8.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/bs58.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/base64.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/token.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/features.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/registry.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/native/system.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/native/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/index.d.ts","../src/constants/index.ts","../src/utils/index.ts","../src/oracleprice.ts","../src/types/index.ts","../src/positionaccount.ts","../src/custodyaccount.ts","../node_modules/@solana/spl-token/lib/types/actions/amounttouiamount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/approve.d.ts","../node_modules/@solana/spl-token/lib/types/actions/approvechecked.d.ts","../node_modules/@solana/spl-token/lib/types/actions/burn.d.ts","../node_modules/@solana/spl-token/lib/types/actions/burnchecked.d.ts","../node_modules/@solana/spl-token/lib/types/actions/closeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createassociatedtokenaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createassociatedtokenaccountidempotent.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createmint.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createmultisig.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createnativemint.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createwrappednativeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/freezeaccount.d.ts","../node_modules/@solana/buffer-layout/lib/layout.d.ts","../node_modules/@solana/spl-token/lib/types/state/mint.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/extensiontype.d.ts","../node_modules/@solana/spl-token/lib/types/state/account.d.ts","../node_modules/@solana/spl-token/lib/types/actions/getorcreateassociatedtokenaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/mintto.d.ts","../node_modules/@solana/spl-token/lib/types/actions/minttochecked.d.ts","../node_modules/@solana/spl-token/lib/types/actions/revoke.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/types.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/setauthority.d.ts","../node_modules/@solana/spl-token/lib/types/actions/setauthority.d.ts","../node_modules/@solana/spl-token/lib/types/actions/syncnative.d.ts","../node_modules/@solana/spl-token/lib/types/actions/thawaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/transfer.d.ts","../node_modules/@solana/spl-token/lib/types/actions/transferchecked.d.ts","../node_modules/@solana/spl-token/lib/types/actions/uiamounttoamount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/index.d.ts","../node_modules/@solana/spl-token/lib/types/constants.d.ts","../node_modules/@solana/spl-token/lib/types/errors.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/accounttype.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/cpiguard/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/cpiguard/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/cpiguard/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/cpiguard/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/defaultaccountstate/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/defaultaccountstate/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/defaultaccountstate/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/defaultaccountstate/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/immutableowner.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/interestbearingmint/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/interestbearingmint/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/interestbearingmint/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/interestbearingmint/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/memotransfer/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/memotransfer/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/memotransfer/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/memotransfer/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/mintcloseauthority.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/nontransferable.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/transferfee/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/transferfee/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/transferfee/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/transferfee/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/permanentdelegate.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/index.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/associatedtokenaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/amounttouiamount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/approve.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/approvechecked.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/burn.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/burnchecked.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/closeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/freezeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializeaccount2.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializeaccount3.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemint.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemint2.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemultisig.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/mintto.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/minttochecked.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/revoke.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/syncnative.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/thawaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/transfer.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/transferchecked.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/uiamounttoamount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/decode.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemultisig2.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializeimmutableowner.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemintcloseauthority.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/reallocate.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/createnativemint.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializenontransferablemint.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializepermanentdelegate.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/index.d.ts","../node_modules/@solana/spl-token/lib/types/state/multisig.d.ts","../node_modules/@solana/spl-token/lib/types/state/index.d.ts","../node_modules/@solana/spl-token/lib/types/index.d.ts","../node_modules/js-sha256/index.d.ts","../node_modules/base-x/src/index.d.ts","../node_modules/bs58/index.d.ts","../src/poolaccount.ts","../src/idl/perpetuals.ts","../src/utils/rpc.ts","../src/poolconfig.json","../src/poolconfig.ts","../src/perpetualsclient.ts","../src/pooldataclient.ts","../src/token.ts","../src/index.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/ws/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/mocha/index.d.ts"],"fileInfos":["2dc8c927c9c162a773c6bb3cdc4f3286c23f10eedc67414028f9cb5951610f60",{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"b4473933ebd454f0b38bf002e92738f978f5197ad47627e6b2a6647046997256","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"f749812878fecfa53cfc13b36e5d35086fb6377983a9df44175da83ccc23af1f","affectsGlobalScope":true},"84168c1e1f6e21906eea5167154748c1e9fea5ef6f2e1b2b2d2cb19e89fbd81a",{"version":"8155b7b79b6e7d7c13d3203f40cd8c201bdf2c0c25af536992d8962a28cac561","affectsGlobalScope":true},"5ca34a9a8b59bcc0e58730e702aa0823557122c86d6a6e1b6eeae85babb48513","c1d93a28c5312d757e449ad068c3a43ad0d961ab06e6a3b7aaa7d48c204a1deb",{"version":"77b2a2f1719b4c19b79bf2bf4833f67770e30767e49102a6b75ab3b3cf8b5db7","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","57e75559358fd6f9593b44506d75871004c124a70b6be3e0ce18597b71a08fc2","160f307d5ccc1f934de7fbed97f1d2016402f90f204c484e20bd5c2a19a4172a","9c1363edb96f09d8d2140284a39015dba08d5b01a98334ba9ad8784ab160c835","2a56407acc5881608ef5fa4c0688d446df6adfd010578ce83dd1b747d895b17f","ffa8324a4c0611f9a50262fb36f097eeabe0fa0d71755aa67156da13cde1b932","ad5c7ca4a4dc8e39e0aa221b981f6306ca1c037c99bd4902bf02831ba5d7fae9",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"5362b44ccdfba77ac392febf7f8d755af484222cfdc7a9aa1dee67bf51a352f9","affectsGlobalScope":true},"4866843595b27b290ce6cc8092818ede98631734525453dec48d32d7f6726f18","d036da8d9e6391ad06ff5a71b8018838f0990667a178390eb48462059dba92de","63728b518fee91037e3d44081b0c7f3cc6fafb79a997dca5300a899277384867","8c4a16f8523cd932b16f3b6feb983037d2ca5699946d1f32b3787055fccbfff3","b76baf9af98ef1da1c3a681e66034c9ce21862fa4177235153d9719df72c2b1d","89d639ae440d34751d94c0333d83bc4dcfadc45cd15849f74cc1d9c0f0ce0413",{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true},"92cfb0fd9ea018f140b7a9af0868daa80646e4f2fcbde2d60fb60c0319862ec8","7faa534c9c865c9338a8b46fe3fc3822f6ad58747240b103d0606e63990a4935","0ae6b96cc95c41d86deb7c208256f126bc58bbb6829e1e29b063aa9eed9ea3f7",{"version":"c6e4a85271072ff15b04d09075b357407d4cdead8ca536ec613a2bb02a03285e","affectsGlobalScope":true},{"version":"5761c90b0cabdd6bd1f5fb1c3bf942088fdd39e18ed35dbe39b0c34bc733bf13","affectsGlobalScope":true},"e9f997f4724f4a19ddb396660061b55ae90dd0e4bb7a34788f7c9d1ceaf7dade","f6c9e1baa89f163bc1b29001ed43d3a24734e53a756e0ed89a92e40be17af5e3","4103297e96869b5226a7570a295fbf5f845e9dc4a3b3f8f242993c7f8aad1d42","2b847f2aba41dcd69677684d5d300c08aea4e306c305fd39bf548cef19f03cfe","f3b323d28220d61475dc0229fad6d0bff24381766b40a30fe67743da772c82ad","b966a6e620b297ecd31d0359894a4018255d85da5a277b21867296e97e21fefd","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","cd2b61246eeb62ebc6842fe28f7b3389c081d3b6355091cffe3d12c083bd5705","48e2eb12763f6f72f9daf15967499f69bc4dcda00e1c93696ba25d14af513660",{"version":"57141225815ac2d5caf7e781c6442861854149675096afd9ed5b699aff80a5e7","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","1edbd43bfc703943f0eabfef8aac222fb3e509d9b13c60295cb206b9b75bb6be","12fd795309573a15193cf71d22f7e5debbec599b77ffeb3bb5c0fd1bd15cbe6d","4082bc53696f77cae7f84dd002d4766f3a814b9b2b0d9be4e399ee3f9afc501d",{"version":"e32d7b239d2649efbb57eca949ffc764fb76fd8cce9f57632c0217407a79fa1a","affectsGlobalScope":true},{"version":"5bf73febf7c8cc741ba62e94758eed3208f62473c50702d209bcfece18e12421","affectsGlobalScope":true},"3758d3cb9971c113455a802ad7fa16fa216639add0f2c90767cf177f8d85106d","048a373805662e209f7af8717b45ae77a8052ff2272234d6f8cb84d87831f516","f71e0cc279b5086fa3f46f0bb467d376a18776ec7c99c45b3bd7c670097e1308",{"version":"09e6c9b5d3f323c84bc103e387d1b41e03f5155909615ad877d862ff82758d00","affectsGlobalScope":true},"5af698993d8ba0b74e6d34902091b9cadab8e30d3b009746331721651b5890a4",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"27fea46e25bceaf52375ad48afdf5b9f78af76d551e30cc86077541d1c405e8e","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","d782e571cb7d6ec0f0645957ed843d00e3f8577e08cc2940f400c931bc47a8df","9167246623f181441e6116605221268d94e33a1ebd88075e2dc80133c928ae7e","dc1a838d8a514b6de9fbce3bd5e6feb9ccfe56311e9338bb908eb4d0d966ecaf","186f09ed4b1bc1d5a5af5b1d9f42e2d798f776418e82599b3de16423a349d184","d692ae73951775d2448df535ce8bc8abf162dc343911fedda2c37b8de3b20d8e","867d62c61432e319e2cbdef2980ae7e1fc034f72fd265c91f92eec3d07e4d9d6","b80c780c52524beb13488942543972c8b0e54400e8b59cee0169f38d0fabb968","b61b573ff4ba88d0ca9f59655f66ddd34db4696d2b51c6ef7a959f2b70cb4109","8174e9c229331b9202cf34327e89794a98bb1a442aeee03c46c4b50034b72142","f40fd5b46add805ff018d3490352931e069eb524e3068b86d46d048534d1b824","2c31f69dc0e07f3c396462dae566bf822b1fbc9b56ae1f64ac73a652cf7e4a35","6888c13dda417d9057790a8c403e77e0fa1d7a083d947fdd9310961548a0a08e","a0ff940b1a0e503c45976623abdb39bcfecee97e9f40c3c59f16c659a4da3239","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb","e2befcff13777268fe913fdae10fdca86632e142d0a56bafa88c2a15ee220701","5a739f3dbc49e8769afe70233c31489ed34ba9efe7f1150635658497cb1cbc71","3035306296b362047b08a2a4040a3bf33f0625287b3891e69b864b5d78b8286b","b11e5173a66497863b6d525009624f56ec5124cd6c30e56e8a3e9b41dd303962","178e4bbf4575f0f3d8027d67870aa11bf30ea98663a9f205ca03adc05fa135d7","d57e501aa9e3208fa52cdf03c414173e40523b20a89b5f70c5bffb53ead42c07","a011ef547fb4aca43d5b37d44419f9fc16ba089edf1eb96d20d9c9ee6beefc77","0eb499336fda2cdb3acbfb5c160153028f647904326921b84103e2c83f6892fb","29d441a45ca67aa4b9dc48eb80f26dce82602a066e51af92978a1b4bcb78c507","c5dbca090d5b388006482f4c159f9560ac5a44a7a6d77bb4a64c8749cf8ddb4b","cf18efc36568036078617bb6bd66186f3f68ba789baa67147a0e3128c9398bd0","dc4b884038ecf1dc687a89944e04cf6b1e83391f2d541212dccbb0de67c97f1d","8835ccff7f7bf75094749fd5da9604becacc31016f683907642f92cfefa9346d","8ac4904be5b82699041086aa0dd33327d2afa3bcb107fa887c308bbdde1ea7ce","257e143511763fc89bde384f58bf0a02e1708330705370c0a4483e9f1500ceaa","18584847cdf14e522faa67916d50b8ba7479c8f12262c99d90078dffcae12a8e","44e590a660a2ed3c71e92c85a4af2507b43359825ab4805ec2dcef54e9d564ee","30a39429dd194c9bd3bbb32a32e247d9b547524308d61acc1ba8f16e72e61ee9","f0b04452cd330d29522cbe34176e683f21429e690c2aaec5ecee88303537fda4","f499b42bfdba1be1e0a9cf2ea797ad00694bc7908fdbb8f1f50e4a8034387f67","57794fc7348347817d469e09db6a3faf7aec386f92cb0dad0acbe1336a3f68d7","b82e3f89b8b5d563df90b8e5da3dc2b39443a4db8a3c0310919d55a242da56dc","847ccc20490110124a2252c5a705dfe1355921470d2bd6da9af1d4943e54346b","4cc6d8bdf1e7d492569cf7437ca3f01bf9cc767c3295953b415a6c8d5badf1ab","3b0309147d62225ffd116d3440f480e8df63a47e71e47fb6b432858db931b9e0","139db12276e11f90df65778f7513bc3f85957d74fd0d1bbeb19e4a1dace4f662","2884fcc91f5d42a3288a75a558b036923e3d926354fa0c3fa0251c2c3d4b54e8","013446b40d561ed0b2c2822d01954d4612d5e67222369073345aeebeb03fd406","4cb9df3ea8035d85480096a5ff94dbbcf941efb38c5c1ea77f1dc164d4342728","b35517e270f8735aa771989daa684625bc6285c91e8e4377f13f70a6ff415fc9","291b47b629e4c15e96bacb8d1f707573e72fedbb0fcab43f729e5f9d73560c3c","ae147af43f062662157775c85e3801ea3b70dc7b8f39c7aa260ad215e1942cb3","2a1d0598c9acba389f6a3369d52822a34045bd2ce75d012613bd0b802663c73b","78e817751f43865838b80e44aec551f4d2eb50c7a8ef528a628da9cf8c427b66","878d8319802cbd907be389848225859546d87c66c5b8cf7b864fab14d3dda283","897537e8a5aa22a4ec865ade55b791c0010c863ac5f34e57e7e1c156d9862546","f253b0f34ac2757af5c73868b3235104f5e311c03859987b2402afd1382db058","88f98a99221fa413325886b54d3f2eec69c6092190c2693c2a460240c7bb2f28",{"version":"2c9dde3ae76045c82a56129c31fb81f3d4dc32a7b20439f8ed56a31ab72fe458","signature":"48ba10d1f6ea9356a7395eb4adebae61972eb6c62b2af44b5e23a54a27aaa2ec"},{"version":"e3f1a00076b258e02479b1473628319ee745d35dee4d33c9ca8e3ed9a87d7ca9","signature":"639ac0f2b28cf6132237a0c94cc14dc6d7bb7a3204a1726c47369bb0b764e87b"},{"version":"d546a59520e2111d7584a4f917ef0296edfc89e36994e1f54064d595d8593a3e","signature":"be40e4226d054d2516605630a13e092d317cd44e1c7e3505a8f7296622f886c8"},{"version":"c6b52b12116a75888eb9cc204a064a5bf532a648d04c3f57a2be0324a42525f6","signature":"690e38123c7ac7f04d143613eee5b16c932f9d6b7a0a3d10adf0da1054dd8887"},{"version":"b231d8571a0383a4a5d7f65999a1b7986e3f574829aefb66a4cfbd023c612fca","signature":"55f595bd0484b08c964623f461093e9514f88429851ba6af7491a9d95e994054"},{"version":"9f685d649de1dec56163ba94c51efab13afdf9d74216ce38b0378970af04ea96","signature":"ee236ddc5430e6b1f6a6e48bb12a00f99b34317dd0caf631ab51a719e8ec2374"},"f2e5fa7d4aefe542762909ac966abdeaaaa76befbf561924edabb02b9b57542d","28e9fcac58f5957d1b82ab2b856799c24f7530e1d048198c1d0b9923762265ed","072a49808080400016c2557d47648297d854da5d75c2005083432f5bbbc19949","f25d3ac13258725686f0fbad31b82418ce00799f5d145570d6ee398a39651043","bbfcec9ed673c3dcb2668c3b216c7be9102a9e900e3d73801611da7f21746fdc","da3e4adedc5b5fd041f31a11d6bd98dde20febb2f2705988396d5a07f6f17543","9e6a844fae8202f8aa8bc6c7d076980221a15106c2a6a6f1e38fe1f2b8d07d62","99b07e053c9eae92b706ce3914d4b14bde4d896afc5a351c4660918ac64c6584","9fd36cbc7e5eaa50308919a4496ac677490c20a36a26208ef288f3033ad4c855","739adbaa02fd46f768fb88c72bc3359966241d36bc844a54f158fc68539f951b","8909288948f7bf5a408b6521a659a78765939ee319cd68ad5df4fb76fe1a755d","ff90f20e235b71cea80a352916e7f2a4737302e4f5b539d00e75204c82014b70","10ed1e58a17e61a6eb4f1bca430999ac214629058239489d498b88dc891f2327","1d1c0c879e2139313479670b032fc056ac93136a8199ed3e30fd118004077627","92ad95e6220ab829c8f5cfca9be43e26e041a2922cde6e998782030d41c49963","12c924e7f2e516943ce436ad51965a38cbbd9dee5fe670ae6349bd8c1bf76f52","75f4d060766b9c61825a122b94d61c45bbb6cafaa9f077c59987dc6c00467c76","42b7e0b9bed165997eb168904dfcd11254ff978ceeacda906e77d8f44c89f31f","b16879b91b181532922b7f279d8cba9c877c1436d3b0c55285ab8c6f43fd5dce","278055752eff1ed4b30b663d6b812923f041fbfd6cb6563d1b9350b53850059e","4ba1b1b1750a88a8fcc7d521d3ec3ba6235c28c73993e38adcaaec51afd57d5b","4991ee4482820b62aa2e6cd775d9984e0a45a7f6ba64d8a2737cbbb8af7c53f9","450257cba6657271a6646f9561b43062a5d2b39dba8b2e7b4d7c7fda73c6fe57","9a909c6bcc1cd061f649dc3b4dc9922fda9858166617bbc7263dd4c8bee7546f","c47421f20cec5286ce39834a3327579f36cad21f053ef8c09076c1894cd66d93","4c9975f07791ea91c74c2b8140ab48eb5ac2cc81417a108e6612c889a8bd23b3","b7b49dc760f6440dc8677ef49f0ca75c7f0f2f97f461a07bf2aa03723ac61d3d","79d938cb2e44b94e4f1497a9ccc2ff5da2fb7360d4eb7485da114055bc712379","566fd6af165b3acfa13b916594e422994e5d14f4138609fd252504800c9b96b7","ba9605656fa2ff88d69fd3676770ff1440fd70b4cbdce4ca85ac4ce27e659c7a","fedb9303cc3d1af9e5698092e3fd3622c2eb05805582107ac36c8cf0a160d16e","65d51b460383b6f7546f22c888c8b41e0de7385f20ec971acbb56da83bcbe611","b64e1ff30069e6fcfbd6b01df71b89e9f7d34581d1eba2e1fe3f3b1eaf70f28e","b725c869a5ff20458780f26afbe392017e690ee03decdb7d1202ac3539a8e235","4aaaa437c7b26c9b2668da29c1674d5be3b8f8fa150f3d7dac75d67314be9f37","f945eeb4aa141ce1af78affc6547c979f97b1cbb7d8995d4762d006e3e35c667","13bce356dc26c750244fe75f160388f59a1725d33e401ae26dc084277dd9491e","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","8a561d8bcaf60594a95c3390a489824c6688e81802701260444fb47881950257","cbc6cad822896d9d97bda9a0cea0834be8999dbe2040758cd6da3948c24415b3","e6ee1dcd00ca1c765c95b0abb2114c2ead786ae7610c823df4cd8fffbcbede10","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","8b25e65927ea90be5da89799997c6f7e7dbcd826a954bd1a466a931d380a3511","af7d2a7f8f8a0d9bcce2a017b1a9f6ec85f57e9484a65f46b6cafe8fb079e9a3","9cb1f37abda1396ced2508edf3d111c99a94421553138edc06353c1c824b8cc8","68a8ceeea894c6d5989c89207e3ac1b33c2c2026ad4a9e8c3cff1d87ea67ec77","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","989b5f3bf15619484ef2327c0a108ad33191bfc2e3deb6347bf175e79fd02e51","2b51763cbd722ee2747bc9e860dd0cc0200cdfdf6735c5c2fd4f5e3e02f1ec86","b650f3fdfd9e86f82d906dfbd81b87ef7c7d7434ee1de923d7d6cf5647434a02","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","3e2b6603bed1f4a82bdad05b68a66cc5943f8e12c647bf2f45a06c9d72cc0e00","eabca6c007c20da02a0cbbf23f6de3c39e662a9adc1a92736968179d7c4cc569","625ea89b6b179966c652b7bb93b57e7c1c2343eb9aba6cfb3ddf801359cde65c","1a69659e9cd6e3785e995d1e748809aa708a76fda03988b7ead402534311c106","27e553ea7ffbcaef2be2af5a79fdbf83cfcda0f95bf17e3c378b33402a28c1d6","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","068a6c2f0554b945cbfb006187f4c9c27386684810189dfe026a9b30470d3984","dd22a6e590d7fbabb29b903a809141cb1426846d23c21164ff4223a7f9dcff1d","93cd3ba5193ea2029b2eb0b20b94ca9c4e6b9c2a696d7d1a05211a2916ca0d77","748553e51bfbef2b4c8e646275f687e60ea77665c514ee1f880bf5a3cd509f37","a4d09f9410ec90d4b07cd054e8e2f234feb27b66b106202b386ab0b157663358","3749f5690d24338ff4b878db8d0f1b47d04fe891634c88ca56f7166f944fb96b","939f5a5215d6be2165c6a4116f5abb433b84df00f3ac4e458f3cd732786e8431","5f92a8bc72a87fca63d413ed8f303a2df36fb8143f0e974d0844c7422318909c","2a0e1e0a89c6a3991cc04812d4c6fcf92fe7511de87a684bc60357438dddf399","4ddb790ba5f1fd3689213c0501dbf21a7285f2edf562a8f7d86654877a868fc9","b0b840a3379f3539d037cb5b602541d2ab6984462761e505a23793866dc7a0d7","7aed6616e78d880577a37fa5edd42b690354874f1001acdbf21ead2f803a36a0","73a7dc6d00925ef047bc915a54cab15bb242d549b9334d9b5151cc0f35cfaf77","0a1c74bccc0c5a1f22012144a3d9afc19951348540c7ff5e5feaf4eef6259b80","3a1d5de5adaede0fb1ca2045f8b10a0e86f480a1082a11829a0b48da8ad6157f","0a1057aef93b764fb9665d101f2a050f6e060c37ec5b88f2d27bb83412a3487e","6164b754612e5776cc934dc0d6494fe2ee084d39d1cbc6fe4a23a45326730ccc","47679a6b6411019e8f7a443ec3addbec38a79a7e4679c00bc73d3ccdb81d64ce","cac86b9dbfd00f0ac7731f4074d2c69260c88ea28de96a71b0cb4efb5779b869","65bd0d34233fcaab54f5463703a0f022b2db197ef24c4a1d3adda1a9d3d6d502","f5cd1b398a44c53407e4aa1e8b503d0664299f002313d31bbce221644aadc6cb","c2f032cbe6aa8d59f021ccd865990d4d55c11fd3a1b96b81c56903cf05e36f1f","aa20bc1ba435f2a49bd640992da9517e31896e8f6d1a4817800ac96d6f10d6ea","5621180d5cf6e50f53fd6c73e0a60cd4115353f919bdd193580746896167da63","9cc5c390465b87096b69b2b0612a341d974b658cd28447696583f2762226f8c3","08371984685828cedaa25037b76def8f8f7f8304910dc66627bb58a2f53ecea4","7dd1c6c1b927f9edb94773f9333666f52f7b0bdf49a9a7f63129e9e66d1222cf","174f99dc1948a64c4211702a0fcc45d684d05fdfba3100ba4485fe45adb4d7f3","19405c79422e9c2d9ae1affae558857d3cbd138b17db596c642d008cd6c485cb","6c2ba8fe0797b626104a2fd4e8de0dad6edc4b932e4a50a7b72afa09fdcddbe9","dabc6bfb18fc1f988d37c8b659eb07fd35e8269bfa099b6dc02c14093c2b8b1a","ec9dd267b792e7c5c3733a45a3d2e43b93f02b98d86d8be50e11f9c15940c02b","a8f278a697ab8646f88cb2ba9783814e5438637cdfc3c5278e8aca82b4a1fc44","239d9e77e0026e7375dc9b6122f1b62d2c39fc2e5c10f50787cd321880146b95","0f3ca52b0d50160be177f8c79efbbcd666726c2de9256d6335e0d0bcb2e40d6f","1d8820a067af2309ef4f7739d2ada59882eebb3b2b595ff78496760c6f51ba60","0afbe91142eb631d6f31be624cf8a550b03736bfd22b0f309405a6fe4d4c9517","a3c89483a38d76c77a13b69b268a9e5d13abcdf0957ca3f28c9702c47ce8050f","40ec7e761ea0ddfc0add7aedb95dacfc579b25010ed0e2190abc1d34bb67f81e",{"version":"5873428a6d2f2c855bc8023b46f4c89d72b709ffc1d98f0445809167cee246e2","signature":"323d3d3e457d1eb9526c8fdea89c2b16d5355dcec621da17085a756f4c2b1ab7"},{"version":"b49e4655a72e6aad5c053a8b12cbf0e1f0ac55bf109c769b375d2511eb75f03e","signature":"921f69457a09515346325ffeeafd689de310bc54d114df81b81be29e1a6e94a9"},{"version":"02cc0380ebf42b8437ba37af0ad6dd67d2939140fb9a794d1e84fd30c3d54be9","signature":"1ab9af237b3041e80ef9bcd9e03a8095cb0215f8ce4a5007bef69ec5d7ca009f"},"f65576c9ff109070a1a1bf0e6e98ee1b856ec65007b3b7260452ab0d8fcad704",{"version":"c780378aba38c97742764fb1b2b6085e3323c4c32aaad62cb4cb856a7a45d8f4","signature":"8a4f01ee0f1b88ea7e2c56f7a7c0fe4c060e7e5e6fcfeac1ecc14381636bf468"},{"version":"7d5a5fe268f45a0e5ba4936c776aed0e31f87c4ea59978f1b51a2978493df28a","signature":"dca1840cbc10d2cf2689189b24863f17b179e76295c0a8e9dca926716271f9ef"},{"version":"3a2bd0099320db8a26dba2f01f0b0f40fc7c4760d862a91fee66739b23c56145","signature":"465524d0ebf697f1346f9a2d615bf9de656df27c08ea3cb7cae4bdef6c2e1cdb"},{"version":"cbe55fad4dd27bd9d3c0ad6deb96a70dbaf32b2a4388e706d11ee508e654c4c0","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},{"version":"406de443f9a496b1d2df5867701317bbd04367ba6a0ca39b2797acd9ce25041f","signature":"5420080b9a05cf0ddbf14c2221fbcd42dd415048c2573839613e79faa0b2eb9d"},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31",{"version":"b9734142a4b241cfb505be4a2eb0261d211647df7c73043f817f4fdd8d96c846","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true}],"options":{"declaration":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"target":1},"fileIdsList":[[50,92,99,108,135],[50,92,99,108,125,135],[92,108,126,127,128,135,136],[50,92,99,106,108,135],[92,99,108,125,129,134],[92,99,108,135],[92,108,125,135],[92,108,130,131,132,133,135],[92,106],[50,92,99,106],[92,106,108,112,113,114,115,117,135,136,147,149,151],[92,150,152],[92,112,134,149],[92,106,112],[92,106,108,112,116,123,124],[92,106,107,108,109],[92,106,108,110],[92,106,108,112,124,135],[92,106,108,109,110,112,117,125,135,148],[92,99,106,107,108,110,112,124,135],[92,106,108,112,116,117,118,119,120,121,122,123,124,135],[92,99,106,108,109,124],[92,106,108,109,110,112,116,117,118,119,120,121,122,124],[92,106,108,112,119,124],[92,106,108,112,119,124,125,135],[92,106,108,118,124],[92,99,106,108,109,114,123,152],[92,106,108,121,124],[92,106,111],[50,92,99],[92,99],[92,139,140,141,142],[92],[92,111,137,138,143,144,145,146],[50,92,99,106,110],[92,99,106,114],[50,92,99,106,110,112],[50,92],[92,106,176],[92,159,160,161,162,163,164,165,166,167,168,169,170,171,172,177,178,179,180,183,184,185,186,187,188],[92,106,182],[92,193,194,195],[92,106,173,181],[92,173,176],[92,197,198,199],[92,106,173,176,181],[92,173,174,176],[92,99,174],[92,175,192,196,200,201,205,209,210,211,215,216],[92,202,203,204],[92,106,173,174],[92,206,207,208],[92,173,174],[92,212,213,214],[92,106,173,174,176],[92,189,190,191,217,248,250],[92,106,182,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239],[92,181,182,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247],[92,106,175,181],[92,106,181],[92,99,106,173,175],[92,174,176,249],[92,99,106,173],[50,65,67,92,99,105],[65,92,99],[46,92],[49,92],[50,55,83,92],[51,62,63,70,80,91,92],[51,52,62,70,92],[53,92],[54,55,63,71,92],[55,80,88,92],[56,58,62,70,92],[57,92],[58,59,92],[62,92],[60,62,92],[62,63,64,80,91,92],[62,63,64,77,80,83,92],[92,96],[58,65,70,80,91,92],[62,63,65,66,70,80,88,91,92],[65,67,80,88,91,92],[46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],[62,68,92],[69,91,92],[58,62,70,80,92],[71,92],[72,92],[49,73,92],[74,90,92,96],[75,92],[76,92],[62,77,78,92],[77,79,92,94],[50,62,80,81,82,83,92],[50,80,82,92],[80,81,92],[83,92],[84,92],[62,86,87,92],[86,87,92],[55,70,80,88,92],[89,92],[70,90,92],[50,65,76,91,92],[55,92],[80,92,93],[92,94],[92,95],[50,55,62,64,73,80,91,92,94,96],[80,92,97],[62,65,67,70,80,88,91,92,97,99],[92,253],[92,102,103],[65,92,99,101,104],[92,106,114],[92,106,114,153,154,156,157],[92,153,154,155,156,157,158,255,256,257,259,260,261],[92,106,152,153,154,156],[92,106,152,154,155,156,157,158,251,252,254,255,256,257,259],[92,106,152,153,154,155,156,157,158,251],[92,106,152,258],[92,106,152,153,154,155,156,157,158,251,255,259],[92,106,152,156],[92,106,152,153,155],[92,106,114,153],[92,106,113,152],[106,114],[106,114,156,157],[153,154,155,156,157,158,255,256,257,259,260,261],[152],[106,152,155,156,158,255,256,259],[106,152,155,156,157,158],[106,152],[152,158,251,255,259],[106,152,156],[106,152,155]],"referencedMap":[[126,1],[127,2],[129,3],[136,4],[128,1],[135,5],[131,6],[132,7],[134,8],[130,6],[133,6],[115,9],[108,10],[152,11],[151,12],[150,13],[113,14],[117,15],[110,16],[109,17],[125,18],[149,19],[116,20],[148,21],[118,22],[123,23],[120,24],[121,25],[119,26],[124,27],[122,28],[112,29],[142,30],[141,31],[139,30],[143,32],[140,33],[145,33],[147,34],[138,35],[146,36],[111,37],[137,33],[144,9],[173,38],[159,9],[160,9],[161,9],[162,9],[163,9],[164,9],[165,9],[166,9],[167,9],[168,9],[169,9],[170,9],[171,9],[172,9],[177,39],[189,40],[178,9],[179,9],[180,9],[183,41],[184,9],[185,9],[186,9],[187,9],[188,9],[190,9],[191,33],[192,33],[193,9],[196,42],[194,43],[195,44],[197,39],[200,45],[198,46],[199,47],[175,48],[201,44],[217,49],[202,9],[205,50],[203,43],[204,51],[206,9],[209,52],[207,43],[208,44],[210,51],[211,53],[216,51],[212,9],[215,54],[213,43],[214,55],[251,56],[219,43],[220,43],[221,43],[218,9],[222,43],[223,43],[224,43],[245,43],[240,57],[225,43],[248,58],[226,43],[227,43],[228,43],[242,43],[229,43],[230,43],[243,43],[231,43],[241,33],[246,43],[247,43],[232,43],[233,43],[244,59],[234,43],[182,43],[235,43],[236,43],[237,43],[238,43],[181,33],[239,60],[176,61],[250,62],[174,61],[249,63],[106,64],[114,31],[264,65],[46,66],[47,66],[49,67],[50,68],[51,69],[52,70],[53,71],[54,72],[55,73],[56,74],[57,75],[58,76],[59,76],[61,77],[60,78],[62,77],[63,79],[64,80],[48,81],[98,33],[65,82],[66,83],[67,84],[99,85],[68,86],[69,87],[70,88],[71,89],[72,90],[73,91],[74,92],[75,93],[76,94],[77,95],[78,95],[79,96],[80,97],[82,98],[81,99],[83,100],[84,101],[85,33],[86,102],[87,103],[88,104],[89,105],[90,106],[91,107],[92,108],[93,109],[94,110],[95,111],[96,112],[97,113],[265,114],[253,33],[254,115],[100,33],[107,33],[102,33],[104,116],[103,33],[101,33],[252,33],[105,117],[1,33],[9,33],[13,33],[12,33],[3,33],[14,33],[15,33],[16,33],[17,33],[18,33],[19,33],[20,33],[21,33],[4,33],[5,33],[25,33],[22,33],[23,33],[24,33],[26,33],[27,33],[28,33],[6,33],[29,33],[30,33],[31,33],[32,33],[7,33],[36,33],[33,33],[34,33],[35,33],[37,33],[8,33],[38,33],[43,33],[44,33],[39,33],[40,33],[41,33],[42,33],[2,33],[45,33],[11,33],[10,33],[153,118],[158,119],[256,33],[263,120],[155,121],[260,122],[255,123],[258,33],[259,124],[261,125],[157,126],[262,33],[156,127],[154,128],[257,129],[266,33],[267,33],[268,33]],"exportedModulesMap":[[126,1],[127,2],[129,3],[136,4],[128,1],[135,5],[131,6],[132,7],[134,8],[130,6],[133,6],[115,9],[108,10],[152,11],[151,12],[150,13],[113,14],[117,15],[110,16],[109,17],[125,18],[149,19],[116,20],[148,21],[118,22],[123,23],[120,24],[121,25],[119,26],[124,27],[122,28],[112,29],[142,30],[141,31],[139,30],[143,32],[140,33],[145,33],[147,34],[138,35],[146,36],[111,37],[137,33],[144,9],[173,38],[159,9],[160,9],[161,9],[162,9],[163,9],[164,9],[165,9],[166,9],[167,9],[168,9],[169,9],[170,9],[171,9],[172,9],[177,39],[189,40],[178,9],[179,9],[180,9],[183,41],[184,9],[185,9],[186,9],[187,9],[188,9],[190,9],[191,33],[192,33],[193,9],[196,42],[194,43],[195,44],[197,39],[200,45],[198,46],[199,47],[175,48],[201,44],[217,49],[202,9],[205,50],[203,43],[204,51],[206,9],[209,52],[207,43],[208,44],[210,51],[211,53],[216,51],[212,9],[215,54],[213,43],[214,55],[251,56],[219,43],[220,43],[221,43],[218,9],[222,43],[223,43],[224,43],[245,43],[240,57],[225,43],[248,58],[226,43],[227,43],[228,43],[242,43],[229,43],[230,43],[243,43],[231,43],[241,33],[246,43],[247,43],[232,43],[233,43],[244,59],[234,43],[182,43],[235,43],[236,43],[237,43],[238,43],[181,33],[239,60],[176,61],[250,62],[174,61],[249,63],[106,64],[114,31],[264,65],[46,66],[47,66],[49,67],[50,68],[51,69],[52,70],[53,71],[54,72],[55,73],[56,74],[57,75],[58,76],[59,76],[61,77],[60,78],[62,77],[63,79],[64,80],[48,81],[98,33],[65,82],[66,83],[67,84],[99,85],[68,86],[69,87],[70,88],[71,89],[72,90],[73,91],[74,92],[75,93],[76,94],[77,95],[78,95],[79,96],[80,97],[82,98],[81,99],[83,100],[84,101],[85,33],[86,102],[87,103],[88,104],[89,105],[90,106],[91,107],[92,108],[93,109],[94,110],[95,111],[96,112],[97,113],[265,114],[253,33],[254,115],[100,33],[107,33],[102,33],[104,116],[103,33],[101,33],[252,33],[105,117],[1,33],[9,33],[13,33],[12,33],[3,33],[14,33],[15,33],[16,33],[17,33],[18,33],[19,33],[20,33],[21,33],[4,33],[5,33],[25,33],[22,33],[23,33],[24,33],[26,33],[27,33],[28,33],[6,33],[29,33],[30,33],[31,33],[32,33],[7,33],[36,33],[33,33],[34,33],[35,33],[37,33],[8,33],[38,33],[43,33],[44,33],[39,33],[40,33],[41,33],[42,33],[2,33],[45,33],[11,33],[10,33],[153,130],[158,131],[263,132],[155,133],[260,134],[255,135],[258,33],[259,136],[261,137],[157,138],[156,139],[154,130],[257,136],[266,33],[267,33],[268,33]],"semanticDiagnosticsPerFile":[126,127,129,136,128,135,131,132,134,130,133,115,108,152,151,150,113,117,110,109,125,149,116,148,118,123,120,121,119,124,122,112,142,141,139,143,140,145,147,138,146,111,137,144,173,159,160,161,162,163,164,165,166,167,168,169,170,171,172,177,189,178,179,180,183,184,185,186,187,188,190,191,192,193,196,194,195,197,200,198,199,175,201,217,202,205,203,204,206,209,207,208,210,211,216,212,215,213,214,251,219,220,221,218,222,223,224,245,240,225,248,226,227,228,242,229,230,243,231,241,246,247,232,233,244,234,182,235,236,237,238,181,239,176,250,174,249,106,114,264,46,47,49,50,51,52,53,54,55,56,57,58,59,61,60,62,63,64,48,98,65,66,67,99,68,69,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,265,253,254,100,107,102,104,103,101,252,105,1,9,13,12,3,14,15,16,17,18,19,20,21,4,5,25,22,23,24,26,27,28,6,29,30,31,32,7,36,33,34,35,37,8,38,43,44,39,40,41,42,2,45,11,10,153,158,256,263,155,260,255,258,259,261,157,262,156,154,257,266,267,268]},"version":"4.9.5"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.d.ts","../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/buffer/index.d.ts","../node_modules/formdata-polyfill/esm.min.d.ts","../node_modules/fetch-blob/file.d.ts","../node_modules/fetch-blob/index.d.ts","../node_modules/fetch-blob/from.d.ts","../node_modules/node-fetch/@types/index.d.ts","../node_modules/@solana/web3.js/lib/index.d.ts","../node_modules/eventemitter3/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/idl.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/context.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/common.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/rpc.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/provider.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/nodewallet.d.ts","../node_modules/@types/bn.js/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/error.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/account.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/accounts-resolver.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/instruction.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/transaction.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/rpc.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/simulate.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/views.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/methods.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/types.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/event.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/accounts.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/event.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/types.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/instruction.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/accounts.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/events.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/types.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/system/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/instruction.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/sha256.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/pubkey.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/hex.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/utf8.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/bs58.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/base64.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/bytes/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/token.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/features.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/registry.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/utils/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/namespace/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/program/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/native/system.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/native/index.d.ts","../node_modules/@coral-xyz/anchor/dist/cjs/index.d.ts","../src/constants/index.ts","../src/utils/index.ts","../src/oracleprice.ts","../src/types/index.ts","../src/positionaccount.ts","../src/custodyaccount.ts","../node_modules/@solana/spl-token/lib/types/actions/amounttouiamount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/approve.d.ts","../node_modules/@solana/spl-token/lib/types/actions/approvechecked.d.ts","../node_modules/@solana/spl-token/lib/types/actions/burn.d.ts","../node_modules/@solana/spl-token/lib/types/actions/burnchecked.d.ts","../node_modules/@solana/spl-token/lib/types/actions/closeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createassociatedtokenaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createassociatedtokenaccountidempotent.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createmint.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createmultisig.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createnativemint.d.ts","../node_modules/@solana/spl-token/lib/types/actions/createwrappednativeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/freezeaccount.d.ts","../node_modules/@solana/buffer-layout/lib/layout.d.ts","../node_modules/@solana/spl-token/lib/types/state/mint.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/extensiontype.d.ts","../node_modules/@solana/spl-token/lib/types/state/account.d.ts","../node_modules/@solana/spl-token/lib/types/actions/getorcreateassociatedtokenaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/mintto.d.ts","../node_modules/@solana/spl-token/lib/types/actions/minttochecked.d.ts","../node_modules/@solana/spl-token/lib/types/actions/revoke.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/types.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/setauthority.d.ts","../node_modules/@solana/spl-token/lib/types/actions/setauthority.d.ts","../node_modules/@solana/spl-token/lib/types/actions/syncnative.d.ts","../node_modules/@solana/spl-token/lib/types/actions/thawaccount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/transfer.d.ts","../node_modules/@solana/spl-token/lib/types/actions/transferchecked.d.ts","../node_modules/@solana/spl-token/lib/types/actions/uiamounttoamount.d.ts","../node_modules/@solana/spl-token/lib/types/actions/index.d.ts","../node_modules/@solana/spl-token/lib/types/constants.d.ts","../node_modules/@solana/spl-token/lib/types/errors.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/accounttype.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/cpiguard/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/cpiguard/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/cpiguard/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/cpiguard/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/defaultaccountstate/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/defaultaccountstate/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/defaultaccountstate/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/defaultaccountstate/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/immutableowner.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/interestbearingmint/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/interestbearingmint/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/interestbearingmint/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/interestbearingmint/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/memotransfer/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/memotransfer/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/memotransfer/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/memotransfer/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/mintcloseauthority.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/nontransferable.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/transferfee/actions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/transferfee/instructions.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/transferfee/state.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/transferfee/index.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/permanentdelegate.d.ts","../node_modules/@solana/spl-token/lib/types/extensions/index.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/associatedtokenaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/amounttouiamount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/approve.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/approvechecked.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/burn.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/burnchecked.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/closeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/freezeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializeaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializeaccount2.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializeaccount3.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemint.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemint2.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemultisig.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/mintto.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/minttochecked.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/revoke.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/syncnative.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/thawaccount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/transfer.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/transferchecked.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/uiamounttoamount.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/decode.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemultisig2.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializeimmutableowner.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializemintcloseauthority.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/reallocate.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/createnativemint.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializenontransferablemint.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/initializepermanentdelegate.d.ts","../node_modules/@solana/spl-token/lib/types/instructions/index.d.ts","../node_modules/@solana/spl-token/lib/types/state/multisig.d.ts","../node_modules/@solana/spl-token/lib/types/state/index.d.ts","../node_modules/@solana/spl-token/lib/types/index.d.ts","../node_modules/js-sha256/index.d.ts","../node_modules/base-x/src/index.d.ts","../node_modules/bs58/index.d.ts","../src/poolaccount.ts","../src/idl/perpetuals.ts","../src/utils/rpc.ts","../src/poolconfig.json","../src/poolconfig.ts","../src/perpetualsclient.ts","../src/pooldataclient.ts","../src/token.ts","../src/index.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/ws/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/mocha/index.d.ts"],"fileInfos":["2dc8c927c9c162a773c6bb3cdc4f3286c23f10eedc67414028f9cb5951610f60",{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"b4473933ebd454f0b38bf002e92738f978f5197ad47627e6b2a6647046997256","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"f749812878fecfa53cfc13b36e5d35086fb6377983a9df44175da83ccc23af1f","affectsGlobalScope":true},"84168c1e1f6e21906eea5167154748c1e9fea5ef6f2e1b2b2d2cb19e89fbd81a",{"version":"8155b7b79b6e7d7c13d3203f40cd8c201bdf2c0c25af536992d8962a28cac561","affectsGlobalScope":true},"5ca34a9a8b59bcc0e58730e702aa0823557122c86d6a6e1b6eeae85babb48513","c1d93a28c5312d757e449ad068c3a43ad0d961ab06e6a3b7aaa7d48c204a1deb",{"version":"77b2a2f1719b4c19b79bf2bf4833f67770e30767e49102a6b75ab3b3cf8b5db7","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","57e75559358fd6f9593b44506d75871004c124a70b6be3e0ce18597b71a08fc2","160f307d5ccc1f934de7fbed97f1d2016402f90f204c484e20bd5c2a19a4172a","9c1363edb96f09d8d2140284a39015dba08d5b01a98334ba9ad8784ab160c835","2a56407acc5881608ef5fa4c0688d446df6adfd010578ce83dd1b747d895b17f","ffa8324a4c0611f9a50262fb36f097eeabe0fa0d71755aa67156da13cde1b932","ad5c7ca4a4dc8e39e0aa221b981f6306ca1c037c99bd4902bf02831ba5d7fae9",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"5362b44ccdfba77ac392febf7f8d755af484222cfdc7a9aa1dee67bf51a352f9","affectsGlobalScope":true},"4866843595b27b290ce6cc8092818ede98631734525453dec48d32d7f6726f18","d036da8d9e6391ad06ff5a71b8018838f0990667a178390eb48462059dba92de","63728b518fee91037e3d44081b0c7f3cc6fafb79a997dca5300a899277384867","8c4a16f8523cd932b16f3b6feb983037d2ca5699946d1f32b3787055fccbfff3","b76baf9af98ef1da1c3a681e66034c9ce21862fa4177235153d9719df72c2b1d","89d639ae440d34751d94c0333d83bc4dcfadc45cd15849f74cc1d9c0f0ce0413",{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true},"92cfb0fd9ea018f140b7a9af0868daa80646e4f2fcbde2d60fb60c0319862ec8","7faa534c9c865c9338a8b46fe3fc3822f6ad58747240b103d0606e63990a4935","0ae6b96cc95c41d86deb7c208256f126bc58bbb6829e1e29b063aa9eed9ea3f7",{"version":"c6e4a85271072ff15b04d09075b357407d4cdead8ca536ec613a2bb02a03285e","affectsGlobalScope":true},{"version":"5761c90b0cabdd6bd1f5fb1c3bf942088fdd39e18ed35dbe39b0c34bc733bf13","affectsGlobalScope":true},"e9f997f4724f4a19ddb396660061b55ae90dd0e4bb7a34788f7c9d1ceaf7dade","f6c9e1baa89f163bc1b29001ed43d3a24734e53a756e0ed89a92e40be17af5e3","4103297e96869b5226a7570a295fbf5f845e9dc4a3b3f8f242993c7f8aad1d42","2b847f2aba41dcd69677684d5d300c08aea4e306c305fd39bf548cef19f03cfe","f3b323d28220d61475dc0229fad6d0bff24381766b40a30fe67743da772c82ad","b966a6e620b297ecd31d0359894a4018255d85da5a277b21867296e97e21fefd","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","cd2b61246eeb62ebc6842fe28f7b3389c081d3b6355091cffe3d12c083bd5705","48e2eb12763f6f72f9daf15967499f69bc4dcda00e1c93696ba25d14af513660",{"version":"57141225815ac2d5caf7e781c6442861854149675096afd9ed5b699aff80a5e7","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","1edbd43bfc703943f0eabfef8aac222fb3e509d9b13c60295cb206b9b75bb6be","12fd795309573a15193cf71d22f7e5debbec599b77ffeb3bb5c0fd1bd15cbe6d","4082bc53696f77cae7f84dd002d4766f3a814b9b2b0d9be4e399ee3f9afc501d",{"version":"e32d7b239d2649efbb57eca949ffc764fb76fd8cce9f57632c0217407a79fa1a","affectsGlobalScope":true},{"version":"5bf73febf7c8cc741ba62e94758eed3208f62473c50702d209bcfece18e12421","affectsGlobalScope":true},"3758d3cb9971c113455a802ad7fa16fa216639add0f2c90767cf177f8d85106d","048a373805662e209f7af8717b45ae77a8052ff2272234d6f8cb84d87831f516","f71e0cc279b5086fa3f46f0bb467d376a18776ec7c99c45b3bd7c670097e1308",{"version":"09e6c9b5d3f323c84bc103e387d1b41e03f5155909615ad877d862ff82758d00","affectsGlobalScope":true},"5af698993d8ba0b74e6d34902091b9cadab8e30d3b009746331721651b5890a4",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"27fea46e25bceaf52375ad48afdf5b9f78af76d551e30cc86077541d1c405e8e","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","d782e571cb7d6ec0f0645957ed843d00e3f8577e08cc2940f400c931bc47a8df","9167246623f181441e6116605221268d94e33a1ebd88075e2dc80133c928ae7e","dc1a838d8a514b6de9fbce3bd5e6feb9ccfe56311e9338bb908eb4d0d966ecaf","186f09ed4b1bc1d5a5af5b1d9f42e2d798f776418e82599b3de16423a349d184","d692ae73951775d2448df535ce8bc8abf162dc343911fedda2c37b8de3b20d8e","867d62c61432e319e2cbdef2980ae7e1fc034f72fd265c91f92eec3d07e4d9d6","b80c780c52524beb13488942543972c8b0e54400e8b59cee0169f38d0fabb968","b61b573ff4ba88d0ca9f59655f66ddd34db4696d2b51c6ef7a959f2b70cb4109","8174e9c229331b9202cf34327e89794a98bb1a442aeee03c46c4b50034b72142","f40fd5b46add805ff018d3490352931e069eb524e3068b86d46d048534d1b824","2c31f69dc0e07f3c396462dae566bf822b1fbc9b56ae1f64ac73a652cf7e4a35","6888c13dda417d9057790a8c403e77e0fa1d7a083d947fdd9310961548a0a08e","a0ff940b1a0e503c45976623abdb39bcfecee97e9f40c3c59f16c659a4da3239","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb","e2befcff13777268fe913fdae10fdca86632e142d0a56bafa88c2a15ee220701","5a739f3dbc49e8769afe70233c31489ed34ba9efe7f1150635658497cb1cbc71","3035306296b362047b08a2a4040a3bf33f0625287b3891e69b864b5d78b8286b","b11e5173a66497863b6d525009624f56ec5124cd6c30e56e8a3e9b41dd303962","178e4bbf4575f0f3d8027d67870aa11bf30ea98663a9f205ca03adc05fa135d7","d57e501aa9e3208fa52cdf03c414173e40523b20a89b5f70c5bffb53ead42c07","a011ef547fb4aca43d5b37d44419f9fc16ba089edf1eb96d20d9c9ee6beefc77","0eb499336fda2cdb3acbfb5c160153028f647904326921b84103e2c83f6892fb","29d441a45ca67aa4b9dc48eb80f26dce82602a066e51af92978a1b4bcb78c507","c5dbca090d5b388006482f4c159f9560ac5a44a7a6d77bb4a64c8749cf8ddb4b","cf18efc36568036078617bb6bd66186f3f68ba789baa67147a0e3128c9398bd0","dc4b884038ecf1dc687a89944e04cf6b1e83391f2d541212dccbb0de67c97f1d","8835ccff7f7bf75094749fd5da9604becacc31016f683907642f92cfefa9346d","8ac4904be5b82699041086aa0dd33327d2afa3bcb107fa887c308bbdde1ea7ce","257e143511763fc89bde384f58bf0a02e1708330705370c0a4483e9f1500ceaa","18584847cdf14e522faa67916d50b8ba7479c8f12262c99d90078dffcae12a8e","44e590a660a2ed3c71e92c85a4af2507b43359825ab4805ec2dcef54e9d564ee","30a39429dd194c9bd3bbb32a32e247d9b547524308d61acc1ba8f16e72e61ee9","f0b04452cd330d29522cbe34176e683f21429e690c2aaec5ecee88303537fda4","f499b42bfdba1be1e0a9cf2ea797ad00694bc7908fdbb8f1f50e4a8034387f67","57794fc7348347817d469e09db6a3faf7aec386f92cb0dad0acbe1336a3f68d7","b82e3f89b8b5d563df90b8e5da3dc2b39443a4db8a3c0310919d55a242da56dc","847ccc20490110124a2252c5a705dfe1355921470d2bd6da9af1d4943e54346b","4cc6d8bdf1e7d492569cf7437ca3f01bf9cc767c3295953b415a6c8d5badf1ab","3b0309147d62225ffd116d3440f480e8df63a47e71e47fb6b432858db931b9e0","139db12276e11f90df65778f7513bc3f85957d74fd0d1bbeb19e4a1dace4f662","2884fcc91f5d42a3288a75a558b036923e3d926354fa0c3fa0251c2c3d4b54e8","013446b40d561ed0b2c2822d01954d4612d5e67222369073345aeebeb03fd406","4cb9df3ea8035d85480096a5ff94dbbcf941efb38c5c1ea77f1dc164d4342728","b35517e270f8735aa771989daa684625bc6285c91e8e4377f13f70a6ff415fc9","291b47b629e4c15e96bacb8d1f707573e72fedbb0fcab43f729e5f9d73560c3c","ae147af43f062662157775c85e3801ea3b70dc7b8f39c7aa260ad215e1942cb3","2a1d0598c9acba389f6a3369d52822a34045bd2ce75d012613bd0b802663c73b","78e817751f43865838b80e44aec551f4d2eb50c7a8ef528a628da9cf8c427b66","878d8319802cbd907be389848225859546d87c66c5b8cf7b864fab14d3dda283","897537e8a5aa22a4ec865ade55b791c0010c863ac5f34e57e7e1c156d9862546","f253b0f34ac2757af5c73868b3235104f5e311c03859987b2402afd1382db058","88f98a99221fa413325886b54d3f2eec69c6092190c2693c2a460240c7bb2f28",{"version":"2c9dde3ae76045c82a56129c31fb81f3d4dc32a7b20439f8ed56a31ab72fe458","signature":"48ba10d1f6ea9356a7395eb4adebae61972eb6c62b2af44b5e23a54a27aaa2ec"},{"version":"e3f1a00076b258e02479b1473628319ee745d35dee4d33c9ca8e3ed9a87d7ca9","signature":"639ac0f2b28cf6132237a0c94cc14dc6d7bb7a3204a1726c47369bb0b764e87b"},{"version":"cff26419f4c54dc6881862cd4814b03bd8f5a055bdffb5c58d524b1913721be5","signature":"765c2df3034c11d43fcce6e04ba42606b71eff49954b10f5413a7f90755afd16"},{"version":"c6b52b12116a75888eb9cc204a064a5bf532a648d04c3f57a2be0324a42525f6","signature":"690e38123c7ac7f04d143613eee5b16c932f9d6b7a0a3d10adf0da1054dd8887"},{"version":"b231d8571a0383a4a5d7f65999a1b7986e3f574829aefb66a4cfbd023c612fca","signature":"55f595bd0484b08c964623f461093e9514f88429851ba6af7491a9d95e994054"},{"version":"4d77fcbdd42eb762d5236c2247aeec61cb72d00580588f53a320284d69ea4ed3","signature":"ee236ddc5430e6b1f6a6e48bb12a00f99b34317dd0caf631ab51a719e8ec2374"},"f2e5fa7d4aefe542762909ac966abdeaaaa76befbf561924edabb02b9b57542d","28e9fcac58f5957d1b82ab2b856799c24f7530e1d048198c1d0b9923762265ed","072a49808080400016c2557d47648297d854da5d75c2005083432f5bbbc19949","f25d3ac13258725686f0fbad31b82418ce00799f5d145570d6ee398a39651043","bbfcec9ed673c3dcb2668c3b216c7be9102a9e900e3d73801611da7f21746fdc","da3e4adedc5b5fd041f31a11d6bd98dde20febb2f2705988396d5a07f6f17543","9e6a844fae8202f8aa8bc6c7d076980221a15106c2a6a6f1e38fe1f2b8d07d62","99b07e053c9eae92b706ce3914d4b14bde4d896afc5a351c4660918ac64c6584","9fd36cbc7e5eaa50308919a4496ac677490c20a36a26208ef288f3033ad4c855","739adbaa02fd46f768fb88c72bc3359966241d36bc844a54f158fc68539f951b","8909288948f7bf5a408b6521a659a78765939ee319cd68ad5df4fb76fe1a755d","ff90f20e235b71cea80a352916e7f2a4737302e4f5b539d00e75204c82014b70","10ed1e58a17e61a6eb4f1bca430999ac214629058239489d498b88dc891f2327","1d1c0c879e2139313479670b032fc056ac93136a8199ed3e30fd118004077627","92ad95e6220ab829c8f5cfca9be43e26e041a2922cde6e998782030d41c49963","12c924e7f2e516943ce436ad51965a38cbbd9dee5fe670ae6349bd8c1bf76f52","75f4d060766b9c61825a122b94d61c45bbb6cafaa9f077c59987dc6c00467c76","42b7e0b9bed165997eb168904dfcd11254ff978ceeacda906e77d8f44c89f31f","b16879b91b181532922b7f279d8cba9c877c1436d3b0c55285ab8c6f43fd5dce","278055752eff1ed4b30b663d6b812923f041fbfd6cb6563d1b9350b53850059e","4ba1b1b1750a88a8fcc7d521d3ec3ba6235c28c73993e38adcaaec51afd57d5b","4991ee4482820b62aa2e6cd775d9984e0a45a7f6ba64d8a2737cbbb8af7c53f9","450257cba6657271a6646f9561b43062a5d2b39dba8b2e7b4d7c7fda73c6fe57","9a909c6bcc1cd061f649dc3b4dc9922fda9858166617bbc7263dd4c8bee7546f","c47421f20cec5286ce39834a3327579f36cad21f053ef8c09076c1894cd66d93","4c9975f07791ea91c74c2b8140ab48eb5ac2cc81417a108e6612c889a8bd23b3","b7b49dc760f6440dc8677ef49f0ca75c7f0f2f97f461a07bf2aa03723ac61d3d","79d938cb2e44b94e4f1497a9ccc2ff5da2fb7360d4eb7485da114055bc712379","566fd6af165b3acfa13b916594e422994e5d14f4138609fd252504800c9b96b7","ba9605656fa2ff88d69fd3676770ff1440fd70b4cbdce4ca85ac4ce27e659c7a","fedb9303cc3d1af9e5698092e3fd3622c2eb05805582107ac36c8cf0a160d16e","65d51b460383b6f7546f22c888c8b41e0de7385f20ec971acbb56da83bcbe611","b64e1ff30069e6fcfbd6b01df71b89e9f7d34581d1eba2e1fe3f3b1eaf70f28e","b725c869a5ff20458780f26afbe392017e690ee03decdb7d1202ac3539a8e235","4aaaa437c7b26c9b2668da29c1674d5be3b8f8fa150f3d7dac75d67314be9f37","f945eeb4aa141ce1af78affc6547c979f97b1cbb7d8995d4762d006e3e35c667","13bce356dc26c750244fe75f160388f59a1725d33e401ae26dc084277dd9491e","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","8a561d8bcaf60594a95c3390a489824c6688e81802701260444fb47881950257","cbc6cad822896d9d97bda9a0cea0834be8999dbe2040758cd6da3948c24415b3","e6ee1dcd00ca1c765c95b0abb2114c2ead786ae7610c823df4cd8fffbcbede10","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","8b25e65927ea90be5da89799997c6f7e7dbcd826a954bd1a466a931d380a3511","af7d2a7f8f8a0d9bcce2a017b1a9f6ec85f57e9484a65f46b6cafe8fb079e9a3","9cb1f37abda1396ced2508edf3d111c99a94421553138edc06353c1c824b8cc8","68a8ceeea894c6d5989c89207e3ac1b33c2c2026ad4a9e8c3cff1d87ea67ec77","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","989b5f3bf15619484ef2327c0a108ad33191bfc2e3deb6347bf175e79fd02e51","2b51763cbd722ee2747bc9e860dd0cc0200cdfdf6735c5c2fd4f5e3e02f1ec86","b650f3fdfd9e86f82d906dfbd81b87ef7c7d7434ee1de923d7d6cf5647434a02","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","3e2b6603bed1f4a82bdad05b68a66cc5943f8e12c647bf2f45a06c9d72cc0e00","eabca6c007c20da02a0cbbf23f6de3c39e662a9adc1a92736968179d7c4cc569","625ea89b6b179966c652b7bb93b57e7c1c2343eb9aba6cfb3ddf801359cde65c","1a69659e9cd6e3785e995d1e748809aa708a76fda03988b7ead402534311c106","27e553ea7ffbcaef2be2af5a79fdbf83cfcda0f95bf17e3c378b33402a28c1d6","1c91d24b8452adecfa340f4eefa3752b546eb68441b01a6ec43aa39f182f2181","068a6c2f0554b945cbfb006187f4c9c27386684810189dfe026a9b30470d3984","dd22a6e590d7fbabb29b903a809141cb1426846d23c21164ff4223a7f9dcff1d","93cd3ba5193ea2029b2eb0b20b94ca9c4e6b9c2a696d7d1a05211a2916ca0d77","748553e51bfbef2b4c8e646275f687e60ea77665c514ee1f880bf5a3cd509f37","a4d09f9410ec90d4b07cd054e8e2f234feb27b66b106202b386ab0b157663358","3749f5690d24338ff4b878db8d0f1b47d04fe891634c88ca56f7166f944fb96b","939f5a5215d6be2165c6a4116f5abb433b84df00f3ac4e458f3cd732786e8431","5f92a8bc72a87fca63d413ed8f303a2df36fb8143f0e974d0844c7422318909c","2a0e1e0a89c6a3991cc04812d4c6fcf92fe7511de87a684bc60357438dddf399","4ddb790ba5f1fd3689213c0501dbf21a7285f2edf562a8f7d86654877a868fc9","b0b840a3379f3539d037cb5b602541d2ab6984462761e505a23793866dc7a0d7","7aed6616e78d880577a37fa5edd42b690354874f1001acdbf21ead2f803a36a0","73a7dc6d00925ef047bc915a54cab15bb242d549b9334d9b5151cc0f35cfaf77","0a1c74bccc0c5a1f22012144a3d9afc19951348540c7ff5e5feaf4eef6259b80","3a1d5de5adaede0fb1ca2045f8b10a0e86f480a1082a11829a0b48da8ad6157f","0a1057aef93b764fb9665d101f2a050f6e060c37ec5b88f2d27bb83412a3487e","6164b754612e5776cc934dc0d6494fe2ee084d39d1cbc6fe4a23a45326730ccc","47679a6b6411019e8f7a443ec3addbec38a79a7e4679c00bc73d3ccdb81d64ce","cac86b9dbfd00f0ac7731f4074d2c69260c88ea28de96a71b0cb4efb5779b869","65bd0d34233fcaab54f5463703a0f022b2db197ef24c4a1d3adda1a9d3d6d502","f5cd1b398a44c53407e4aa1e8b503d0664299f002313d31bbce221644aadc6cb","c2f032cbe6aa8d59f021ccd865990d4d55c11fd3a1b96b81c56903cf05e36f1f","aa20bc1ba435f2a49bd640992da9517e31896e8f6d1a4817800ac96d6f10d6ea","5621180d5cf6e50f53fd6c73e0a60cd4115353f919bdd193580746896167da63","9cc5c390465b87096b69b2b0612a341d974b658cd28447696583f2762226f8c3","08371984685828cedaa25037b76def8f8f7f8304910dc66627bb58a2f53ecea4","7dd1c6c1b927f9edb94773f9333666f52f7b0bdf49a9a7f63129e9e66d1222cf","174f99dc1948a64c4211702a0fcc45d684d05fdfba3100ba4485fe45adb4d7f3","19405c79422e9c2d9ae1affae558857d3cbd138b17db596c642d008cd6c485cb","6c2ba8fe0797b626104a2fd4e8de0dad6edc4b932e4a50a7b72afa09fdcddbe9","dabc6bfb18fc1f988d37c8b659eb07fd35e8269bfa099b6dc02c14093c2b8b1a","ec9dd267b792e7c5c3733a45a3d2e43b93f02b98d86d8be50e11f9c15940c02b","a8f278a697ab8646f88cb2ba9783814e5438637cdfc3c5278e8aca82b4a1fc44","239d9e77e0026e7375dc9b6122f1b62d2c39fc2e5c10f50787cd321880146b95","0f3ca52b0d50160be177f8c79efbbcd666726c2de9256d6335e0d0bcb2e40d6f","1d8820a067af2309ef4f7739d2ada59882eebb3b2b595ff78496760c6f51ba60","0afbe91142eb631d6f31be624cf8a550b03736bfd22b0f309405a6fe4d4c9517","a3c89483a38d76c77a13b69b268a9e5d13abcdf0957ca3f28c9702c47ce8050f","40ec7e761ea0ddfc0add7aedb95dacfc579b25010ed0e2190abc1d34bb67f81e",{"version":"05b91f0b7911fb93d492abc3915eddda1c5c0c0bebc6fe8df7436a8928d40982","signature":"a275279b48ddb54ea4b53c9c369179a1fdeeb59a0a220ed450b012d64702024c"},{"version":"b49e4655a72e6aad5c053a8b12cbf0e1f0ac55bf109c769b375d2511eb75f03e","signature":"921f69457a09515346325ffeeafd689de310bc54d114df81b81be29e1a6e94a9"},{"version":"02cc0380ebf42b8437ba37af0ad6dd67d2939140fb9a794d1e84fd30c3d54be9","signature":"1ab9af237b3041e80ef9bcd9e03a8095cb0215f8ce4a5007bef69ec5d7ca009f"},"f65576c9ff109070a1a1bf0e6e98ee1b856ec65007b3b7260452ab0d8fcad704",{"version":"c780378aba38c97742764fb1b2b6085e3323c4c32aaad62cb4cb856a7a45d8f4","signature":"8a4f01ee0f1b88ea7e2c56f7a7c0fe4c060e7e5e6fcfeac1ecc14381636bf468"},{"version":"c263518ae40df63745bd7e9ae9eeff80165310499d580dc7a922707ca492affb","signature":"3f2b1ac1cdf33750deb6e270e77f050955cd7b8ce28f7f0eef8c2c3669e99a4c"},{"version":"3a2bd0099320db8a26dba2f01f0b0f40fc7c4760d862a91fee66739b23c56145","signature":"465524d0ebf697f1346f9a2d615bf9de656df27c08ea3cb7cae4bdef6c2e1cdb"},{"version":"cbe55fad4dd27bd9d3c0ad6deb96a70dbaf32b2a4388e706d11ee508e654c4c0","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},{"version":"406de443f9a496b1d2df5867701317bbd04367ba6a0ca39b2797acd9ce25041f","signature":"5420080b9a05cf0ddbf14c2221fbcd42dd415048c2573839613e79faa0b2eb9d"},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31",{"version":"b9734142a4b241cfb505be4a2eb0261d211647df7c73043f817f4fdd8d96c846","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true}],"options":{"declaration":true,"esModuleInterop":true,"module":1,"outDir":"./","skipLibCheck":true,"target":1},"fileIdsList":[[50,92,99,108,135],[50,92,99,108,125,135],[92,108,126,127,128,135,136],[50,92,99,106,108,135],[92,99,108,125,129,134],[92,99,108,135],[92,108,125,135],[92,108,130,131,132,133,135],[92,106],[50,92,99,106],[92,106,108,112,113,114,115,117,135,136,147,149,151],[92,150,152],[92,112,134,149],[92,106,112],[92,106,108,112,116,123,124],[92,106,107,108,109],[92,106,108,110],[92,106,108,112,124,135],[92,106,108,109,110,112,117,125,135,148],[92,99,106,107,108,110,112,124,135],[92,106,108,112,116,117,118,119,120,121,122,123,124,135],[92,99,106,108,109,124],[92,106,108,109,110,112,116,117,118,119,120,121,122,124],[92,106,108,112,119,124],[92,106,108,112,119,124,125,135],[92,106,108,118,124],[92,99,106,108,109,114,123,152],[92,106,108,121,124],[92,106,111],[50,92,99],[92,99],[92,139,140,141,142],[92],[92,111,137,138,143,144,145,146],[50,92,99,106,110],[92,99,106,114],[50,92,99,106,110,112],[50,92],[92,106,176],[92,159,160,161,162,163,164,165,166,167,168,169,170,171,172,177,178,179,180,183,184,185,186,187,188],[92,106,182],[92,193,194,195],[92,106,173,181],[92,173,176],[92,197,198,199],[92,106,173,176,181],[92,173,174,176],[92,99,174],[92,175,192,196,200,201,205,209,210,211,215,216],[92,202,203,204],[92,106,173,174],[92,206,207,208],[92,173,174],[92,212,213,214],[92,106,173,174,176],[92,189,190,191,217,248,250],[92,106,182,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239],[92,181,182,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247],[92,106,175,181],[92,106,181],[92,99,106,173,175],[92,174,176,249],[92,99,106,173],[50,65,67,92,99,105],[65,92,99],[46,92],[49,92],[50,55,83,92],[51,62,63,70,80,91,92],[51,52,62,70,92],[53,92],[54,55,63,71,92],[55,80,88,92],[56,58,62,70,92],[57,92],[58,59,92],[62,92],[60,62,92],[62,63,64,80,91,92],[62,63,64,77,80,83,92],[92,96],[58,65,70,80,91,92],[62,63,65,66,70,80,88,91,92],[65,67,80,88,91,92],[46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],[62,68,92],[69,91,92],[58,62,70,80,92],[71,92],[72,92],[49,73,92],[74,90,92,96],[75,92],[76,92],[62,77,78,92],[77,79,92,94],[50,62,80,81,82,83,92],[50,80,82,92],[80,81,92],[83,92],[84,92],[62,86,87,92],[86,87,92],[55,70,80,88,92],[89,92],[70,90,92],[50,65,76,91,92],[55,92],[80,92,93],[92,94],[92,95],[50,55,62,64,73,80,91,92,94,96],[80,92,97],[62,65,67,70,80,88,91,92,97,99],[92,253],[92,102,103],[65,92,99,101,104],[92,106,114],[92,106,114,153,154,156,157],[92,153,154,155,156,157,158,255,256,257,259,260,261],[92,106,152,153,154,156],[92,106,152,154,155,156,157,158,251,252,254,255,256,257,259],[92,106,152,153,154,155,156,157,158,251],[92,106,152,258],[92,106,152,153,154,155,156,157,158,251,255,259],[92,106,152,156],[92,106,152,153,155],[92,106,114,153],[92,106,113,152],[106,114],[106,114,156,157],[153,154,155,156,157,158,255,256,257,259,260,261],[152],[106,152,155,156,158,255,256,259],[106,152,155,156,157,158],[106,152],[152,158,251,255,259],[106,152,156],[106,152,155]],"referencedMap":[[126,1],[127,2],[129,3],[136,4],[128,1],[135,5],[131,6],[132,7],[134,8],[130,6],[133,6],[115,9],[108,10],[152,11],[151,12],[150,13],[113,14],[117,15],[110,16],[109,17],[125,18],[149,19],[116,20],[148,21],[118,22],[123,23],[120,24],[121,25],[119,26],[124,27],[122,28],[112,29],[142,30],[141,31],[139,30],[143,32],[140,33],[145,33],[147,34],[138,35],[146,36],[111,37],[137,33],[144,9],[173,38],[159,9],[160,9],[161,9],[162,9],[163,9],[164,9],[165,9],[166,9],[167,9],[168,9],[169,9],[170,9],[171,9],[172,9],[177,39],[189,40],[178,9],[179,9],[180,9],[183,41],[184,9],[185,9],[186,9],[187,9],[188,9],[190,9],[191,33],[192,33],[193,9],[196,42],[194,43],[195,44],[197,39],[200,45],[198,46],[199,47],[175,48],[201,44],[217,49],[202,9],[205,50],[203,43],[204,51],[206,9],[209,52],[207,43],[208,44],[210,51],[211,53],[216,51],[212,9],[215,54],[213,43],[214,55],[251,56],[219,43],[220,43],[221,43],[218,9],[222,43],[223,43],[224,43],[245,43],[240,57],[225,43],[248,58],[226,43],[227,43],[228,43],[242,43],[229,43],[230,43],[243,43],[231,43],[241,33],[246,43],[247,43],[232,43],[233,43],[244,59],[234,43],[182,43],[235,43],[236,43],[237,43],[238,43],[181,33],[239,60],[176,61],[250,62],[174,61],[249,63],[106,64],[114,31],[264,65],[46,66],[47,66],[49,67],[50,68],[51,69],[52,70],[53,71],[54,72],[55,73],[56,74],[57,75],[58,76],[59,76],[61,77],[60,78],[62,77],[63,79],[64,80],[48,81],[98,33],[65,82],[66,83],[67,84],[99,85],[68,86],[69,87],[70,88],[71,89],[72,90],[73,91],[74,92],[75,93],[76,94],[77,95],[78,95],[79,96],[80,97],[82,98],[81,99],[83,100],[84,101],[85,33],[86,102],[87,103],[88,104],[89,105],[90,106],[91,107],[92,108],[93,109],[94,110],[95,111],[96,112],[97,113],[265,114],[253,33],[254,115],[100,33],[107,33],[102,33],[104,116],[103,33],[101,33],[252,33],[105,117],[1,33],[9,33],[13,33],[12,33],[3,33],[14,33],[15,33],[16,33],[17,33],[18,33],[19,33],[20,33],[21,33],[4,33],[5,33],[25,33],[22,33],[23,33],[24,33],[26,33],[27,33],[28,33],[6,33],[29,33],[30,33],[31,33],[32,33],[7,33],[36,33],[33,33],[34,33],[35,33],[37,33],[8,33],[38,33],[43,33],[44,33],[39,33],[40,33],[41,33],[42,33],[2,33],[45,33],[11,33],[10,33],[153,118],[158,119],[256,33],[263,120],[155,121],[260,122],[255,123],[258,33],[259,124],[261,125],[157,126],[262,33],[156,127],[154,128],[257,129],[266,33],[267,33],[268,33]],"exportedModulesMap":[[126,1],[127,2],[129,3],[136,4],[128,1],[135,5],[131,6],[132,7],[134,8],[130,6],[133,6],[115,9],[108,10],[152,11],[151,12],[150,13],[113,14],[117,15],[110,16],[109,17],[125,18],[149,19],[116,20],[148,21],[118,22],[123,23],[120,24],[121,25],[119,26],[124,27],[122,28],[112,29],[142,30],[141,31],[139,30],[143,32],[140,33],[145,33],[147,34],[138,35],[146,36],[111,37],[137,33],[144,9],[173,38],[159,9],[160,9],[161,9],[162,9],[163,9],[164,9],[165,9],[166,9],[167,9],[168,9],[169,9],[170,9],[171,9],[172,9],[177,39],[189,40],[178,9],[179,9],[180,9],[183,41],[184,9],[185,9],[186,9],[187,9],[188,9],[190,9],[191,33],[192,33],[193,9],[196,42],[194,43],[195,44],[197,39],[200,45],[198,46],[199,47],[175,48],[201,44],[217,49],[202,9],[205,50],[203,43],[204,51],[206,9],[209,52],[207,43],[208,44],[210,51],[211,53],[216,51],[212,9],[215,54],[213,43],[214,55],[251,56],[219,43],[220,43],[221,43],[218,9],[222,43],[223,43],[224,43],[245,43],[240,57],[225,43],[248,58],[226,43],[227,43],[228,43],[242,43],[229,43],[230,43],[243,43],[231,43],[241,33],[246,43],[247,43],[232,43],[233,43],[244,59],[234,43],[182,43],[235,43],[236,43],[237,43],[238,43],[181,33],[239,60],[176,61],[250,62],[174,61],[249,63],[106,64],[114,31],[264,65],[46,66],[47,66],[49,67],[50,68],[51,69],[52,70],[53,71],[54,72],[55,73],[56,74],[57,75],[58,76],[59,76],[61,77],[60,78],[62,77],[63,79],[64,80],[48,81],[98,33],[65,82],[66,83],[67,84],[99,85],[68,86],[69,87],[70,88],[71,89],[72,90],[73,91],[74,92],[75,93],[76,94],[77,95],[78,95],[79,96],[80,97],[82,98],[81,99],[83,100],[84,101],[85,33],[86,102],[87,103],[88,104],[89,105],[90,106],[91,107],[92,108],[93,109],[94,110],[95,111],[96,112],[97,113],[265,114],[253,33],[254,115],[100,33],[107,33],[102,33],[104,116],[103,33],[101,33],[252,33],[105,117],[1,33],[9,33],[13,33],[12,33],[3,33],[14,33],[15,33],[16,33],[17,33],[18,33],[19,33],[20,33],[21,33],[4,33],[5,33],[25,33],[22,33],[23,33],[24,33],[26,33],[27,33],[28,33],[6,33],[29,33],[30,33],[31,33],[32,33],[7,33],[36,33],[33,33],[34,33],[35,33],[37,33],[8,33],[38,33],[43,33],[44,33],[39,33],[40,33],[41,33],[42,33],[2,33],[45,33],[11,33],[10,33],[153,130],[158,131],[263,132],[155,133],[260,134],[255,135],[258,33],[259,136],[261,137],[157,138],[156,139],[154,130],[257,136],[266,33],[267,33],[268,33]],"semanticDiagnosticsPerFile":[126,127,129,136,128,135,131,132,134,130,133,115,108,152,151,150,113,117,110,109,125,149,116,148,118,123,120,121,119,124,122,112,142,141,139,143,140,145,147,138,146,111,137,144,173,159,160,161,162,163,164,165,166,167,168,169,170,171,172,177,189,178,179,180,183,184,185,186,187,188,190,191,192,193,196,194,195,197,200,198,199,175,201,217,202,205,203,204,206,209,207,208,210,211,216,212,215,213,214,251,219,220,221,218,222,223,224,245,240,225,248,226,227,228,242,229,230,243,231,241,246,247,232,233,244,234,182,235,236,237,238,181,239,176,250,174,249,106,114,264,46,47,49,50,51,52,53,54,55,56,57,58,59,61,60,62,63,64,48,98,65,66,67,99,68,69,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,265,253,254,100,107,102,104,103,101,252,105,1,9,13,12,3,14,15,16,17,18,19,20,21,4,5,25,22,23,24,26,27,28,6,29,30,31,32,7,36,33,34,35,37,8,38,43,44,39,40,41,42,2,45,11,10,153,158,256,263,155,260,255,258,259,261,157,262,156,154,257,266,267,268]},"version":"4.9.5"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flash-sdk",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "description": "Client to interact with the Flash program on Solana",
@@ -117,7 +117,7 @@ export class CustodyAccount implements Custody {
117
117
  )
118
118
  }
119
119
 
120
- }
120
+ }
121
121
 
122
122
 
123
123
 
@@ -20,6 +20,9 @@ export class OraclePrice {
20
20
  return new OraclePrice(parseData);
21
21
  }
22
22
 
23
+ /**
24
+ * @description lhs.cmp(rhs) === (lhs > rhs) compare numbers and return `-1 (a < b)`, `0 (a == b)`, or `1 (a > b)` depending on the comparison result
25
+ */
23
26
  cmp(other: OraclePrice): -1 | 0 | 1 {
24
27
  // TODO make sure this works when they're diff signs or 0
25
28
  // return this.data.cmp(x.getData());
@@ -100,14 +100,14 @@ export class PerpetualsClient {
100
100
  this.program = new Program(IDL, programId);
101
101
  this.programId = programId;
102
102
  //this.program = workspace.Perpetuals as Program<Perpetuals>;
103
- console.log("client constructor programID : ", this.program.programId.toBase58());
103
+ // console.log("client constructor programID : ", this.program.programId.toBase58());
104
104
 
105
105
  // this.admin = Keypair.fromSecretKey(
106
106
  // new Uint8Array(JSON.parse(readFileSync(adminKey).toString()))
107
107
  // );
108
108
 
109
109
  this.admin = this.provider.wallet.publicKey;
110
- console.log("admin:", this.admin.toBase58())
110
+ // console.log("admin:", this.admin.toBase58())
111
111
 
112
112
  this.multisig = this.findProgramAddress("multisig");
113
113
  this.authority = this.findProgramAddress("transfer_authority");
@@ -283,24 +283,26 @@ export class PerpetualsClient {
283
283
  );
284
284
  };
285
285
 
286
- getUserPositions = async (wallet: PublicKey) => {
286
+ getUserPositions = async (
287
+ wallet: PublicKey,
288
+ poolConfig: PoolConfig
289
+ ) => {
287
290
  let data = encode(
288
291
  Buffer.concat([
289
292
  this.getAccountDiscriminator("Position"),
290
293
  wallet.toBuffer(),
291
294
  ])
292
295
  );
293
- let positions = await this.provider.connection.getProgramAccounts(
294
- this.program.programId,
295
- {
296
- filters: [{ dataSize: 200 }, { memcmp: { bytes: data, offset: 0 } }],
297
- }
298
- );
299
- return Promise.all(
300
- positions.map((position) => {
301
- return this.program.account.position.fetch(position.pubkey);
302
- })
303
- );
296
+
297
+ const positionKeys = [
298
+ ...poolConfig.getAllTokenMints().map(mint => this.getPositionKey(wallet, poolConfig.poolName, mint, 'long')),
299
+ ...poolConfig.getAllTokenMints().map(mint => this.getPositionKey(wallet, poolConfig.poolName, mint, 'short')),
300
+ ]
301
+
302
+ const positions = await this.provider.connection.getMultipleAccountsInfo(positionKeys);
303
+
304
+ type Position = Awaited<ReturnType <typeof this.program.account.position.fetch>>
305
+ return positions.map(p => this.program.coder.accounts.decode<Position>('position', p.data));
304
306
  };
305
307
 
306
308
  getPoolTokenPositions = async (poolName: string, tokenMint: PublicKey) => {
@@ -1071,18 +1073,17 @@ export class PerpetualsClient {
1071
1073
  // TODO: for close Accounts - NOT NEEDED
1072
1074
  openPosition = async (
1073
1075
  payTokenSymbol: string,
1074
- price: BN,
1076
+ priceAfterSlippage: BN,
1075
1077
  collateral: BN,
1076
1078
  size: BN,
1077
1079
  side: Side,
1078
- slippagePercentage: number,
1079
1080
  poolConfig: PoolConfig
1080
1081
  ): Promise<TransactionInstruction[]> => {
1081
1082
 
1082
1083
  console.log("open position :::", payTokenSymbol, poolConfig.getTokenFromSymbol(payTokenSymbol).mintKey.toBase58());
1083
1084
 
1084
- const slippageMultiplier = isVariant(side, 'long') ? -1 : 1;
1085
- const priceAfterSlippage = price.mul(new BN((100 - (slippagePercentage * slippageMultiplier)) * 100)).div(new BN(100 * 100))
1085
+ // const slippageMultiplier = isVariant(side, 'long') ? -1 : 1;
1086
+ // const priceAfterSlippage = price.mul(new BN((100 - (slippagePercentage * slippageMultiplier)) * 100)).div(new BN(100 * 100))
1086
1087
 
1087
1088
  let publicKey = this.provider.wallet.publicKey;
1088
1089
  const payTokenCustody = poolConfig.custodies.find(i => i.mintKey.equals(poolConfig.getTokenFromSymbol(payTokenSymbol).mintKey))!;
@@ -1196,16 +1197,16 @@ export class PerpetualsClient {
1196
1197
  // TODO : if out token WSOL -> unwrap to SOL - DONE
1197
1198
  closePosition = async (
1198
1199
  receivingTokenSymbol: string,
1199
- price: BN,
1200
+ priceAfterSlippage: BN,
1200
1201
  side: Side,
1201
- slippagePercentage: number,
1202
1202
  poolConfig: PoolConfig
1203
1203
  ): Promise<TransactionInstruction[]> => {
1204
1204
 
1205
1205
  console.log("close position :::", receivingTokenSymbol, poolConfig.getTokenFromSymbol(receivingTokenSymbol).mintKey.toBase58());
1206
1206
 
1207
- const slippageMultiplier = isVariant(side, 'long') ? -1 : 1;
1208
- const priceAfterSlippage = price.mul(new BN((100 - (slippagePercentage * slippageMultiplier)) * 100)).div(new BN(100 * 100))
1207
+ // opp during close
1208
+ // const slippageMultiplier = isVariant(side, 'short') ? -1 : 1;
1209
+ // const priceAfterSlippage = price.mul(new BN((100 - (slippagePercentage * slippageMultiplier)) * 100)).div(new BN(100 * 100))
1209
1210
 
1210
1211
  let publicKey = this.provider.wallet.publicKey;
1211
1212
 
@@ -128,13 +128,28 @@ export class PoolAccount implements Pool {
128
128
  // Ok(std::cmp::min(ratio, Perpetuals::BPS_POWER as u64))
129
129
  }
130
130
 
131
+ getEntryPrice(
132
+ token_price: OraclePrice,
133
+ token_ema_price: OraclePrice,
134
+ side: Side,
135
+ custody: CustodyAccount,
136
+ ) : BN {
137
+ let price = PoolAccount.getPrice(
138
+ token_price,
139
+ token_ema_price,
140
+ (isVariant(side, 'long')) ? Side.Long : Side.Short,
141
+ (isVariant(side, 'long')) ? custody.pricing.tradeSpreadLong : custody.pricing.tradeSpreadShort,
142
+ );
143
+ return price.scale_to_exponent(new BN(-1*PRICE_DECIMALS)).price
144
+ }
145
+
131
146
  getExitPrice(
132
147
  token_price: OraclePrice,
133
148
  token_ema_price: OraclePrice,
134
149
  side: Side,
135
150
  custody: CustodyAccount,
136
151
  ) : BN {
137
- let price = this.getPrice(
152
+ let price = PoolAccount.getPrice(
138
153
  token_price,
139
154
  token_ema_price,
140
155
  (isVariant(side, 'long')) ? Side.Short : Side.Long,
@@ -143,8 +158,7 @@ export class PoolAccount implements Pool {
143
158
  return price.scale_to_exponent(new BN(-1*PRICE_DECIMALS)).price
144
159
  }
145
160
 
146
-
147
- getPrice(
161
+ static getPrice(
148
162
  token_price: OraclePrice,
149
163
  token_ema_price: OraclePrice,
150
164
  side: Side,
@@ -159,49 +173,26 @@ export class PoolAccount implements Pool {
159
173
  max_price = token_ema_price;
160
174
  };
161
175
 
162
- // Ok(OraclePrice {
163
- // price: math::checked_add(
164
- // max_price.price,
165
- // math::checked_decimal_ceil_mul(
166
- // max_price.price,
167
- // max_price.exponent,
168
- // spread,
169
- // -(Perpetuals::BPS_DECIMALS as i32),
170
- // max_price.exponent,
171
- // )?,
172
- // )?,
173
- // exponent: max_price.exponent,
174
- // })
175
- let x = checkedDecimalCeilMul(
176
+ let spread_i = checkedDecimalCeilMul(
176
177
  max_price.price,
177
178
  max_price.exponent,
178
179
  spread,
179
180
  new BN(-1 * BPS_DECIMALS),
180
181
  max_price.exponent,
181
182
  );
182
- console.log("x:",x);
183
+ console.log("spread_i:",spread_i);
183
184
  return new OraclePrice({
184
- price : max_price.price.add(
185
- checkedDecimalCeilMul(
186
- max_price.price,
187
- max_price.exponent,
188
- spread,
189
- new BN(-1 * BPS_DECIMALS),
190
- max_price.exponent,
191
- )
192
- ),
185
+ price : max_price.price.add(spread_i),
193
186
  exponent : max_price.exponent,
194
187
  })
195
188
  } else {
196
189
  console.log("inside short ")
197
-
198
190
  let min_price:OraclePrice;
199
191
  if (token_price.cmp(token_ema_price) ) {
200
192
  min_price = token_ema_price;
201
193
  } else {
202
194
  min_price = token_price;
203
195
  };
204
- console.log("min_price:",min_price.price.toString())
205
196
 
206
197
  let spread_i = checkedDecimalMul(
207
198
  min_price.price,
@@ -366,7 +357,6 @@ export class PoolAccount implements Pool {
366
357
  }
367
358
  } //getPnlUsd
368
359
 
369
-
370
360
  getAssetsUnderManagementUsd(
371
361
  token_prices: OraclePrice[],
372
362
  token_ema_prices: OraclePrice[],