@pendle/sdk-boros 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
1
  export declare const ROUTER_ADDRESS: "0xa6e0b46885a53A2De12B5Bdf5eA5Fe79BdBd4754";
2
2
  export declare const MARKET_HUB_ADDRESS: "0x08F2d63Dd1A4258a97A8f100476655775b8538eD";
3
3
  export declare const CHAIN_ID = 8453;
4
+ export declare const CROSS_MARKET_ID: number;
package/dist/constants.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CHAIN_ID = exports.MARKET_HUB_ADDRESS = exports.ROUTER_ADDRESS = void 0;
3
+ exports.CROSS_MARKET_ID = exports.CHAIN_ID = exports.MARKET_HUB_ADDRESS = exports.ROUTER_ADDRESS = void 0;
4
4
  exports.ROUTER_ADDRESS = '0xa6e0b46885a53A2De12B5Bdf5eA5Fe79BdBd4754';
5
5
  exports.MARKET_HUB_ADDRESS = '0x08F2d63Dd1A4258a97A8f100476655775b8538eD';
6
6
  exports.CHAIN_ID = 8453;
7
+ exports.CROSS_MARKET_ID = 2 ** 24 - 1;
7
8
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,cAAc,GAAG,4CAAqD,CAAC;AACvE,QAAA,kBAAkB,GAAG,4CAAqD,CAAC;AAC3E,QAAA,QAAQ,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,cAAc,GAAG,4CAAqD,CAAC;AACvE,QAAA,kBAAkB,GAAG,4CAAqD,CAAC;AAC3E,QAAA,QAAQ,GAAG,IAAI,CAAC;AAEhB,QAAA,eAAe,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC"}
@@ -1,19 +1,19 @@
1
- import { Address } from 'viem';
2
- import { Account, MarketAcc, MarketId, TokenId } from '../types';
1
+ import { Address } from "viem";
2
+ import { Account, MarketAcc, MarketId, TokenId } from "../types";
3
3
  export declare class MarketAccLib {
4
- static crossMarketId: number;
5
4
  static pack(root: Address, accountId: number, tokenId: TokenId, marketId: MarketId): MarketAcc;
6
5
  static unpack(value: MarketAcc): {
7
- root: string;
6
+ root: `0x${string}`;
8
7
  accountId: number;
9
8
  tokenId: number;
10
9
  marketId: number;
11
10
  };
11
+ static isCrossMarket(accountPosition: MarketAcc): boolean;
12
12
  }
13
13
  export declare class AccountLib {
14
14
  static pack(root: Address, accountId: number): Account;
15
15
  static unpack(account: Account): {
16
- root: string;
16
+ root: `0x${string}`;
17
17
  accountId: number;
18
18
  };
19
19
  }
@@ -2,30 +2,28 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AccountLib = exports.MarketAccLib = void 0;
4
4
  const viem_1 = require("viem");
5
+ const constants_1 = require("../constants");
5
6
  class MarketAccLib {
6
- static crossMarketId = 2 ** 40 - 1;
7
7
  static pack(root, accountId, tokenId, marketId) {
8
- const rawUserBytes = (0, viem_1.hexToBytes)(root);
9
- const rawBytes = new Uint8Array(28);
10
- let offset = 0;
11
- rawBytes.set((0, viem_1.numberToBytes)(marketId, { size: 5 }), offset);
12
- offset += 5;
13
- rawBytes.set((0, viem_1.numberToBytes)(tokenId, { size: 2 }), offset);
14
- offset += 2;
15
- rawBytes.set((0, viem_1.numberToBytes)(accountId, { size: 1 }), offset);
16
- offset += 1;
17
- rawBytes.set(rawUserBytes, offset);
18
- offset += 20;
19
- return (0, viem_1.bytesToHex)(rawBytes);
8
+ const rootBigInt = (0, viem_1.fromHex)(root, 'bigint');
9
+ const accountIdBigInt = BigInt(accountId);
10
+ const tokenIdBigInt = BigInt(tokenId);
11
+ const marketIdBigInt = BigInt(marketId);
12
+ const accountPositionBigInt = (rootBigInt << 48n) | (accountIdBigInt << 40n) | (tokenIdBigInt << 24n) | marketIdBigInt;
13
+ return (0, viem_1.bytesToHex)((0, viem_1.numberToBytes)(accountPositionBigInt, { size: 26 }));
20
14
  }
21
15
  static unpack(value) {
22
- const bytes = (0, viem_1.hexToBytes)(value);
23
- const marketId = Number(`0x${Buffer.from(bytes.slice(0, 5)).toString('hex')}`);
24
- const tokenId = Number(`0x${Buffer.from(bytes.slice(5, 7)).toString('hex')}`);
25
- const accountId = Number(`0x${Buffer.from(bytes.slice(7, 8)).toString('hex')}`);
26
- const root = `0x${Buffer.from(bytes.slice(8)).toString('hex')}`;
16
+ const accountPositionBigInt = (0, viem_1.fromHex)(value, 'bigint');
17
+ const root = (0, viem_1.bytesToHex)((0, viem_1.numberToBytes)(accountPositionBigInt >> 48n, { size: 20 }));
18
+ const accountId = Number((accountPositionBigInt >> 40n) & ((1n << 8n) - 1n));
19
+ const tokenId = Number((accountPositionBigInt >> 24n) & ((1n << 16n) - 1n));
20
+ const marketId = Number(accountPositionBigInt & ((1n << 24n) - 1n));
27
21
  return { root, accountId, tokenId, marketId };
28
22
  }
23
+ static isCrossMarket(accountPosition) {
24
+ const { marketId } = MarketAccLib.unpack(accountPosition);
25
+ return marketId === constants_1.CROSS_MARKET_ID;
26
+ }
29
27
  }
30
28
  exports.MarketAccLib = MarketAccLib;
31
29
  class AccountLib {
@@ -37,7 +35,7 @@ class AccountLib {
37
35
  static unpack(account) {
38
36
  const accountBigInt = (0, viem_1.fromHex)(account, 'bigint');
39
37
  const accountId = Number(accountBigInt & ((1n << 8n) - 1n));
40
- const root = (0, viem_1.bytesToHex)((0, viem_1.numberToBytes)(accountBigInt >> 8n, { size: 20 })).toLowerCase();
38
+ const root = (0, viem_1.bytesToHex)((0, viem_1.numberToBytes)(accountBigInt >> 8n, { size: 20 }));
41
39
  return { root, accountId };
42
40
  }
43
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accountLib.js","sourceRoot":"","sources":["../../src/utils/accountLib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountLib.js","sourceRoot":"","sources":["../../src/utils/accountLib.ts"],"names":[],"mappings":";;;AAAA,+BAAmE;AAEnE,4CAA+C;AAM/C,MAAa,YAAY;IACvB,MAAM,CAAC,IAAI,CAAC,IAAa,EAAE,SAAiB,EAAE,OAAgB,EAAE,QAAkB;QAChF,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAExC,MAAM,qBAAqB,GACzB,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC;QAE3F,OAAO,IAAA,iBAAU,EAAC,IAAA,oBAAa,EAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAgB;QAC5B,MAAM,qBAAqB,GAAG,IAAA,cAAO,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,IAAA,oBAAa,EAAC,qBAAqB,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,qBAAqB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,qBAAqB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,qBAAqB,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,eAA0B;QAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1D,OAAO,QAAQ,KAAK,2BAAe,CAAC;IACtC,CAAC;CACF;AA1BD,oCA0BC;AAMD,MAAa,UAAU;IACrB,MAAM,CAAC,IAAI,CAAC,IAAa,EAAE,SAAiB;QAC1C,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7D,OAAO,IAAA,iBAAU,EAAC,IAAA,oBAAa,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAgB;QAC5B,MAAM,aAAa,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,IAAA,oBAAa,EAAC,aAAa,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;CACF;AAbD,gCAaC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/sdk-boros",
3
3
  "description": "Pendle SDK for Boros",
4
4
  "license": "MIT",
5
- "version": "0.1.7",
5
+ "version": "0.1.8",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [