@deserialize/multi-vm-wallet 1.0.32 → 1.0.34
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/evm/evm.js.map +1 -1
- package/dist/evm/utils.d.ts +13 -6
- package/dist/svm/svm.d.ts +2 -2
- package/dist/svm/svm.js +16 -10
- package/dist/svm/svm.js.map +1 -1
- package/dist/vm.js.map +1 -1
- package/package.json +2 -1
- package/utils/evm/evm.ts +50 -49
- package/utils/svm/svm.ts +19 -11
- package/utils/vm.ts +1 -0
package/dist/evm/evm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,oCAAiE;AACjE,kDAA8C;AAE9C,8BAA2B;AAC3B,mCAAyD;AACzD,kDAAuB;AACvB,mCAeiB;AAEV,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,EAAE,GAAG,CAAC,CAAA;AAA/C,QAAA,qBAAqB,yBAA0B;AAE5D,MAAa,KAAM,SAAQ,OAAmC;IAG1D,YAAY,IAAY;QACpB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAHvB,mBAAc,GAAG,iBAAiB,CAAC,CAAC,8BAA8B;IAIlE,CAAC;
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":"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"}
|
package/dist/evm/utils.d.ts
CHANGED
|
@@ -110,19 +110,24 @@ export declare const getTokenBalance: (tokenAddress: string, walletAddress: stri
|
|
|
110
110
|
/**
|
|
111
111
|
* Sign, send, and confirm any EVM transaction
|
|
112
112
|
*/
|
|
113
|
-
export declare const signSendAndConfirm: (wallet: Wallet,
|
|
113
|
+
export declare const signSendAndConfirm: (wallet: Wallet, // Connected wallet (private key + provider)
|
|
114
|
+
transactionParams: TransactionParams, confirmations?: number, // Number of confirmations to wait for
|
|
115
|
+
timeout?: number) => Promise<TransactionResult>;
|
|
114
116
|
/**
|
|
115
117
|
* Send native token (ETH, BNB, MATIC, etc.)
|
|
116
118
|
*/
|
|
117
|
-
export declare const sendNativeToken: (wallet: Wallet, to: string, amount: string | bigint,
|
|
119
|
+
export declare const sendNativeToken: (wallet: Wallet, to: string, amount: string | bigint, // Amount in wei
|
|
120
|
+
gasLimit?: string | bigint, confirmations?: number) => Promise<TransactionResult>;
|
|
118
121
|
/**
|
|
119
122
|
* Send ERC-20 token
|
|
120
123
|
*/
|
|
121
|
-
export declare const sendERC20Token: (wallet: Wallet, tokenAddress: string, to: string, amount: string | bigint,
|
|
124
|
+
export declare const sendERC20Token: (wallet: Wallet, tokenAddress: string, to: string, amount: string | bigint, // Amount in token's smallest unit
|
|
125
|
+
gasLimit?: string | bigint, confirmations?: number) => Promise<TransactionResult>;
|
|
122
126
|
/**
|
|
123
127
|
* Execute any contract method
|
|
124
128
|
*/
|
|
125
|
-
export declare const executeContractMethod: (wallet: Wallet, contractAddress: string, abi: any[], methodName: string, methodParams?: any[], value?: string | bigint,
|
|
129
|
+
export declare const executeContractMethod: (wallet: Wallet, contractAddress: string, abi: any[], methodName: string, methodParams?: any[], value?: string | bigint, // For payable methods
|
|
130
|
+
gasLimit?: string | bigint, confirmations?: number) => Promise<TransactionResult>;
|
|
126
131
|
/**
|
|
127
132
|
* Get current gas prices (both legacy and EIP-1559)
|
|
128
133
|
*/
|
|
@@ -150,7 +155,8 @@ export declare const isAllowanceSufficient: (tokenAddress: string, owner: string
|
|
|
150
155
|
/**
|
|
151
156
|
* Approve ERC-20 token spending
|
|
152
157
|
*/
|
|
153
|
-
export declare const approveToken: (wallet: Wallet, tokenAddress: string, spender: string, amount: string | bigint,
|
|
158
|
+
export declare const approveToken: (wallet: Wallet, tokenAddress: string, spender: string, amount: string | bigint, // Amount to approve, use MaxUint256 for unlimited
|
|
159
|
+
gasLimit?: string | bigint, confirmations?: number) => Promise<TransactionResult>;
|
|
154
160
|
/**
|
|
155
161
|
* Approve unlimited token spending (MaxUint256)
|
|
156
162
|
*/
|
|
@@ -158,7 +164,8 @@ export declare const approveTokenUnlimited: (wallet: Wallet, tokenAddress: strin
|
|
|
158
164
|
/**
|
|
159
165
|
* Check allowance and approve if necessary
|
|
160
166
|
*/
|
|
161
|
-
export declare const checkAndApprove: (wallet: Wallet, tokenAddress: string, spender: string, requiredAmount: string | bigint, approvalAmount?: string | bigint,
|
|
167
|
+
export declare const checkAndApprove: (wallet: Wallet, tokenAddress: string, spender: string, requiredAmount: string | bigint, approvalAmount?: string | bigint, // If not provided, will approve exactly the required amount
|
|
168
|
+
gasLimit?: string | bigint, confirmations?: number) => Promise<{
|
|
162
169
|
approvalNeeded: boolean;
|
|
163
170
|
currentAllowance: bigint;
|
|
164
171
|
approvalResult?: TransactionResult;
|
package/dist/svm/svm.d.ts
CHANGED
|
@@ -4,9 +4,9 @@ import { ChainWallet } from "../IChainWallet";
|
|
|
4
4
|
import { Balance, ChainWalletConfig, TokenInfo, TransactionResult } from "../types";
|
|
5
5
|
import { JupiterQuoteResponse } from "./utils";
|
|
6
6
|
export declare class SVMVM extends VM<PublicKey, Keypair, Connection> {
|
|
7
|
+
static validateAddress(address: PublicKey): boolean;
|
|
7
8
|
derivationPath: string;
|
|
8
9
|
constructor(seed: string);
|
|
9
|
-
static validateAddress(address: PublicKey): boolean;
|
|
10
10
|
static getNativeBalance(address: PublicKey, connection: Connection): Promise<Balance>;
|
|
11
11
|
static getTokenBalance(address: PublicKey, tokenAddress: PublicKey, connection: Connection): Promise<Balance>;
|
|
12
12
|
static signAndSendTransaction: (transaction: import("@solana/web3.js").VersionedTransaction, connection: Connection, signers: Keypair[]) => Promise<string>;
|
|
@@ -33,5 +33,5 @@ export declare class SVMChainWallet extends ChainWallet<PublicKey, Keypair, Conn
|
|
|
33
33
|
slippageBps?: number;
|
|
34
34
|
error?: string;
|
|
35
35
|
}>;
|
|
36
|
-
signMessage(message: string
|
|
36
|
+
signMessage: (message: string, signer: Keypair) => string;
|
|
37
37
|
}
|
package/dist/svm/svm.js
CHANGED
|
@@ -10,14 +10,22 @@ const vm_1 = require("../vm");
|
|
|
10
10
|
const IChainWallet_1 = require("../IChainWallet");
|
|
11
11
|
const utils_1 = require("./utils");
|
|
12
12
|
const bn_js_1 = __importDefault(require("bn.js"));
|
|
13
|
+
const tweetnacl_1 = __importDefault(require("tweetnacl"));
|
|
14
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
13
15
|
class SVMVM extends vm_1.VM {
|
|
16
|
+
static validateAddress(address) {
|
|
17
|
+
try {
|
|
18
|
+
new web3_js_1.PublicKey(address);
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
14
25
|
constructor(seed) {
|
|
15
26
|
super(seed, "SVM");
|
|
16
27
|
this.derivationPath = "m/44'/501'/"; // Default SVM derivation path
|
|
17
28
|
}
|
|
18
|
-
static validateAddress(address) {
|
|
19
|
-
return web3_js_1.PublicKey.isOnCurve(address.toBuffer());
|
|
20
|
-
}
|
|
21
29
|
static getNativeBalance(address, connection) {
|
|
22
30
|
return (0, utils_1.getSvmNativeBalance)(address, connection);
|
|
23
31
|
}
|
|
@@ -52,6 +60,11 @@ SVMVM.signAndSendTransaction = utils_1.signAndSendTransaction;
|
|
|
52
60
|
class SVMChainWallet extends IChainWallet_1.ChainWallet {
|
|
53
61
|
constructor(config, privateKey, index) {
|
|
54
62
|
super(config, privateKey, index);
|
|
63
|
+
this.signMessage = (message, signer) => {
|
|
64
|
+
const messageBytes = new TextEncoder().encode(message);
|
|
65
|
+
const signature = tweetnacl_1.default.sign.detached(messageBytes, signer.secretKey);
|
|
66
|
+
return bs58_1.default.encode(signature);
|
|
67
|
+
};
|
|
55
68
|
this.address = privateKey.publicKey;
|
|
56
69
|
this.privateKey = privateKey;
|
|
57
70
|
this.connection = new web3_js_1.Connection(config.rpcUrl);
|
|
@@ -163,13 +176,6 @@ class SVMChainWallet extends IChainWallet_1.ChainWallet {
|
|
|
163
176
|
};
|
|
164
177
|
}
|
|
165
178
|
}
|
|
166
|
-
async signMessage(message) {
|
|
167
|
-
const signer = this.privateKey;
|
|
168
|
-
if (!signer) {
|
|
169
|
-
throw new Error('No signer available to sign message');
|
|
170
|
-
}
|
|
171
|
-
return await signer.signMessage(message);
|
|
172
|
-
}
|
|
173
179
|
}
|
|
174
180
|
exports.SVMChainWallet = SVMChainWallet;
|
|
175
181
|
//# sourceMappingURL=svm.js.map
|
package/dist/svm/svm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svm.js","sourceRoot":"","sources":["../../utils/svm/svm.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAiE;AACjE,oCAAoD;AACpD,8BAA2B;AAC3B,kDAA8C;AAE9C,mCAYiB;AACjB,kDAAuB;
|
|
1
|
+
{"version":3,"file":"svm.js","sourceRoot":"","sources":["../../utils/svm/svm.ts"],"names":[],"mappings":"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"}
|
package/dist/vm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vm.js","sourceRoot":"","sources":["../utils/vm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6CAA+B;AAE/B,wBAAwB;AACxB,MAAsB,EAAE;IAIpB,YAAY,IAAY,EAAE,EAAW;QACjC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;;AAPL,
|
|
1
|
+
{"version":3,"file":"vm.js","sourceRoot":"","sources":["../utils/vm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6CAA+B;AAE/B,wBAAwB;AACxB,MAAsB,EAAE;IAIpB,YAAY,IAAY,EAAE,EAAW;QACjC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;;AAPL,gBAqBC;AAbU,iBAAc,GAAG,CAAC,QAAgB,EAAE,EAAE;IACzC,OAAO,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deserialize/multi-vm-wallet",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.34",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"@types/bn.js": "^5.2.0",
|
|
6
6
|
"@types/node": "^24.2.1",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"bip32": "^4.0.0",
|
|
15
15
|
"bip39": "^3.1.0",
|
|
16
16
|
"bn.js": "^5.2.2",
|
|
17
|
+
"bs58": "^6.0.0",
|
|
17
18
|
"ed25519-hd-key": "^1.3.0",
|
|
18
19
|
"ethers": "^6.15.0",
|
|
19
20
|
"promise-retry": "^2.0.1",
|
package/utils/evm/evm.ts
CHANGED
|
@@ -36,6 +36,7 @@ export class EVMVM extends VM<string, string, JsonRpcProvider> {
|
|
|
36
36
|
super(seed, "EVM");
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
|
|
39
40
|
generatePrivateKey(index: number, seed?: string, mnemonic?: string, derivationPath = this.derivationPath) {
|
|
40
41
|
let _seed: string
|
|
41
42
|
|
|
@@ -316,55 +317,55 @@ export class EVMChainWallet extends ChainWallet<string, string, JsonRpcProvider>
|
|
|
316
317
|
throw error;
|
|
317
318
|
}
|
|
318
319
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
320
|
+
async approveToken(params: {
|
|
321
|
+
tokenAddress: string
|
|
322
|
+
spender: string
|
|
323
|
+
amountRaw: string | bigint
|
|
324
|
+
confirmations?: number
|
|
325
|
+
gasLimit?: string | bigint
|
|
326
|
+
}): Promise<TransactionResult> {
|
|
327
|
+
const signer = this.getWallet()
|
|
328
|
+
const r = await approveToken(
|
|
329
|
+
signer,
|
|
330
|
+
params.tokenAddress,
|
|
331
|
+
params.spender,
|
|
332
|
+
params.amountRaw,
|
|
333
|
+
params.gasLimit,
|
|
334
|
+
params.confirmations ?? this.config.confirmationNo ?? 1,
|
|
335
|
+
)
|
|
336
|
+
return {
|
|
337
|
+
hash: r.hash,
|
|
338
|
+
success: r.success,
|
|
339
|
+
error: (r as any).error,
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
async executeContractMethod(params: {
|
|
344
|
+
contractAddress: string
|
|
345
|
+
abi: any[]
|
|
346
|
+
methodName: string
|
|
347
|
+
methodParams?: any[]
|
|
348
|
+
value?: string | bigint
|
|
349
|
+
gasLimit?: string | bigint
|
|
350
|
+
confirmations?: number
|
|
351
|
+
}): Promise<TransactionResult> {
|
|
352
|
+
const signer = this.getWallet()
|
|
353
|
+
const r = await executeContractMethod(
|
|
354
|
+
signer,
|
|
355
|
+
params.contractAddress,
|
|
356
|
+
params.abi,
|
|
357
|
+
params.methodName,
|
|
358
|
+
params.methodParams ?? [],
|
|
359
|
+
params.value,
|
|
360
|
+
)
|
|
361
|
+
return {
|
|
362
|
+
hash: r.hash,
|
|
363
|
+
success: r.success,
|
|
364
|
+
error: (r as any).error,
|
|
365
|
+
}
|
|
339
366
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
contractAddress: string
|
|
344
|
-
abi: any[]
|
|
345
|
-
methodName: string
|
|
346
|
-
methodParams?: any[]
|
|
347
|
-
value?: string | bigint
|
|
348
|
-
gasLimit?: string | bigint
|
|
349
|
-
confirmations?: number
|
|
350
|
-
}): Promise<TransactionResult> {
|
|
351
|
-
const signer = this.getWallet()
|
|
352
|
-
const r = await executeContractMethod(
|
|
353
|
-
signer,
|
|
354
|
-
params.contractAddress,
|
|
355
|
-
params.abi,
|
|
356
|
-
params.methodName,
|
|
357
|
-
params.methodParams ?? [],
|
|
358
|
-
params.value,
|
|
359
|
-
)
|
|
360
|
-
return {
|
|
361
|
-
hash: r.hash,
|
|
362
|
-
success: r.success,
|
|
363
|
-
error: (r as any).error,
|
|
367
|
+
async signMessage(message: string): Promise<string> {
|
|
368
|
+
const signer = this.getWallet()
|
|
369
|
+
return signer.signMessage(message)
|
|
364
370
|
}
|
|
365
|
-
}
|
|
366
|
-
async signMessage(message: string): Promise<string> {
|
|
367
|
-
const signer = this.getWallet()
|
|
368
|
-
return signer.signMessage(message)
|
|
369
|
-
}
|
|
370
371
|
}
|
package/utils/svm/svm.ts
CHANGED
|
@@ -17,16 +17,25 @@ import {
|
|
|
17
17
|
JupiterQuoteResponse
|
|
18
18
|
} from "./utils";
|
|
19
19
|
import BN from "bn.js";
|
|
20
|
+
import nacl from "tweetnacl";
|
|
21
|
+
import base58 from "bs58";
|
|
20
22
|
|
|
21
23
|
export class SVMVM extends VM<PublicKey, Keypair, Connection> {
|
|
24
|
+
static validateAddress(address: PublicKey): boolean {
|
|
25
|
+
try {
|
|
26
|
+
new PublicKey(address)
|
|
27
|
+
return true
|
|
28
|
+
} catch (error) {
|
|
29
|
+
return false
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
}
|
|
22
33
|
derivationPath = "m/44'/501'/"; // Default SVM derivation path
|
|
23
34
|
|
|
24
35
|
constructor(seed: string) {
|
|
25
36
|
super(seed, "SVM");
|
|
26
37
|
}
|
|
27
|
-
|
|
28
|
-
return PublicKey.isOnCurve(address.toBuffer());
|
|
29
|
-
}
|
|
38
|
+
|
|
30
39
|
static getNativeBalance(address: PublicKey, connection: Connection): Promise<Balance> {
|
|
31
40
|
return getSvmNativeBalance(address, connection);
|
|
32
41
|
}
|
|
@@ -39,6 +48,8 @@ export class SVMVM extends VM<PublicKey, Keypair, Connection> {
|
|
|
39
48
|
}
|
|
40
49
|
|
|
41
50
|
static signAndSendTransaction = signAndSendTransaction
|
|
51
|
+
|
|
52
|
+
|
|
42
53
|
generatePrivateKey(index: number, seed?: string, mnemonic?: string, derivationPath = this.derivationPath) {
|
|
43
54
|
let _seed: string
|
|
44
55
|
|
|
@@ -210,12 +221,9 @@ export class SVMChainWallet extends ChainWallet<PublicKey, Keypair, Connection>
|
|
|
210
221
|
};
|
|
211
222
|
}
|
|
212
223
|
}
|
|
213
|
-
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
return await (signer as any).signMessage(message);
|
|
219
|
-
}
|
|
220
|
-
|
|
224
|
+
signMessage = (message: string, signer: Keypair) => {
|
|
225
|
+
const messageBytes = new TextEncoder().encode(message);
|
|
226
|
+
const signature = nacl.sign.detached(messageBytes, signer.secretKey);
|
|
227
|
+
return base58.encode(signature);
|
|
228
|
+
};
|
|
221
229
|
}
|
package/utils/vm.ts
CHANGED
|
@@ -21,6 +21,7 @@ export abstract class VM<AddressType, PrivateKeyType, ConnectionType> {
|
|
|
21
21
|
|
|
22
22
|
abstract generatePrivateKey(index: number, mnemonic?: string, derivationPath?: string): { privateKey: PrivateKeyType, index: number };
|
|
23
23
|
|
|
24
|
+
|
|
24
25
|
// abstract validateAddress(address: AddressType): boolean;
|
|
25
26
|
// abstract getNativeBalance(address: AddressType, connection: ConnectionType): Promise<Balance>;
|
|
26
27
|
}
|