hodl-wallet 2.0.2 → 2.0.4
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/README.md +42 -3
- package/dist/agent-cli.d.ts +11 -0
- package/dist/agent-cli.js +310 -0
- package/dist/agent-cli.js.map +1 -0
- package/dist/agent-errors.d.ts +7 -0
- package/dist/agent-errors.js +13 -0
- package/dist/agent-errors.js.map +1 -0
- package/dist/amounts.d.ts +3 -0
- package/dist/amounts.js +51 -0
- package/dist/amounts.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +95 -37
- package/dist/index.js.map +1 -1
- package/dist/network/arb.d.ts +3 -0
- package/dist/network/arb.js +4 -1
- package/dist/network/arb.js.map +1 -1
- package/dist/network/avax.d.ts +3 -0
- package/dist/network/avax.js +3 -0
- package/dist/network/avax.js.map +1 -1
- package/dist/network/bsc.d.ts +3 -0
- package/dist/network/bsc.js +3 -0
- package/dist/network/bsc.js.map +1 -1
- package/dist/network/btc.d.ts +3 -0
- package/dist/network/btc.js +3 -0
- package/dist/network/btc.js.map +1 -1
- package/dist/network/eth.d.ts +3 -0
- package/dist/network/eth.js +3 -0
- package/dist/network/eth.js.map +1 -1
- package/dist/network/ftm.d.ts +3 -0
- package/dist/network/ftm.js +3 -0
- package/dist/network/ftm.js.map +1 -1
- package/dist/network/hyperliquid.d.ts +2 -0
- package/dist/network/hyperliquid.js +2 -0
- package/dist/network/hyperliquid.js.map +1 -1
- package/dist/network/lib/BaseNetwork.d.ts +8 -4
- package/dist/network/lib/BaseNetwork.js +1 -1
- package/dist/network/lib/BaseNetwork.js.map +1 -1
- package/dist/network/lib/BitcoinNetwork.d.ts +9 -4
- package/dist/network/lib/BitcoinNetwork.js +92 -8
- package/dist/network/lib/BitcoinNetwork.js.map +1 -1
- package/dist/network/lib/Web3Network.d.ts +6 -2
- package/dist/network/lib/Web3Network.js +156 -58
- package/dist/network/lib/Web3Network.js.map +1 -1
- package/dist/network/op.d.ts +3 -0
- package/dist/network/op.js +4 -1
- package/dist/network/op.js.map +1 -1
- package/dist/network/pol.d.ts +3 -0
- package/dist/network/pol.js +3 -0
- package/dist/network/pol.js.map +1 -1
- package/dist/network/types.d.ts +33 -3
- package/dist/network-registry.d.ts +9 -0
- package/dist/network-registry.js +50 -0
- package/dist/network-registry.js.map +1 -0
- package/dist/persist.js +1 -1
- package/dist/persist.js.map +1 -1
- package/dist/profile-lock.d.ts +14 -0
- package/dist/profile-lock.js +84 -0
- package/dist/profile-lock.js.map +1 -0
- package/dist/wallet-service.d.ts +73 -0
- package/dist/wallet-service.js +633 -0
- package/dist/wallet-service.js.map +1 -0
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Web3Network.js","sourceRoot":"","sources":["../../../network/lib/Web3Network.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Web3Network.js","sourceRoot":"","sources":["../../../network/lib/Web3Network.ts"],"names":[],"mappings":"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"}
|
package/dist/network/op.d.ts
CHANGED
package/dist/network/op.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import Web3Network from './lib/Web3Network.js';
|
|
2
2
|
const optimism = {
|
|
3
3
|
NetworkClass: Web3Network,
|
|
4
|
+
id: 'op',
|
|
5
|
+
family: 'evm',
|
|
6
|
+
chainId: 10,
|
|
4
7
|
name: '[ERC-20] Optimism',
|
|
5
8
|
explorer: 'https://optimistic.etherscan.io/tx/',
|
|
6
9
|
url: 'https://mainnet.optimism.io',
|
|
7
|
-
nativeToken: '
|
|
10
|
+
nativeToken: 'ETH',
|
|
8
11
|
tokens: {
|
|
9
12
|
'USDT': {
|
|
10
13
|
address: '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58',
|
package/dist/network/op.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op.js","sourceRoot":"","sources":["../../network/op.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,QAAQ,GAAG;IACb,YAAY,EAAE,WAAW;IACzB,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,qCAAqC;IAC/C,GAAG,EAAE,6BAA6B;IAClC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"op.js","sourceRoot":"","sources":["../../network/op.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,QAAQ,GAAG;IACb,YAAY,EAAE,WAAW;IACzB,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,qCAAqC;IAC/C,GAAG,EAAE,6BAA6B;IAClC,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,OAAO,EAAE,4CAA4C;SACxD;KACJ;CACoB,CAAC;AAE1B,eAAe,QAAQ,CAAC"}
|
package/dist/network/pol.d.ts
CHANGED
package/dist/network/pol.js
CHANGED
package/dist/network/pol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pol.js","sourceRoot":"","sources":["../../network/pol.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,OAAO,GAAG;IACZ,YAAY,EAAE,WAAW;IACzB,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,6BAA6B;IACvC,GAAG,EAAE,0BAA0B;IAC/B,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,OAAO,EAAE,4CAA4C;SACxD;KACJ;CACoB,CAAC;AAE1B,eAAe,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"pol.js","sourceRoot":"","sources":["../../network/pol.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG/C,MAAM,OAAO,GAAG;IACZ,YAAY,EAAE,WAAW;IACzB,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,6BAA6B;IACvC,GAAG,EAAE,0BAA0B;IAC/B,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE;QACJ,MAAM,EAAE;YACJ,OAAO,EAAE,4CAA4C;SACxD;KACJ;CACoB,CAAC;AAE1B,eAAe,OAAO,CAAC"}
|
package/dist/network/types.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export type TokenConfig = {
|
|
|
3
3
|
decimals?: number;
|
|
4
4
|
};
|
|
5
5
|
export type NetworkConfig = {
|
|
6
|
+
id: string;
|
|
7
|
+
family: 'evm' | 'bitcoin';
|
|
6
8
|
name: string;
|
|
7
9
|
url: string;
|
|
8
10
|
nativeToken: string;
|
|
@@ -10,6 +12,7 @@ export type NetworkConfig = {
|
|
|
10
12
|
tokens: Record<string, TokenConfig>;
|
|
11
13
|
chainId?: number;
|
|
12
14
|
network?: string;
|
|
15
|
+
feeRate?: number;
|
|
13
16
|
};
|
|
14
17
|
export type NetworkConstructor = new (config: NetworkConfig) => BaseNetworkContract;
|
|
15
18
|
export type NetworkPlugin = NetworkConfig & {
|
|
@@ -31,6 +34,29 @@ export type SignedTransaction = {
|
|
|
31
34
|
rawTransaction?: string;
|
|
32
35
|
transactionHash?: string;
|
|
33
36
|
};
|
|
37
|
+
export type AssetBalance = {
|
|
38
|
+
asset: string;
|
|
39
|
+
amount: string;
|
|
40
|
+
baseUnits: string;
|
|
41
|
+
decimals: number;
|
|
42
|
+
};
|
|
43
|
+
export type FeeEstimate = AssetBalance & {
|
|
44
|
+
estimated: true;
|
|
45
|
+
};
|
|
46
|
+
export type PreparedTransfer = {
|
|
47
|
+
from: string;
|
|
48
|
+
to: string;
|
|
49
|
+
asset: string;
|
|
50
|
+
amount: string;
|
|
51
|
+
amountBaseUnits: string;
|
|
52
|
+
fee: FeeEstimate;
|
|
53
|
+
transactionHash: string;
|
|
54
|
+
rawTransaction: string;
|
|
55
|
+
};
|
|
56
|
+
export type TransactionStatus = {
|
|
57
|
+
state: 'not_found' | 'submitted' | 'confirmed' | 'failed';
|
|
58
|
+
transactionHash: string;
|
|
59
|
+
};
|
|
34
60
|
export type NetworkUsageEntry = {
|
|
35
61
|
count: number;
|
|
36
62
|
lastUsed: number;
|
|
@@ -39,7 +65,7 @@ export type NetworkUsage = Record<string, NetworkUsageEntry | number>;
|
|
|
39
65
|
export interface BaseNetworkContract {
|
|
40
66
|
config: NetworkConfig;
|
|
41
67
|
name: string;
|
|
42
|
-
getBalance(address: string): Promise<string
|
|
68
|
+
getBalance(address: string): Promise<string>;
|
|
43
69
|
transfer(from: WalletAccount, to: string, amount: number | string, options?: TransferOptions): Promise<SignedTransaction | string | unknown>;
|
|
44
70
|
transferToken(from: WalletAccount, to: string, amount: number | string, tokenSymbol: string, options?: TransferOptions): Promise<SignedTransaction | string | unknown>;
|
|
45
71
|
estimateGas(transaction: unknown): Promise<unknown>;
|
|
@@ -50,8 +76,12 @@ export interface BaseNetworkContract {
|
|
|
50
76
|
accountFromMnemonic(mnemonic: string): Promise<WalletAccount>;
|
|
51
77
|
createAccountFromMnemonic(wordCount?: 12 | 24): Promise<WalletAccount>;
|
|
52
78
|
validateMnemonic(mnemonic: string): boolean;
|
|
53
|
-
getTokenBalance(address: string, tokenSymbol: string): Promise<string
|
|
54
|
-
getTokenBalances(address: string): Promise<Array<[string, string
|
|
79
|
+
getTokenBalance(address: string, tokenSymbol: string): Promise<string>;
|
|
80
|
+
getTokenBalances(address: string): Promise<Array<[string, string]>>;
|
|
81
|
+
getAssetBalance(address: string, asset: string): Promise<AssetBalance>;
|
|
82
|
+
validateAddress(address: string): boolean;
|
|
83
|
+
prepareTransfer(from: WalletAccount, to: string, amount: string, asset: string, options?: TransferOptions): Promise<PreparedTransfer>;
|
|
84
|
+
getTransactionStatus(transactionHash: string): Promise<TransactionStatus>;
|
|
55
85
|
sendSignedTransaction(signedTx: SignedTransaction | string): Promise<unknown>;
|
|
56
86
|
handleNativeTransfer?(from: WalletAccount, to: string, amount: number | string, options?: TransferOptions): Promise<SignedTransaction | string | unknown>;
|
|
57
87
|
handleERC20Transfer?(from: WalletAccount, tokenSymbol: string, to: string, amount: number | string): Promise<SignedTransaction | string | unknown>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { NetworkPlugin } from './network/types.js';
|
|
2
|
+
export declare const ACTIVE_NETWORKS: readonly NetworkPlugin[];
|
|
3
|
+
export declare class NetworkRegistry {
|
|
4
|
+
private readonly byId;
|
|
5
|
+
constructor(networks?: readonly NetworkPlugin[]);
|
|
6
|
+
list(): NetworkPlugin[];
|
|
7
|
+
get(id: string): NetworkPlugin;
|
|
8
|
+
firstForFamily(family: NetworkPlugin['family']): NetworkPlugin;
|
|
9
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import arb from './network/arb.js';
|
|
2
|
+
import avax from './network/avax.js';
|
|
3
|
+
import bsc from './network/bsc.js';
|
|
4
|
+
import btc from './network/btc.js';
|
|
5
|
+
import eth from './network/eth.js';
|
|
6
|
+
import ftm from './network/ftm.js';
|
|
7
|
+
import hyperliquid from './network/hyperliquid.js';
|
|
8
|
+
import op from './network/op.js';
|
|
9
|
+
import pol from './network/pol.js';
|
|
10
|
+
export const ACTIVE_NETWORKS = Object.freeze([
|
|
11
|
+
btc,
|
|
12
|
+
eth,
|
|
13
|
+
bsc,
|
|
14
|
+
pol,
|
|
15
|
+
arb,
|
|
16
|
+
op,
|
|
17
|
+
ftm,
|
|
18
|
+
avax,
|
|
19
|
+
hyperliquid
|
|
20
|
+
]);
|
|
21
|
+
export class NetworkRegistry {
|
|
22
|
+
byId;
|
|
23
|
+
constructor(networks = ACTIVE_NETWORKS) {
|
|
24
|
+
this.byId = new Map();
|
|
25
|
+
for (const network of networks) {
|
|
26
|
+
if (this.byId.has(network.id)) {
|
|
27
|
+
throw new Error(`Duplicate network ID: ${network.id}`);
|
|
28
|
+
}
|
|
29
|
+
this.byId.set(network.id, network);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
list() {
|
|
33
|
+
return [...this.byId.values()];
|
|
34
|
+
}
|
|
35
|
+
get(id) {
|
|
36
|
+
const network = this.byId.get(id);
|
|
37
|
+
if (!network) {
|
|
38
|
+
throw new Error(`Unsupported network: ${id}`);
|
|
39
|
+
}
|
|
40
|
+
return network;
|
|
41
|
+
}
|
|
42
|
+
firstForFamily(family) {
|
|
43
|
+
const network = this.list().find(candidate => candidate.family === family);
|
|
44
|
+
if (!network) {
|
|
45
|
+
throw new Error(`No network registered for family: ${family}`);
|
|
46
|
+
}
|
|
47
|
+
return network;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=network-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-registry.js","sourceRoot":"","sources":["../network-registry.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AAGnC,MAAM,CAAC,MAAM,eAAe,GAA6B,MAAM,CAAC,MAAM,CAAC;IACnE,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,EAAE;IACF,GAAG;IACH,IAAI;IACJ,WAAW;CACd,CAAC,CAAC;AAEH,MAAM,OAAO,eAAe;IACP,IAAI,CAA6B;IAElD,YAAY,WAAqC,eAAe;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED,IAAI;QACA,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,EAAU;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,MAA+B;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ"}
|
package/dist/persist.js
CHANGED
|
@@ -5,7 +5,7 @@ const KEY_LENGTH = 32;
|
|
|
5
5
|
const IV_LENGTH = 12;
|
|
6
6
|
const SALT_LENGTH = 16;
|
|
7
7
|
const SEALED_SECRET_VERSION = 1;
|
|
8
|
-
const SENSITIVE_FIELDS = new Set(['privateKey', 'mnemonic']);
|
|
8
|
+
const SENSITIVE_FIELDS = new Set(['privateKey', 'mnemonic', 'rawTransaction']);
|
|
9
9
|
class Persist extends Deepbase {
|
|
10
10
|
encryptionKey;
|
|
11
11
|
memoryKey;
|
package/dist/persist.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist.js","sourceRoot":"","sources":["../persist.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"persist.js","sourceRoot":"","sources":["../persist.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type ProfileLockOptions = {
|
|
2
|
+
isProcessAlive?: (pid: number) => boolean;
|
|
3
|
+
pid?: number;
|
|
4
|
+
};
|
|
5
|
+
export declare class ProfileLock {
|
|
6
|
+
private readonly lockPath;
|
|
7
|
+
private readonly isProcessAlive;
|
|
8
|
+
private readonly pid;
|
|
9
|
+
private acquired;
|
|
10
|
+
constructor(lockPath: string, options?: ProfileLockOptions);
|
|
11
|
+
acquire(): void;
|
|
12
|
+
release(): void;
|
|
13
|
+
private readOwner;
|
|
14
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
function defaultIsProcessAlive(pid) {
|
|
3
|
+
try {
|
|
4
|
+
process.kill(pid, 0);
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
catch (error) {
|
|
8
|
+
return error.code === 'EPERM';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export class ProfileLock {
|
|
12
|
+
lockPath;
|
|
13
|
+
isProcessAlive;
|
|
14
|
+
pid;
|
|
15
|
+
acquired = false;
|
|
16
|
+
constructor(lockPath, options = {}) {
|
|
17
|
+
this.lockPath = lockPath;
|
|
18
|
+
this.isProcessAlive = options.isProcessAlive || defaultIsProcessAlive;
|
|
19
|
+
this.pid = options.pid || process.pid;
|
|
20
|
+
}
|
|
21
|
+
acquire() {
|
|
22
|
+
for (let attempt = 0; attempt < 2; attempt += 1) {
|
|
23
|
+
try {
|
|
24
|
+
const descriptor = fs.openSync(this.lockPath, 'wx', 0o600);
|
|
25
|
+
try {
|
|
26
|
+
fs.writeFileSync(descriptor, `${this.pid}\n`, 'utf8');
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
fs.closeSync(descriptor);
|
|
30
|
+
}
|
|
31
|
+
this.acquired = true;
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
if (error.code !== 'EEXIST') {
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
const owner = this.readOwner();
|
|
39
|
+
if (owner === null || this.isProcessAlive(owner)) {
|
|
40
|
+
throw new Error(`Profile is locked by process ${owner}.`);
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
fs.unlinkSync(this.lockPath);
|
|
44
|
+
}
|
|
45
|
+
catch (unlinkError) {
|
|
46
|
+
if (unlinkError.code !== 'ENOENT') {
|
|
47
|
+
throw unlinkError;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
throw new Error('Unable to acquire profile lock.');
|
|
53
|
+
}
|
|
54
|
+
release() {
|
|
55
|
+
if (!this.acquired) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
fs.unlinkSync(this.lockPath);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (error.code !== 'ENOENT') {
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
this.acquired = false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
readOwner() {
|
|
71
|
+
try {
|
|
72
|
+
const value = fs.readFileSync(this.lockPath, 'utf8').trim();
|
|
73
|
+
const pid = Number(value);
|
|
74
|
+
return Number.isSafeInteger(pid) && pid > 0 ? pid : null;
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
if (error.code === 'ENOENT') {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=profile-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-lock.js","sourceRoot":"","sources":["../profile-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { NetworkRegistry } from './network-registry.js';
|
|
2
|
+
import { ProfileLock } from './profile-lock.js';
|
|
3
|
+
type WalletServiceOptions = {
|
|
4
|
+
rootDir?: string;
|
|
5
|
+
registry?: NetworkRegistry;
|
|
6
|
+
lockFactory?: (lockPath: string) => ProfileLock;
|
|
7
|
+
};
|
|
8
|
+
export type CreateProfileResult = {
|
|
9
|
+
wallet: string;
|
|
10
|
+
kind: 'mnemonic' | 'private-key';
|
|
11
|
+
accounts: Array<{
|
|
12
|
+
family: 'evm' | 'bitcoin';
|
|
13
|
+
address: string;
|
|
14
|
+
networks: string[];
|
|
15
|
+
privateKey?: string;
|
|
16
|
+
}>;
|
|
17
|
+
mnemonic?: string;
|
|
18
|
+
};
|
|
19
|
+
export type SendRequest = {
|
|
20
|
+
wallet: string;
|
|
21
|
+
password: string;
|
|
22
|
+
network: string;
|
|
23
|
+
to: string;
|
|
24
|
+
asset: string;
|
|
25
|
+
amount: string;
|
|
26
|
+
dryRun: boolean;
|
|
27
|
+
requestId?: string;
|
|
28
|
+
};
|
|
29
|
+
export declare class WalletService {
|
|
30
|
+
private readonly rootDir;
|
|
31
|
+
private readonly registry;
|
|
32
|
+
private readonly lockFactory;
|
|
33
|
+
constructor(options?: WalletServiceOptions);
|
|
34
|
+
listNetworks(): Array<Record<string, unknown>>;
|
|
35
|
+
listProfiles(): string[];
|
|
36
|
+
createProfile(wallet: string, password: string, words: 12 | 24, revealSecrets: boolean): Promise<CreateProfileResult>;
|
|
37
|
+
importMnemonic(wallet: string, password: string, mnemonic: string): Promise<CreateProfileResult>;
|
|
38
|
+
importPrivateKey(wallet: string, password: string, networkId: string, privateKey: string): Promise<CreateProfileResult>;
|
|
39
|
+
getAddress(wallet: string, password: string, networkId: string): Promise<Record<string, unknown>>;
|
|
40
|
+
getBalances(options: {
|
|
41
|
+
network: string;
|
|
42
|
+
wallet?: string;
|
|
43
|
+
password?: string;
|
|
44
|
+
address?: string;
|
|
45
|
+
asset?: string;
|
|
46
|
+
}): Promise<Record<string, unknown>>;
|
|
47
|
+
send(request: SendRequest): Promise<Record<string, unknown>>;
|
|
48
|
+
private broadcastStored;
|
|
49
|
+
private safeTransactionStatus;
|
|
50
|
+
private prepare;
|
|
51
|
+
private publicTransfer;
|
|
52
|
+
private publicStoredTransfer;
|
|
53
|
+
private readAccount;
|
|
54
|
+
private writeNewProfile;
|
|
55
|
+
private connect;
|
|
56
|
+
private profileExists;
|
|
57
|
+
private profilePathOccupied;
|
|
58
|
+
private profileLocation;
|
|
59
|
+
private prepareMutationLocation;
|
|
60
|
+
private ensureSafeDirectory;
|
|
61
|
+
private assertProfileReadable;
|
|
62
|
+
private acquireLock;
|
|
63
|
+
private getPlugin;
|
|
64
|
+
private instantiate;
|
|
65
|
+
private validateAsset;
|
|
66
|
+
private validateProfileName;
|
|
67
|
+
private networkIdsForFamily;
|
|
68
|
+
private fingerprint;
|
|
69
|
+
private securePersistFile;
|
|
70
|
+
private isRegularFile;
|
|
71
|
+
private isDirectory;
|
|
72
|
+
}
|
|
73
|
+
export {};
|