@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.
Files changed (33) hide show
  1. package/CONTRIBUTING.md +90 -0
  2. package/README.md +124 -0
  3. package/dist/CONTRIBUTING.md +90 -0
  4. package/dist/README.md +124 -0
  5. package/dist/package.json +35 -0
  6. package/dist/src/generated/lit-action.js +9 -0
  7. package/dist/src/generated/vincent-ability-metadata.json +3 -0
  8. package/dist/src/generated/vincent-bundled-ability.d.ts +191 -0
  9. package/dist/src/generated/vincent-bundled-ability.d.ts.map +1 -0
  10. package/dist/src/generated/vincent-bundled-ability.js +15 -0
  11. package/dist/src/generated/vincent-bundled-ability.js.map +1 -0
  12. package/dist/src/generated/vincent-bundled-ability.ts +13 -0
  13. package/dist/src/index.d.ts +2 -0
  14. package/dist/src/index.d.ts.map +1 -0
  15. package/dist/src/index.js +6 -0
  16. package/dist/src/index.js.map +1 -0
  17. package/dist/src/lib/helpers/index.d.ts +67 -0
  18. package/dist/src/lib/helpers/index.d.ts.map +1 -0
  19. package/dist/src/lib/helpers/index.js +241 -0
  20. package/dist/src/lib/helpers/index.js.map +1 -0
  21. package/dist/src/lib/lit-action.d.ts +2 -0
  22. package/dist/src/lib/lit-action.d.ts.map +1 -0
  23. package/dist/src/lib/lit-action.js +16 -0
  24. package/dist/src/lib/lit-action.js.map +1 -0
  25. package/dist/src/lib/schemas.d.ts +198 -0
  26. package/dist/src/lib/schemas.d.ts.map +1 -0
  27. package/dist/src/lib/schemas.js +93 -0
  28. package/dist/src/lib/schemas.js.map +1 -0
  29. package/dist/src/lib/vincent-ability.d.ts +188 -0
  30. package/dist/src/lib/vincent-ability.d.ts.map +1 -0
  31. package/dist/src/lib/vincent-ability.js +258 -0
  32. package/dist/src/lib/vincent-ability.js.map +1 -0
  33. 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
+ }