@pendle/sdk-boros 0.1.20 → 0.1.22

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.
Files changed (34) hide show
  1. package/dist/contracts/index.d.ts +2 -0
  2. package/dist/contracts/index.js +21 -0
  3. package/dist/contracts/index.js.map +1 -0
  4. package/dist/errors/ContractErrorFactory.d.ts +5 -0
  5. package/dist/errors/ContractErrorFactory.js +14 -0
  6. package/dist/errors/ContractErrorFactory.js.map +1 -0
  7. package/dist/errors/PendleContractError/defaultHandler.d.ts +4 -0
  8. package/dist/errors/PendleContractError/defaultHandler.js +29 -0
  9. package/dist/errors/PendleContractError/defaultHandler.js.map +1 -0
  10. package/dist/errors/PendleContractError/helperTypes.d.ts +3 -0
  11. package/dist/errors/PendleContractError/helperTypes.js +3 -0
  12. package/dist/errors/PendleContractError/helperTypes.js.map +1 -0
  13. package/dist/errors/PendleContractError/index.d.ts +16 -0
  14. package/dist/errors/PendleContractError/index.js +65 -0
  15. package/dist/errors/PendleContractError/index.js.map +1 -0
  16. package/dist/errors/PendleContractError/type.d.ts +80 -0
  17. package/dist/errors/PendleContractError/type.js +3 -0
  18. package/dist/errors/PendleContractError/type.js.map +1 -0
  19. package/dist/errors/UnrecognizedContractError.d.ts +10 -0
  20. package/dist/errors/UnrecognizedContractError.js +29 -0
  21. package/dist/errors/UnrecognizedContractError.js.map +1 -0
  22. package/dist/errors/ViemErrorDecoder.d.ts +6 -0
  23. package/dist/errors/ViemErrorDecoder.js +20 -0
  24. package/dist/errors/ViemErrorDecoder.js.map +1 -0
  25. package/dist/errors/helpers.d.ts +2 -0
  26. package/dist/errors/helpers.js +14 -0
  27. package/dist/errors/helpers.js.map +1 -0
  28. package/dist/errors/index.d.ts +4 -0
  29. package/dist/errors/index.js +21 -0
  30. package/dist/errors/index.js.map +1 -0
  31. package/dist/index.d.ts +1 -0
  32. package/dist/index.js +1 -0
  33. package/dist/index.js.map +1 -1
  34. package/package.json +6 -2
@@ -0,0 +1,2 @@
1
+ export { abi as PendleContractErrorsAbi } from '@pendle/core-v3/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json';
2
+ export * from './viemAbis';
@@ -0,0 +1,21 @@
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.PendleContractErrorsAbi = void 0;
18
+ var SDKErrorsDirectory_json_1 = require("@pendle/core-v3/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json");
19
+ Object.defineProperty(exports, "PendleContractErrorsAbi", { enumerable: true, get: function () { return SDKErrorsDirectory_json_1.abi; } });
20
+ __exportStar(require("./viemAbis"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sJAA4J;AAAnJ,kIAAA,GAAG,OAA2B;AACvC,6CAA2B"}
@@ -0,0 +1,5 @@
1
+ export declare class ContractErrorFactory<ErrorType extends Error, Fn extends (originalError: Error) => ErrorType | undefined> {
2
+ readonly createErrorObject: Fn;
3
+ constructor(createErrorObject: Fn);
4
+ makeError(originalError: Error): ErrorType | undefined;
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContractErrorFactory = void 0;
4
+ class ContractErrorFactory {
5
+ createErrorObject;
6
+ constructor(createErrorObject) {
7
+ this.createErrorObject = createErrorObject;
8
+ }
9
+ makeError(originalError) {
10
+ return this.createErrorObject(originalError);
11
+ }
12
+ }
13
+ exports.ContractErrorFactory = ContractErrorFactory;
14
+ //# sourceMappingURL=ContractErrorFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractErrorFactory.js","sourceRoot":"","sources":["../../src/errors/ContractErrorFactory.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;IACV;IAArB,YAAqB,iBAAqB;QAArB,sBAAiB,GAAjB,iBAAiB,CAAI;IAAG,CAAC;IAE9C,SAAS,CAAC,aAAoB;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;CACF;AAND,oDAMC"}
@@ -0,0 +1,4 @@
1
+ import { PendleContractErrorMessageHandler } from './type';
2
+ import { PendleContractErrorType, PendleContractErrorParams } from './helperTypes';
3
+ export declare function createPendlecontractErrorMessageHandler(defaultHandler: Partial<PendleContractErrorMessageHandler>, fallback: <Key extends PendleContractErrorType>(errorName: Key, ...args: PendleContractErrorParams<Key>) => string): PendleContractErrorMessageHandler;
4
+ export declare const defaultPendleContractErrorMessageHandler: PendleContractErrorMessageHandler;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultPendleContractErrorMessageHandler = void 0;
4
+ exports.createPendlecontractErrorMessageHandler = createPendlecontractErrorMessageHandler;
5
+ function formatNumberString(num) {
6
+ return num.replace(/\B(?=(\d{3})+(?!\d))/g, '_');
7
+ }
8
+ function createPendlecontractErrorMessageHandler(defaultHandler, fallback) {
9
+ return new Proxy(defaultHandler, {
10
+ get(target, key) {
11
+ if (key in target) {
12
+ return target[key];
13
+ }
14
+ return (...args) => fallback(key, ...args);
15
+ },
16
+ });
17
+ }
18
+ function joinArgs(args) {
19
+ return args
20
+ .map((arg) => {
21
+ if (typeof arg === 'bigint') {
22
+ return formatNumberString(String(arg));
23
+ }
24
+ return String(arg);
25
+ })
26
+ .join(', ');
27
+ }
28
+ exports.defaultPendleContractErrorMessageHandler = createPendlecontractErrorMessageHandler({}, (errorName, ...args) => `Pendle contract error: ${errorName}(${joinArgs(args)})`);
29
+ //# sourceMappingURL=defaultHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultHandler.js","sourceRoot":"","sources":["../../../src/errors/PendleContractError/defaultHandler.ts"],"names":[],"mappings":";;;AAeA,0FAYC;AAtBD,SAAS,kBAAkB,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAQD,SAAgB,uCAAuC,CACrD,cAA0D,EAC1D,QAAkH;IAElH,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE;QAC/B,GAAG,CAAC,MAAM,EAAE,GAA4B;YACtC,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,CAAC,GAAG,IAA+B,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACxE,CAAC;KACF,CAAsC,CAAC;AAC1C,CAAC;AAED,SAAS,QAAQ,CAAyB,IAAU;IAClD,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAUY,QAAA,wCAAwC,GACnD,uCAAuC,CACrC,EAAE,EACF,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,0BAA0B,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CACjF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PendleContractErrorMessageHandler } from './type';
2
+ export type PendleContractErrorType = keyof PendleContractErrorMessageHandler;
3
+ export type PendleContractErrorParams<ErrorType extends PendleContractErrorType = PendleContractErrorType> = Parameters<PendleContractErrorMessageHandler[ErrorType]>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=helperTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helperTypes.js","sourceRoot":"","sources":["../../../src/errors/PendleContractError/helperTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { PendleContractErrorMessageHandler } from './type';
2
+ import { BaseError } from 'viem';
3
+ import { PendleContractErrorParams, PendleContractErrorType } from './helperTypes';
4
+ import { ContractErrorFactory } from '../ContractErrorFactory';
5
+ export * from './defaultHandler';
6
+ export * from './helperTypes';
7
+ export * from './type';
8
+ export declare class PendleContractError<ErrorType extends PendleContractErrorType = PendleContractErrorType> extends BaseError {
9
+ readonly errorName: ErrorType;
10
+ readonly args: PendleContractErrorParams<ErrorType>;
11
+ static errorMessageHandler: PendleContractErrorMessageHandler;
12
+ static factory: ContractErrorFactory<Error, typeof PendleContractError.decodeError>;
13
+ static decodeError(originalError: Error): PendleContractError<keyof PendleContractErrorMessageHandler> | undefined;
14
+ constructor(errorName: ErrorType, args: PendleContractErrorParams<ErrorType>, cause: Error);
15
+ isType<OtherErrorType extends PendleContractErrorType>(otherType: OtherErrorType): this is PendleContractError<OtherErrorType>;
16
+ }
@@ -0,0 +1,65 @@
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.PendleContractError = void 0;
18
+ const contracts_1 = require("../../contracts");
19
+ const defaultHandler_1 = require("./defaultHandler");
20
+ const viem_1 = require("viem");
21
+ const ContractErrorFactory_1 = require("../ContractErrorFactory");
22
+ const helpers_1 = require("../helpers");
23
+ __exportStar(require("./defaultHandler"), exports);
24
+ __exportStar(require("./helperTypes"), exports);
25
+ __exportStar(require("./type"), exports);
26
+ class PendleContractError extends viem_1.BaseError {
27
+ errorName;
28
+ args;
29
+ static errorMessageHandler = defaultHandler_1.defaultPendleContractErrorMessageHandler;
30
+ static factory = new ContractErrorFactory_1.ContractErrorFactory(PendleContractError.decodeError.bind(PendleContractError));
31
+ static decodeError(originalError) {
32
+ try {
33
+ const errorData = (0, helpers_1.extractErrorData)(originalError);
34
+ if (!errorData) {
35
+ return undefined;
36
+ }
37
+ const decodedError = (0, viem_1.decodeErrorResult)({
38
+ abi: contracts_1.PendleContractErrorsAbi,
39
+ data: errorData,
40
+ });
41
+ const name = decodedError.errorName;
42
+ const args = decodedError.args;
43
+ return new PendleContractError(name, args, originalError);
44
+ }
45
+ catch (_e) {
46
+ return undefined;
47
+ }
48
+ }
49
+ constructor(errorName, args, cause) {
50
+ const message = Array.isArray(args) && args.length > 0
51
+ ? PendleContractError.errorMessageHandler[errorName](...args)
52
+ : args !== undefined
53
+ ? PendleContractError.errorMessageHandler[errorName](args)
54
+ : PendleContractError.errorMessageHandler[errorName]();
55
+ super(message, { cause });
56
+ this.errorName = errorName;
57
+ this.args = args;
58
+ }
59
+ isType(otherType) {
60
+ const currentErrorName = this.errorName;
61
+ return currentErrorName === otherType;
62
+ }
63
+ }
64
+ exports.PendleContractError = PendleContractError;
65
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/PendleContractError/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA0D;AAE1D,qDAA4E;AAC5E,+BAAoD;AAEpD,kEAA+D;AAC/D,wCAA8C;AAE9C,mDAAiC;AACjC,gDAA8B;AAC9B,yCAAuB;AAEvB,MAAa,mBAEX,SAAQ,gBAAS;IAyBN;IACA;IAzBX,MAAM,CAAC,mBAAmB,GAAsC,yDAAwC,CAAC;IAEzG,MAAM,CAAC,OAAO,GAAG,IAAI,2CAAoB,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAErG,MAAM,CAAC,WAAW,CAAC,aAAoB;QACrC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,aAAa,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,YAAY,GAAG,IAAA,wBAAiB,EAAC;gBACrC,GAAG,EAAE,mCAAuB;gBAC5B,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,YAAY,CAAC,SAAoC,CAAC;YAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,IAAiC,CAAC;YAC5D,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,YACW,SAAoB,EACpB,IAA0C,EACnD,KAAY;QAEZ,MAAM,OAAO,GAAW,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAE,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAAS,CAAC,GAAG,IAAI,CAAC;YACtE,CAAC,CAAC,IAAI,KAAK,SAAS;gBACpB,CAAC,CAAE,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAAS,CAAC,IAAI,CAAC;gBACnE,CAAC,CAAE,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAAS,EAAE,CAAC;QAChE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QATjB,cAAS,GAAT,SAAS,CAAW;QACpB,SAAI,GAAJ,IAAI,CAAsC;IASrD,CAAC;IAED,MAAM,CACJ,SAAyB;QAIzB,MAAM,gBAAgB,GAAW,IAAI,CAAC,SAAS,CAAC;QAChD,OAAO,gBAAgB,KAAK,SAAS,CAAC;IACxC,CAAC;;AA9CH,kDA+CC"}
@@ -0,0 +1,80 @@
1
+ import { Address } from 'viem';
2
+ export type PendleContractErrorMessageHandler = {
3
+ AMMCutOffReached: () => string;
4
+ AMMInsufficientCashIn: () => string;
5
+ AMMInsufficientCashOut: () => string;
6
+ AMMInsufficientLiquidity: () => string;
7
+ AMMInsufficientLpOut: () => string;
8
+ AMMInsufficientSizeOut: () => string;
9
+ AMMInvalidParams: () => string;
10
+ AMMInvalidRateRange: () => string;
11
+ AMMInvalidSize: () => string;
12
+ AMMSignMismatch: () => string;
13
+ AMMWithdrawOnly: () => string;
14
+ AuthAgentExpired: () => string;
15
+ AuthExpiryInPast: () => string;
16
+ AuthInvalidConnectionId: () => string;
17
+ AuthInvalidMessage: () => string;
18
+ AuthInvalidNonce: () => string;
19
+ DivFailed: () => string;
20
+ DivWadFailed: () => string;
21
+ ERC20InsufficientAllowance: (spender: Address, allowance: bigint, needed: bigint) => string;
22
+ ERC20InsufficientBalance: (sender: Address, balance: bigint, needed: bigint) => string;
23
+ ERC20InvalidApprover: (approver: Address) => string;
24
+ ERC20InvalidReceiver: (receiver: Address) => string;
25
+ ERC20InvalidSender: (sender: Address) => string;
26
+ ERC20InvalidSpender: (spender: Address) => string;
27
+ FIndexInvalidTime: () => string;
28
+ FIndexNotDueForUpdate: () => string;
29
+ FIndexUpdatedAtMaturity: () => string;
30
+ InvalidFeeRates: () => string;
31
+ InvalidLength: () => string;
32
+ InvalidMaturity: () => string;
33
+ InvalidNumTicks: () => string;
34
+ InvalidObservationWindow: () => string;
35
+ InvalidTokenId: () => string;
36
+ MHMarketExists: () => string;
37
+ MHMarketMismatch: () => string;
38
+ MHMarketNotByFactory: () => string;
39
+ MHMarketNotExists: () => string;
40
+ MHTokenExists: () => string;
41
+ MHTokenLimitExceeded: () => string;
42
+ MHTokenNotExists: () => string;
43
+ MMInsufficientIM: () => string;
44
+ MMIsolatedMarketDenied: () => string;
45
+ MMMarketAlreadyEntered: () => string;
46
+ MMMarketExitDenied: () => string;
47
+ MMMarketLimitExceeded: () => string;
48
+ MMMarketMismatch: () => string;
49
+ MMMarketNotEntered: () => string;
50
+ MMSimulationOnly: () => string;
51
+ MMSubaccountLimitExceeded: () => string;
52
+ MMTokenMismatch: () => string;
53
+ MMTransferDenied: () => string;
54
+ MarketDuplicateOTC: () => string;
55
+ MarketInvalidDeleverage: () => string;
56
+ MarketInvalidFIndexOracle: () => string;
57
+ MarketInvalidLiquidation: () => string;
58
+ MarketLiqNotReduceSize: () => string;
59
+ MarketMatured: () => string;
60
+ MarketMaxOrdersExceeded: () => string;
61
+ MarketOICapExceeded: () => string;
62
+ MarketOrderALOFilled: () => string;
63
+ MarketOrderCancelled: () => string;
64
+ MarketOrderFOKNotFilled: () => string;
65
+ MarketOrderFilled: () => string;
66
+ MarketOrderNotFound: () => string;
67
+ MarketSelfSwap: () => string;
68
+ MarketStopTimeTooFar: () => string;
69
+ MarketZeroSize: () => string;
70
+ MathInvalidExponent: () => string;
71
+ MathOutOfBounds: () => string;
72
+ MulWadFailed: () => string;
73
+ Overflow: () => string;
74
+ SDivWadFailed: () => string;
75
+ SMulWadFailed: () => string;
76
+ TradeALOAMMNotAllowed: () => string;
77
+ TradeAMMSlippage: () => string;
78
+ TradeOnlyMainAccount: () => string;
79
+ Unauthorized: () => string;
80
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/errors/PendleContractError/type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { BaseError, Hex } from 'viem';
2
+ import { ContractErrorFactory } from './ContractErrorFactory';
3
+ export declare class UnrecognizedContractError extends BaseError {
4
+ readonly errorSig: string;
5
+ readonly errorData: Hex;
6
+ readonly originalError: Error;
7
+ static factory: ContractErrorFactory<Error, typeof UnrecognizedContractError.decodeError>;
8
+ static decodeError(originalError: Error): UnrecognizedContractError | undefined;
9
+ constructor(errorSig: string, errorData: Hex, originalError: Error);
10
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnrecognizedContractError = void 0;
4
+ const viem_1 = require("viem");
5
+ const ContractErrorFactory_1 = require("./ContractErrorFactory");
6
+ const helpers_1 = require("./helpers");
7
+ class UnrecognizedContractError extends viem_1.BaseError {
8
+ errorSig;
9
+ errorData;
10
+ originalError;
11
+ static factory = new ContractErrorFactory_1.ContractErrorFactory(UnrecognizedContractError.decodeError.bind(UnrecognizedContractError));
12
+ static decodeError(originalError) {
13
+ const errorData = (0, helpers_1.extractErrorData)(originalError);
14
+ if (!errorData) {
15
+ return undefined;
16
+ }
17
+ const errorSig = errorData.slice(0, 10);
18
+ return new UnrecognizedContractError(errorSig, errorData, originalError);
19
+ }
20
+ constructor(errorSig, errorData, originalError) {
21
+ const msg = `Unrecognized custom error: ${errorSig}`;
22
+ super(msg, { cause: originalError });
23
+ this.errorSig = errorSig;
24
+ this.errorData = errorData;
25
+ this.originalError = originalError;
26
+ }
27
+ }
28
+ exports.UnrecognizedContractError = UnrecognizedContractError;
29
+ //# sourceMappingURL=UnrecognizedContractError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnrecognizedContractError.js","sourceRoot":"","sources":["../../src/errors/UnrecognizedContractError.ts"],"names":[],"mappings":";;;AAAA,+BAAsC;AACtC,iEAA8D;AAC9D,uCAA6C;AAC7C,MAAa,yBAA0B,SAAQ,gBAAS;IAa3C;IACA;IACA;IAdX,MAAM,CAAC,OAAO,GAAG,IAAI,2CAAoB,CAAC,yBAAyB,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAEjH,MAAM,CAAC,WAAW,CAAC,aAAoB;QACrC,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,yBAAyB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED,YACW,QAAgB,EAChB,SAAc,EACd,aAAoB;QAE7B,MAAM,GAAG,GAAG,8BAA8B,QAAQ,EAAE,CAAC;QACrD,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAL5B,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAK;QACd,kBAAa,GAAb,aAAa,CAAO;IAI/B,CAAC;;AAnBH,8DAoBC"}
@@ -0,0 +1,6 @@
1
+ export declare class ViemErrorDecoder {
2
+ static readonly MAKE_ERROR_CALLBACKS: Array<((err: Error) => Error | undefined) | {
3
+ makeError(err: Error): Error | undefined;
4
+ }>;
5
+ static decodeViemError(err: Error): Error;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViemErrorDecoder = void 0;
4
+ const PendleContractError_1 = require("./PendleContractError");
5
+ const UnrecognizedContractError_1 = require("./UnrecognizedContractError");
6
+ class ViemErrorDecoder {
7
+ static MAKE_ERROR_CALLBACKS = [];
8
+ static decodeViemError(err) {
9
+ for (const callback of ViemErrorDecoder.MAKE_ERROR_CALLBACKS) {
10
+ const result = 'makeError' in callback ? callback.makeError(err) : callback(err);
11
+ if (result !== undefined) {
12
+ return result;
13
+ }
14
+ }
15
+ return err;
16
+ }
17
+ }
18
+ exports.ViemErrorDecoder = ViemErrorDecoder;
19
+ ViemErrorDecoder.MAKE_ERROR_CALLBACKS.push(PendleContractError_1.PendleContractError.factory, UnrecognizedContractError_1.UnrecognizedContractError.factory);
20
+ //# sourceMappingURL=ViemErrorDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViemErrorDecoder.js","sourceRoot":"","sources":["../../src/errors/ViemErrorDecoder.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAC5D,2EAAwE;AAExE,MAAa,gBAAgB;IAC3B,MAAM,CAAU,oBAAoB,GAEhC,EAAE,CAAC;IAEP,MAAM,CAAC,eAAe,CAAC,GAAU;QAC/B,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACjF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;;AAdH,4CAeC;AAED,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,yCAAmB,CAAC,OAAO,EAAE,qDAAyB,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Hex } from 'viem';
2
+ export declare const extractErrorData: (err: Error) => Hex | undefined;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractErrorData = void 0;
4
+ const viem_1 = require("viem");
5
+ const extractErrorData = (err) => {
6
+ const error = (err instanceof viem_1.RawContractError
7
+ ? err
8
+ : err instanceof viem_1.BaseError
9
+ ? err.walk((err) => 'data' in err) || err.walk()
10
+ : {});
11
+ return typeof error.data === 'object' ? error.data.data : error.data;
12
+ };
13
+ exports.extractErrorData = extractErrorData;
14
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/errors/helpers.ts"],"names":[],"mappings":";;;AAAA,+BAAwD;AAEjD,MAAM,gBAAgB,GAAG,CAAC,GAAU,EAAmB,EAAE;IAC9D,MAAM,KAAK,GAAG,CACZ,GAAG,YAAY,uBAAgB;QAC7B,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,YAAY,gBAAS;YACxB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,IAAK,GAAa,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE;YAC3D,CAAC,CAAC,EAAE,CACW,CAAC;IACtB,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AACvE,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B"}
@@ -0,0 +1,4 @@
1
+ export * from './ContractErrorFactory';
2
+ export * from './PendleContractError';
3
+ export * from './ViemErrorDecoder';
4
+ export * from './UnrecognizedContractError';
@@ -0,0 +1,21 @@
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
+ __exportStar(require("./ContractErrorFactory"), exports);
18
+ __exportStar(require("./PendleContractError"), exports);
19
+ __exportStar(require("./ViemErrorDecoder"), exports);
20
+ __exportStar(require("./UnrecognizedContractError"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,wDAAsC;AACtC,qDAAmC;AACnC,8DAA4C"}
package/dist/index.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from './types';
3
3
  export * from './entities';
4
4
  export * from './constants';
5
5
  export * from './addresses';
6
+ export * from './errors';
package/dist/index.js CHANGED
@@ -19,4 +19,5 @@ __exportStar(require("./types"), exports);
19
19
  __exportStar(require("./entities"), exports);
20
20
  __exportStar(require("./constants"), exports);
21
21
  __exportStar(require("./addresses"), exports);
22
+ __exportStar(require("./errors"), exports);
22
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,8CAA4B;AAC5B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,8CAA4B;AAC5B,8CAA4B;AAC5B,2CAAyB"}
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.20",
5
+ "version": "0.1.22",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [
@@ -15,7 +15,9 @@
15
15
  "format": "yarn biome format --write",
16
16
  "lint": "yarn biome lint --write",
17
17
  "prepack": "yarn build",
18
- "release": "yarn npm publish"
18
+ "release": "yarn npm publish",
19
+ "test": "yarn jest",
20
+ "generateContractErrors": "yarn tsx scripts/generatePendleContractErrorMessageHandler.ts"
19
21
  },
20
22
  "devDependencies": {
21
23
  "@biomejs/biome": "1.9.4",
@@ -24,10 +26,12 @@
24
26
  "jest": "^29.7.0",
25
27
  "ts-jest": "^29.3.0",
26
28
  "ts-node": "^10.9.2",
29
+ "tsx": "^4.16.2",
27
30
  "typescript": "^5.7.3"
28
31
  },
29
32
  "dependencies": {
30
33
  "@pendle/boros-offchain-math": "^1.0.1",
34
+ "@pendle/core-v3": "0.3.4",
31
35
  "viem": "^2.22.5"
32
36
  },
33
37
  "packageManager": "yarn@4.4.0"