@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.
- package/dist/contracts/viemAbis.d.ts +6888 -6323
- package/dist/contracts/viemAbis.js +20 -5451
- package/dist/contracts/viemAbis.js.map +1 -1
- package/dist/entities/agent/agent.js +10 -10
- package/dist/entities/agent/agent.js.map +1 -1
- package/dist/entities/publicClient.d.ts +2 -0
- package/dist/entities/publicClient.js +11 -0
- package/dist/entities/publicClient.js.map +1 -0
- package/dist/types/common.d.ts +4 -0
- package/dist/types/common.js +6 -0
- package/dist/types/common.js.map +1 -1
- package/dist/utils/index.d.ts +1 -2
- package/dist/utils/index.js +0 -11
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/orderLib.d.ts +18 -0
- package/dist/utils/orderLib.js +50 -0
- package/dist/utils/orderLib.js.map +1 -0
- package/dist/utils/signing/agent.d.ts +8 -8
- package/dist/utils/signing/agent.js +6 -21
- package/dist/utils/signing/agent.js.map +1 -1
- package/package.json +1 -1
- package/dist/entities/router.d.ts +0 -4692
- package/dist/entities/router.js +0 -17
- package/dist/entities/router.js.map +0 -1
|
@@ -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
|
|
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.
|
|
45
|
+
abi: viemAbis_1.iRouterAbi,
|
|
45
46
|
functionName: 'approveAgent',
|
|
46
|
-
args: [approveAgentStruct, signature
|
|
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
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/entities/agent/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
package/dist/types/common.d.ts
CHANGED
package/dist/types/common.js
CHANGED
|
@@ -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
|
package/dist/types/common.js.map
CHANGED
|
@@ -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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -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
|
|
7
|
+
export declare function getEnteredMarkets(accountPosition: AccountPosition): Promise<readonly number[]>;
|
package/dist/utils/index.js
CHANGED
|
@@ -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) {
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,wBAYC;AAED,
|
|
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
|
|
5
|
-
readonly
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
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: '
|
|
10
|
+
tag: 'placeOrder';
|
|
11
11
|
data: OrderStruct[];
|
|
12
12
|
} | {
|
|
13
|
-
tag: '
|
|
13
|
+
tag: 'bulkCancels';
|
|
14
14
|
data: CancelStruct[];
|
|
15
15
|
} | {
|
|
16
|
-
tag: '
|
|
16
|
+
tag: 'cashTransfer';
|
|
17
17
|
data: PositionTransferStruct[];
|
|
18
18
|
} | {
|
|
19
|
-
tag: '
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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.
|
|
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,
|
|
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"}
|