@pendle/sdk-boros 1.0.0 → 1.0.1-logstore

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.
@@ -0,0 +1,52 @@
1
+ export interface LogSDKDto {
2
+ tags: object;
3
+ breadcrumbs?: object;
4
+ data: object;
5
+ }
6
+ export interface CreateLogSDKDto {
7
+ logs: LogSDKDto[];
8
+ }
9
+ export interface LogSDKResponse {
10
+ message: string;
11
+ }
12
+ import type { AxiosInstance, AxiosRequestConfig, AxiosResponse, ResponseType } from 'axios';
13
+ export type QueryParamsType = Record<string | number, any>;
14
+ export interface FullRequestParams extends Omit<AxiosRequestConfig, 'data' | 'params' | 'url' | 'responseType'> {
15
+ secure?: boolean;
16
+ path: string;
17
+ type?: ContentType;
18
+ query?: QueryParamsType;
19
+ format?: ResponseType;
20
+ body?: unknown;
21
+ }
22
+ export type RequestParams = Omit<FullRequestParams, 'body' | 'method' | 'query' | 'path'>;
23
+ export interface ApiConfig<SecurityDataType = unknown> extends Omit<AxiosRequestConfig, 'data' | 'cancelToken'> {
24
+ securityWorker?: (securityData: SecurityDataType | null) => Promise<AxiosRequestConfig | void> | AxiosRequestConfig | void;
25
+ secure?: boolean;
26
+ format?: ResponseType;
27
+ }
28
+ export declare enum ContentType {
29
+ Json = "application/json",
30
+ JsonApi = "application/vnd.api+json",
31
+ FormData = "multipart/form-data",
32
+ UrlEncoded = "application/x-www-form-urlencoded",
33
+ Text = "text/plain"
34
+ }
35
+ export declare class HttpClient<SecurityDataType = unknown> {
36
+ instance: AxiosInstance;
37
+ private securityData;
38
+ private securityWorker?;
39
+ private secure?;
40
+ private format?;
41
+ constructor({ securityWorker, secure, format, ...axiosConfig }?: ApiConfig<SecurityDataType>);
42
+ setSecurityData: (data: SecurityDataType | null) => void;
43
+ protected mergeRequestParams(params1: AxiosRequestConfig, params2?: AxiosRequestConfig): AxiosRequestConfig;
44
+ protected stringifyFormItem(formItem: unknown): string;
45
+ protected createFormData(input: Record<string, unknown>): FormData;
46
+ request: <T = any, _E = any>({ secure, path, type, query, format, body, ...params }: FullRequestParams) => Promise<AxiosResponse<T>>;
47
+ }
48
+ export declare class Sdk<SecurityDataType extends unknown> extends HttpClient<SecurityDataType> {
49
+ logSdk: {
50
+ logSdkControllerCreateLogSdk: (data: CreateLogSDKDto, params?: RequestParams) => Promise<AxiosResponse<LogSDKResponse, any>>;
51
+ };
52
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Sdk = exports.HttpClient = exports.ContentType = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ var ContentType;
9
+ (function (ContentType) {
10
+ ContentType["Json"] = "application/json";
11
+ ContentType["JsonApi"] = "application/vnd.api+json";
12
+ ContentType["FormData"] = "multipart/form-data";
13
+ ContentType["UrlEncoded"] = "application/x-www-form-urlencoded";
14
+ ContentType["Text"] = "text/plain";
15
+ })(ContentType || (exports.ContentType = ContentType = {}));
16
+ class HttpClient {
17
+ instance;
18
+ securityData = null;
19
+ securityWorker;
20
+ secure;
21
+ format;
22
+ constructor({ securityWorker, secure, format, ...axiosConfig } = {}) {
23
+ this.instance = axios_1.default.create({
24
+ ...axiosConfig,
25
+ baseURL: axiosConfig.baseURL || 'https://api-v2.pendle.finance/log-store',
26
+ });
27
+ this.secure = secure;
28
+ this.format = format;
29
+ this.securityWorker = securityWorker;
30
+ }
31
+ setSecurityData = (data) => {
32
+ this.securityData = data;
33
+ };
34
+ mergeRequestParams(params1, params2) {
35
+ const method = params1.method || (params2 && params2.method);
36
+ return {
37
+ ...this.instance.defaults,
38
+ ...params1,
39
+ ...(params2 || {}),
40
+ headers: {
41
+ ...((method && this.instance.defaults.headers[method.toLowerCase()]) || {}),
42
+ ...(params1.headers || {}),
43
+ ...((params2 && params2.headers) || {}),
44
+ },
45
+ };
46
+ }
47
+ stringifyFormItem(formItem) {
48
+ if (typeof formItem === 'object' && formItem !== null) {
49
+ return JSON.stringify(formItem);
50
+ }
51
+ else {
52
+ return `${formItem}`;
53
+ }
54
+ }
55
+ createFormData(input) {
56
+ if (input instanceof FormData) {
57
+ return input;
58
+ }
59
+ return Object.keys(input || {}).reduce((formData, key) => {
60
+ const property = input[key];
61
+ const propertyContent = property instanceof Array ? property : [property];
62
+ for (const formItem of propertyContent) {
63
+ const isFileType = formItem instanceof Blob || formItem instanceof File;
64
+ formData.append(key, isFileType ? formItem : this.stringifyFormItem(formItem));
65
+ }
66
+ return formData;
67
+ }, new FormData());
68
+ }
69
+ request = async ({ secure, path, type, query, format, body, ...params }) => {
70
+ const secureParams = ((typeof secure === 'boolean' ? secure : this.secure) &&
71
+ this.securityWorker &&
72
+ (await this.securityWorker(this.securityData))) ||
73
+ {};
74
+ const requestParams = this.mergeRequestParams(params, secureParams);
75
+ const responseFormat = format || this.format || undefined;
76
+ if (type === ContentType.FormData && body && body !== null && typeof body === 'object') {
77
+ body = this.createFormData(body);
78
+ }
79
+ if (type === ContentType.Text && body && body !== null && typeof body !== 'string') {
80
+ body = JSON.stringify(body);
81
+ }
82
+ return this.instance.request({
83
+ ...requestParams,
84
+ headers: {
85
+ ...(requestParams.headers || {}),
86
+ ...(type ? { 'Content-Type': type } : {}),
87
+ },
88
+ params: query,
89
+ responseType: responseFormat,
90
+ data: body,
91
+ url: path,
92
+ });
93
+ };
94
+ }
95
+ exports.HttpClient = HttpClient;
96
+ class Sdk extends HttpClient {
97
+ logSdk = {
98
+ logSdkControllerCreateLogSdk: (data, params = {}) => this.request({
99
+ path: `/v1/log-sdk/create`,
100
+ method: 'POST',
101
+ body: data,
102
+ type: ContentType.Json,
103
+ format: 'json',
104
+ ...params,
105
+ }),
106
+ };
107
+ }
108
+ exports.Sdk = Sdk;
109
+ //# sourceMappingURL=LogStoreBackend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogStoreBackend.js","sourceRoot":"","sources":["../../../src/backend/LogStore/LogStoreBackend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * as LogStoreBackend from './module';
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.LogStoreBackend = void 0;
37
+ exports.LogStoreBackend = __importStar(require("./module"));
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backend/LogStore/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA4C"}
@@ -0,0 +1,14 @@
1
+ export * from './LogStoreBackend';
2
+ import { Environment } from '../../addresses';
3
+ import { Sdk } from './LogStoreBackend';
4
+ export interface DefaultSdk extends Sdk<unknown> {
5
+ }
6
+ export declare const cachedSdk: Partial<Record<Environment, DefaultSdk>>;
7
+ export declare function createSdk(baseURL: string, params: {
8
+ apiKey?: string;
9
+ disableAxiosInterceptors?: boolean;
10
+ }): Sdk<unknown>;
11
+ export declare function getSdk(params?: {
12
+ apiKey?: string;
13
+ disableAxiosInterceptors?: boolean;
14
+ }): DefaultSdk;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.cachedSdk = void 0;
18
+ exports.createSdk = createSdk;
19
+ exports.getSdk = getSdk;
20
+ __exportStar(require("./LogStoreBackend"), exports);
21
+ const addresses_1 = require("../../addresses");
22
+ const LogStoreBackend_1 = require("./LogStoreBackend");
23
+ const PROD_LOG_STORE_BACKEND_URL = 'https://api-v2.pendle.finance/log-store';
24
+ const STAGING_LOG_STORE_BACKEND_URL = 'https://staging-api.pendle.finance/log-store';
25
+ function getLogStoreBackendUrl() {
26
+ return addresses_1.env === 'production' ? PROD_LOG_STORE_BACKEND_URL : STAGING_LOG_STORE_BACKEND_URL;
27
+ }
28
+ exports.cachedSdk = {};
29
+ function createSdk(baseURL, params) {
30
+ const sdk = new LogStoreBackend_1.Sdk({
31
+ baseURL,
32
+ headers: { ...(params.apiKey != null ? { 'api-key': params.apiKey } : {}) },
33
+ });
34
+ return sdk;
35
+ }
36
+ function getSdk(params) {
37
+ const { apiKey, disableAxiosInterceptors } = params ?? {};
38
+ const baseURL = getLogStoreBackendUrl();
39
+ const key = `${addresses_1.env}`;
40
+ const x = exports.cachedSdk[key];
41
+ return x !== undefined ? x : (exports.cachedSdk[key] = createSdk(baseURL, { apiKey, disableAxiosInterceptors }));
42
+ }
43
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/backend/LogStore/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA2BA,8BASC;AAED,wBAMC;AA1CD,oDAAkC;AAClC,+CAAmD;AAEnD,uDAAwC;AAMxC,MAAM,0BAA0B,GAAG,yCAAyC,CAAC;AAC7E,MAAM,6BAA6B,GAAG,8CAA8C,CAAC;AAErF,SAAS,qBAAqB;IAC5B,OAAO,eAAG,KAAK,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,6BAA6B,CAAC;AAC3F,CAAC;AASY,QAAA,SAAS,GAA6C,EAAE,CAAC;AAEtE,SAAgB,SAAS,CAAC,OAAe,EAAE,MAA+D;IACxG,MAAM,GAAG,GAAG,IAAI,qBAAG,CAAU;QAC3B,OAAO;QACP,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;KAC5E,CAAC,CAAC;IAIH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,MAAM,CAAC,MAAgE;IACrF,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,eAAG,EAAW,CAAC;IAC9B,MAAM,CAAC,GAAG,iBAAS,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;AAC3G,CAAC"}
@@ -30,3 +30,11 @@ export declare class Market {
30
30
  private static getIMSuf;
31
31
  static getOrderValue(params: GetOrderValueParams): bigint;
32
32
  }
33
+ export declare function getLongYieldAprFixedX18({ underlyingApr, fixedApr, timeToMaturity, marginFloor, maturityFloor, leverage, }: {
34
+ underlyingApr: FixedX18;
35
+ fixedApr: FixedX18;
36
+ timeToMaturity: FixedX18;
37
+ marginFloor: FixedX18;
38
+ maturityFloor: FixedX18;
39
+ leverage?: number;
40
+ }): FixedX18;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Market = void 0;
4
+ exports.getLongYieldAprFixedX18 = getLongYieldAprFixedX18;
4
5
  const boros_offchain_math_1 = require("@pendle/boros-offchain-math");
5
6
  const BUFFERED_ORDER_SIZE_BY_EXACT_INITIAL_MARGIN_RATIO = boros_offchain_math_1.FixedX18.fromNumber(0.001);
6
7
  const SECONDS_PER_YEARS = 3600 * 24 * 365;
@@ -49,4 +50,13 @@ class Market {
49
50
  }
50
51
  }
51
52
  exports.Market = Market;
53
+ function getLongYieldAprFixedX18({ underlyingApr, fixedApr, timeToMaturity, marginFloor, maturityFloor, leverage, }) {
54
+ const profitOf1YU = underlyingApr.sub(fixedApr).mulDown(timeToMaturity);
55
+ const marginOf1YU = fixedApr
56
+ .abs()
57
+ .max(marginFloor)
58
+ .mulDown(timeToMaturity.max(maturityFloor))
59
+ .divDown(boros_offchain_math_1.FixedX18.fromNumber(leverage ?? 1));
60
+ return profitOf1YU.divDown(marginOf1YU);
61
+ }
52
62
  //# sourceMappingURL=market.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/entities/market/market.ts"],"names":[],"mappings":";;;AAAA,qEAAuD;AAEvD,MAAM,iDAAiD,GAAG,8BAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACrF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC;AAsC1C,MAAa,MAAM;IACjB,MAAM,CAAC,gCAAgC,CACrC,MAA8C,EAC9C,YAAqB,KAAK;QAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAGtC,MAAM,SAAS,GAAG,8BAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7E,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC,OAAO,CAAC,8BAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC,KAAK,CAAC;QACtG,CAAC;QAED,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,MAAyC,EAAE,YAAqB,IAAI;QACrG,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,8BAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7E,OAAO,aAAa,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,IAA+C;QACrE,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,aAAa,GACd,GAAG,IAAI,CAAC;QAET,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YAExB,OAAO,8BAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;QAEnC,MAAM,gBAAgB,GAAG,cAAc,GAAG,iBAAiB,CAAC;QAE5D,MAAM,SAAS,GAAG,wBAAwB,GAAG,iBAAiB,CAAC;QAE/D,MAAM,IAAI,GAAG,8BAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAE7F,MAAM,YAAY,GAAG,aAAa;YAChC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,CAAC;gBAClC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,kBAAkB;YACtB,CAAC,CAAC,YAAY,CAAC;QAEjB,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,8BAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEtF,OAAO,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAA2B;QAC9C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;QAExD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YAExB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,gBAAgB,GAAG,8BAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE7F,MAAM,UAAU,GAAG,8BAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;QAEvG,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA5ED,wBA4EC"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/entities/market/market.ts"],"names":[],"mappings":";;;AAuHA,0DAwBC;AA/ID,qEAAuD;AAEvD,MAAM,iDAAiD,GAAG,8BAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACrF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC;AAsC1C,MAAa,MAAM;IACjB,MAAM,CAAC,gCAAgC,CACrC,MAA8C,EAC9C,YAAqB,KAAK;QAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAGtC,MAAM,SAAS,GAAG,8BAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7E,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC,OAAO,CAAC,8BAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC,KAAK,CAAC;QACtG,CAAC;QAED,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,MAAyC,EAAE,YAAqB,IAAI;QACrG,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,8BAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7E,OAAO,aAAa,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,IAA+C;QACrE,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,aAAa,GACd,GAAG,IAAI,CAAC;QAET,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YAExB,OAAO,8BAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;QAEnC,MAAM,gBAAgB,GAAG,cAAc,GAAG,iBAAiB,CAAC;QAE5D,MAAM,SAAS,GAAG,wBAAwB,GAAG,iBAAiB,CAAC;QAE/D,MAAM,IAAI,GAAG,8BAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAE7F,MAAM,YAAY,GAAG,aAAa;YAChC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,CAAC;gBAClC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,kBAAkB;YACtB,CAAC,CAAC,YAAY,CAAC;QAEjB,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,8BAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEtF,OAAO,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAA2B;QAC9C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;QAExD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YAExB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,gBAAgB,GAAG,8BAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE7F,MAAM,UAAU,GAAG,8BAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;QAEvG,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA5ED,wBA4EC;AAED,SAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,QAAQ,GAQT;IACC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAExE,MAAM,WAAW,GAAG,QAAQ;SACzB,GAAG,EAAE;SACL,GAAG,CAAC,WAAW,CAAC;SAChB,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAC1C,OAAO,CAAC,8BAAQ,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IAE/C,OAAO,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC1C,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": "1.0.0",
5
+ "version": "1.0.1-logstore",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [
@@ -19,7 +19,8 @@
19
19
  "prepare": "husky install",
20
20
  "test": "yarn jest",
21
21
  "generateContractErrors": "yarn tsx scripts/generatePendleContractErrorMessageHandler.ts",
22
- "gen-backend-sdk": "bash ./scripts/genBorosBackendSDK.sh"
22
+ "gen-backend-sdk": "bash ./scripts/genBorosBackendSDK.sh",
23
+ "gen-log-backend-sdk": "bash ./scripts/genLogBackendSDK.sh"
23
24
  },
24
25
  "devDependencies": {
25
26
  "@biomejs/biome": "1.9.4",