@lit-protocol/vincent-ability-debridge 0.0.7-mma
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/CONTRIBUTING.md +90 -0
- package/README.md +124 -0
- package/dist/CONTRIBUTING.md +90 -0
- package/dist/README.md +124 -0
- package/dist/package.json +35 -0
- package/dist/src/generated/lit-action.js +9 -0
- package/dist/src/generated/vincent-ability-metadata.json +3 -0
- package/dist/src/generated/vincent-bundled-ability.d.ts +191 -0
- package/dist/src/generated/vincent-bundled-ability.d.ts.map +1 -0
- package/dist/src/generated/vincent-bundled-ability.js +15 -0
- package/dist/src/generated/vincent-bundled-ability.js.map +1 -0
- package/dist/src/generated/vincent-bundled-ability.ts +13 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib/helpers/index.d.ts +67 -0
- package/dist/src/lib/helpers/index.d.ts.map +1 -0
- package/dist/src/lib/helpers/index.js +241 -0
- package/dist/src/lib/helpers/index.js.map +1 -0
- package/dist/src/lib/lit-action.d.ts +2 -0
- package/dist/src/lib/lit-action.d.ts.map +1 -0
- package/dist/src/lib/lit-action.js +16 -0
- package/dist/src/lib/lit-action.js.map +1 -0
- package/dist/src/lib/schemas.d.ts +198 -0
- package/dist/src/lib/schemas.d.ts.map +1 -0
- package/dist/src/lib/schemas.js +93 -0
- package/dist/src/lib/schemas.js.map +1 -0
- package/dist/src/lib/vincent-ability.d.ts +188 -0
- package/dist/src/lib/vincent-ability.d.ts.map +1 -0
- package/dist/src/lib/vincent-ability.js +258 -0
- package/dist/src/lib/vincent-ability.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.vincentAbility = void 0;
|
|
4
|
+
const vincent_ability_sdk_1 = require("@lit-protocol/vincent-ability-sdk");
|
|
5
|
+
const vincent_scaffold_sdk_1 = require("@lit-protocol/vincent-scaffold-sdk");
|
|
6
|
+
const ethers_1 = require("ethers");
|
|
7
|
+
const schemas_1 = require("./schemas");
|
|
8
|
+
const helpers_1 = require("./helpers");
|
|
9
|
+
exports.vincentAbility = (0, vincent_ability_sdk_1.createVincentAbility)({
|
|
10
|
+
packageName: '@lit-protocol/vincent-ability-debridge',
|
|
11
|
+
abilityDescription: 'A Vincent ability for DeBridge protocol operations (Transfer, Swap)',
|
|
12
|
+
abilityParamsSchema: schemas_1.abilityParamsSchema,
|
|
13
|
+
supportedPolicies: (0, vincent_ability_sdk_1.supportedPoliciesForAbility)([]),
|
|
14
|
+
precheckSuccessSchema: schemas_1.precheckSuccessSchema,
|
|
15
|
+
precheckFailSchema: schemas_1.precheckFailSchema,
|
|
16
|
+
executeSuccessSchema: schemas_1.executeSuccessSchema,
|
|
17
|
+
executeFailSchema: schemas_1.executeFailSchema,
|
|
18
|
+
precheck: async ({ abilityParams }, { succeed, fail, delegation: { delegatorPkpInfo } }) => {
|
|
19
|
+
const logPrefix = '[@lit-protocol/vincent-ability-debridge/precheck]';
|
|
20
|
+
console.log(`${logPrefix} Starting precheck with params:`, abilityParams);
|
|
21
|
+
const { sourceChain, destinationChain, sourceToken, destinationToken, amount, recipientAddress, rpcUrl, } = abilityParams;
|
|
22
|
+
try {
|
|
23
|
+
// Validate chain IDs
|
|
24
|
+
if (!(0, helpers_1.validateChainId)(sourceChain)) {
|
|
25
|
+
return fail({ error: `Invalid source chain ID: ${sourceChain}` });
|
|
26
|
+
}
|
|
27
|
+
if (!(0, helpers_1.validateChainId)(destinationChain)) {
|
|
28
|
+
return fail({
|
|
29
|
+
error: `Invalid destination chain ID: ${destinationChain}`,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
// Validate addresses
|
|
33
|
+
if (!(0, helpers_1.validateAddress)(sourceToken)) {
|
|
34
|
+
return fail({ error: `Invalid source token address: ${sourceToken}` });
|
|
35
|
+
}
|
|
36
|
+
if (!(0, helpers_1.validateAddress)(destinationToken)) {
|
|
37
|
+
return fail({
|
|
38
|
+
error: `Invalid destination token address: ${destinationToken}`,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if (!(0, helpers_1.validateAddress)(recipientAddress)) {
|
|
42
|
+
return fail({
|
|
43
|
+
error: `Invalid recipient address: ${recipientAddress}`,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// Check if chains are different for bridging
|
|
47
|
+
if (sourceChain === destinationChain) {
|
|
48
|
+
return fail({
|
|
49
|
+
error: 'Source and destination chains must be different for bridging',
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
// Connect to provider
|
|
53
|
+
const provider = new ethers_1.ethers.providers.JsonRpcProvider(rpcUrl);
|
|
54
|
+
const network = await provider.getNetwork();
|
|
55
|
+
if (network.chainId.toString() !== sourceChain) {
|
|
56
|
+
return fail({
|
|
57
|
+
error: `RPC URL chain ID (${network.chainId}) does not match source chain ID (${sourceChain})`,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
// Get deBridge contract address for source chain
|
|
61
|
+
const deBridgeContract = helpers_1.DEBRIDGE_CONTRACTS[sourceChain];
|
|
62
|
+
if (!deBridgeContract) {
|
|
63
|
+
return fail({
|
|
64
|
+
error: `DeBridge contract not available on chain ${sourceChain}`,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
// Use PKP address for balance checks
|
|
68
|
+
const pkpAddress = delegatorPkpInfo.ethAddress;
|
|
69
|
+
// Parse amount
|
|
70
|
+
let amountBN;
|
|
71
|
+
try {
|
|
72
|
+
amountBN = ethers_1.ethers.BigNumber.from(amount);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
return fail({ error: `Invalid amount format: ${amount}` });
|
|
76
|
+
}
|
|
77
|
+
// Check user balance
|
|
78
|
+
const balance = await (0, helpers_1.getTokenBalance)(provider, sourceToken, pkpAddress);
|
|
79
|
+
console.log(`${logPrefix} PKP balance: ${balance.toString()}, Required: ${amountBN.toString()}`);
|
|
80
|
+
if (balance.lt(amountBN)) {
|
|
81
|
+
return fail({
|
|
82
|
+
error: `Insufficient balance. Have: ${balance.toString()}, Need: ${amountBN.toString()}`,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
// Check approval if needed (for ERC20 tokens)
|
|
86
|
+
if (!(0, helpers_1.isNativeToken)(sourceToken)) {
|
|
87
|
+
const { needsApproval, currentAllowance } = await (0, helpers_1.checkAndApproveToken)(provider, sourceToken, pkpAddress, deBridgeContract, amountBN);
|
|
88
|
+
if (needsApproval) {
|
|
89
|
+
return fail({
|
|
90
|
+
error: `Insufficient token allowance. Current allowance: ${currentAllowance.toString()}, Required: ${amountBN.toString()}. Please approve the token first using the ERC20 approval ability.`,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
console.log(`${logPrefix} Token approval verified: ${currentAllowance.toString()} >= ${amountBN.toString()}`);
|
|
94
|
+
}
|
|
95
|
+
// Get quote from deBridge API
|
|
96
|
+
console.log(`${logPrefix} Getting quote from deBridge API...`);
|
|
97
|
+
const quoteParams = {
|
|
98
|
+
srcChainId: sourceChain,
|
|
99
|
+
srcChainTokenIn: sourceToken,
|
|
100
|
+
srcChainTokenInAmount: amount,
|
|
101
|
+
dstChainId: destinationChain,
|
|
102
|
+
dstChainTokenOut: destinationToken,
|
|
103
|
+
prependOperatingExpenses: 'true',
|
|
104
|
+
};
|
|
105
|
+
console.log(`${logPrefix} Quote params:`, quoteParams);
|
|
106
|
+
let quoteData;
|
|
107
|
+
try {
|
|
108
|
+
quoteData = await (0, helpers_1.callDeBridgeAPI)('/dln/order/create-tx', 'GET', quoteParams);
|
|
109
|
+
console.log(`${logPrefix} Quote received:`, quoteData);
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
return fail({
|
|
113
|
+
error: `Failed to get quote from deBridge: ${error.message}`,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
// Calculate total cost
|
|
117
|
+
const protocolFee = ethers_1.ethers.BigNumber.from(quoteData.fixFee || '0');
|
|
118
|
+
return succeed({
|
|
119
|
+
data: {
|
|
120
|
+
sourceChain,
|
|
121
|
+
destinationChain,
|
|
122
|
+
sourceToken,
|
|
123
|
+
destinationToken,
|
|
124
|
+
sourceAmount: amount,
|
|
125
|
+
estimatedDestinationAmount: quoteData.estimation.dstChainTokenOut.amount,
|
|
126
|
+
estimatedFees: {
|
|
127
|
+
protocolFee: protocolFee.toString(),
|
|
128
|
+
},
|
|
129
|
+
estimatedExecutionTime: quoteData.estimation.estimatedTxExecutionTime || '300',
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
console.error(`${logPrefix} Unexpected error:`, error);
|
|
135
|
+
return fail({ error: `Unexpected error: ${error.message}` });
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
execute: async ({ abilityParams }, { succeed, fail, delegation }) => {
|
|
139
|
+
const logPrefix = '[@lit-protocol/vincent-ability-debridge/execute]';
|
|
140
|
+
console.log(`${logPrefix} Starting execution with params:`, abilityParams);
|
|
141
|
+
const { sourceChain, destinationChain, sourceToken, destinationToken, amount, recipientAddress, } = abilityParams;
|
|
142
|
+
try {
|
|
143
|
+
// Get PKP info
|
|
144
|
+
const pkpPublicKey = delegation.delegatorPkpInfo.publicKey;
|
|
145
|
+
const pkpAddress = ethers_1.ethers.utils.computeAddress(pkpPublicKey);
|
|
146
|
+
console.log(`${logPrefix} PKP Address: ${pkpAddress}`);
|
|
147
|
+
// Get RPC URL from Lit Actions
|
|
148
|
+
const rpcUrl = await (0, helpers_1.getRpcUrl)(sourceChain);
|
|
149
|
+
const provider = new ethers_1.ethers.providers.JsonRpcProvider(rpcUrl);
|
|
150
|
+
// Get deBridge contract address
|
|
151
|
+
const deBridgeContract = helpers_1.DEBRIDGE_CONTRACTS[sourceChain];
|
|
152
|
+
if (!deBridgeContract) {
|
|
153
|
+
return fail({
|
|
154
|
+
error: `DeBridge contract not available on chain ${sourceChain}`,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
// Parse amount
|
|
158
|
+
const amountBN = ethers_1.ethers.BigNumber.from(amount);
|
|
159
|
+
// Check approval if needed (for ERC20 tokens)
|
|
160
|
+
if (!(0, helpers_1.isNativeToken)(sourceToken)) {
|
|
161
|
+
const { needsApproval, currentAllowance } = await (0, helpers_1.checkAndApproveToken)(provider, sourceToken, pkpAddress, deBridgeContract, amountBN);
|
|
162
|
+
if (needsApproval) {
|
|
163
|
+
return fail({
|
|
164
|
+
error: `Insufficient token allowance. Current allowance: ${currentAllowance.toString()}, Required: ${amountBN.toString()}. Please approve the token first using the ERC20 approval ability.`,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
console.log(`${logPrefix} Token approval verified: ${currentAllowance.toString()} >= ${amountBN.toString()}`);
|
|
168
|
+
}
|
|
169
|
+
// Get transaction data from deBridge API
|
|
170
|
+
console.log(`${logPrefix} Getting transaction data from deBridge API...`);
|
|
171
|
+
const createOrderParams = {
|
|
172
|
+
srcChainId: sourceChain,
|
|
173
|
+
srcChainTokenIn: sourceToken,
|
|
174
|
+
srcChainTokenInAmount: amount,
|
|
175
|
+
dstChainId: destinationChain,
|
|
176
|
+
dstChainTokenOut: destinationToken,
|
|
177
|
+
dstChainTokenOutRecipient: recipientAddress,
|
|
178
|
+
srcChainOrderAuthorityAddress: pkpAddress,
|
|
179
|
+
dstChainOrderAuthorityAddress: recipientAddress,
|
|
180
|
+
affiliateFeePercent: '0',
|
|
181
|
+
prependOperatingExpenses: 'true',
|
|
182
|
+
};
|
|
183
|
+
const orderDataResponse = await Lit.Actions.runOnce({ waitForResponse: true, name: 'serializedTxn' }, async () => {
|
|
184
|
+
let orderTxData;
|
|
185
|
+
try {
|
|
186
|
+
orderTxData = await (0, helpers_1.callDeBridgeAPI)('/dln/order/create-tx', 'GET', createOrderParams);
|
|
187
|
+
console.log(`${logPrefix} Order transaction data received`);
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
return fail({
|
|
191
|
+
error: `Failed to get order transaction data: ${error.message}`,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
console.log('Order transaction data:', orderTxData);
|
|
195
|
+
const txn = {
|
|
196
|
+
to: orderTxData.tx.to,
|
|
197
|
+
data: orderTxData.tx.data,
|
|
198
|
+
value: orderTxData.tx.value
|
|
199
|
+
? ethers_1.ethers.BigNumber.from(orderTxData.tx.value)
|
|
200
|
+
: ethers_1.ethers.BigNumber.from('0'),
|
|
201
|
+
chainId: Number(sourceChain),
|
|
202
|
+
};
|
|
203
|
+
const txnRequest = {
|
|
204
|
+
...txn,
|
|
205
|
+
from: pkpAddress,
|
|
206
|
+
};
|
|
207
|
+
// console.log("Transaction data:", txn);
|
|
208
|
+
// Step 2: Estimate gas using the provider
|
|
209
|
+
const gasLimit = await provider.estimateGas(txnRequest);
|
|
210
|
+
const nonce = await provider.getTransactionCount(pkpAddress);
|
|
211
|
+
const gasPrice = await provider.getGasPrice();
|
|
212
|
+
// console.log("RunOnce Gas price:", gasPrice.toString());
|
|
213
|
+
txn.gasLimit = gasLimit;
|
|
214
|
+
txn.gasPrice = gasPrice;
|
|
215
|
+
txn.nonce = nonce;
|
|
216
|
+
return JSON.stringify({
|
|
217
|
+
serializedTxn: ethers_1.ethers.utils.serializeTransaction(txn),
|
|
218
|
+
orderId: orderTxData.orderId,
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
//console.log(`${logPrefix} Order data response:`, orderDataResponse);
|
|
222
|
+
const parsedOrderDataResponse = JSON.parse(orderDataResponse);
|
|
223
|
+
const toSign = ethers_1.ethers.utils.parseTransaction(parsedOrderDataResponse.serializedTxn);
|
|
224
|
+
// strip the empty signature
|
|
225
|
+
delete toSign.v;
|
|
226
|
+
delete toSign.r;
|
|
227
|
+
delete toSign.s;
|
|
228
|
+
// Execute the bridge transaction
|
|
229
|
+
console.log(`${logPrefix} Signing bridge transaction...`, toSign);
|
|
230
|
+
const signedTx = await vincent_scaffold_sdk_1.laUtils.transaction.primitive.signTx({
|
|
231
|
+
sigName: 'debridgeCreateOrder',
|
|
232
|
+
pkpPublicKey,
|
|
233
|
+
tx: toSign,
|
|
234
|
+
});
|
|
235
|
+
console.log('Signed transaction:', signedTx);
|
|
236
|
+
// Step 4: Send the transaction
|
|
237
|
+
const txHash = await vincent_scaffold_sdk_1.laUtils.transaction.primitive.sendTx(provider, signedTx);
|
|
238
|
+
console.log('Transaction sent:', txHash);
|
|
239
|
+
console.log(`${logPrefix} Bridge transaction successful. Hash: ${txHash}`);
|
|
240
|
+
return succeed({
|
|
241
|
+
data: {
|
|
242
|
+
txHash,
|
|
243
|
+
sourceChain,
|
|
244
|
+
destinationChain,
|
|
245
|
+
sourceToken,
|
|
246
|
+
destinationToken,
|
|
247
|
+
sourceAmount: amount,
|
|
248
|
+
orderId: parsedOrderDataResponse.orderId,
|
|
249
|
+
},
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
console.error(`${logPrefix} Execution error:`, error);
|
|
254
|
+
return fail({ error: `Execution failed: ${error.message}` });
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
});
|
|
258
|
+
//# sourceMappingURL=vincent-ability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vincent-ability.js","sourceRoot":"","sources":["../../../src/lib/vincent-ability.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lit-protocol/vincent-ability-debridge",
|
|
3
|
+
"version": "0.0.7-mma",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@lit-protocol/constants": "^7.2.0",
|
|
9
|
+
"@lit-protocol/vincent-scaffold-sdk": "^1.1.6",
|
|
10
|
+
"ethers": "^5.8.0",
|
|
11
|
+
"tslib": "2.8.1",
|
|
12
|
+
"zod": "^3.25.64",
|
|
13
|
+
"@lit-protocol/vincent-ability-sdk": "0.0.7-mma"
|
|
14
|
+
},
|
|
15
|
+
"peerDependencies": {
|
|
16
|
+
"@lit-protocol/vincent-app-sdk": "^0.0.7-mma"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"esbuild": "^0.19.12",
|
|
20
|
+
"esbuild-plugin-polyfill-node": "^0.3.0",
|
|
21
|
+
"ipfs-only-hash": "^4.0.0",
|
|
22
|
+
"tsx": "^4.19.4"
|
|
23
|
+
},
|
|
24
|
+
"main": "./dist/src/index.js",
|
|
25
|
+
"module": "./dist/src/index.js",
|
|
26
|
+
"types": "./dist/src/index.d.ts",
|
|
27
|
+
"files": [
|
|
28
|
+
"dist/**",
|
|
29
|
+
"*.md"
|
|
30
|
+
],
|
|
31
|
+
"scripts": {
|
|
32
|
+
"vault-search": "tsx examples/vault-search.ts"
|
|
33
|
+
}
|
|
34
|
+
}
|