@kynesyslabs/demosdk 2.3.21 → 2.3.23
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.
|
@@ -24,4 +24,120 @@ export declare const methods: {
|
|
|
24
24
|
* @returns Signed transaction ready for demos.confirm() and demos.broadcast()
|
|
25
25
|
*/
|
|
26
26
|
generateOperationTx(compiled: BridgeOperationCompiled, demos: Demos): Promise<Transaction>;
|
|
27
|
+
/**
|
|
28
|
+
* Generates gasless bridge operation signature for meta-transaction
|
|
29
|
+
* @param userPrivateKey User's private key for signing gasless authorization
|
|
30
|
+
* @param userPublicKey User's public key (address)
|
|
31
|
+
* @param nonce User nonce for replay protection
|
|
32
|
+
* @param originChain Origin chain name
|
|
33
|
+
* @param destChain Destination chain name
|
|
34
|
+
* @param token Token contract address
|
|
35
|
+
* @param recipient Recipient address
|
|
36
|
+
* @param amount Amount to bridge
|
|
37
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
38
|
+
* @returns Signature for gasless bridge operation authorization
|
|
39
|
+
*/
|
|
40
|
+
generateGaslessBridgeSignature(userPrivateKey: string, userPublicKey: string, nonce: number, originChain: string, destChain: string, token: string, recipient: string, amount: string, bridgeFeeBps?: number): string;
|
|
41
|
+
/**
|
|
42
|
+
* Generates gasless deposit signature for USDC deposits
|
|
43
|
+
* @param userPrivateKey User's private key for signing gasless authorization
|
|
44
|
+
* @param userPublicKey User's public key (address)
|
|
45
|
+
* @param nonce User nonce for replay protection
|
|
46
|
+
* @param usdcAddress USDC contract address
|
|
47
|
+
* @param amount Amount to deposit
|
|
48
|
+
* @param chainKey Chain key (e.g., "eth.sepolia")
|
|
49
|
+
* @returns Signature for gasless deposit authorization
|
|
50
|
+
*/
|
|
51
|
+
generateGaslessDepositSignature(userPrivateKey: string, userPublicKey: string, nonce: number, usdcAddress: string, amount: string, chainKey: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Initiates a gasless bridge operation through Demos RPC
|
|
54
|
+
* @param userPublicKey User's public key (address)
|
|
55
|
+
* @param signature User's signature for gasless authorization
|
|
56
|
+
* @param nonce User nonce for replay protection
|
|
57
|
+
* @param originChain Origin chain name
|
|
58
|
+
* @param destChain Destination chain name
|
|
59
|
+
* @param token Token contract address
|
|
60
|
+
* @param recipient Recipient address
|
|
61
|
+
* @param amount Amount to bridge
|
|
62
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
63
|
+
* @returns RPC request for gasless bridge initiation
|
|
64
|
+
*/
|
|
65
|
+
generateGaslessBridgeOperation(userPublicKey: string, signature: string, nonce: number, originChain: string, destChain: string, token: string, recipient: string, amount: string, bridgeFeeBps?: number): RPCRequest;
|
|
66
|
+
/**
|
|
67
|
+
* Executes a gasless USDC deposit through Demos RPC
|
|
68
|
+
* @param userPublicKey User's public key (address)
|
|
69
|
+
* @param signature User's signature for gasless authorization
|
|
70
|
+
* @param nonce User nonce for replay protection
|
|
71
|
+
* @param chainKey Chain key (e.g., "eth.sepolia")
|
|
72
|
+
* @param usdcAddress USDC contract address
|
|
73
|
+
* @param amount Amount to deposit
|
|
74
|
+
* @returns RPC request for gasless deposit execution
|
|
75
|
+
*/
|
|
76
|
+
generateGaslessDepositOperation(userPublicKey: string, signature: string, nonce: number, chainKey: string, usdcAddress: string, amount: string): RPCRequest;
|
|
77
|
+
/**
|
|
78
|
+
* Complete gasless bridge flow helper - combines signature generation and operation creation
|
|
79
|
+
* @param userPrivateKey User's private key for signing
|
|
80
|
+
* @param userPublicKey User's public key (address)
|
|
81
|
+
* @param nonce User nonce for replay protection
|
|
82
|
+
* @param originChain Origin chain name
|
|
83
|
+
* @param destChain Destination chain name
|
|
84
|
+
* @param token Token contract address
|
|
85
|
+
* @param recipient Recipient address
|
|
86
|
+
* @param amount Amount to bridge
|
|
87
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
88
|
+
* @returns Object with signature and RPC request for gasless bridge
|
|
89
|
+
*/
|
|
90
|
+
generateCompleteGaslessBridge(userPrivateKey: string, userPublicKey: string, nonce: number, originChain: string, destChain: string, token: string, recipient: string, amount: string, bridgeFeeBps?: number): {
|
|
91
|
+
signature: string;
|
|
92
|
+
bridgeOperation: RPCRequest;
|
|
93
|
+
depositOperation: RPCRequest;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Generates atomic deposit and bridge signature for the new combined method
|
|
97
|
+
* @param userPrivateKey User's private key for signing gasless authorization
|
|
98
|
+
* @param userPublicKey User's public key (address)
|
|
99
|
+
* @param nonce User nonce for replay protection
|
|
100
|
+
* @param tokenName Human-readable token name (e.g., "usdc", "eth")
|
|
101
|
+
* @param depositAmount Amount to deposit and bridge (must be equal)
|
|
102
|
+
* @param destChain Destination chain name
|
|
103
|
+
* @param recipient Recipient address
|
|
104
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
105
|
+
* @param chainId Chain ID for signature verification
|
|
106
|
+
* @param contractAddress Contract address for signature verification
|
|
107
|
+
* @returns Signature for atomic deposit and bridge authorization
|
|
108
|
+
*/
|
|
109
|
+
generateAtomicDepositAndBridgeSignature(userPrivateKey: string, userPublicKey: string, nonce: number, tokenName: string, depositAmount: string, destChain: string, recipient: string, bridgeFeeBps: number, chainId: number, contractAddress: string): string;
|
|
110
|
+
/**
|
|
111
|
+
* Executes atomic gasless deposit and bridge through Demos RPC
|
|
112
|
+
* @param userPublicKey User's public key (address)
|
|
113
|
+
* @param signature User's signature for gasless authorization
|
|
114
|
+
* @param nonce User nonce for replay protection
|
|
115
|
+
* @param chainKey Chain key (e.g., "eth.sepolia")
|
|
116
|
+
* @param tokenName Human-readable token name (e.g., "usdc", "eth")
|
|
117
|
+
* @param depositAmount Amount to deposit and bridge
|
|
118
|
+
* @param destChain Destination chain name
|
|
119
|
+
* @param recipient Recipient address
|
|
120
|
+
* @param bridgeFeeBps Bridge fee in basis points
|
|
121
|
+
* @returns RPC request for atomic deposit and bridge execution
|
|
122
|
+
*/
|
|
123
|
+
generateAtomicDepositAndBridgeOperation(userPublicKey: string, signature: string, nonce: number, chainKey: string, tokenName: string, depositAmount: string, destChain: string, recipient: string, bridgeFeeBps?: number): RPCRequest;
|
|
124
|
+
/**
|
|
125
|
+
* RECOMMENDED: Complete atomic deposit and bridge flow helper
|
|
126
|
+
* @param userPrivateKey User's private key for signing
|
|
127
|
+
* @param userPublicKey User's public key (address)
|
|
128
|
+
* @param nonce User nonce for replay protection
|
|
129
|
+
* @param tokenName Human-readable token name (e.g., "usdc", "eth")
|
|
130
|
+
* @param depositAmount Amount to deposit and bridge (equal values)
|
|
131
|
+
* @param destChain Destination chain name (origin chain is automatic)
|
|
132
|
+
* @param recipient Recipient address
|
|
133
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
134
|
+
* @param chainId Chain ID (for signature verification)
|
|
135
|
+
* @param contractAddress Contract address (for signature verification)
|
|
136
|
+
* @param chainKey Chain key format (e.g., "eth.sepolia")
|
|
137
|
+
* @returns Object with signature and RPC request for atomic operation
|
|
138
|
+
*/
|
|
139
|
+
generateAtomicDepositAndBridge(userPrivateKey: string, userPublicKey: string, nonce: number, tokenName: string, depositAmount: string, destChain: string, recipient: string, bridgeFeeBps?: number, chainId?: number, contractAddress?: string, chainKey?: string): {
|
|
140
|
+
signature: string;
|
|
141
|
+
operation: RPCRequest;
|
|
142
|
+
};
|
|
27
143
|
};
|
|
@@ -104,5 +104,229 @@ exports.methods = {
|
|
|
104
104
|
// to complete the transaction flow, following the same pattern as pay() transactions
|
|
105
105
|
return signedTx;
|
|
106
106
|
},
|
|
107
|
+
/**
|
|
108
|
+
* Generates gasless bridge operation signature for meta-transaction
|
|
109
|
+
* @param userPrivateKey User's private key for signing gasless authorization
|
|
110
|
+
* @param userPublicKey User's public key (address)
|
|
111
|
+
* @param nonce User nonce for replay protection
|
|
112
|
+
* @param originChain Origin chain name
|
|
113
|
+
* @param destChain Destination chain name
|
|
114
|
+
* @param token Token contract address
|
|
115
|
+
* @param recipient Recipient address
|
|
116
|
+
* @param amount Amount to bridge
|
|
117
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
118
|
+
* @returns Signature for gasless bridge operation authorization
|
|
119
|
+
*/
|
|
120
|
+
generateGaslessBridgeSignature(userPrivateKey, userPublicKey, nonce, originChain, destChain, token, recipient, amount, bridgeFeeBps = 0) {
|
|
121
|
+
// Create the same message format as used in smart contract and node validation
|
|
122
|
+
const messageData = {
|
|
123
|
+
action: "LIQUIDITY_TANK_BRIDGE",
|
|
124
|
+
user: userPublicKey,
|
|
125
|
+
nonce: nonce,
|
|
126
|
+
originChain: originChain,
|
|
127
|
+
destChain: destChain,
|
|
128
|
+
token: token,
|
|
129
|
+
recipient: recipient,
|
|
130
|
+
amount: amount,
|
|
131
|
+
bridgeFeeBps: bridgeFeeBps
|
|
132
|
+
};
|
|
133
|
+
const messageHash = encryption_1.Hashing.sha256(JSON.stringify(messageData));
|
|
134
|
+
const signature = encryption_1.Cryptography.sign(messageHash, userPrivateKey);
|
|
135
|
+
return (0, encryption_1.uint8ArrayToHex)(signature);
|
|
136
|
+
},
|
|
137
|
+
/**
|
|
138
|
+
* Generates gasless deposit signature for USDC deposits
|
|
139
|
+
* @param userPrivateKey User's private key for signing gasless authorization
|
|
140
|
+
* @param userPublicKey User's public key (address)
|
|
141
|
+
* @param nonce User nonce for replay protection
|
|
142
|
+
* @param usdcAddress USDC contract address
|
|
143
|
+
* @param amount Amount to deposit
|
|
144
|
+
* @param chainKey Chain key (e.g., "eth.sepolia")
|
|
145
|
+
* @returns Signature for gasless deposit authorization
|
|
146
|
+
*/
|
|
147
|
+
generateGaslessDepositSignature(userPrivateKey, userPublicKey, nonce, usdcAddress, amount, chainKey) {
|
|
148
|
+
// Create the same message format as used in smart contract and node validation
|
|
149
|
+
const messageData = {
|
|
150
|
+
action: "LIQUIDITY_TANK_DEPOSIT",
|
|
151
|
+
user: userPublicKey,
|
|
152
|
+
nonce: nonce,
|
|
153
|
+
usdcAddress: usdcAddress,
|
|
154
|
+
amount: amount,
|
|
155
|
+
chainKey: chainKey
|
|
156
|
+
};
|
|
157
|
+
const messageHash = encryption_1.Hashing.sha256(JSON.stringify(messageData));
|
|
158
|
+
const signature = encryption_1.Cryptography.sign(messageHash, userPrivateKey);
|
|
159
|
+
return (0, encryption_1.uint8ArrayToHex)(signature);
|
|
160
|
+
},
|
|
161
|
+
/**
|
|
162
|
+
* Initiates a gasless bridge operation through Demos RPC
|
|
163
|
+
* @param userPublicKey User's public key (address)
|
|
164
|
+
* @param signature User's signature for gasless authorization
|
|
165
|
+
* @param nonce User nonce for replay protection
|
|
166
|
+
* @param originChain Origin chain name
|
|
167
|
+
* @param destChain Destination chain name
|
|
168
|
+
* @param token Token contract address
|
|
169
|
+
* @param recipient Recipient address
|
|
170
|
+
* @param amount Amount to bridge
|
|
171
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
172
|
+
* @returns RPC request for gasless bridge initiation
|
|
173
|
+
*/
|
|
174
|
+
generateGaslessBridgeOperation(userPublicKey, signature, nonce, originChain, destChain, token, recipient, amount, bridgeFeeBps = 0) {
|
|
175
|
+
const nodeCallPayload = {
|
|
176
|
+
method: "initiateGaslessBridge",
|
|
177
|
+
params: [{
|
|
178
|
+
user: userPublicKey,
|
|
179
|
+
signature: signature,
|
|
180
|
+
nonce: nonce,
|
|
181
|
+
originChain: originChain,
|
|
182
|
+
destChain: destChain,
|
|
183
|
+
token: token,
|
|
184
|
+
recipient: recipient,
|
|
185
|
+
amount: amount,
|
|
186
|
+
bridgeFeeBps: bridgeFeeBps
|
|
187
|
+
}]
|
|
188
|
+
};
|
|
189
|
+
return nodeCallPayload;
|
|
190
|
+
},
|
|
191
|
+
/**
|
|
192
|
+
* Executes a gasless USDC deposit through Demos RPC
|
|
193
|
+
* @param userPublicKey User's public key (address)
|
|
194
|
+
* @param signature User's signature for gasless authorization
|
|
195
|
+
* @param nonce User nonce for replay protection
|
|
196
|
+
* @param chainKey Chain key (e.g., "eth.sepolia")
|
|
197
|
+
* @param usdcAddress USDC contract address
|
|
198
|
+
* @param amount Amount to deposit
|
|
199
|
+
* @returns RPC request for gasless deposit execution
|
|
200
|
+
*/
|
|
201
|
+
generateGaslessDepositOperation(userPublicKey, signature, nonce, chainKey, usdcAddress, amount) {
|
|
202
|
+
const nodeCallPayload = {
|
|
203
|
+
method: "executeGaslessDeposit",
|
|
204
|
+
params: [{
|
|
205
|
+
user: userPublicKey,
|
|
206
|
+
signature: signature,
|
|
207
|
+
nonce: nonce,
|
|
208
|
+
chainKey: chainKey,
|
|
209
|
+
usdcAddress: usdcAddress,
|
|
210
|
+
amount: amount
|
|
211
|
+
}]
|
|
212
|
+
};
|
|
213
|
+
return nodeCallPayload;
|
|
214
|
+
},
|
|
215
|
+
/**
|
|
216
|
+
* Complete gasless bridge flow helper - combines signature generation and operation creation
|
|
217
|
+
* @param userPrivateKey User's private key for signing
|
|
218
|
+
* @param userPublicKey User's public key (address)
|
|
219
|
+
* @param nonce User nonce for replay protection
|
|
220
|
+
* @param originChain Origin chain name
|
|
221
|
+
* @param destChain Destination chain name
|
|
222
|
+
* @param token Token contract address
|
|
223
|
+
* @param recipient Recipient address
|
|
224
|
+
* @param amount Amount to bridge
|
|
225
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
226
|
+
* @returns Object with signature and RPC request for gasless bridge
|
|
227
|
+
*/
|
|
228
|
+
generateCompleteGaslessBridge(userPrivateKey, userPublicKey, nonce, originChain, destChain, token, recipient, amount, bridgeFeeBps = 0) {
|
|
229
|
+
// Generate signatures
|
|
230
|
+
const bridgeSignature = this.generateGaslessBridgeSignature(userPrivateKey, userPublicKey, nonce, originChain, destChain, token, recipient, amount, bridgeFeeBps);
|
|
231
|
+
const depositSignature = this.generateGaslessDepositSignature(userPrivateKey, userPublicKey, nonce + 1, token, amount, `${originChain.toLowerCase()}.${process.env.NODE_ENV === 'production' ? 'mainnet' : 'sepolia'}`);
|
|
232
|
+
// Generate operations
|
|
233
|
+
const bridgeOperation = this.generateGaslessBridgeOperation(userPublicKey, bridgeSignature, nonce, originChain, destChain, token, recipient, amount, bridgeFeeBps);
|
|
234
|
+
const depositOperation = this.generateGaslessDepositOperation(userPublicKey, depositSignature, nonce + 1, `${originChain.toLowerCase()}.${process.env.NODE_ENV === 'production' ? 'mainnet' : 'sepolia'}`, token, amount);
|
|
235
|
+
return {
|
|
236
|
+
signature: bridgeSignature,
|
|
237
|
+
bridgeOperation,
|
|
238
|
+
depositOperation
|
|
239
|
+
};
|
|
240
|
+
},
|
|
241
|
+
/**
|
|
242
|
+
* Generates atomic deposit and bridge signature for the new combined method
|
|
243
|
+
* @param userPrivateKey User's private key for signing gasless authorization
|
|
244
|
+
* @param userPublicKey User's public key (address)
|
|
245
|
+
* @param nonce User nonce for replay protection
|
|
246
|
+
* @param tokenName Human-readable token name (e.g., "usdc", "eth")
|
|
247
|
+
* @param depositAmount Amount to deposit and bridge (must be equal)
|
|
248
|
+
* @param destChain Destination chain name
|
|
249
|
+
* @param recipient Recipient address
|
|
250
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
251
|
+
* @param chainId Chain ID for signature verification
|
|
252
|
+
* @param contractAddress Contract address for signature verification
|
|
253
|
+
* @returns Signature for atomic deposit and bridge authorization
|
|
254
|
+
*/
|
|
255
|
+
generateAtomicDepositAndBridgeSignature(userPrivateKey, userPublicKey, nonce, tokenName, depositAmount, destChain, recipient, bridgeFeeBps = 0, chainId, contractAddress) {
|
|
256
|
+
// Create the same message format as used in smart contract verification
|
|
257
|
+
const messageData = {
|
|
258
|
+
action: "LIQUIDITY_TANK_DEPOSIT_AND_BRIDGE",
|
|
259
|
+
user: userPublicKey,
|
|
260
|
+
nonce: nonce,
|
|
261
|
+
tokenName: tokenName,
|
|
262
|
+
depositAmount: depositAmount,
|
|
263
|
+
originChain: chainId.toString(), // Automatically detected from block.chainid
|
|
264
|
+
destChain: destChain,
|
|
265
|
+
recipient: recipient,
|
|
266
|
+
bridgeFeeBps: bridgeFeeBps,
|
|
267
|
+
chainId: chainId,
|
|
268
|
+
contractAddress: contractAddress
|
|
269
|
+
};
|
|
270
|
+
const messageHash = encryption_1.Hashing.sha256(JSON.stringify(messageData));
|
|
271
|
+
const signature = encryption_1.Cryptography.sign(messageHash, userPrivateKey);
|
|
272
|
+
return (0, encryption_1.uint8ArrayToHex)(signature);
|
|
273
|
+
},
|
|
274
|
+
/**
|
|
275
|
+
* Executes atomic gasless deposit and bridge through Demos RPC
|
|
276
|
+
* @param userPublicKey User's public key (address)
|
|
277
|
+
* @param signature User's signature for gasless authorization
|
|
278
|
+
* @param nonce User nonce for replay protection
|
|
279
|
+
* @param chainKey Chain key (e.g., "eth.sepolia")
|
|
280
|
+
* @param tokenName Human-readable token name (e.g., "usdc", "eth")
|
|
281
|
+
* @param depositAmount Amount to deposit and bridge
|
|
282
|
+
* @param destChain Destination chain name
|
|
283
|
+
* @param recipient Recipient address
|
|
284
|
+
* @param bridgeFeeBps Bridge fee in basis points
|
|
285
|
+
* @returns RPC request for atomic deposit and bridge execution
|
|
286
|
+
*/
|
|
287
|
+
generateAtomicDepositAndBridgeOperation(userPublicKey, signature, nonce, chainKey, tokenName, depositAmount, destChain, recipient, bridgeFeeBps = 0) {
|
|
288
|
+
const nodeCallPayload = {
|
|
289
|
+
method: "executeAtomicDepositAndBridge",
|
|
290
|
+
params: [{
|
|
291
|
+
user: userPublicKey,
|
|
292
|
+
signature: signature,
|
|
293
|
+
nonce: nonce,
|
|
294
|
+
chainKey: chainKey,
|
|
295
|
+
tokenName: tokenName,
|
|
296
|
+
depositAmount: depositAmount,
|
|
297
|
+
destChain: destChain,
|
|
298
|
+
recipient: recipient,
|
|
299
|
+
bridgeFeeBps: bridgeFeeBps
|
|
300
|
+
}]
|
|
301
|
+
};
|
|
302
|
+
return nodeCallPayload;
|
|
303
|
+
},
|
|
304
|
+
/**
|
|
305
|
+
* RECOMMENDED: Complete atomic deposit and bridge flow helper
|
|
306
|
+
* @param userPrivateKey User's private key for signing
|
|
307
|
+
* @param userPublicKey User's public key (address)
|
|
308
|
+
* @param nonce User nonce for replay protection
|
|
309
|
+
* @param tokenName Human-readable token name (e.g., "usdc", "eth")
|
|
310
|
+
* @param depositAmount Amount to deposit and bridge (equal values)
|
|
311
|
+
* @param destChain Destination chain name (origin chain is automatic)
|
|
312
|
+
* @param recipient Recipient address
|
|
313
|
+
* @param bridgeFeeBps Bridge fee in basis points (optional)
|
|
314
|
+
* @param chainId Chain ID (for signature verification)
|
|
315
|
+
* @param contractAddress Contract address (for signature verification)
|
|
316
|
+
* @param chainKey Chain key format (e.g., "eth.sepolia")
|
|
317
|
+
* @returns Object with signature and RPC request for atomic operation
|
|
318
|
+
*/
|
|
319
|
+
generateAtomicDepositAndBridge(userPrivateKey, userPublicKey, nonce, tokenName, depositAmount, destChain, recipient, bridgeFeeBps = 0, chainId = 11155111, // Default to Sepolia
|
|
320
|
+
contractAddress = "0x...", // Should be provided by caller
|
|
321
|
+
chainKey = "eth.sepolia") {
|
|
322
|
+
// REVIEW: Generate signature for the atomic operation
|
|
323
|
+
const signature = this.generateAtomicDepositAndBridgeSignature(userPrivateKey, userPublicKey, nonce, tokenName, depositAmount, destChain, recipient, bridgeFeeBps, chainId, contractAddress);
|
|
324
|
+
// REVIEW: Generate the atomic operation RPC request
|
|
325
|
+
const operation = this.generateAtomicDepositAndBridgeOperation(userPublicKey, signature, nonce, chainKey, tokenName, depositAmount, destChain, recipient, bridgeFeeBps);
|
|
326
|
+
return {
|
|
327
|
+
signature,
|
|
328
|
+
operation
|
|
329
|
+
};
|
|
330
|
+
}
|
|
107
331
|
};
|
|
108
332
|
//# sourceMappingURL=nativeBridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeBridge.js","sourceRoot":"","sources":["../../../src/bridge/nativeBridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nativeBridge.js","sourceRoot":"","sources":["../../../src/bridge/nativeBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,43 @@ const types_1 = require("../types");
|
|
|
5
5
|
const skeletons_1 = require("./utils/skeletons");
|
|
6
6
|
const DemosTransactions_1 = require("./DemosTransactions");
|
|
7
7
|
const canonicalJson_1 = require("./utils/canonicalJson");
|
|
8
|
+
class Web2InvalidUrlError extends Error {
|
|
9
|
+
constructor(message, code) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.name = "Web2InvalidUrlError";
|
|
12
|
+
this.code = code;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function getCanonicalHttpUrlOrThrow(input) {
|
|
16
|
+
if (typeof input !== "string") {
|
|
17
|
+
throw new Web2InvalidUrlError("URL must be a string", "INVALID_URL_TYPE");
|
|
18
|
+
}
|
|
19
|
+
const trimmed = input.trim();
|
|
20
|
+
if (!trimmed) {
|
|
21
|
+
throw new Web2InvalidUrlError("URL is required for startProxy and cannot be empty.", "EMPTY_URL");
|
|
22
|
+
}
|
|
23
|
+
let u;
|
|
24
|
+
try {
|
|
25
|
+
u = new URL(trimmed);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
throw new Web2InvalidUrlError("Invalid URL provided to startProxy. Only http(s) URLs are allowed.", "INVALID_URL");
|
|
29
|
+
}
|
|
30
|
+
if (u.protocol !== "http:" && u.protocol !== "https:") {
|
|
31
|
+
throw new Web2InvalidUrlError("Invalid URL provided to startProxy. Only http(s) URLs are allowed.", "INVALID_URL");
|
|
32
|
+
}
|
|
33
|
+
if (u.username || u.password || !u.hostname) {
|
|
34
|
+
throw new Web2InvalidUrlError("Invalid URL provided to startProxy. Only http(s) URLs without embedded credentials are allowed.", "INVALID_URL");
|
|
35
|
+
}
|
|
36
|
+
// Avoid persisting potential secrets in fragments (e.g., OAuth implicit flow tokens)
|
|
37
|
+
u.hash = "";
|
|
38
|
+
// Normalize default ports
|
|
39
|
+
if ((u.protocol === "http:" && u.port === "80") ||
|
|
40
|
+
(u.protocol === "https:" && u.port === "443")) {
|
|
41
|
+
u.port = "";
|
|
42
|
+
}
|
|
43
|
+
return u.toString(); // canonical form
|
|
44
|
+
}
|
|
8
45
|
class Web2Proxy {
|
|
9
46
|
constructor(sessionId, demos) {
|
|
10
47
|
this._sessionId = sessionId;
|
|
@@ -27,6 +64,7 @@ class Web2Proxy {
|
|
|
27
64
|
payload: undefined,
|
|
28
65
|
authorization: "",
|
|
29
66
|
}, }) {
|
|
67
|
+
const canonicalUrl = getCanonicalHttpUrlOrThrow(url);
|
|
30
68
|
// Create a fresh copy of web2Request for each call
|
|
31
69
|
const freshWeb2Request = { ...skeletons_1.web2_request };
|
|
32
70
|
// Shallow-merge headers without mutating caller's object
|
|
@@ -35,7 +73,7 @@ class Web2Proxy {
|
|
|
35
73
|
...freshWeb2Request.raw,
|
|
36
74
|
action: types_1.EnumWeb2Actions.START_PROXY,
|
|
37
75
|
method,
|
|
38
|
-
url,
|
|
76
|
+
url: canonicalUrl,
|
|
39
77
|
headers: callerHeaders,
|
|
40
78
|
};
|
|
41
79
|
// Validate and canonicalize
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Web2Calls.js","sourceRoot":"","sources":["../../../src/websdk/Web2Calls.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AACzC,iDAAgD;AAChD,2DAAuD;AAEvD,yDAI8B;AAQ9B,MAAa,SAAS;IAIlB,YAAY,SAAiB,EAAE,KAAY;QACvC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,EACb,GAAG,EACH,MAAM,EACN,OAAO,GAAG;QACN,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,SAAS;QAClB,aAAa,EAAE,EAAE;KACpB,GACe;QAChB,mDAAmD;QACnD,MAAM,gBAAgB,GAAG,EAAE,GAAG,wBAAY,EAAE,CAAA;QAE5C,yDAAyD;QACzD,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAEpE,gBAAgB,CAAC,GAAG,GAAG;YACnB,GAAG,gBAAgB,CAAC,GAAG;YACvB,MAAM,EAAE,uBAAe,CAAC,WAAW;YACnC,MAAM;YACN,GAAG;
|
|
1
|
+
{"version":3,"file":"Web2Calls.js","sourceRoot":"","sources":["../../../src/websdk/Web2Calls.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kynesyslabs/demosdk",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.23",
|
|
4
4
|
"description": "Demosdk is a JavaScript/TypeScript SDK that provides a unified interface for interacting with Demos network",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|