@sidhujag/sysweb3-keyring 2.1.3 → 2.1.5
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/CHANGELOG.md +12 -0
- package/README.md +47 -47
- package/cjs/hardware-transaction-authority.js +36 -0
- package/cjs/hardware-transaction-authority.js.map +1 -0
- package/cjs/index.js +5 -5
- package/cjs/index.js.map +1 -1
- package/cjs/keyring-core.js +171 -220
- package/cjs/keyring-core.js.map +1 -1
- package/cjs/keyring-host.js +113 -0
- package/cjs/keyring-host.js.map +1 -0
- package/cjs/keyring-manager.js +15 -151
- package/cjs/keyring-manager.js.map +1 -1
- package/cjs/ledger/host-types.js.map +1 -1
- package/cjs/ledger/index.js +44 -19
- package/cjs/ledger/index.js.map +1 -1
- package/cjs/providers.js +3 -1
- package/cjs/providers.js.map +1 -1
- package/cjs/software.js +10 -56
- package/cjs/software.js.map +1 -1
- package/cjs/transactions/ethereum.js +306 -229
- package/cjs/transactions/ethereum.js.map +1 -1
- package/cjs/transactions/evm-local-signer.js +15 -0
- package/cjs/transactions/evm-local-signer.js.map +1 -1
- package/cjs/transactions/evm-submission.js +61 -65
- package/cjs/transactions/evm-submission.js.map +1 -1
- package/cjs/transactions/hardware-psbt.js +11 -8
- package/cjs/transactions/hardware-psbt.js.map +1 -1
- package/cjs/transactions/index.js +10 -2
- package/cjs/transactions/index.js.map +1 -1
- package/cjs/transactions/prepared-evm.js +10 -7
- package/cjs/transactions/prepared-evm.js.map +1 -1
- package/cjs/transactions/syscoin-core.js +308 -205
- package/cjs/transactions/syscoin-core.js.map +1 -1
- package/cjs/trezor/connect.js +19 -2
- package/cjs/trezor/connect.js.map +1 -1
- package/cjs/trezor/index.js +38 -16
- package/cjs/trezor/index.js.map +1 -1
- package/cjs/types.js.map +1 -1
- package/cjs/utils/excluded-utxos.js +6 -2
- package/cjs/utils/excluded-utxos.js.map +1 -1
- package/cjs/utils/owned-blockbook-account.js +45 -0
- package/cjs/utils/owned-blockbook-account.js.map +1 -0
- package/esm/current-vault-refusal.js +3 -0
- package/esm/current-vault-refusal.js.map +1 -0
- package/esm/evm-fees.js +242 -0
- package/esm/evm-fees.js.map +1 -0
- package/esm/hardware-transaction-authority.js +33 -0
- package/esm/hardware-transaction-authority.js.map +1 -0
- package/esm/initial-state.js +102 -0
- package/esm/initial-state.js.map +1 -0
- package/esm/keyring-core.js +2781 -0
- package/esm/keyring-core.js.map +1 -0
- package/esm/keyring-host.js +108 -0
- package/esm/keyring-host.js.map +1 -0
- package/esm/ledger/dmk-session.js +1 -0
- package/esm/ledger/dmk-session.js.map +1 -1
- package/esm/ledger/dmk-utxo.js +9 -3
- package/esm/ledger/dmk-utxo.js.map +1 -1
- package/esm/ledger/host-types.js.map +1 -1
- package/esm/ledger/index.js +44 -19
- package/esm/ledger/index.js.map +1 -1
- package/esm/network-utils.js +70 -0
- package/esm/network-utils.js.map +1 -0
- package/esm/providers.js +3 -1
- package/esm/providers.js.map +1 -1
- package/esm/software-hd-account.js +20 -0
- package/esm/software-hd-account.js.map +1 -0
- package/esm/storage-core.js +258 -0
- package/esm/storage-core.js.map +1 -0
- package/esm/transactions/ethereum.js +2753 -0
- package/esm/transactions/ethereum.js.map +1 -0
- package/esm/transactions/evm-cancellation.js +40 -0
- package/esm/transactions/evm-cancellation.js.map +1 -0
- package/esm/transactions/evm-local-signer.js +202 -0
- package/esm/transactions/evm-local-signer.js.map +1 -0
- package/esm/transactions/evm-submission.js +187 -0
- package/esm/transactions/evm-submission.js.map +1 -0
- package/esm/transactions/prepared-evm.js +194 -0
- package/esm/transactions/prepared-evm.js.map +1 -0
- package/esm/transactions/syscoin-core.js +714 -0
- package/esm/transactions/syscoin-core.js.map +1 -0
- package/esm/trezor/connect.js +19 -2
- package/esm/trezor/connect.js.map +1 -1
- package/esm/trezor/index.js +38 -16
- package/esm/trezor/index.js.map +1 -1
- package/esm/types.js.map +1 -1
- package/esm/utils/excluded-utxos.js +57 -0
- package/esm/utils/excluded-utxos.js.map +1 -0
- package/esm/utils/owned-blockbook-account.js +9 -0
- package/esm/utils/owned-blockbook-account.js.map +1 -0
- package/esm/utils/psbt.js +32 -0
- package/esm/utils/psbt.js.map +1 -0
- package/esm/utils/watch-descriptor.js +138 -0
- package/esm/utils/watch-descriptor.js.map +1 -0
- package/package.json +5 -11
- package/types/hardware-transaction-authority.d.ts +5 -0
- package/types/index.d.ts +3 -3
- package/types/keyring-core.d.ts +22 -51
- package/types/keyring-host.d.ts +46 -0
- package/types/keyring-manager.d.ts +13 -18
- package/types/ledger/host-types.d.ts +4 -1
- package/types/ledger/index.d.ts +1 -1
- package/types/ledger/types.d.ts +3 -2
- package/types/providers.d.ts +1 -1
- package/types/software.d.ts +6 -19
- package/types/transactions/ethereum.d.ts +14 -11
- package/types/transactions/evm-local-signer.d.ts +2 -2
- package/types/transactions/evm-submission.d.ts +11 -4
- package/types/transactions/hardware-psbt.d.ts +1 -1
- package/types/transactions/index.d.ts +3 -2
- package/types/transactions/prepared-evm.d.ts +4 -1
- package/types/transactions/syscoin-core.d.ts +48 -21
- package/types/trezor/connect.d.ts +6 -3
- package/types/trezor/index.d.ts +4 -3
- package/types/types.d.ts +95 -63
- package/types/utils/excluded-utxos.d.ts +1 -1
- package/types/utils/owned-blockbook-account.d.ts +3 -0
- package/cjs/hardware-wallet-manager-singleton.js +0 -34
- package/cjs/hardware-wallet-manager-singleton.js.map +0 -1
- package/cjs/storage.js +0 -20
- package/cjs/storage.js.map +0 -1
- package/cjs/transactions/syscoin.js +0 -16
- package/cjs/transactions/syscoin.js.map +0 -1
- package/cjs/utils/blockbook-cache.js +0 -76
- package/cjs/utils/blockbook-cache.js.map +0 -1
- package/types/hardware-wallet-manager-singleton.d.ts +0 -19
- package/types/storage.d.ts +0 -5
- package/types/transactions/syscoin.d.ts +0 -9
- package/types/utils/blockbook-cache.d.ts +0 -6
package/esm/evm-fees.js
ADDED
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/** Standard EVM fee discovery shared by extension and restricted native hosts. */
|
|
2
|
+
import { getEvmProtocolLimits } from '@sidhujag/sysweb3-network/cjs/evm.js';
|
|
3
|
+
const MAX_FEE = (1n << 256n) - 1n;
|
|
4
|
+
/** A validated limit failed its wire bounds or an activated protocol bound. */
|
|
5
|
+
export class EvmGasLimitError extends Error {
|
|
6
|
+
constructor(code) {
|
|
7
|
+
super(code === 'SYSWEB3_EVM_GAS_LIMIT_INVALID'
|
|
8
|
+
? 'Invalid EVM gas limit'
|
|
9
|
+
: 'EVM gas limit exceeds the network limit');
|
|
10
|
+
this.code = code;
|
|
11
|
+
this.name = 'EvmGasLimitError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/** The host supplies a verified chain and, if sampled, its block gas limit. */
|
|
15
|
+
export function assertEvmGasLimit(gasLimit, chainId, sampledBlockGasLimit) {
|
|
16
|
+
if (typeof gasLimit !== 'bigint' ||
|
|
17
|
+
gasLimit <= 0n ||
|
|
18
|
+
gasLimit > MAX_FEE ||
|
|
19
|
+
typeof chainId !== 'bigint' ||
|
|
20
|
+
chainId < 0n ||
|
|
21
|
+
chainId > MAX_FEE ||
|
|
22
|
+
(sampledBlockGasLimit !== undefined &&
|
|
23
|
+
(typeof sampledBlockGasLimit !== 'bigint' ||
|
|
24
|
+
sampledBlockGasLimit <= 0n ||
|
|
25
|
+
sampledBlockGasLimit > MAX_FEE)))
|
|
26
|
+
throw new EvmGasLimitError('SYSWEB3_EVM_GAS_LIMIT_INVALID');
|
|
27
|
+
const { maxTransactionGas } = getEvmProtocolLimits(chainId);
|
|
28
|
+
if ((maxTransactionGas !== undefined && gasLimit > BigInt(maxTransactionGas)) ||
|
|
29
|
+
(sampledBlockGasLimit !== undefined && gasLimit > sampledBlockGasLimit))
|
|
30
|
+
throw new EvmGasLimitError('SYSWEB3_EVM_GAS_LIMIT_EXCEEDED');
|
|
31
|
+
return gasLimit;
|
|
32
|
+
}
|
|
33
|
+
/** Accept the SDK's existing BigNumberish forms without permissive zero coercion. */
|
|
34
|
+
export function parseEvmFeeQuantity(value, label = 'fee quantity') {
|
|
35
|
+
if (value !== null && typeof value === 'object') {
|
|
36
|
+
const object = value;
|
|
37
|
+
value =
|
|
38
|
+
object._hex ??
|
|
39
|
+
object.hex ??
|
|
40
|
+
(typeof object.toString === 'function' ? object.toString() : undefined);
|
|
41
|
+
if (typeof value !== 'string')
|
|
42
|
+
throw new Error(`Invalid ${label}`);
|
|
43
|
+
}
|
|
44
|
+
if (!((typeof value === 'string' &&
|
|
45
|
+
value.length <= 80 &&
|
|
46
|
+
/^(?:0x[\da-f]+|\d+)$/i.test(value)) ||
|
|
47
|
+
(typeof value === 'number' &&
|
|
48
|
+
Number.isSafeInteger(value) &&
|
|
49
|
+
value >= 0) ||
|
|
50
|
+
(typeof value === 'bigint' && value >= 0n)))
|
|
51
|
+
throw new Error(`Invalid ${label}`);
|
|
52
|
+
const quantity = BigInt(value);
|
|
53
|
+
if (quantity > MAX_FEE)
|
|
54
|
+
throw new Error(`Invalid ${label}`);
|
|
55
|
+
return quantity;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The existing successful-estimate policy: floor(estimate * 120 / 100), then
|
|
59
|
+
* the configured minimum if larger. Callers retain chain/resource bounds.
|
|
60
|
+
*/
|
|
61
|
+
export function bufferedEvmGasLimit(estimate, minimum) {
|
|
62
|
+
if (typeof estimate !== 'bigint' ||
|
|
63
|
+
estimate < 0n ||
|
|
64
|
+
(minimum !== undefined && typeof minimum !== 'bigint'))
|
|
65
|
+
throw new Error('Invalid gas estimate');
|
|
66
|
+
const buffered = (estimate * 120n) / 100n;
|
|
67
|
+
return minimum !== undefined && minimum > buffered ? minimum : buffered;
|
|
68
|
+
}
|
|
69
|
+
export const EVM_CANCELLATION_GAS_LIMIT = 42000n;
|
|
70
|
+
/** Plan only the cancellation fees. The host validates the rates and envelope. */
|
|
71
|
+
export function planEvmCancellationFees(input) {
|
|
72
|
+
const gasLimit = EVM_CANCELLATION_GAS_LIMIT;
|
|
73
|
+
const higher = (left, right) => (left > right ? left : right);
|
|
74
|
+
// The replacement must also bump zero and small rates by at least one wei.
|
|
75
|
+
const bump = (fee) => higher((fee * 120n) / 100n, fee + 1n);
|
|
76
|
+
if (input.type === 0) {
|
|
77
|
+
const gasPrice = bump(higher(input.currentGasPrice, input.originalGasPrice ?? 0n));
|
|
78
|
+
return Object.freeze({
|
|
79
|
+
type: 0,
|
|
80
|
+
gasLimit,
|
|
81
|
+
gasPrice,
|
|
82
|
+
maximumFee: gasLimit * gasPrice,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
const priority = higher(input.currentMaxPriorityFeePerGas, input.originalMaxPriorityFeePerGas ?? 0n);
|
|
86
|
+
const cap = higher(input.currentMaxFeePerGas, input.originalMaxFeePerGas ?? 0n);
|
|
87
|
+
const maxFeePerGas = bump(higher(cap, priority));
|
|
88
|
+
return Object.freeze({
|
|
89
|
+
type: 2,
|
|
90
|
+
gasLimit,
|
|
91
|
+
maxFeePerGas,
|
|
92
|
+
maxPriorityFeePerGas: bump(priority),
|
|
93
|
+
maximumFee: gasLimit * maxFeePerGas,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function unsupportedPriorityMethod(error) {
|
|
97
|
+
const unsupportedCode = (code) => code === -32601 || code === 4200;
|
|
98
|
+
if (unsupportedCode(error?.code))
|
|
99
|
+
return true;
|
|
100
|
+
if (!['UNKNOWN_ERROR', 'UNSUPPORTED_OPERATION'].includes(error?.code))
|
|
101
|
+
return false;
|
|
102
|
+
if (error?.operation != null &&
|
|
103
|
+
error.operation !== 'eth_maxPriorityFeePerGas')
|
|
104
|
+
return false;
|
|
105
|
+
return [
|
|
106
|
+
{ cause: error.error, payload: error.payload },
|
|
107
|
+
{ cause: error.info?.error, payload: error.info?.payload },
|
|
108
|
+
].some(({ cause, payload }) => cause?.name !== 'AbortError' &&
|
|
109
|
+
unsupportedCode(cause?.code) &&
|
|
110
|
+
payload?.method === 'eth_maxPriorityFeePerGas' &&
|
|
111
|
+
Array.isArray(payload.params) &&
|
|
112
|
+
payload.params.length === 0);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* No signer, transport, network registry or provider implementation is imported.
|
|
116
|
+
* Reads are serialized and guarded; RPC failures never become fabricated fees.
|
|
117
|
+
*/
|
|
118
|
+
export async function getEvmFeeData(reader, options = {}) {
|
|
119
|
+
const signals = [options.signal, reader.signal].filter((signal) => signal !== undefined);
|
|
120
|
+
const assertCurrent = options.assertCurrent;
|
|
121
|
+
const check = () => {
|
|
122
|
+
if (signals.some((signal) => signal.aborted)) {
|
|
123
|
+
const error = new Error('EVM fee discovery aborted');
|
|
124
|
+
error.name = 'AbortError';
|
|
125
|
+
throw error;
|
|
126
|
+
}
|
|
127
|
+
if (assertCurrent) {
|
|
128
|
+
const result = assertCurrent();
|
|
129
|
+
if (result !== undefined) {
|
|
130
|
+
// A void callback type also accepts async functions. Never await one.
|
|
131
|
+
void Promise.resolve(result).catch(() => undefined);
|
|
132
|
+
throw new Error('EVM fee guard must be synchronous');
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (signals.some((signal) => signal.aborted)) {
|
|
136
|
+
const error = new Error('EVM fee discovery aborted');
|
|
137
|
+
error.name = 'AbortError';
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
check();
|
|
142
|
+
const minPriorityFee = options.minPriorityFee == null
|
|
143
|
+
? undefined
|
|
144
|
+
: parseEvmFeeQuantity(options.minPriorityFee, 'minimum priority fee');
|
|
145
|
+
// Retain the existing zero/absent override behavior.
|
|
146
|
+
const multiplier = options.feeMultiplier || 250;
|
|
147
|
+
if (!Number.isSafeInteger(multiplier) || multiplier < 1)
|
|
148
|
+
throw new Error('Invalid fee multiplier');
|
|
149
|
+
const getGasPrice = reader.getGasPrice.bind(reader);
|
|
150
|
+
const getBlock = reader.getBlock.bind(reader);
|
|
151
|
+
const send = reader.send.bind(reader);
|
|
152
|
+
const read = async (operation) => {
|
|
153
|
+
check();
|
|
154
|
+
let cleanup = () => undefined;
|
|
155
|
+
try {
|
|
156
|
+
const interrupted = new Promise((_, reject) => {
|
|
157
|
+
const abort = () => {
|
|
158
|
+
const error = new Error('EVM fee discovery aborted');
|
|
159
|
+
error.name = 'AbortError';
|
|
160
|
+
reject(error);
|
|
161
|
+
};
|
|
162
|
+
signals.forEach((signal) => signal.addEventListener('abort', abort, { once: true }));
|
|
163
|
+
cleanup = () => {
|
|
164
|
+
signals.forEach((signal) => signal.removeEventListener('abort', abort));
|
|
165
|
+
return undefined;
|
|
166
|
+
};
|
|
167
|
+
});
|
|
168
|
+
// No asynchronous gap between the current-owner check and dispatch.
|
|
169
|
+
const result = await Promise.race([operation(), interrupted]);
|
|
170
|
+
check();
|
|
171
|
+
return result;
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
check();
|
|
175
|
+
throw error;
|
|
176
|
+
}
|
|
177
|
+
finally {
|
|
178
|
+
cleanup();
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
const gasPrice = parseEvmFeeQuantity(await read(getGasPrice), 'gas price');
|
|
182
|
+
const block = await read(() => getBlock('latest'));
|
|
183
|
+
if (!block)
|
|
184
|
+
throw new Error('Block not found');
|
|
185
|
+
if (typeof block !== 'object' || Array.isArray(block))
|
|
186
|
+
throw new Error('Invalid block');
|
|
187
|
+
const rawBaseFee = block.baseFeePerGas;
|
|
188
|
+
if (rawBaseFee == null) {
|
|
189
|
+
check();
|
|
190
|
+
return Object.freeze({
|
|
191
|
+
gasPrice,
|
|
192
|
+
maxFeePerGas: 0n,
|
|
193
|
+
maxPriorityFeePerGas: 0n,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
const baseFeePerGas = parseEvmFeeQuantity(rawBaseFee, 'base fee');
|
|
197
|
+
let maxPriorityFeePerGas;
|
|
198
|
+
try {
|
|
199
|
+
maxPriorityFeePerGas = parseEvmFeeQuantity(await read(() => send('eth_maxPriorityFeePerGas', [])), 'priority fee');
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
check();
|
|
203
|
+
if (error?.code === 'SYSWEB3_RPC_RESPONSE_INVALID' ||
|
|
204
|
+
error?.name === 'AbortError' ||
|
|
205
|
+
!unsupportedPriorityMethod(error))
|
|
206
|
+
throw error;
|
|
207
|
+
const history = await read(() => send('eth_feeHistory', ['0x5', 'latest', [25, 50, 75]]));
|
|
208
|
+
const rewards = history?.reward;
|
|
209
|
+
if (!Array.isArray(rewards) || rewards.length < 1 || rewards.length > 5)
|
|
210
|
+
throw new Error('Priority fee history unavailable');
|
|
211
|
+
const recentFees = rewards
|
|
212
|
+
.map((reward) => {
|
|
213
|
+
if (!Array.isArray(reward) || reward.length !== 3)
|
|
214
|
+
throw new Error('Invalid priority fee history');
|
|
215
|
+
const parsed = reward.map((value) => parseEvmFeeQuantity(value, 'priority fee history'));
|
|
216
|
+
return parsed[1];
|
|
217
|
+
})
|
|
218
|
+
.sort((a, b) => (a < b ? -1 : a > b ? 1 : 0));
|
|
219
|
+
maxPriorityFeePerGas =
|
|
220
|
+
(recentFees[Math.floor(recentFees.length / 2)] * 150n) / 100n;
|
|
221
|
+
}
|
|
222
|
+
if (minPriorityFee !== undefined && maxPriorityFeePerGas < minPriorityFee)
|
|
223
|
+
maxPriorityFeePerGas = minPriorityFee;
|
|
224
|
+
const baseline = (gasPrice * 120n) / 100n;
|
|
225
|
+
const calculated = (baseFeePerGas * BigInt(multiplier)) / 100n + maxPriorityFeePerGas;
|
|
226
|
+
let maxFeePerGas = calculated > baseline ? calculated : baseline;
|
|
227
|
+
const minimum = (maxPriorityFeePerGas * 120n) / 100n;
|
|
228
|
+
if (maxFeePerGas < minimum)
|
|
229
|
+
maxFeePerGas = minimum;
|
|
230
|
+
if (maxFeePerGas === 0n)
|
|
231
|
+
throw new Error('Invalid EIP-1559 maximum fee');
|
|
232
|
+
parseEvmFeeQuantity(maxFeePerGas, 'maximum fee');
|
|
233
|
+
parseEvmFeeQuantity(maxPriorityFeePerGas, 'priority fee');
|
|
234
|
+
check();
|
|
235
|
+
return Object.freeze({
|
|
236
|
+
gasPrice,
|
|
237
|
+
baseFeePerGas,
|
|
238
|
+
maxFeePerGas,
|
|
239
|
+
maxPriorityFeePerGas,
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=evm-fees.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm-fees.js","sourceRoot":"","sources":["../../src/evm-fees.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const retiredApproval = () => Object.assign(new Error('Hardware signing approval is no longer current'), {
|
|
2
|
+
name: 'AbortError',
|
|
3
|
+
code: 'HARDWARE_REQUEST_CANCELLED',
|
|
4
|
+
transactionNotBroadcast: true,
|
|
5
|
+
});
|
|
6
|
+
export function captureHardwareTransactionAuthority(authority) {
|
|
7
|
+
const { assertCurrent: check, signal } = authority ?? {};
|
|
8
|
+
if (typeof check !== 'function' ||
|
|
9
|
+
typeof signal?.aborted !== 'boolean' ||
|
|
10
|
+
typeof signal.addEventListener !== 'function' ||
|
|
11
|
+
typeof signal.removeEventListener !== 'function')
|
|
12
|
+
throw retiredApproval();
|
|
13
|
+
const assertCurrent = () => {
|
|
14
|
+
if (signal.aborted)
|
|
15
|
+
throw retiredApproval();
|
|
16
|
+
let result;
|
|
17
|
+
try {
|
|
18
|
+
result = check();
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
throw retiredApproval();
|
|
22
|
+
}
|
|
23
|
+
if (result !== undefined) {
|
|
24
|
+
void Promise.resolve(result).catch(() => undefined);
|
|
25
|
+
throw retiredApproval();
|
|
26
|
+
}
|
|
27
|
+
if (signal.aborted)
|
|
28
|
+
throw retiredApproval();
|
|
29
|
+
};
|
|
30
|
+
assertCurrent();
|
|
31
|
+
return Object.freeze({ assertCurrent, signal });
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=hardware-transaction-authority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hardware-transaction-authority.js","sourceRoot":"","sources":["../../src/hardware-transaction-authority.ts"],"names":[],"mappings":"AAKA,MAAM,eAAe,GAAG,GAAG,EAAE,CAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,EAAE;IACzE,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,4BAA4B;IAClC,uBAAuB,EAAE,IAAI;CAC9B,CAAC,CAAC;AAEL,MAAM,UAAU,mCAAmC,CACjD,SAAuC;IAEvC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,IAAI,EAAE,CAAC;IACzD,IACE,OAAO,KAAK,KAAK,UAAU;QAC3B,OAAO,MAAM,EAAE,OAAO,KAAK,SAAS;QACpC,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU;QAC7C,OAAO,MAAM,CAAC,mBAAmB,KAAK,UAAU;QAEhD,MAAM,eAAe,EAAE,CAAC;IAE1B,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,eAAe,EAAE,CAAC;QAC5C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,KAAK,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,eAAe,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,eAAe,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,eAAe,EAAE,CAAC;IAC9C,CAAC,CAAC;IACF,aAAa,EAAE,CAAC;IAChB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { INetworkType } from '@sidhujag/sysweb3-network';
|
|
2
|
+
import { getDefaultUTXONetworks } from './network-utils';
|
|
3
|
+
export const initialActiveHdAccountState = {
|
|
4
|
+
address: '',
|
|
5
|
+
balances: {
|
|
6
|
+
ethereum: 0,
|
|
7
|
+
syscoin: 0,
|
|
8
|
+
},
|
|
9
|
+
id: 0,
|
|
10
|
+
isTrezorWallet: false,
|
|
11
|
+
isLedgerWallet: false,
|
|
12
|
+
label: 'Account 1',
|
|
13
|
+
xprv: '',
|
|
14
|
+
xpub: '',
|
|
15
|
+
isImported: false,
|
|
16
|
+
};
|
|
17
|
+
export const initialActiveImportedAccountState = {
|
|
18
|
+
...initialActiveHdAccountState,
|
|
19
|
+
isImported: true,
|
|
20
|
+
};
|
|
21
|
+
export const initialActiveTrezorAccountState = {
|
|
22
|
+
...initialActiveHdAccountState,
|
|
23
|
+
isTrezorWallet: true,
|
|
24
|
+
isLedgerWallet: false,
|
|
25
|
+
};
|
|
26
|
+
export const initialActiveLedgerAccountState = {
|
|
27
|
+
...initialActiveHdAccountState,
|
|
28
|
+
isLedgerWallet: true,
|
|
29
|
+
isTrezorWallet: false,
|
|
30
|
+
};
|
|
31
|
+
export const initialNetworksState = {
|
|
32
|
+
syscoin: getDefaultUTXONetworks(),
|
|
33
|
+
ethereum: {
|
|
34
|
+
1: {
|
|
35
|
+
chainId: 1,
|
|
36
|
+
url: 'https://rpc.ankr.com/eth',
|
|
37
|
+
label: 'Ethereum Mainnet',
|
|
38
|
+
default: false,
|
|
39
|
+
currency: 'eth',
|
|
40
|
+
explorer: 'https://etherscan.io',
|
|
41
|
+
apiUrl: 'https://api.etherscan.io/api',
|
|
42
|
+
slip44: 60,
|
|
43
|
+
kind: INetworkType.Ethereum,
|
|
44
|
+
},
|
|
45
|
+
137: {
|
|
46
|
+
chainId: 137,
|
|
47
|
+
currency: 'matic',
|
|
48
|
+
default: false,
|
|
49
|
+
label: 'Polygon Mainnet',
|
|
50
|
+
url: 'https://polygon-rpc.com',
|
|
51
|
+
apiUrl: 'https://api.polygonscan.com/api',
|
|
52
|
+
explorer: 'https://polygonscan.com',
|
|
53
|
+
slip44: 60,
|
|
54
|
+
kind: INetworkType.Ethereum,
|
|
55
|
+
},
|
|
56
|
+
80001: {
|
|
57
|
+
chainId: 80001,
|
|
58
|
+
currency: 'matic',
|
|
59
|
+
default: false,
|
|
60
|
+
label: 'Mumbai Testnet',
|
|
61
|
+
url: 'https://endpoints.omniatech.io/v1/matic/mumbai/public',
|
|
62
|
+
apiUrl: 'https://api-testnet.polygonscan.com/api',
|
|
63
|
+
explorer: 'https://mumbai.polygonscan.com',
|
|
64
|
+
slip44: 60,
|
|
65
|
+
kind: INetworkType.Ethereum,
|
|
66
|
+
},
|
|
67
|
+
57: {
|
|
68
|
+
chainId: 57,
|
|
69
|
+
currency: 'sys',
|
|
70
|
+
default: true,
|
|
71
|
+
label: 'Syscoin NEVM',
|
|
72
|
+
url: 'https://rpc.syscoin.org',
|
|
73
|
+
apiUrl: 'https://explorer.syscoin.org/api',
|
|
74
|
+
explorer: 'https://explorer.syscoin.org',
|
|
75
|
+
slip44: 60,
|
|
76
|
+
kind: INetworkType.Ethereum,
|
|
77
|
+
},
|
|
78
|
+
570: {
|
|
79
|
+
chainId: 570,
|
|
80
|
+
currency: 'sys',
|
|
81
|
+
default: true,
|
|
82
|
+
label: 'Rollux',
|
|
83
|
+
url: 'https://rpc.rollux.com',
|
|
84
|
+
apiUrl: 'https://explorer.rollux.com/api',
|
|
85
|
+
explorer: 'https://explorer.rollux.com',
|
|
86
|
+
slip44: 60,
|
|
87
|
+
kind: INetworkType.Ethereum,
|
|
88
|
+
},
|
|
89
|
+
5700: {
|
|
90
|
+
chainId: 5700,
|
|
91
|
+
currency: 'tsys',
|
|
92
|
+
default: false,
|
|
93
|
+
label: 'Tanenbaum Testnet',
|
|
94
|
+
url: 'https://rpc.tanenbaum.io',
|
|
95
|
+
apiUrl: 'https://explorer.tanenbaum.io/api',
|
|
96
|
+
explorer: 'https://explorer.tanenbaum.io',
|
|
97
|
+
slip44: 60,
|
|
98
|
+
kind: INetworkType.Ethereum,
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=initial-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initial-state.js","sourceRoot":"","sources":["../../src/initial-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,MAAM,CAAC,MAAM,2BAA2B,GAAyB;IAC/D,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE;QACR,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;KACX;IACD,EAAE,EAAE,CAAC;IACL,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,KAAK;IACrB,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAyB;IACrE,GAAG,2BAA2B;IAC9B,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAyB;IACnE,GAAG,2BAA2B;IAC9B,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,KAAK;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAyB;IACnE,GAAG,2BAA2B;IAC9B,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,KAAK;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,OAAO,EAAE,sBAAsB,EAAE;IACjC,QAAQ,EAAE;QACR,CAAC,EAAE;YACD,OAAO,EAAE,CAAC;YACV,GAAG,EAAE,0BAA0B;YAC/B,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,8BAA8B;YACtC,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,CAAC,QAAQ;SAC5B;QACD,GAAG,EAAE;YACH,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iBAAiB;YACxB,GAAG,EAAE,yBAAyB;YAC9B,MAAM,EAAE,iCAAiC;YACzC,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,CAAC,QAAQ;SAC5B;QACD,KAAK,EAAE;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gBAAgB;YACvB,GAAG,EAAE,uDAAuD;YAC5D,MAAM,EAAE,yCAAyC;YACjD,QAAQ,EAAE,gCAAgC;YAC1C,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,CAAC,QAAQ;SAC5B;QACD,EAAE,EAAE;YACF,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,cAAc;YACrB,GAAG,EAAE,yBAAyB;YAC9B,MAAM,EAAE,kCAAkC;YAC1C,QAAQ,EAAE,8BAA8B;YACxC,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,CAAC,QAAQ;SAC5B;QACD,GAAG,EAAE;YACH,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,wBAAwB;YAC7B,MAAM,EAAE,iCAAiC;YACzC,QAAQ,EAAE,6BAA6B;YACvC,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,CAAC,QAAQ;SAC5B;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mBAAmB;YAC1B,GAAG,EAAE,0BAA0B;YAC/B,MAAM,EAAE,mCAAmC;YAC3C,QAAQ,EAAE,+BAA+B;YACzC,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,YAAY,CAAC,QAAQ;SAC5B;KACF;CACF,CAAC"}
|