@pendle/sdk-boros 0.1.3 → 0.1.5

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.
@@ -10,7 +10,8 @@ const common_1 = require("../../common");
10
10
  const viemAbis_1 = require("../../contracts/viemAbis");
11
11
  const utils_1 = require("../../utils");
12
12
  const common_2 = require("../../utils/signing/common");
13
- const router_1 = require("../router");
13
+ const publicClient_1 = require("../publicClient");
14
+ const constants_1 = require("../../constants");
14
15
  let internalAgent;
15
16
  function setInternalAgent(agent) {
16
17
  internalAgent = agent;
@@ -41,9 +42,9 @@ class Agent {
41
42
  }
42
43
  getApproveAgentData(approveAgentStruct, signature) {
43
44
  const data = (0, viem_1.encodeFunctionData)({
44
- abi: viemAbis_1.iAuthModuleAbi,
45
+ abi: viemAbis_1.iRouterAbi,
45
46
  functionName: 'approveAgent',
46
- args: [approveAgentStruct, signature, { version: 0, data: '0x' }],
47
+ args: [approveAgentStruct, signature],
47
48
  });
48
49
  return data;
49
50
  }
@@ -66,13 +67,12 @@ class Agent {
66
67
  }
67
68
  async getExpiry(account) {
68
69
  const agentAddress = await this.getAddress();
69
- const expiry = await router_1.router.read.viewCall([
70
- (0, viem_1.encodeFunctionData)({
71
- abi: viemAbis_1.iAuthModuleAbi,
72
- functionName: 'agentExpiry',
73
- args: [account, agentAddress],
74
- }),
75
- ]);
70
+ const expiry = await publicClient_1.publicClient.readContract({
71
+ address: constants_1.ROUTER_ADDRESS,
72
+ abi: viemAbis_1.iRouterAbi,
73
+ functionName: 'agentExpiry',
74
+ args: [account, agentAddress],
75
+ });
76
76
  return Number(expiry);
77
77
  }
78
78
  async getAddress() {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/entities/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/entities/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PublicClient } from 'viem';
2
+ export declare const publicClient: PublicClient;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.publicClient = void 0;
4
+ const chains_1 = require("viem/chains");
5
+ const common_1 = require("../common");
6
+ const viem_1 = require("viem");
7
+ exports.publicClient = (0, viem_1.createPublicClient)({
8
+ chain: chains_1.base,
9
+ transport: (0, viem_1.http)(common_1.RPC_URL),
10
+ });
11
+ //# sourceMappingURL=publicClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicClient.js","sourceRoot":"","sources":["../../src/entities/publicClient.ts"],"names":[],"mappings":";;;AAAA,wCAAmC;AACnC,sCAAoC;AACpC,+BAA8D;AAEjD,QAAA,YAAY,GAAG,IAAA,yBAAkB,EAAC;IAC7C,KAAK,EAAE,aAAI;IACX,SAAS,EAAE,IAAA,WAAI,EAAC,gBAAO,CAAC;CACzB,CAAiB,CAAC"}
@@ -4,3 +4,7 @@ export type AccountPosition = Hex;
4
4
  export type MarketId = number;
5
5
  export type TokenId = number;
6
6
  export type OrderId = bigint;
7
+ export declare enum OrderSide {
8
+ LONG = 0,
9
+ SHORT = 1
10
+ }
@@ -1,3 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderSide = void 0;
4
+ var OrderSide;
5
+ (function (OrderSide) {
6
+ OrderSide[OrderSide["LONG"] = 0] = "LONG";
7
+ OrderSide[OrderSide["SHORT"] = 1] = "SHORT";
8
+ })(OrderSide || (exports.OrderSide = OrderSide = {}));
3
9
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":";;;AAQA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,yCAAQ,CAAA;IACR,2CAAS,CAAA;AACX,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}
@@ -3,6 +3,5 @@ export * from './accountLib';
3
3
  import { Address, Hex, WalletClient } from 'viem';
4
4
  import { AccountPosition } from '../types';
5
5
  export declare function sendTx(walletClient: WalletClient, calldata: Hex): Promise<`0x${string}`>;
6
- export declare function getRouterDirectCallData(callDataList: Hex[], requireMarginCheckCall?: boolean): Hex;
7
6
  export declare function getUserAddressFromWalletClient(userWalletClient: WalletClient): Promise<Address>;
8
- export declare function getEnteredMarkets(accountPosition: AccountPosition): Promise<readonly `0x${string}`[]>;
7
+ export declare function getEnteredMarkets(accountPosition: AccountPosition): Promise<readonly number[]>;
@@ -15,14 +15,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.sendTx = sendTx;
18
- exports.getRouterDirectCallData = getRouterDirectCallData;
19
18
  exports.getUserAddressFromWalletClient = getUserAddressFromWalletClient;
20
19
  exports.getEnteredMarkets = getEnteredMarkets;
21
20
  __exportStar(require("./signing"), exports);
22
21
  __exportStar(require("./accountLib"), exports);
23
- const viem_1 = require("viem");
24
22
  const constants_1 = require("../constants");
25
- const viemAbis_1 = require("../contracts/viemAbis");
26
23
  const marketHub_1 = require("../entities/marketHub");
27
24
  async function sendTx(walletClient, calldata) {
28
25
  const [account] = await walletClient.getAddresses();
@@ -35,14 +32,6 @@ async function sendTx(walletClient, calldata) {
35
32
  });
36
33
  return txHash;
37
34
  }
38
- function getRouterDirectCallData(callDataList, requireMarginCheckCall = false) {
39
- const data = (0, viem_1.encodeFunctionData)({
40
- abi: viemAbis_1.iRouterAbi,
41
- functionName: 'directCall',
42
- args: [callDataList.map((calldata) => ({ accountId: 0, data: calldata })), requireMarginCheckCall],
43
- });
44
- return data;
45
- }
46
35
  async function getUserAddressFromWalletClient(userWalletClient) {
47
36
  let userAddress = userWalletClient.account?.address;
48
37
  if (!userAddress) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,wBAYC;AAED,0DAQC;AAED,wEAMC;AAED,8CAEC;AA3CD,4CAA0B;AAC1B,+CAA6B;AAE7B,+BAAsE;AACtE,4CAA8C;AAC9C,oDAAmD;AAEnD,qDAAkD;AAE3C,KAAK,UAAU,MAAM,CAAC,YAA0B,EAAE,QAAa;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC;QAChD,OAAO;QACP,EAAE,EAAE,0BAAc;QAClB,IAAI,EAAE,QAAQ;QAEd,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,YAAY,CAAC,KAAK;KAC1B,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,uBAAuB,CAAC,YAAmB,EAAE,sBAAsB,GAAG,KAAK;IACzF,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC;QAC9B,GAAG,EAAE,qBAAU;QACf,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,sBAAsB,CAAC;KACnG,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,8BAA8B,CAAC,gBAA8B;IACjF,IAAI,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;IACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,CAAC,WAAW,CAAC,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,eAAgC;IACtE,OAAO,qBAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,wBAYC;AAED,wEAMC;AAED,8CAEC;AAjCD,4CAA0B;AAC1B,+CAA6B;AAG7B,4CAA8C;AAG9C,qDAAkD;AAE3C,KAAK,UAAU,MAAM,CAAC,YAA0B,EAAE,QAAa;IACpE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC;QAChD,OAAO;QACP,EAAE,EAAE,0BAAc;QAClB,IAAI,EAAE,QAAQ;QAEd,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,YAAY,CAAC,KAAK;KAC1B,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,8BAA8B,CAAC,gBAA8B;IACjF,IAAI,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;IACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,CAAC,WAAW,CAAC,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,eAAgC;IACtE,OAAO,qBAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { OrderId, OrderSide } from '../types';
2
+ export declare class OrderIdLib {
3
+ static readonly ZERO: OrderId;
4
+ static readonly INITIALIZED_MARKER: bigint;
5
+ static pack(side: OrderSide, tickIndex: number, orderIndex: bigint): OrderId;
6
+ static unpack(orderId: OrderId): {
7
+ side: OrderSide;
8
+ tickIndex: number;
9
+ orderIndex: bigint;
10
+ };
11
+ static isZero(orderId: OrderId): boolean;
12
+ static orderIndex(orderId: OrderId): bigint;
13
+ static tickIndex(orderId: OrderId): number;
14
+ static side(orderId: OrderId): OrderSide;
15
+ static _encodeTickIndex(tickIndex: number, side: OrderSide): number;
16
+ static _decodeTickIndex(encoded: number, side: OrderSide): number;
17
+ static sweepTickTopDown(side: OrderSide): boolean;
18
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderIdLib = void 0;
4
+ const types_1 = require("../types");
5
+ class OrderIdLib {
6
+ static ZERO = 0n;
7
+ static INITIALIZED_MARKER = 1n << 63n;
8
+ static pack(side, tickIndex, orderIndex) {
9
+ const encodedTickIndex = OrderIdLib._encodeTickIndex(tickIndex, side);
10
+ return OrderIdLib.INITIALIZED_MARKER | (BigInt(side) << 56n) | (BigInt(encodedTickIndex) << 40n) | orderIndex;
11
+ }
12
+ static unpack(orderId) {
13
+ const encodedTickIndex = Number((orderId >> 40n) & 0xffffn);
14
+ const side = Number((orderId >> 56n) & 1n);
15
+ return {
16
+ side,
17
+ tickIndex: OrderIdLib._decodeTickIndex(encodedTickIndex, side),
18
+ orderIndex: orderId & 0xffffffffffn,
19
+ };
20
+ }
21
+ static isZero(orderId) {
22
+ return orderId === 0n;
23
+ }
24
+ static orderIndex(orderId) {
25
+ return orderId & 0xffffffffffn;
26
+ }
27
+ static tickIndex(orderId) {
28
+ const encodedTickIndex = Number((orderId >> 40n) & 0xffffn);
29
+ return OrderIdLib._decodeTickIndex(encodedTickIndex, OrderIdLib.side(orderId));
30
+ }
31
+ static side(orderId) {
32
+ return Number((orderId >> 56n) & 1n);
33
+ }
34
+ static _encodeTickIndex(tickIndex, side) {
35
+ let encoded = (tickIndex & 0xffff) ^ (1 << 15);
36
+ if (OrderIdLib.sweepTickTopDown(side))
37
+ encoded = ~encoded & 0xffff;
38
+ return encoded;
39
+ }
40
+ static _decodeTickIndex(encoded, side) {
41
+ if (OrderIdLib.sweepTickTopDown(side))
42
+ encoded = ~encoded & 0xffff;
43
+ return ((encoded ^ (1 << 15)) << 16) >> 16;
44
+ }
45
+ static sweepTickTopDown(side) {
46
+ return side === types_1.OrderSide.LONG;
47
+ }
48
+ }
49
+ exports.OrderIdLib = OrderIdLib;
50
+ //# sourceMappingURL=orderLib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderLib.js","sourceRoot":"","sources":["../../src/utils/orderLib.ts"],"names":[],"mappings":";;;AAGA,oCAA8C;AAE9C,MAAa,UAAU;IACrB,MAAM,CAAU,IAAI,GAAY,EAAE,CAAC;IACnC,MAAM,CAAU,kBAAkB,GAAW,EAAE,IAAI,GAAG,CAAC;IAGvD,MAAM,CAAC,IAAI,CAAC,IAAe,EAAE,SAAiB,EAAE,UAAkB;QAChE,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtE,OAAO,UAAU,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC;IAChH,CAAC;IAGD,MAAM,CAAC,MAAM,CAAC,OAAgB;QAC5B,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,CAAc,CAAC;QACxD,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC;YAC9D,UAAU,EAAE,OAAO,GAAG,aAAa;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAgB;QAC5B,OAAO,OAAO,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,OAAgB;QAChC,OAAO,OAAO,GAAG,aAAa,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAgB;QAC/B,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAC5D,OAAO,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAgB;QAC1B,OAAO,MAAM,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,CAAc,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAiB,EAAE,IAAe;QACxD,IAAI,OAAO,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,OAAe,EAAE,IAAe;QACtD,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;QACnE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAGD,MAAM,CAAC,gBAAgB,CAAC,IAAe;QACrC,OAAO,IAAI,KAAK,iBAAS,CAAC,IAAI,CAAC;IACjC,CAAC;;AApDH,gCAqDC"}
@@ -1,22 +1,22 @@
1
1
  import { Address, Hex } from 'viem';
2
2
  import { AccountPosition, CancelStruct, EnterExitMarketStruct, OrderStruct, PendleSignTxStruct, PositionTransferStruct } from '../../types';
3
3
  export declare const ACTION_INPUT_NAME_MAP: {
4
- readonly placeOrders: "orders";
5
- readonly cancelOrders: "cancels";
6
- readonly positionTransfer: "transfers";
7
- readonly enterExitMarkets: "enterExits";
4
+ readonly placeOrder: "orders";
5
+ readonly bulkCancels: "cancels";
6
+ readonly cashTransfer: "transfers";
7
+ readonly enterMarkets: "enterExits";
8
8
  };
9
9
  export type AgentAction = {
10
- tag: 'placeOrders';
10
+ tag: 'placeOrder';
11
11
  data: OrderStruct[];
12
12
  } | {
13
- tag: 'cancelOrders';
13
+ tag: 'bulkCancels';
14
14
  data: CancelStruct[];
15
15
  } | {
16
- tag: 'positionTransfer';
16
+ tag: 'cashTransfer';
17
17
  data: PositionTransferStruct[];
18
18
  } | {
19
- tag: 'enterExitMarkets';
19
+ tag: 'enterMarkets';
20
20
  data: EnterExitMarketStruct[];
21
21
  };
22
22
  export type SignedAgentCall<T extends AgentAction> = {
@@ -9,45 +9,30 @@ const entities_1 = require("../../entities");
9
9
  const accountLib_1 = require("../accountLib");
10
10
  const common_1 = require("./common");
11
11
  exports.ACTION_INPUT_NAME_MAP = {
12
- placeOrders: 'orders',
13
- cancelOrders: 'cancels',
14
- positionTransfer: 'transfers',
15
- enterExitMarkets: 'enterExits',
12
+ placeOrder: 'orders',
13
+ bulkCancels: 'cancels',
14
+ cashTransfer: 'transfers',
15
+ enterMarkets: 'enterExits',
16
16
  };
17
17
  async function signWithAgent(params) {
18
18
  const { root, accountId, calls } = params;
19
19
  const results = [];
20
20
  for (const contractParams of calls) {
21
21
  const primaryInput = (0, viem_1.getAbiItem)({
22
- abi: viemAbis_1.iAuthModuleAbi,
22
+ abi: viemAbis_1.iRouterAbi,
23
23
  name: contractParams.tag,
24
24
  }).inputs;
25
25
  const primaryType = primaryInput.find((item) => item.name === exports.ACTION_INPUT_NAME_MAP[contractParams.tag]);
26
26
  const agent = (0, entities_1.getInternalAgent)();
27
- const signer = agent.walletClient;
28
- const pendleSignTxType = (0, viem_1.getAbiItem)({
29
- abi: viemAbis_1.iAuthModuleAbi,
30
- name: 'hashPendleSignTx',
31
- }).inputs.find((item) => item.name === 'message').components;
32
27
  const message = {
33
28
  account: accountLib_1.AccountLib.pack(root, accountId),
34
29
  connectionId: (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([primaryType], [contractParams.data])),
35
30
  nonce: BigInt(Date.now()),
36
31
  };
37
- const signature = await signer.signTypedData({
38
- account: agent.walletClient.account,
39
- domain: common_1.PENDLE_BOROS_ROUTER_DOMAIN,
40
- types: {
41
- EIP712Domain: common_1.EIP712_DOMAIN_TYPES,
42
- PendleSignTx: pendleSignTxType,
43
- },
44
- primaryType: 'PendleSignTx',
45
- message,
46
- });
47
32
  results.push({
48
33
  agent: await agent.getAddress(),
49
34
  message,
50
- signature,
35
+ signature: '0x',
51
36
  params: contractParams,
52
37
  });
53
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/utils/signing/agent.ts"],"names":[],"mappings":";;;AAmCA,sCAoDC;AAED,gDAkCC;AA3HD,+BAAgF;AAChF,uDAA0D;AAC1D,6CAAkD;AASlD,8CAA2C;AAC3C,qCAAkG;AAErF,QAAA,qBAAqB,GAAG;IACnC,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,SAAS;IACvB,gBAAgB,EAAE,WAAW;IAC7B,gBAAgB,EAAE,YAAY;CACtB,CAAC;AAgBJ,KAAK,UAAU,aAAa,CAAC,MAInC;IACC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE1C,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,KAAK,MAAM,cAAc,IAAI,KAAK,EAAE,CAAC;QACnC,MAAM,YAAY,GAChB,IAAA,iBAAU,EAAC;YACT,GAAG,EAAE,yBAAc;YACnB,IAAI,EAAE,cAAc,CAAC,GAAG;SACzB,CACF,CAAC,MAAM,CAAC;QAET,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,6BAAqB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAE,CAAC;QAE/G,MAAM,KAAK,GAAG,IAAA,2BAAgB,GAAE,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;QAClC,MAAM,gBAAgB,GAAG,IAAA,iBAAU,EAAC;YAClC,GAAG,EAAE,yBAAc;YACnB,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAE,CAAC,UAAU,CAAC;QAE9D,MAAM,OAAO,GAAuB;YAClC,OAAO,EAAE,uBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACzC,YAAY,EAAE,IAAA,gBAAS,EAAC,IAAA,0BAAmB,EAAC,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAClF,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAC1B,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YAC3C,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,OAAQ;YACpC,MAAM,EAAE,mCAA0B;YAClC,KAAK,EAAE;gBACL,YAAY,EAAE,4BAAmB;gBACjC,YAAY,EAAE,gBAAgB;aAC/B;YACD,WAAW,EAAE,cAAc;YAC3B,OAAO;SACR,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,MAAM,KAAK,CAAC,UAAU,EAAE;YAC/B,OAAO;YACP,SAAS;YACT,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,MAIxC;IACC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE5D,MAAM,KAAK,GAAG,IAAA,2BAAgB,GAAE,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QAC3C,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,OAAQ;QACpC,MAAM,EAAE,mCAA0B;QAClC,KAAK,EAAE;YACL,YAAY,EAAE,4BAAmB;YACjC,cAAc,EAAE,8BAAqB;SACtC;QACD,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE;YACP,eAAe;YACf,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;SAC7B;KACF,CAAC,CAAC;IAEH,OAAO;QACL,eAAe;QACf,aAAa;QACb,QAAQ;QACR,SAAS;QACT,KAAK,EAAE,YAAY;QACnB,SAAS;KACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/utils/signing/agent.ts"],"names":[],"mappings":";;;AAmCA,sCAqDC;AAED,gDAkCC;AA5HD,+BAAgF;AAChF,uDAAsE;AACtE,6CAAkD;AASlD,8CAA2C;AAC3C,qCAAkG;AAErF,QAAA,qBAAqB,GAAG;IACnC,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,YAAY;CAClB,CAAC;AAgBJ,KAAK,UAAU,aAAa,CAAC,MAInC;IACC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE1C,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,KAAK,MAAM,cAAc,IAAI,KAAK,EAAE,CAAC;QACnC,MAAM,YAAY,GAChB,IAAA,iBAAU,EAAC;YACT,GAAG,EAAE,qBAAU;YACf,IAAI,EAAE,cAAc,CAAC,GAAG;SACzB,CACF,CAAC,MAAM,CAAC;QAET,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,6BAAqB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAE,CAAC;QAG/G,MAAM,KAAK,GAAG,IAAA,2BAAgB,GAAE,CAAC;QAOjC,MAAM,OAAO,GAAuB;YAClC,OAAO,EAAE,uBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACzC,YAAY,EAAE,IAAA,gBAAS,EAAC,IAAA,0BAAmB,EAAC,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAClF,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAC1B,CAAC;QAaF,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,MAAM,KAAK,CAAC,UAAU,EAAE;YAC/B,OAAO;YACP,SAAS,EAAE,IAAW;YACtB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,MAIxC;IACC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE5D,MAAM,KAAK,GAAG,IAAA,2BAAgB,GAAE,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QAC3C,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,OAAQ;QACpC,MAAM,EAAE,mCAA0B;QAClC,KAAK,EAAE;YACL,YAAY,EAAE,4BAAmB;YACjC,cAAc,EAAE,8BAAqB;SACtC;QACD,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE;YACP,eAAe;YACf,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;SAC7B;KACF,CAAC,CAAC;IAEH,OAAO;QACL,eAAe;QACf,aAAa;QACb,QAAQ;QACR,SAAS;QACT,KAAK,EAAE,YAAY;QACnB,SAAS;KACV,CAAC;AACJ,CAAC"}
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.3",
5
+ "version": "0.1.5",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [