@onekeyfe/hd-transport 1.2.10-alpha.1 → 1.2.10-alpha.2
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/__tests__/static-protobuf.test.js +436 -0
- package/__tests__/transport-log.test.js +10 -0
- package/dist/index.d.ts +47 -37
- package/dist/index.js +109040 -39
- package/dist/protocols/index.d.ts.map +1 -1
- package/dist/serialization/protobuf/messages.d.ts +1 -1
- package/dist/serialization/protobuf/messages.d.ts.map +1 -1
- package/dist/types/messages.d.ts +31 -25
- package/dist/types/messages.d.ts.map +1 -1
- package/jest.config.js +3 -0
- package/messages-protocol-v2.json +93 -78
- package/package.json +6 -4
- package/scripts/protobuf-build.sh +7 -0
- package/scripts/protobuf-static-csp.js +103 -0
- package/scripts/protobuf-static.js +85 -0
- package/src/protocols/index.ts +10 -23
- package/src/serialization/protobuf/generated/codecs.d.ts +3 -0
- package/src/serialization/protobuf/generated/codecs.js +108990 -0
- package/src/serialization/protobuf/legacy-protocol-info.json +16 -0
- package/src/serialization/protobuf/messages.ts +12 -6
- package/src/types/messages.ts +41 -31
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
import { isDeepStrictEqual } from 'util';
|
|
2
|
+
import { mkdirSync, writeFileSync } from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import ByteBuffer from 'bytebuffer';
|
|
5
|
+
import * as protobuf from 'protobufjs/light';
|
|
6
|
+
import Long from 'long';
|
|
7
|
+
|
|
8
|
+
import v1 from '@onekeyfe/hd-core/src/data/messages/messages.json';
|
|
9
|
+
import legacy from '@onekeyfe/hd-core/src/data/messages/messages_legacy_v1.json';
|
|
10
|
+
import v2 from '../messages-protocol-v2.json';
|
|
11
|
+
import { parseConfigure, createMessageFromName } from '../src/serialization/protobuf/messages';
|
|
12
|
+
import { encode } from '../src/serialization/protobuf/encode';
|
|
13
|
+
import { decode } from '../src/serialization/protobuf/decode';
|
|
14
|
+
import { installStaticCodecs } from '../src/serialization/protobuf/generated/codecs';
|
|
15
|
+
import { ProtocolV1, ProtocolV2 } from '../src/protocols';
|
|
16
|
+
|
|
17
|
+
import { patchFeatures } from '@onekeyfe/hd-core/src/utils/patch';
|
|
18
|
+
import { fixFeaturesFirmwareVersion } from '@onekeyfe/hd-core/src/utils/deviceFeaturesUtils';
|
|
19
|
+
import { buildProtocolV1FeaturesPayload } from '@onekeyfe/hd-core/src/deviceProfile/buildDeviceFeatures';
|
|
20
|
+
import {
|
|
21
|
+
mapFeaturesToState,
|
|
22
|
+
mapProtocolV2DeviceInfoToState,
|
|
23
|
+
mapProtocolV2DeviceStatusToState,
|
|
24
|
+
} from '@onekeyfe/hd-core/src/device/DeviceStateMapper';
|
|
25
|
+
import { DeviceStateStore } from '@onekeyfe/hd-core/src/device/DeviceStateStore';
|
|
26
|
+
import { projectFeatures } from '@onekeyfe/hd-core/src/device/DeviceStateProjector';
|
|
27
|
+
|
|
28
|
+
jest.mock('@onekeyfe/hd-core/src/data/config', () => ({
|
|
29
|
+
getSDKVersion: () => '1.0.0-test',
|
|
30
|
+
DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0-test/',
|
|
31
|
+
}));
|
|
32
|
+
|
|
33
|
+
const constants = Object.values(Long)
|
|
34
|
+
.filter(value => value instanceof Long)
|
|
35
|
+
.map(value => ({ value, low: value.low, high: value.high, unsigned: value.unsigned }));
|
|
36
|
+
const resetLong = () => {
|
|
37
|
+
constants.forEach(({ value, low, high, unsigned }) =>
|
|
38
|
+
Object.assign(value, { low, high, unsigned })
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
const collectTypes = namespace => [
|
|
42
|
+
...(namespace instanceof protobuf.Type ? [namespace] : []),
|
|
43
|
+
...(namespace.nestedArray || []).flatMap(collectTypes),
|
|
44
|
+
];
|
|
45
|
+
const capture = fn => {
|
|
46
|
+
try {
|
|
47
|
+
return { ok: true, value: fn() };
|
|
48
|
+
} catch (error) {
|
|
49
|
+
return { ok: false, name: error.name, message: error.message };
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
function seed(type, mode, depth = 0) {
|
|
54
|
+
const result = {};
|
|
55
|
+
if (depth > 5) return result;
|
|
56
|
+
type.fieldsArray.forEach(field => {
|
|
57
|
+
if (field.partOf && field.partOf.fieldsArray[0] !== field) return;
|
|
58
|
+
if (mode === 'required' && !field.required) return;
|
|
59
|
+
if (field.resolvedType instanceof protobuf.Type && !field.required && depth > 2) return;
|
|
60
|
+
let value;
|
|
61
|
+
if (field.resolvedType instanceof protobuf.Type)
|
|
62
|
+
value = seed(field.resolvedType, mode, depth + 1);
|
|
63
|
+
else if (field.resolvedType instanceof protobuf.Enum) {
|
|
64
|
+
const values = Object.values(field.resolvedType.values);
|
|
65
|
+
value = values[mode === 'values' ? Math.min(1, values.length - 1) : 0];
|
|
66
|
+
} else if (field.type === 'bytes') value = mode === 'values' ? '00ff' : '';
|
|
67
|
+
else if (field.type === 'string') value = mode === 'values' ? 'test-验证' : '';
|
|
68
|
+
else if (field.type === 'bool') value = mode === 'values';
|
|
69
|
+
else if (field.long) value = mode === 'values' ? '9007199254740993' : '0';
|
|
70
|
+
else value = mode === 'values' ? 1 : 0;
|
|
71
|
+
result[field.name] = field.repeated ? [value] : value;
|
|
72
|
+
});
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function inputCases(type) {
|
|
77
|
+
const base = seed(type, 'required');
|
|
78
|
+
const cases = [
|
|
79
|
+
['absent', {}],
|
|
80
|
+
['required', base],
|
|
81
|
+
['zeros', seed(type, 'zeros')],
|
|
82
|
+
['values', seed(type, 'values')],
|
|
83
|
+
];
|
|
84
|
+
type.fieldsArray.forEach(field => {
|
|
85
|
+
const add = (label, value) =>
|
|
86
|
+
cases.push([`${field.name}:${label}`, { ...base, [field.name]: value }]);
|
|
87
|
+
const scalar = value => (field.repeated ? [value] : value);
|
|
88
|
+
add('undefined', undefined);
|
|
89
|
+
if (!field.repeated) add('null', null);
|
|
90
|
+
let values = [];
|
|
91
|
+
if (field.resolvedType instanceof protobuf.Enum) {
|
|
92
|
+
values = [
|
|
93
|
+
...Object.entries(field.resolvedType.values).flat(),
|
|
94
|
+
-1,
|
|
95
|
+
2147483647,
|
|
96
|
+
'0',
|
|
97
|
+
'UNKNOWN_ENUM',
|
|
98
|
+
];
|
|
99
|
+
} else if (!field.resolvedType) {
|
|
100
|
+
if (field.type === 'bytes')
|
|
101
|
+
values = ['', '00', '0', 'zz', Buffer.alloc(0), new Uint8Array([0, 255])];
|
|
102
|
+
else if (field.type === 'string') values = [0, 1, false, '', '01'];
|
|
103
|
+
else if (field.type === 'bool') values = [false, true, 0, 1, 'false', 'true'];
|
|
104
|
+
else if (field.long)
|
|
105
|
+
values = [
|
|
106
|
+
'0',
|
|
107
|
+
'9007199254740991',
|
|
108
|
+
'9007199254740993',
|
|
109
|
+
'18446744073709551615',
|
|
110
|
+
'-9223372036854775808',
|
|
111
|
+
9007199254740992,
|
|
112
|
+
];
|
|
113
|
+
else values = [0, -1, 1, '0', '1', '01', 1.5, NaN, Infinity];
|
|
114
|
+
}
|
|
115
|
+
values.forEach((value, index) => add(`coercion-${index}`, scalar(value)));
|
|
116
|
+
if (field.repeated) add('empty-array', []);
|
|
117
|
+
if (field.repeated && field.type === 'bytes') add('three-empty-bytes', ['', '', '']);
|
|
118
|
+
});
|
|
119
|
+
return cases;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Do not print inputs or wire bytes on failures, even though all data here is synthetic.
|
|
123
|
+
function compare(label, oldCall, newCall, reset = true) {
|
|
124
|
+
if (reset) resetLong();
|
|
125
|
+
const expected = capture(oldCall);
|
|
126
|
+
if (reset) resetLong();
|
|
127
|
+
const actual = capture(newCall);
|
|
128
|
+
if (!isDeepStrictEqual(expected, actual)) throw new Error(`Static protobuf differs: ${label}`);
|
|
129
|
+
return expected;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const toBytes = (type, input) => Buffer.from(encode(type, input).toBuffer());
|
|
133
|
+
const fromBytes = (type, bytes) => decode(type, ByteBuffer.wrap(bytes));
|
|
134
|
+
|
|
135
|
+
afterEach(() => {
|
|
136
|
+
resetLong();
|
|
137
|
+
jest.restoreAllMocks();
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
test.each([
|
|
141
|
+
['v1', v1],
|
|
142
|
+
['legacy-v1', legacy],
|
|
143
|
+
['v2', v2],
|
|
144
|
+
])(
|
|
145
|
+
'%s matches legacy bytes, own properties, scalar types, malformed input and framing',
|
|
146
|
+
(schemaName, schema) => {
|
|
147
|
+
const reference = protobuf.Root.fromJSON(schema);
|
|
148
|
+
const types = collectTypes(reference);
|
|
149
|
+
types.forEach(type => {
|
|
150
|
+
type.setup();
|
|
151
|
+
type.create();
|
|
152
|
+
});
|
|
153
|
+
// Baseline functions are ready. Every candidate constructor and codec must now be static.
|
|
154
|
+
jest.spyOn(protobuf.Type.prototype, 'setup').mockImplementation(() => {
|
|
155
|
+
throw new Error('Dynamic setup');
|
|
156
|
+
});
|
|
157
|
+
jest.spyOn(protobuf.Type, 'generateConstructor').mockImplementation(() => {
|
|
158
|
+
throw new Error('Dynamic constructor');
|
|
159
|
+
});
|
|
160
|
+
const candidate = parseConfigure(schema);
|
|
161
|
+
const stringCandidate = parseConfigure(JSON.stringify(schema));
|
|
162
|
+
expect(collectTypes(candidate)).toHaveLength(types.length);
|
|
163
|
+
let inputs = 0;
|
|
164
|
+
let wires = 0;
|
|
165
|
+
let frames = 0;
|
|
166
|
+
const rows = [];
|
|
167
|
+
types.forEach(type => {
|
|
168
|
+
const next = candidate.lookupType(type.fullName);
|
|
169
|
+
rows.push({ message: type.fullName, result: 'equal', inputs: inputCases(type).length });
|
|
170
|
+
inputCases(type).forEach(([label, input]) => {
|
|
171
|
+
const encoded = compare(
|
|
172
|
+
`${schemaName}/${type.name}/${label}/encode`,
|
|
173
|
+
() => toBytes(type, input),
|
|
174
|
+
() => toBytes(next, input)
|
|
175
|
+
);
|
|
176
|
+
inputs += 1;
|
|
177
|
+
if (encoded.ok) {
|
|
178
|
+
compare(
|
|
179
|
+
`${schemaName}/${type.name}/${label}/decode`,
|
|
180
|
+
() => fromBytes(type, encoded.value),
|
|
181
|
+
() => fromBytes(next, encoded.value)
|
|
182
|
+
);
|
|
183
|
+
wires += 1;
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
const base = capture(() => toBytes(type, seed(type, 'required')));
|
|
187
|
+
if (!base.ok) return;
|
|
188
|
+
const checkWire = (label, bytes) => {
|
|
189
|
+
compare(
|
|
190
|
+
`${schemaName}/${type.name}/${label}`,
|
|
191
|
+
() => fromBytes(type, bytes),
|
|
192
|
+
() => fromBytes(next, bytes)
|
|
193
|
+
);
|
|
194
|
+
wires += 1;
|
|
195
|
+
};
|
|
196
|
+
checkWire('empty-wire', Buffer.alloc(0));
|
|
197
|
+
const dense = capture(() => toBytes(type, seed(type, 'values')));
|
|
198
|
+
if (dense.ok) {
|
|
199
|
+
[0, 1, Math.floor(dense.value.length / 2), dense.value.length - 1]
|
|
200
|
+
.filter(length => length >= 0)
|
|
201
|
+
.forEach(length => checkWire(`truncated-${length}`, dense.value.subarray(0, length)));
|
|
202
|
+
for (let index = 0; index < Math.min(12, dense.value.length); index += 1) {
|
|
203
|
+
const bytes = Buffer.from(dense.value);
|
|
204
|
+
bytes[index] = (bytes[index] + 2 ** (index % 8)) % 256;
|
|
205
|
+
checkWire(`mutation-${index}`, bytes);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
const tail = protobuf.Writer.create()
|
|
209
|
+
.uint32(500000 * 8)
|
|
210
|
+
.finish();
|
|
211
|
+
checkWire('battery-ff-fallback', Buffer.concat([base.value, tail, Buffer.from([255])]));
|
|
212
|
+
checkWire(
|
|
213
|
+
'unknown-field',
|
|
214
|
+
Buffer.concat([
|
|
215
|
+
base.value,
|
|
216
|
+
protobuf.Writer.create()
|
|
217
|
+
.uint32(500000 * 8 + 2)
|
|
218
|
+
.bytes([0, 255, 1])
|
|
219
|
+
.finish(),
|
|
220
|
+
])
|
|
221
|
+
);
|
|
222
|
+
type.fieldsArray.forEach(field => {
|
|
223
|
+
if (field.resolvedType instanceof protobuf.Enum) {
|
|
224
|
+
const known = Object.values(field.resolvedType.values)[0];
|
|
225
|
+
[-1, 2147483647].forEach(unknown => {
|
|
226
|
+
const write = value =>
|
|
227
|
+
protobuf.Writer.create()
|
|
228
|
+
.uint32(field.id * 8)
|
|
229
|
+
.int32(value)
|
|
230
|
+
.finish();
|
|
231
|
+
checkWire(`${field.name}/unknown`, Buffer.concat([base.value, write(unknown)]));
|
|
232
|
+
checkWire(
|
|
233
|
+
`${field.name}/mixed`,
|
|
234
|
+
Buffer.concat([base.value, write(known), write(unknown), write(known)])
|
|
235
|
+
);
|
|
236
|
+
if (field.repeated) {
|
|
237
|
+
const packed = protobuf.Writer.create()
|
|
238
|
+
.int32(known)
|
|
239
|
+
.int32(unknown)
|
|
240
|
+
.int32(known)
|
|
241
|
+
.finish();
|
|
242
|
+
checkWire(
|
|
243
|
+
`${field.name}/packed-mixed`,
|
|
244
|
+
Buffer.concat([
|
|
245
|
+
base.value,
|
|
246
|
+
protobuf.Writer.create()
|
|
247
|
+
.uint32(field.id * 8 + 2)
|
|
248
|
+
.bytes(packed)
|
|
249
|
+
.finish(),
|
|
250
|
+
])
|
|
251
|
+
);
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
} else if (field.resolvedType instanceof protobuf.Type && !field.repeated) {
|
|
255
|
+
const first = capture(() =>
|
|
256
|
+
toBytes(field.resolvedType, seed(field.resolvedType, 'values'))
|
|
257
|
+
);
|
|
258
|
+
const second = capture(() =>
|
|
259
|
+
toBytes(field.resolvedType, seed(field.resolvedType, 'required'))
|
|
260
|
+
);
|
|
261
|
+
if (first.ok && second.ok) {
|
|
262
|
+
const wrap = bytes =>
|
|
263
|
+
protobuf.Writer.create()
|
|
264
|
+
.uint32(field.id * 8 + 2)
|
|
265
|
+
.bytes(bytes)
|
|
266
|
+
.finish();
|
|
267
|
+
checkWire(
|
|
268
|
+
`${field.name}/duplicate-message`,
|
|
269
|
+
Buffer.concat([base.value, wrap(first.value), wrap(second.value)])
|
|
270
|
+
);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
const name = type.fullName.slice(1);
|
|
275
|
+
const message = capture(() => createMessageFromName(reference, name));
|
|
276
|
+
if (message.ok) {
|
|
277
|
+
const input = seed(type, 'values');
|
|
278
|
+
compare(
|
|
279
|
+
`${name}/id`,
|
|
280
|
+
() => message.value.messageTypeId,
|
|
281
|
+
() => createMessageFromName(candidate, name).messageTypeId
|
|
282
|
+
);
|
|
283
|
+
compare(
|
|
284
|
+
`${name}/v1-envelope`,
|
|
285
|
+
() => ProtocolV1.encodeEnvelope(reference, name, input).toBuffer(),
|
|
286
|
+
() => ProtocolV1.encodeEnvelope(candidate, name, input).toBuffer()
|
|
287
|
+
);
|
|
288
|
+
compare(
|
|
289
|
+
`${name}/v1-chunks`,
|
|
290
|
+
() => ProtocolV1.encodeMessageChunks(reference, name, input),
|
|
291
|
+
() => ProtocolV1.encodeMessageChunks(candidate, name, input)
|
|
292
|
+
);
|
|
293
|
+
if (schemaName === 'v2') {
|
|
294
|
+
compare(
|
|
295
|
+
`${name}/v2-frame`,
|
|
296
|
+
() =>
|
|
297
|
+
ProtocolV2.encodeFrame(
|
|
298
|
+
{ protocolV1: reference, protocolV2: reference },
|
|
299
|
+
name,
|
|
300
|
+
input,
|
|
301
|
+
{ seq: 23 }
|
|
302
|
+
),
|
|
303
|
+
() =>
|
|
304
|
+
ProtocolV2.encodeFrame(
|
|
305
|
+
{ protocolV1: candidate, protocolV2: candidate },
|
|
306
|
+
name,
|
|
307
|
+
input,
|
|
308
|
+
{ seq: 23 }
|
|
309
|
+
)
|
|
310
|
+
);
|
|
311
|
+
}
|
|
312
|
+
frames += 1;
|
|
313
|
+
}
|
|
314
|
+
compare(
|
|
315
|
+
`${name}/string-config`,
|
|
316
|
+
() => toBytes(next, seed(type, 'required')),
|
|
317
|
+
() => toBytes(stringCandidate.lookupType(type.fullName), seed(type, 'required'))
|
|
318
|
+
);
|
|
319
|
+
});
|
|
320
|
+
const reportDirectory = path.resolve(__dirname, '../../../node_modules/.cache/protobuf-static');
|
|
321
|
+
mkdirSync(reportDirectory, { recursive: true });
|
|
322
|
+
writeFileSync(
|
|
323
|
+
path.join(reportDirectory, `${schemaName}.json`),
|
|
324
|
+
JSON.stringify({ schemaName, inputs, wires, frames, rows }, null, 2)
|
|
325
|
+
);
|
|
326
|
+
console.info(
|
|
327
|
+
`Static protobuf ${schemaName}: ${types.length} messages, ${inputs} inputs, ${wires} decodes, ${frames} message envelopes; zero differences`
|
|
328
|
+
);
|
|
329
|
+
},
|
|
330
|
+
120000
|
|
331
|
+
);
|
|
332
|
+
|
|
333
|
+
test('custom schemas retain reflection support instead of selecting a similar built-in message', () => {
|
|
334
|
+
const schema = { nested: { Features: { fields: { custom: { type: 'string', id: 1 } } } } };
|
|
335
|
+
const root = parseConfigure(schema);
|
|
336
|
+
expect(installStaticCodecs(root)).toBe(false);
|
|
337
|
+
expect(
|
|
338
|
+
fromBytes(root.lookupType('Features'), toBytes(root.lookupType('Features'), { custom: 'test' }))
|
|
339
|
+
).toStrictEqual({ custom: 'test' });
|
|
340
|
+
});
|
|
341
|
+
|
|
342
|
+
test.each([
|
|
343
|
+
['v1', v1],
|
|
344
|
+
['legacy-v1', legacy],
|
|
345
|
+
['v2', v2],
|
|
346
|
+
])(
|
|
347
|
+
'%s preserves Features compatibility patches, state and projected own properties',
|
|
348
|
+
(schemaName, schema) => {
|
|
349
|
+
jest.spyOn(Date, 'now').mockReturnValue(1700000000000);
|
|
350
|
+
const reference = protobuf.Root.fromJSON(schema).resolveAll();
|
|
351
|
+
const candidate = parseConfigure(schema);
|
|
352
|
+
const names = schemaName === 'v2' ? ['Features', 'DeviceInfo', 'DeviceStatus'] : ['Features'];
|
|
353
|
+
let comparisons = 0;
|
|
354
|
+
names.forEach(name => {
|
|
355
|
+
const type = reference.lookupType(name);
|
|
356
|
+
const next = candidate.lookupType(name);
|
|
357
|
+
const pipeline = (decoded, cached, mode) => {
|
|
358
|
+
let payload = decoded;
|
|
359
|
+
let mapped;
|
|
360
|
+
if (name === 'Features') {
|
|
361
|
+
const patched = patchFeatures({ type: name, message: decoded }).message;
|
|
362
|
+
payload = buildProtocolV1FeaturesPayload(patched, cached?.previous);
|
|
363
|
+
payload.unlocked = payload.unlocked ?? true;
|
|
364
|
+
payload = fixFeaturesFirmwareVersion(payload);
|
|
365
|
+
mapped = mapFeaturesToState(payload);
|
|
366
|
+
} else {
|
|
367
|
+
mapped =
|
|
368
|
+
name === 'DeviceInfo'
|
|
369
|
+
? mapProtocolV2DeviceInfoToState(decoded, mode)
|
|
370
|
+
: mapProtocolV2DeviceStatusToState(decoded);
|
|
371
|
+
}
|
|
372
|
+
const store = new DeviceStateStore(cached?.state);
|
|
373
|
+
const updated = store.update(mapped, 'initialize');
|
|
374
|
+
return { payload, mapped, ...updated, projected: projectFeatures(updated.state) };
|
|
375
|
+
};
|
|
376
|
+
const dense = toBytes(type, seed(type, 'values'));
|
|
377
|
+
const initial = pipeline(fromBytes(type, dense), undefined, 'normal');
|
|
378
|
+
const cache = { state: initial.state, previous: initial.projected };
|
|
379
|
+
const cases = inputCases(type);
|
|
380
|
+
const populated = seed(type, 'values');
|
|
381
|
+
type.fieldsArray.forEach(field => {
|
|
382
|
+
const omitted = { ...populated };
|
|
383
|
+
delete omitted[field.name];
|
|
384
|
+
cases.push([`${field.name}/omitted`, omitted]);
|
|
385
|
+
});
|
|
386
|
+
cases.forEach(([label, input]) => {
|
|
387
|
+
const encoded = capture(() => toBytes(type, input));
|
|
388
|
+
if (!encoded.ok) return;
|
|
389
|
+
[undefined, cache].forEach(cached => {
|
|
390
|
+
['normal', 'bootloader'].forEach(mode => {
|
|
391
|
+
compare(
|
|
392
|
+
`${schemaName}/${name}/${label}/pipeline/${mode}/${!!cached}`,
|
|
393
|
+
() => pipeline(fromBytes(type, encoded.value), cached, mode),
|
|
394
|
+
() => pipeline(fromBytes(next, encoded.value), cached, mode)
|
|
395
|
+
);
|
|
396
|
+
comparisons += 1;
|
|
397
|
+
});
|
|
398
|
+
});
|
|
399
|
+
});
|
|
400
|
+
});
|
|
401
|
+
console.info(
|
|
402
|
+
`Static protobuf ${schemaName}: ${comparisons} Features pipeline comparisons; zero differences`
|
|
403
|
+
);
|
|
404
|
+
}
|
|
405
|
+
);
|
|
406
|
+
|
|
407
|
+
test('retains sequence-dependent Long conversion behavior', () => {
|
|
408
|
+
const reference = protobuf.Root.fromJSON(v2).resolveAll();
|
|
409
|
+
const candidate = parseConfigure(v2);
|
|
410
|
+
const signed = reference.lookupType('CardanoToken');
|
|
411
|
+
const unsigned = collectTypes(reference).find(type =>
|
|
412
|
+
type.fieldsArray.some(field => field.type === 'uint64' && !field.repeated)
|
|
413
|
+
);
|
|
414
|
+
const field = unsigned.fieldsArray.find(item => item.type === 'uint64' && !item.repeated);
|
|
415
|
+
const bytes = toBytes(signed, {
|
|
416
|
+
...seed(signed, 'required'),
|
|
417
|
+
mint_amount: '-9223372036854775808',
|
|
418
|
+
});
|
|
419
|
+
const sequence = root => {
|
|
420
|
+
resetLong();
|
|
421
|
+
const before = capture(() => fromBytes(root.lookupType(signed.fullName), bytes));
|
|
422
|
+
const encoded = capture(() =>
|
|
423
|
+
toBytes(root.lookupType(unsigned.fullName), {
|
|
424
|
+
...seed(unsigned, 'required'),
|
|
425
|
+
[field.name]: '-9223372036854775808',
|
|
426
|
+
})
|
|
427
|
+
);
|
|
428
|
+
const after = capture(() => fromBytes(root.lookupType(signed.fullName), bytes));
|
|
429
|
+
return { before, encoded, after };
|
|
430
|
+
};
|
|
431
|
+
compare(
|
|
432
|
+
'Long mutation sequence',
|
|
433
|
+
() => sequence(reference),
|
|
434
|
+
() => sequence(candidate)
|
|
435
|
+
);
|
|
436
|
+
});
|
|
@@ -117,6 +117,16 @@ describe('transport log sanitization', () => {
|
|
|
117
117
|
expect(payload.ufvk).toBe('synthetic-viewing-key-marker');
|
|
118
118
|
});
|
|
119
119
|
|
|
120
|
+
test('redacts the exported Zcash viewing key response', () => {
|
|
121
|
+
const payload = { ufvk: 'synthetic-viewing-key-marker' };
|
|
122
|
+
expect(getSafeTransportLogPayload(payload, 'ZcashFullViewingKey')).toEqual({
|
|
123
|
+
ufvk: '[REDACTED]',
|
|
124
|
+
});
|
|
125
|
+
expect(
|
|
126
|
+
JSON.stringify(createTransportCallLog('ZcashFullViewingKey', 'V2', payload))
|
|
127
|
+
).not.toContain('synthetic-');
|
|
128
|
+
});
|
|
129
|
+
|
|
120
130
|
test('redacts Monero view keys in protocol and API field names', () => {
|
|
121
131
|
expect(
|
|
122
132
|
getSafeTransportLogPayload(
|
package/dist/index.d.ts
CHANGED
|
@@ -52,7 +52,7 @@ declare namespace index {
|
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
declare function parseConfigure(data: protobuf.INamespace): protobuf.Root;
|
|
55
|
+
declare function parseConfigure(data: protobuf.INamespace | string): protobuf.Root;
|
|
56
56
|
|
|
57
57
|
declare const PROTO_HEAD_SOF = 90;
|
|
58
58
|
declare const PROTO_PRE_HEAD_SIZE = 4;
|
|
@@ -3946,6 +3946,33 @@ type UiAnimationRequest = {
|
|
|
3946
3946
|
command: UiAnimationCommand;
|
|
3947
3947
|
type?: UiAnimationType;
|
|
3948
3948
|
};
|
|
3949
|
+
declare enum ZcashAddressType {
|
|
3950
|
+
UNIFIED_ORCHARD_P2PKH = 0,
|
|
3951
|
+
TRANSPARENT_P2PKH = 1,
|
|
3952
|
+
UNIFIED_ORCHARD = 2
|
|
3953
|
+
}
|
|
3954
|
+
declare enum ZcashAddressScope {
|
|
3955
|
+
EXTERNAL = 0,
|
|
3956
|
+
INTERNAL = 1
|
|
3957
|
+
}
|
|
3958
|
+
type ZcashGetAddress = {
|
|
3959
|
+
address_n: number[];
|
|
3960
|
+
show_display?: boolean;
|
|
3961
|
+
include_seed_fingerprint?: boolean;
|
|
3962
|
+
diversifier_index?: number;
|
|
3963
|
+
address_type?: ZcashAddressType;
|
|
3964
|
+
scope?: ZcashAddressScope;
|
|
3965
|
+
};
|
|
3966
|
+
type ZcashAddress = {
|
|
3967
|
+
address: string;
|
|
3968
|
+
seed_fingerprint?: string;
|
|
3969
|
+
};
|
|
3970
|
+
type ZcashGetFullViewingKey = {
|
|
3971
|
+
address_n: number[];
|
|
3972
|
+
};
|
|
3973
|
+
type ZcashFullViewingKey = {
|
|
3974
|
+
ufvk: string;
|
|
3975
|
+
};
|
|
3949
3976
|
type ZcashSignPczt = {
|
|
3950
3977
|
pczt_length: number;
|
|
3951
3978
|
pczt_initial_chunk: string;
|
|
@@ -4482,29 +4509,6 @@ type ViewVerifyPage = {
|
|
|
4482
4509
|
chain_id?: number;
|
|
4483
4510
|
content?: ViewContentPreview;
|
|
4484
4511
|
};
|
|
4485
|
-
declare enum ZcashAddressType {
|
|
4486
|
-
UNIFIED_ORCHARD_P2PKH = 0,
|
|
4487
|
-
TRANSPARENT_P2PKH = 1,
|
|
4488
|
-
UNIFIED_ORCHARD = 2
|
|
4489
|
-
}
|
|
4490
|
-
declare enum ZcashAddressScope {
|
|
4491
|
-
EXTERNAL = 0,
|
|
4492
|
-
INTERNAL = 1
|
|
4493
|
-
}
|
|
4494
|
-
type ZcashGetAddress = {
|
|
4495
|
-
address_n: number[];
|
|
4496
|
-
show_display?: boolean;
|
|
4497
|
-
include_seed_fingerprint?: boolean;
|
|
4498
|
-
include_ufvk?: boolean;
|
|
4499
|
-
diversifier_index?: number;
|
|
4500
|
-
address_type?: ZcashAddressType;
|
|
4501
|
-
scope?: ZcashAddressScope;
|
|
4502
|
-
};
|
|
4503
|
-
type ZcashAddress = {
|
|
4504
|
-
address: string;
|
|
4505
|
-
ufvk?: string;
|
|
4506
|
-
seed_fingerprint?: string;
|
|
4507
|
-
};
|
|
4508
4512
|
declare enum ProtocolV2FailureType {
|
|
4509
4513
|
Failure_InvalidMessage = 1,
|
|
4510
4514
|
Failure_UndefinedError = 2,
|
|
@@ -5116,6 +5120,10 @@ type MessageType = {
|
|
|
5116
5120
|
UnlockPath: UnlockPath;
|
|
5117
5121
|
UnlockedPathRequest: UnlockedPathRequest;
|
|
5118
5122
|
UiAnimationRequest: UiAnimationRequest;
|
|
5123
|
+
ZcashGetAddress: ZcashGetAddress;
|
|
5124
|
+
ZcashAddress: ZcashAddress;
|
|
5125
|
+
ZcashGetFullViewingKey: ZcashGetFullViewingKey;
|
|
5126
|
+
ZcashFullViewingKey: ZcashFullViewingKey;
|
|
5119
5127
|
ZcashSignPczt: ZcashSignPczt;
|
|
5120
5128
|
ZcashPcztChunkRequest: ZcashPcztChunkRequest;
|
|
5121
5129
|
ZcashPcztChunkAck: ZcashPcztChunkAck;
|
|
@@ -5197,8 +5205,6 @@ type MessageType = {
|
|
|
5197
5205
|
ViewSignPage: ViewSignPage;
|
|
5198
5206
|
ViewWarningPage: ViewWarningPage;
|
|
5199
5207
|
ViewVerifyPage: ViewVerifyPage;
|
|
5200
|
-
ZcashGetAddress: ZcashGetAddress;
|
|
5201
|
-
ZcashAddress: ZcashAddress;
|
|
5202
5208
|
};
|
|
5203
5209
|
type MessageKey = keyof MessageType;
|
|
5204
5210
|
type MessageResponse<T extends MessageKey> = {
|
|
@@ -5947,6 +5953,14 @@ declare const messages_UiAnimationType: typeof UiAnimationType;
|
|
|
5947
5953
|
type messages_UiAnimationCommand = UiAnimationCommand;
|
|
5948
5954
|
declare const messages_UiAnimationCommand: typeof UiAnimationCommand;
|
|
5949
5955
|
type messages_UiAnimationRequest = UiAnimationRequest;
|
|
5956
|
+
type messages_ZcashAddressType = ZcashAddressType;
|
|
5957
|
+
declare const messages_ZcashAddressType: typeof ZcashAddressType;
|
|
5958
|
+
type messages_ZcashAddressScope = ZcashAddressScope;
|
|
5959
|
+
declare const messages_ZcashAddressScope: typeof ZcashAddressScope;
|
|
5960
|
+
type messages_ZcashGetAddress = ZcashGetAddress;
|
|
5961
|
+
type messages_ZcashAddress = ZcashAddress;
|
|
5962
|
+
type messages_ZcashGetFullViewingKey = ZcashGetFullViewingKey;
|
|
5963
|
+
type messages_ZcashFullViewingKey = ZcashFullViewingKey;
|
|
5950
5964
|
type messages_ZcashSignPczt = ZcashSignPczt;
|
|
5951
5965
|
type messages_ZcashPcztChunkRequest = ZcashPcztChunkRequest;
|
|
5952
5966
|
type messages_ZcashPcztChunkAck = ZcashPcztChunkAck;
|
|
@@ -6071,12 +6085,6 @@ declare const messages_ViewSignLayout: typeof ViewSignLayout;
|
|
|
6071
6085
|
type messages_ViewSignPage = ViewSignPage;
|
|
6072
6086
|
type messages_ViewWarningPage = ViewWarningPage;
|
|
6073
6087
|
type messages_ViewVerifyPage = ViewVerifyPage;
|
|
6074
|
-
type messages_ZcashAddressType = ZcashAddressType;
|
|
6075
|
-
declare const messages_ZcashAddressType: typeof ZcashAddressType;
|
|
6076
|
-
type messages_ZcashAddressScope = ZcashAddressScope;
|
|
6077
|
-
declare const messages_ZcashAddressScope: typeof ZcashAddressScope;
|
|
6078
|
-
type messages_ZcashGetAddress = ZcashGetAddress;
|
|
6079
|
-
type messages_ZcashAddress = ZcashAddress;
|
|
6080
6088
|
type messages_ProtocolV2FailureType = ProtocolV2FailureType;
|
|
6081
6089
|
declare const messages_ProtocolV2FailureType: typeof ProtocolV2FailureType;
|
|
6082
6090
|
type messages_Enum_ProtocolV2Capability = Enum_ProtocolV2Capability;
|
|
@@ -6756,6 +6764,12 @@ declare namespace messages {
|
|
|
6756
6764
|
messages_UiAnimationType as UiAnimationType,
|
|
6757
6765
|
messages_UiAnimationCommand as UiAnimationCommand,
|
|
6758
6766
|
messages_UiAnimationRequest as UiAnimationRequest,
|
|
6767
|
+
messages_ZcashAddressType as ZcashAddressType,
|
|
6768
|
+
messages_ZcashAddressScope as ZcashAddressScope,
|
|
6769
|
+
messages_ZcashGetAddress as ZcashGetAddress,
|
|
6770
|
+
messages_ZcashAddress as ZcashAddress,
|
|
6771
|
+
messages_ZcashGetFullViewingKey as ZcashGetFullViewingKey,
|
|
6772
|
+
messages_ZcashFullViewingKey as ZcashFullViewingKey,
|
|
6759
6773
|
messages_ZcashSignPczt as ZcashSignPczt,
|
|
6760
6774
|
messages_ZcashPcztChunkRequest as ZcashPcztChunkRequest,
|
|
6761
6775
|
messages_ZcashPcztChunkAck as ZcashPcztChunkAck,
|
|
@@ -6859,10 +6873,6 @@ declare namespace messages {
|
|
|
6859
6873
|
messages_ViewSignPage as ViewSignPage,
|
|
6860
6874
|
messages_ViewWarningPage as ViewWarningPage,
|
|
6861
6875
|
messages_ViewVerifyPage as ViewVerifyPage,
|
|
6862
|
-
messages_ZcashAddressType as ZcashAddressType,
|
|
6863
|
-
messages_ZcashAddressScope as ZcashAddressScope,
|
|
6864
|
-
messages_ZcashGetAddress as ZcashGetAddress,
|
|
6865
|
-
messages_ZcashAddress as ZcashAddress,
|
|
6866
6876
|
messages_ProtocolV2FailureType as ProtocolV2FailureType,
|
|
6867
6877
|
messages_Enum_ProtocolV2Capability as Enum_ProtocolV2Capability,
|
|
6868
6878
|
messages_ProtocolV2Capability as ProtocolV2Capability,
|
|
@@ -7220,4 +7230,4 @@ declare const _default: {
|
|
|
7220
7230
|
withProtocolTimeout: typeof withProtocolTimeout;
|
|
7221
7231
|
};
|
|
7222
7232
|
|
|
7223
|
-
export { AcquireInput, Address, AlephiumAddress, AlephiumBytecodeAck, AlephiumBytecodeRequest, AlephiumGetAddress, AlephiumMessageSignature, AlephiumSignMessage, AlephiumSignTx, AlephiumSignedTx, AlephiumTxAck, AlephiumTxRequest, AlgorandAddress, AlgorandGetAddress, AlgorandSignTx, AlgorandSignedTx, AmountUnit, ApplyFlags, ApplySettings, AptosAddress, AptosGetAddress, AptosMessagePayload, AptosMessageSignature, AptosSignMessage, AptosSignSIWAMessage, AptosSignTx, AptosSignedTx, AptosTransactionType, AuthorizeCoinJoin, BIP32Address, BabylonDeriveContextHash, BabylonDerivedContextHash, BackupDevice, BackupType, BatchGetPublickeys, BenfenAddress, BenfenGetAddress, BenfenMessageSignature, BenfenSignMessage, BenfenSignTx, BenfenSignedTx, BenfenTxAck, BenfenTxRequest, BinanceAddress, BinanceCancelMsg, BinanceCoin, BinanceGetAddress, BinanceGetPublicKey, BinanceInputOutput, BinanceOrderMsg, BinanceOrderSide, BinanceOrderType, BinancePublicKey, BinanceSignTx, BinanceSignedTx, BinanceTimeInForce, BinanceTransferMsg, BinanceTxRequest, BixinBackupAck, BixinBackupDevice, BixinBackupDeviceAck, BixinBackupRequest, BixinLoadDevice, BixinMessageSE, BixinOutMessageSE, BixinPinInputOnDevice, BixinRestoreAck, BixinRestoreRequest, BixinSeedOperate, BixinVerifyDeviceAck, BixinVerifyDeviceRequest, BixinWhiteListAck, BixinWhiteListRequest, BlurRequest, ButtonAck, ButtonRequest, ButtonRequestType, Cancel, CancelAuthorization, CanonicalBitcoinNetwork, Capability, CardanoAddress, CardanoAddressParametersType, CardanoAddressType, CardanoAssetGroup, CardanoBlockchainPointerType, CardanoCVoteRegistrationDelegation, CardanoCVoteRegistrationFormat, CardanoCVoteRegistrationParametersType, CardanoCertificateType, CardanoDRep, CardanoDRepType, CardanoDerivationType, CardanoGetAddress, CardanoGetNativeScriptHash, CardanoGetPublicKey, CardanoMessageSignature, CardanoNativeScript, CardanoNativeScriptHash, CardanoNativeScriptHashDisplayFormat, CardanoNativeScriptType, CardanoPoolMetadataType, CardanoPoolOwner, CardanoPoolParametersType, CardanoPoolRelayParameters, CardanoPoolRelayType, CardanoPublicKey, CardanoSignMessage, CardanoSignTxFinished, CardanoSignTxInit, CardanoToken, CardanoTxAuxiliaryData, CardanoTxAuxiliaryDataSupplement, CardanoTxAuxiliaryDataSupplementType, CardanoTxBodyHash, CardanoTxCertificate, CardanoTxCollateralInput, CardanoTxHostAck, CardanoTxInlineDatumChunk, CardanoTxInput, CardanoTxItemAck, CardanoTxMint, CardanoTxOutput, CardanoTxOutputSerializationFormat, CardanoTxReferenceInput, CardanoTxReferenceScriptChunk, CardanoTxRequiredSigner, CardanoTxSigningMode, CardanoTxWithdrawal, CardanoTxWitnessRequest, CardanoTxWitnessResponse, CardanoTxWitnessType, ChangeOutputScriptType, ChangePin, ChangeWipeCode, CipherKeyValue, CipheredKeyValue, CoinJoinRequest, CoinPurchaseMemo, CommandFlags, ConfluxAddress, ConfluxGetAddress, ConfluxMessageSignature, ConfluxSignMessage, ConfluxSignMessageCIP23, ConfluxSignTx, ConfluxTxAck, ConfluxTxRequest, CosmosAddress, CosmosGetAddress, CosmosSignTx, CosmosSignedTx, DecredStakingSpendType, Deprecated_PassphraseStateAck, Deprecated_PassphraseStateRequest, DeviceAnimationAction, DeviceAnimationControl, DeviceBackToBoot, DeviceCertificate, DeviceCertificateRead, DeviceCertificateSign, DeviceCertificateSignature, DeviceCertificateWrite, DeviceCoprocessorInfo, DeviceEraseSector, DeviceErrorCode, DeviceFactoryAck, DeviceFactoryInfo, DeviceFactoryInfoGet, DeviceFactoryInfoManufactureTime, DeviceFactoryInfoSet, DeviceFactoryPermanentLock, DeviceFactoryTest, DeviceFindMyTokenState, DeviceFindMyTokenStateGet, DeviceFindMyTokenUpdate, DeviceFirmwareImageInfo, DeviceFirmwareTarget, DeviceFirmwareTargetType, DeviceFirmwareUpdatePhase, DeviceFirmwareUpdatePhaseInfo, DeviceFirmwareUpdateRecord, DeviceFirmwareUpdateRecordFields, DeviceFirmwareUpdateRequest, DeviceFirmwareUpdateStage, DeviceFirmwareUpdateStatus, DeviceFirmwareUpdateStatusGet, DeviceFirmwareUpdateTaskStatus, DeviceHardwareInfo, DeviceInfo, DeviceInfoGet, DeviceInfoSettings, DeviceInfoTargets, DeviceInfoTypes, DeviceMainMcuInfo, DeviceMiscUsbMscControl, DeviceReboot, DeviceRebootType, DeviceSEInfo, DeviceSEState, DeviceSeType, DeviceSession, DeviceSessionAskPassphrase, DeviceSessionAskPin, DeviceSessionAskPin_FailureSubCodes, DeviceSessionErrorCode, DeviceSessionGet, DeviceSessionPinType, DeviceSessionSeedDomain, DeviceSettings, DeviceSettingsGet, DeviceSettingsPage, DeviceSettingsPageShow, DeviceSettingsSet, DeviceStatus, DeviceStatusGet, DeviceType, DnxAddress, DnxComputedKeyImage, DnxGetAddress, DnxInputAck, DnxInputRequest, DnxRTSigsRequest, DnxSignTx, DnxSignedTx, DnxTxKey, DoPreauthorized, ECDHSessionKey, EcdsaPublicKeys, EmmcDir, EmmcDirList, EmmcDirMake, EmmcDirRemove, EmmcFile, EmmcFileDelete, EmmcFileRead, EmmcFileWrite, EmmcFixPermission, EmmcPath, EmmcPathInfo, EndSession, Entropy, EntropyAck, EntropyRequest, Enum_BackupType, Enum_ButtonRequestType, Enum_CanonicalBitcoinNetwork, Enum_Capability, Enum_InputScriptType, Enum_KaspaInputScriptType, Enum_KaspaOutputScriptType, Enum_KaspaRequestType, Enum_OutputScriptType, Enum_PinMatrixRequestType, Enum_ProtocolV2Capability, Enum_RequestType, Enum_SafetyCheckLevel, Enum_WordRequestType, EosActionBuyRam, EosActionBuyRamBytes, EosActionCommon, EosActionDelegate, EosActionDeleteAuth, EosActionLinkAuth, EosActionNewAccount, EosActionRefund, EosActionSellRam, EosActionTransfer, EosActionUndelegate, EosActionUnknown, EosActionUnlinkAuth, EosActionUpdateAuth, EosActionVoteProducer, EosAsset, EosAuthorization, EosAuthorizationAccount, EosAuthorizationKey, EosAuthorizationWait, EosGetPublicKey, EosPermissionLevel, EosPublicKey, EosSignTx, EosSignedTx, EosTxActionAck, EosTxActionRequest, EosTxHeader, EthereumAccessList, EthereumAccessListOneKey, EthereumAddress, EthereumAddressOneKey, EthereumAuthorizationOneKey, EthereumAuthorizationSignature, EthereumDataType, EthereumDataTypeOneKey, EthereumDefinitionType, EthereumDefinitions, EthereumFieldType, EthereumFieldTypeOneKey, EthereumGetAddress, EthereumGetAddressOneKey, EthereumGetPublicKey, EthereumGetPublicKeyOneKey, EthereumGnosisSafeTxAck, EthereumGnosisSafeTxOperation, EthereumGnosisSafeTxRequest, EthereumMessageSignature, EthereumMessageSignatureOneKey, EthereumNetworkInfo, EthereumPublicKey, EthereumPublicKeyOneKey, EthereumSignMessage, EthereumSignMessageEIP712, EthereumSignMessageOneKey, EthereumSignTx, EthereumSignTxEIP1559, EthereumSignTxEIP1559OneKey, EthereumSignTxEIP7702OneKey, EthereumSignTxOneKey, EthereumSignTypedData, EthereumSignTypedDataOneKey, EthereumSignTypedDataQR, EthereumSignTypedHash, EthereumSignTypedHashOneKey, EthereumStructMember, EthereumStructMemberOneKey, EthereumTokenInfo, EthereumTxAck, EthereumTxAckOneKey, EthereumTxRequest, EthereumTxRequestOneKey, EthereumTypedDataSignature, EthereumTypedDataSignatureOneKey, EthereumTypedDataStructAck, EthereumTypedDataStructAckOneKey, EthereumTypedDataStructRequest, EthereumTypedDataStructRequestOneKey, EthereumTypedDataValueAck, EthereumTypedDataValueAckOneKey, EthereumTypedDataValueRequest, EthereumTypedDataValueRequestOneKey, EthereumVerifyMessage, EthereumVerifyMessageOneKey, ExportType, Failure, FailureType, Features, FileInfo, FileInfoList, FilecoinAddress, FilecoinGetAddress, FilecoinSignTx, FilecoinSignedTx, FilesystemDir, FilesystemDirList, FilesystemDirMake, FilesystemDirRemove, FilesystemFile, FilesystemFileDelete, FilesystemFileRead, FilesystemFileWrite, FilesystemFormat, FilesystemPathInfo, FilesystemPathInfoQuery, FilesystemPermissionFix, FirmwareErase, FirmwareErase_ex, FirmwareHash, FirmwareRequest, FirmwareUpdateEmmc, FirmwareUpload, GetAddress, GetDeviceInfo, GetECDHSessionKey, GetEntropy, GetFeatures, GetFirmwareHash, GetNextU2FCounter, GetNonce, GetOwnershipId, GetOwnershipProof, GetPassphraseState, GetPublicKey, GetPublicKeyMultiple, HDNodePathType, HDNodeType, IdentityType, Initialize, InputScriptType, InternalInputScriptType, InternalMyAddressRequest, KaspaAddress, KaspaGetAddress, KaspaInputScriptType, KaspaOutpoint, KaspaOutputScriptType, KaspaRequestType, KaspaSignTx, KaspaSignedTx, KaspaTxAckInput, KaspaTxAckOutput, KaspaTxAckPayloadChunk, KaspaTxAckPrevInput, KaspaTxAckPrevMeta, KaspaTxAckPrevOutput, KaspaTxInputAck, KaspaTxInputRequest, KaspaTxRequest, KaspaTxRequestSignature, ListResDir, LnurlAuth, LnurlAuthResp, LockDevice, LogBlockCommand, LowLevelDevice, LowlevelTransportSharedPlugin, MessageFromOneKey, MessageKey, MessageResponse, MessageResponseMap, MessageSignature, MessageType, messages as Messages, MoneroAccountPublicAddress, MoneroAddress, MoneroExportedKeyImage, MoneroGetAddress, MoneroGetTxKeyAck, MoneroGetTxKeyRequest, MoneroGetWatchKey, MoneroKeyImageExportInitAck, MoneroKeyImageExportInitRequest, MoneroKeyImageSyncFinalAck, MoneroKeyImageSyncFinalRequest, MoneroKeyImageSyncStepAck, MoneroKeyImageSyncStepRequest, MoneroLiveRefreshFinalAck, MoneroLiveRefreshFinalRequest, MoneroLiveRefreshStartAck, MoneroLiveRefreshStartRequest, MoneroLiveRefreshStepAck, MoneroLiveRefreshStepRequest, MoneroMultisigKLRki, MoneroNetworkType, MoneroOutputEntry, MoneroRctKeyPublic, MoneroRingCtSig, MoneroSubAddressIndicesList, MoneroTransactionAllInputsSetAck, MoneroTransactionAllInputsSetRequest, MoneroTransactionAllOutSetAck, MoneroTransactionAllOutSetRequest, MoneroTransactionData, MoneroTransactionDestinationEntry, MoneroTransactionFinalAck, MoneroTransactionFinalRequest, MoneroTransactionInitAck, MoneroTransactionInitRequest, MoneroTransactionInputViniAck, MoneroTransactionInputViniRequest, MoneroTransactionInputsPermutationAck, MoneroTransactionInputsPermutationRequest, MoneroTransactionRsigData, MoneroTransactionSetInputAck, MoneroTransactionSetInputRequest, MoneroTransactionSetOutputAck, MoneroTransactionSetOutputRequest, MoneroTransactionSignInputAck, MoneroTransactionSignInputRequest, MoneroTransactionSourceEntry, MoneroTransferDetails, MoneroWatchKey, MultisigRedeemScriptType, NEMAddress, NEMAggregateModification, NEMCosignatoryModification, NEMDecryptMessage, NEMDecryptedMessage, NEMGetAddress, NEMImportanceTransfer, NEMImportanceTransferMode, NEMModificationType, NEMMosaic, NEMMosaicCreation, NEMMosaicDefinition, NEMMosaicLevy, NEMMosaicSupplyChange, NEMProvisionNamespace, NEMSignTx, NEMSignedTx, NEMSupplyChangeType, NEMTransactionCommon, NEMTransfer, NFTWriteData, NFTWriteInfo, NearAddress, NearGetAddress, NearSignTx, NearSignedTx, NeoAddress, NeoGetAddress, NeoSignTx, NeoSignedTx, NervosAddress, NervosGetAddress, NervosSignTx, NervosSignedTx, NervosTxAck, NervosTxRequest, NexaAddress, NexaGetAddress, NexaSignTx, NexaSignedTx, NexaTxInputAck, NexaTxInputRequest, NextU2FCounter, NftUpdate, Nonce, NostrDecryptMessage, NostrDecryptedMessage, NostrEncryptMessage, NostrEncryptedMessage, NostrGetPublicKey, NostrPublicKey, NostrSignEvent, NostrSignSchnorr, NostrSignedEvent, NostrSignedSchnorr, OnboardingPhase, OnboardingSetupKind, OnboardingSetupMethod, OnboardingSetupStatus, OnboardingStatus, OnboardingStatusGet, OnboardingStep, OneKeyDeviceCommType, OneKeyDeviceInfo, OneKeyDeviceInfoBase, OneKeyDeviceInfoWithSession, OneKeyDeviceType, OneKeyMobileDeviceInfo, OneKeySEState, OneKeySeType, OnekeyFeatures, OnekeyGetFeatures, OutputScriptType, OwnershipId, OwnershipProof, PROTOCOL_V1_CHUNK_PAYLOAD_SIZE, PROTOCOL_V1_ENVELOPE_HEADER_SIZE, PROTOCOL_V1_HEADER_BYTE, PROTOCOL_V1_MESSAGE_HEADER_SIZE, PROTOCOL_V1_REPORT_ID, PROTOCOL_V1_USB_PACKET_SIZE, PROTOCOL_V2_BLE_FILE_CHUNK_SIZE, PROTOCOL_V2_BLE_FILE_READ_CHUNK_SIZE, PROTOCOL_V2_BLE_FIRMWARE_FILE_CHUNK_SIZE, PROTOCOL_V2_BLE_FRAME_MAX_BYTES, PROTOCOL_V2_CHANNEL_BLE_UART, PROTOCOL_V2_CHANNEL_SOCKET, PROTOCOL_V2_CHANNEL_USB, PROTOCOL_V2_DEFAULT_RESPONSE_TIMEOUT_MS, PROTOCOL_V2_FILE_CHUNK_SIZE, PROTOCOL_V2_FILE_WRITE_PIPELINE_WINDOW, PROTOCOL_V2_FRAME_MAX_BYTES, PROTOCOL_V2_PACKET_SRC_COMMAND, PROTOCOL_V2_SYS_MESSAGE_THRESHOLD, PROTOCOL_V2_WEBUSB_FILE_CHUNK_SIZE, PassphraseAck, PassphraseRequest, PassphraseState, Path, PaymentRequestMemo, PinMatrixAck, PinMatrixRequest, PinMatrixRequestType, Ping, PolkadotAddress, PolkadotGetAddress, PolkadotSignTx, PolkadotSignedTx, PortfolioUpdate, PreauthorizedRequest, PrevInput, PrevOutput, PrevTx, ProtocolInfo, ProtocolInfoRequest, ProtocolType, ProtocolV1, ProtocolV2, ProtocolV2BleFrameWriterOptions, ProtocolV2CallContext, ProtocolV2CallOptions, ProtocolV2Capability, ProtocolV2DeviceInfo, ProtocolV2FailureType, ProtocolV2FileWritePipeline, ProtocolV2FrameAssembler, ProtocolV2LinkAdapter, ProtocolV2LinkDisabledError, ProtocolV2LinkError, ProtocolV2LinkErrorClassification, ProtocolV2LinkErrorCode, ProtocolV2LinkManager, ProtocolV2LinkManagerOptions, ProtocolV2Schemas, ProtocolV2SequenceCursor, ProtocolV2Session, ProtocolV2SessionOptions, ProtocolV2UsbTransportBase, ProtocolV2UsbTransportBaseOptions, PublicKey, PublicKeyMultiple, ReadSEPublicCert, ReadSEPublicKey, Reboot, RebootToBoardloader, RebootToBootloader, RebootType, RecoveryDevice, RecoveryDeviceType, RefundMemo, RequestType, ResetDevice, ResourceAck, ResourceRequest, ResourceType, ResourceUpdate, ResourceUpload, RippleAddress, RippleGetAddress, RipplePayment, RippleSignTx, RippleSignedTx, SEMessageSignature, SEPublicCert, SEPublicKey, SESignMessage, SafetyCheckLevel, ScdoAddress, ScdoGetAddress, ScdoSignMessage, ScdoSignTx, ScdoSignedMessage, ScdoSignedTx, ScdoTxAck, SdProtect, SdProtectOperationType, SeedRequestType, SelfTest, SetBusy, SetU2FCounter, SignIdentity, SignMessage, SignPsbt, SignTx, SignedIdentity, SignedPsbt, SolanaAddress, SolanaGetAddress, SolanaMessageSignature, SolanaOffChainMessageFormat, SolanaOffChainMessageVersion, SolanaSignOffChainMessage, SolanaSignTx, SolanaSignUnsafeMessage, SolanaSignedTx, SolanaTxATADetails, SolanaTxExtraInfo, SpiFlashData, SpiFlashRead, SpiFlashWrite, StarcoinAddress, StarcoinGetAddress, StarcoinGetPublicKey, StarcoinMessageSignature, StarcoinPublicKey, StarcoinSignMessage, StarcoinSignTx, StarcoinSignedTx, StarcoinVerifyMessage, StellarAccountMergeOp, StellarAddress, StellarAllowTrustOp, StellarAsset, StellarAssetType, StellarBumpSequenceOp, StellarChangeTrustOp, StellarCreateAccountOp, StellarCreatePassiveSellOfferOp, StellarGetAddress, StellarInvokeHostFunctionOp, StellarManageBuyOfferOp, StellarManageDataOp, StellarManageSellOfferOp, StellarMemoType, StellarPathPaymentStrictReceiveOp, StellarPathPaymentStrictSendOp, StellarPaymentOp, StellarRequestType, StellarSetOptionsOp, StellarSignTx, StellarSignedTx, StellarSignerType, StellarSorobanDataAck, StellarSorobanDataRequest, StellarTxOpRequest, Success, SuiAddress, SuiGetAddress, SuiMessageSignature, SuiSignMessage, SuiSignTx, SuiSignedTx, SuiTxAck, SuiTxRequest, TRANSPORT_EVENT, TextMemo, TezosAddress, TezosBallotOp, TezosBallotType, TezosContractID, TezosContractType, TezosDelegationOp, TezosGetAddress, TezosGetPublicKey, TezosManagerTransfer, TezosOriginationOp, TezosParametersManager, TezosProposalOp, TezosPublicKey, TezosRevealOp, TezosSignTx, TezosSignedTx, TezosTransactionOp, TonAddress, TonGetAddress, TonSignData, TonSignDataType, TonSignMessage, TonSignProof, TonSignedData, TonSignedMessage, TonSignedProof, TonTxAck, TonWalletVersion, TonWorkChain, Transport, TransportCallOptions, TransportDeviceDisconnectEvent, TransportWriteMetrics, TronAddress, TronCancelAllUnfreezeV2Contract, TronContract, TronDelegateResourceContract, TronFreezeBalanceContract, TronFreezeBalanceV2Contract, TronGetAddress, TronMessageSignature, TronMessageType, TronResourceCode, TronSignMessage, TronSignTx, TronSignedTx, TronTransferContract, TronTriggerSmartContract, TronUnDelegateResourceContract, TronUnfreezeBalanceContract, TronUnfreezeBalanceV2Contract, TronVoteWitnessContract, TronWithdrawBalanceContract, TronWithdrawExpireUnfreezeContract, TxAck, TxAckInput, TxAckInputWrapper, TxAckOutput, TxAckOutputWrapper, TxAckPaymentRequest, TxAckPrevExtraData, TxAckPrevExtraDataWrapper, TxAckPrevInput, TxAckPrevInputWrapper, TxAckPrevMeta, TxAckPrevOutput, TxAckPrevOutputWrapper, TxAckResponse, TxInput, TxInputType, TxOutput, TxOutputBinType, TxOutputType, TxRequest, TxRequestDetailsType, TxRequestSerializedType, TypedCall, UiAnimationCommand, UiAnimationRequest, UiAnimationType, UintType, UnLockDevice, UnLockDeviceResponse, UnlockPath, UnlockedPathRequest, UpgradeFileHeader, VerifyMessage, ViewActionCard, ViewAmount, ViewContentEntry, ViewContentPage, ViewContentPreview, ViewCustomField, ViewDetail, ViewSignLayout, ViewSignPage, ViewTip, ViewTipType, ViewVerifyPage, ViewWarningPage, Vote, WL_OperationType, WipeDevice, WordAck, WordRequest, WordRequestType, WriteSEPrivateKey, WriteSEPublicCert, ZcashAddress, ZcashAddressScope, ZcashAddressType, ZcashGetAddress, ZcashPcztChunkAck, ZcashPcztChunkRequest, ZcashSignPczt, ZcashSignedPczt, ZcashSignedPcztChunkRequest, ZoomRequest, bytesToHex, concatUint8Arrays, createProtocolV2LinkDisabledError, createTransportCallLog, _default as default, detectProtocolV2LinkDisabledError, experimental_field, experimental_message, facotry, getErrorMessage, getSafeTransportLogPayload, hexToBytes, isProtocolV2HighThroughputCall, isProtocolV2LinkDisabledError, isProtocolV2LinkDisabledFailure, isProtocolV2LinkError, probeProtocolV2, index as protocolV1, protocolV2Codec as protocolV2, shouldSuppressHighVolumeCallLog, withProtocolTimeout, writeProtocolV2BleFrame };
|
|
7233
|
+
export { AcquireInput, Address, AlephiumAddress, AlephiumBytecodeAck, AlephiumBytecodeRequest, AlephiumGetAddress, AlephiumMessageSignature, AlephiumSignMessage, AlephiumSignTx, AlephiumSignedTx, AlephiumTxAck, AlephiumTxRequest, AlgorandAddress, AlgorandGetAddress, AlgorandSignTx, AlgorandSignedTx, AmountUnit, ApplyFlags, ApplySettings, AptosAddress, AptosGetAddress, AptosMessagePayload, AptosMessageSignature, AptosSignMessage, AptosSignSIWAMessage, AptosSignTx, AptosSignedTx, AptosTransactionType, AuthorizeCoinJoin, BIP32Address, BabylonDeriveContextHash, BabylonDerivedContextHash, BackupDevice, BackupType, BatchGetPublickeys, BenfenAddress, BenfenGetAddress, BenfenMessageSignature, BenfenSignMessage, BenfenSignTx, BenfenSignedTx, BenfenTxAck, BenfenTxRequest, BinanceAddress, BinanceCancelMsg, BinanceCoin, BinanceGetAddress, BinanceGetPublicKey, BinanceInputOutput, BinanceOrderMsg, BinanceOrderSide, BinanceOrderType, BinancePublicKey, BinanceSignTx, BinanceSignedTx, BinanceTimeInForce, BinanceTransferMsg, BinanceTxRequest, BixinBackupAck, BixinBackupDevice, BixinBackupDeviceAck, BixinBackupRequest, BixinLoadDevice, BixinMessageSE, BixinOutMessageSE, BixinPinInputOnDevice, BixinRestoreAck, BixinRestoreRequest, BixinSeedOperate, BixinVerifyDeviceAck, BixinVerifyDeviceRequest, BixinWhiteListAck, BixinWhiteListRequest, BlurRequest, ButtonAck, ButtonRequest, ButtonRequestType, Cancel, CancelAuthorization, CanonicalBitcoinNetwork, Capability, CardanoAddress, CardanoAddressParametersType, CardanoAddressType, CardanoAssetGroup, CardanoBlockchainPointerType, CardanoCVoteRegistrationDelegation, CardanoCVoteRegistrationFormat, CardanoCVoteRegistrationParametersType, CardanoCertificateType, CardanoDRep, CardanoDRepType, CardanoDerivationType, CardanoGetAddress, CardanoGetNativeScriptHash, CardanoGetPublicKey, CardanoMessageSignature, CardanoNativeScript, CardanoNativeScriptHash, CardanoNativeScriptHashDisplayFormat, CardanoNativeScriptType, CardanoPoolMetadataType, CardanoPoolOwner, CardanoPoolParametersType, CardanoPoolRelayParameters, CardanoPoolRelayType, CardanoPublicKey, CardanoSignMessage, CardanoSignTxFinished, CardanoSignTxInit, CardanoToken, CardanoTxAuxiliaryData, CardanoTxAuxiliaryDataSupplement, CardanoTxAuxiliaryDataSupplementType, CardanoTxBodyHash, CardanoTxCertificate, CardanoTxCollateralInput, CardanoTxHostAck, CardanoTxInlineDatumChunk, CardanoTxInput, CardanoTxItemAck, CardanoTxMint, CardanoTxOutput, CardanoTxOutputSerializationFormat, CardanoTxReferenceInput, CardanoTxReferenceScriptChunk, CardanoTxRequiredSigner, CardanoTxSigningMode, CardanoTxWithdrawal, CardanoTxWitnessRequest, CardanoTxWitnessResponse, CardanoTxWitnessType, ChangeOutputScriptType, ChangePin, ChangeWipeCode, CipherKeyValue, CipheredKeyValue, CoinJoinRequest, CoinPurchaseMemo, CommandFlags, ConfluxAddress, ConfluxGetAddress, ConfluxMessageSignature, ConfluxSignMessage, ConfluxSignMessageCIP23, ConfluxSignTx, ConfluxTxAck, ConfluxTxRequest, CosmosAddress, CosmosGetAddress, CosmosSignTx, CosmosSignedTx, DecredStakingSpendType, Deprecated_PassphraseStateAck, Deprecated_PassphraseStateRequest, DeviceAnimationAction, DeviceAnimationControl, DeviceBackToBoot, DeviceCertificate, DeviceCertificateRead, DeviceCertificateSign, DeviceCertificateSignature, DeviceCertificateWrite, DeviceCoprocessorInfo, DeviceEraseSector, DeviceErrorCode, DeviceFactoryAck, DeviceFactoryInfo, DeviceFactoryInfoGet, DeviceFactoryInfoManufactureTime, DeviceFactoryInfoSet, DeviceFactoryPermanentLock, DeviceFactoryTest, DeviceFindMyTokenState, DeviceFindMyTokenStateGet, DeviceFindMyTokenUpdate, DeviceFirmwareImageInfo, DeviceFirmwareTarget, DeviceFirmwareTargetType, DeviceFirmwareUpdatePhase, DeviceFirmwareUpdatePhaseInfo, DeviceFirmwareUpdateRecord, DeviceFirmwareUpdateRecordFields, DeviceFirmwareUpdateRequest, DeviceFirmwareUpdateStage, DeviceFirmwareUpdateStatus, DeviceFirmwareUpdateStatusGet, DeviceFirmwareUpdateTaskStatus, DeviceHardwareInfo, DeviceInfo, DeviceInfoGet, DeviceInfoSettings, DeviceInfoTargets, DeviceInfoTypes, DeviceMainMcuInfo, DeviceMiscUsbMscControl, DeviceReboot, DeviceRebootType, DeviceSEInfo, DeviceSEState, DeviceSeType, DeviceSession, DeviceSessionAskPassphrase, DeviceSessionAskPin, DeviceSessionAskPin_FailureSubCodes, DeviceSessionErrorCode, DeviceSessionGet, DeviceSessionPinType, DeviceSessionSeedDomain, DeviceSettings, DeviceSettingsGet, DeviceSettingsPage, DeviceSettingsPageShow, DeviceSettingsSet, DeviceStatus, DeviceStatusGet, DeviceType, DnxAddress, DnxComputedKeyImage, DnxGetAddress, DnxInputAck, DnxInputRequest, DnxRTSigsRequest, DnxSignTx, DnxSignedTx, DnxTxKey, DoPreauthorized, ECDHSessionKey, EcdsaPublicKeys, EmmcDir, EmmcDirList, EmmcDirMake, EmmcDirRemove, EmmcFile, EmmcFileDelete, EmmcFileRead, EmmcFileWrite, EmmcFixPermission, EmmcPath, EmmcPathInfo, EndSession, Entropy, EntropyAck, EntropyRequest, Enum_BackupType, Enum_ButtonRequestType, Enum_CanonicalBitcoinNetwork, Enum_Capability, Enum_InputScriptType, Enum_KaspaInputScriptType, Enum_KaspaOutputScriptType, Enum_KaspaRequestType, Enum_OutputScriptType, Enum_PinMatrixRequestType, Enum_ProtocolV2Capability, Enum_RequestType, Enum_SafetyCheckLevel, Enum_WordRequestType, EosActionBuyRam, EosActionBuyRamBytes, EosActionCommon, EosActionDelegate, EosActionDeleteAuth, EosActionLinkAuth, EosActionNewAccount, EosActionRefund, EosActionSellRam, EosActionTransfer, EosActionUndelegate, EosActionUnknown, EosActionUnlinkAuth, EosActionUpdateAuth, EosActionVoteProducer, EosAsset, EosAuthorization, EosAuthorizationAccount, EosAuthorizationKey, EosAuthorizationWait, EosGetPublicKey, EosPermissionLevel, EosPublicKey, EosSignTx, EosSignedTx, EosTxActionAck, EosTxActionRequest, EosTxHeader, EthereumAccessList, EthereumAccessListOneKey, EthereumAddress, EthereumAddressOneKey, EthereumAuthorizationOneKey, EthereumAuthorizationSignature, EthereumDataType, EthereumDataTypeOneKey, EthereumDefinitionType, EthereumDefinitions, EthereumFieldType, EthereumFieldTypeOneKey, EthereumGetAddress, EthereumGetAddressOneKey, EthereumGetPublicKey, EthereumGetPublicKeyOneKey, EthereumGnosisSafeTxAck, EthereumGnosisSafeTxOperation, EthereumGnosisSafeTxRequest, EthereumMessageSignature, EthereumMessageSignatureOneKey, EthereumNetworkInfo, EthereumPublicKey, EthereumPublicKeyOneKey, EthereumSignMessage, EthereumSignMessageEIP712, EthereumSignMessageOneKey, EthereumSignTx, EthereumSignTxEIP1559, EthereumSignTxEIP1559OneKey, EthereumSignTxEIP7702OneKey, EthereumSignTxOneKey, EthereumSignTypedData, EthereumSignTypedDataOneKey, EthereumSignTypedDataQR, EthereumSignTypedHash, EthereumSignTypedHashOneKey, EthereumStructMember, EthereumStructMemberOneKey, EthereumTokenInfo, EthereumTxAck, EthereumTxAckOneKey, EthereumTxRequest, EthereumTxRequestOneKey, EthereumTypedDataSignature, EthereumTypedDataSignatureOneKey, EthereumTypedDataStructAck, EthereumTypedDataStructAckOneKey, EthereumTypedDataStructRequest, EthereumTypedDataStructRequestOneKey, EthereumTypedDataValueAck, EthereumTypedDataValueAckOneKey, EthereumTypedDataValueRequest, EthereumTypedDataValueRequestOneKey, EthereumVerifyMessage, EthereumVerifyMessageOneKey, ExportType, Failure, FailureType, Features, FileInfo, FileInfoList, FilecoinAddress, FilecoinGetAddress, FilecoinSignTx, FilecoinSignedTx, FilesystemDir, FilesystemDirList, FilesystemDirMake, FilesystemDirRemove, FilesystemFile, FilesystemFileDelete, FilesystemFileRead, FilesystemFileWrite, FilesystemFormat, FilesystemPathInfo, FilesystemPathInfoQuery, FilesystemPermissionFix, FirmwareErase, FirmwareErase_ex, FirmwareHash, FirmwareRequest, FirmwareUpdateEmmc, FirmwareUpload, GetAddress, GetDeviceInfo, GetECDHSessionKey, GetEntropy, GetFeatures, GetFirmwareHash, GetNextU2FCounter, GetNonce, GetOwnershipId, GetOwnershipProof, GetPassphraseState, GetPublicKey, GetPublicKeyMultiple, HDNodePathType, HDNodeType, IdentityType, Initialize, InputScriptType, InternalInputScriptType, InternalMyAddressRequest, KaspaAddress, KaspaGetAddress, KaspaInputScriptType, KaspaOutpoint, KaspaOutputScriptType, KaspaRequestType, KaspaSignTx, KaspaSignedTx, KaspaTxAckInput, KaspaTxAckOutput, KaspaTxAckPayloadChunk, KaspaTxAckPrevInput, KaspaTxAckPrevMeta, KaspaTxAckPrevOutput, KaspaTxInputAck, KaspaTxInputRequest, KaspaTxRequest, KaspaTxRequestSignature, ListResDir, LnurlAuth, LnurlAuthResp, LockDevice, LogBlockCommand, LowLevelDevice, LowlevelTransportSharedPlugin, MessageFromOneKey, MessageKey, MessageResponse, MessageResponseMap, MessageSignature, MessageType, messages as Messages, MoneroAccountPublicAddress, MoneroAddress, MoneroExportedKeyImage, MoneroGetAddress, MoneroGetTxKeyAck, MoneroGetTxKeyRequest, MoneroGetWatchKey, MoneroKeyImageExportInitAck, MoneroKeyImageExportInitRequest, MoneroKeyImageSyncFinalAck, MoneroKeyImageSyncFinalRequest, MoneroKeyImageSyncStepAck, MoneroKeyImageSyncStepRequest, MoneroLiveRefreshFinalAck, MoneroLiveRefreshFinalRequest, MoneroLiveRefreshStartAck, MoneroLiveRefreshStartRequest, MoneroLiveRefreshStepAck, MoneroLiveRefreshStepRequest, MoneroMultisigKLRki, MoneroNetworkType, MoneroOutputEntry, MoneroRctKeyPublic, MoneroRingCtSig, MoneroSubAddressIndicesList, MoneroTransactionAllInputsSetAck, MoneroTransactionAllInputsSetRequest, MoneroTransactionAllOutSetAck, MoneroTransactionAllOutSetRequest, MoneroTransactionData, MoneroTransactionDestinationEntry, MoneroTransactionFinalAck, MoneroTransactionFinalRequest, MoneroTransactionInitAck, MoneroTransactionInitRequest, MoneroTransactionInputViniAck, MoneroTransactionInputViniRequest, MoneroTransactionInputsPermutationAck, MoneroTransactionInputsPermutationRequest, MoneroTransactionRsigData, MoneroTransactionSetInputAck, MoneroTransactionSetInputRequest, MoneroTransactionSetOutputAck, MoneroTransactionSetOutputRequest, MoneroTransactionSignInputAck, MoneroTransactionSignInputRequest, MoneroTransactionSourceEntry, MoneroTransferDetails, MoneroWatchKey, MultisigRedeemScriptType, NEMAddress, NEMAggregateModification, NEMCosignatoryModification, NEMDecryptMessage, NEMDecryptedMessage, NEMGetAddress, NEMImportanceTransfer, NEMImportanceTransferMode, NEMModificationType, NEMMosaic, NEMMosaicCreation, NEMMosaicDefinition, NEMMosaicLevy, NEMMosaicSupplyChange, NEMProvisionNamespace, NEMSignTx, NEMSignedTx, NEMSupplyChangeType, NEMTransactionCommon, NEMTransfer, NFTWriteData, NFTWriteInfo, NearAddress, NearGetAddress, NearSignTx, NearSignedTx, NeoAddress, NeoGetAddress, NeoSignTx, NeoSignedTx, NervosAddress, NervosGetAddress, NervosSignTx, NervosSignedTx, NervosTxAck, NervosTxRequest, NexaAddress, NexaGetAddress, NexaSignTx, NexaSignedTx, NexaTxInputAck, NexaTxInputRequest, NextU2FCounter, NftUpdate, Nonce, NostrDecryptMessage, NostrDecryptedMessage, NostrEncryptMessage, NostrEncryptedMessage, NostrGetPublicKey, NostrPublicKey, NostrSignEvent, NostrSignSchnorr, NostrSignedEvent, NostrSignedSchnorr, OnboardingPhase, OnboardingSetupKind, OnboardingSetupMethod, OnboardingSetupStatus, OnboardingStatus, OnboardingStatusGet, OnboardingStep, OneKeyDeviceCommType, OneKeyDeviceInfo, OneKeyDeviceInfoBase, OneKeyDeviceInfoWithSession, OneKeyDeviceType, OneKeyMobileDeviceInfo, OneKeySEState, OneKeySeType, OnekeyFeatures, OnekeyGetFeatures, OutputScriptType, OwnershipId, OwnershipProof, PROTOCOL_V1_CHUNK_PAYLOAD_SIZE, PROTOCOL_V1_ENVELOPE_HEADER_SIZE, PROTOCOL_V1_HEADER_BYTE, PROTOCOL_V1_MESSAGE_HEADER_SIZE, PROTOCOL_V1_REPORT_ID, PROTOCOL_V1_USB_PACKET_SIZE, PROTOCOL_V2_BLE_FILE_CHUNK_SIZE, PROTOCOL_V2_BLE_FILE_READ_CHUNK_SIZE, PROTOCOL_V2_BLE_FIRMWARE_FILE_CHUNK_SIZE, PROTOCOL_V2_BLE_FRAME_MAX_BYTES, PROTOCOL_V2_CHANNEL_BLE_UART, PROTOCOL_V2_CHANNEL_SOCKET, PROTOCOL_V2_CHANNEL_USB, PROTOCOL_V2_DEFAULT_RESPONSE_TIMEOUT_MS, PROTOCOL_V2_FILE_CHUNK_SIZE, PROTOCOL_V2_FILE_WRITE_PIPELINE_WINDOW, PROTOCOL_V2_FRAME_MAX_BYTES, PROTOCOL_V2_PACKET_SRC_COMMAND, PROTOCOL_V2_SYS_MESSAGE_THRESHOLD, PROTOCOL_V2_WEBUSB_FILE_CHUNK_SIZE, PassphraseAck, PassphraseRequest, PassphraseState, Path, PaymentRequestMemo, PinMatrixAck, PinMatrixRequest, PinMatrixRequestType, Ping, PolkadotAddress, PolkadotGetAddress, PolkadotSignTx, PolkadotSignedTx, PortfolioUpdate, PreauthorizedRequest, PrevInput, PrevOutput, PrevTx, ProtocolInfo, ProtocolInfoRequest, ProtocolType, ProtocolV1, ProtocolV2, ProtocolV2BleFrameWriterOptions, ProtocolV2CallContext, ProtocolV2CallOptions, ProtocolV2Capability, ProtocolV2DeviceInfo, ProtocolV2FailureType, ProtocolV2FileWritePipeline, ProtocolV2FrameAssembler, ProtocolV2LinkAdapter, ProtocolV2LinkDisabledError, ProtocolV2LinkError, ProtocolV2LinkErrorClassification, ProtocolV2LinkErrorCode, ProtocolV2LinkManager, ProtocolV2LinkManagerOptions, ProtocolV2Schemas, ProtocolV2SequenceCursor, ProtocolV2Session, ProtocolV2SessionOptions, ProtocolV2UsbTransportBase, ProtocolV2UsbTransportBaseOptions, PublicKey, PublicKeyMultiple, ReadSEPublicCert, ReadSEPublicKey, Reboot, RebootToBoardloader, RebootToBootloader, RebootType, RecoveryDevice, RecoveryDeviceType, RefundMemo, RequestType, ResetDevice, ResourceAck, ResourceRequest, ResourceType, ResourceUpdate, ResourceUpload, RippleAddress, RippleGetAddress, RipplePayment, RippleSignTx, RippleSignedTx, SEMessageSignature, SEPublicCert, SEPublicKey, SESignMessage, SafetyCheckLevel, ScdoAddress, ScdoGetAddress, ScdoSignMessage, ScdoSignTx, ScdoSignedMessage, ScdoSignedTx, ScdoTxAck, SdProtect, SdProtectOperationType, SeedRequestType, SelfTest, SetBusy, SetU2FCounter, SignIdentity, SignMessage, SignPsbt, SignTx, SignedIdentity, SignedPsbt, SolanaAddress, SolanaGetAddress, SolanaMessageSignature, SolanaOffChainMessageFormat, SolanaOffChainMessageVersion, SolanaSignOffChainMessage, SolanaSignTx, SolanaSignUnsafeMessage, SolanaSignedTx, SolanaTxATADetails, SolanaTxExtraInfo, SpiFlashData, SpiFlashRead, SpiFlashWrite, StarcoinAddress, StarcoinGetAddress, StarcoinGetPublicKey, StarcoinMessageSignature, StarcoinPublicKey, StarcoinSignMessage, StarcoinSignTx, StarcoinSignedTx, StarcoinVerifyMessage, StellarAccountMergeOp, StellarAddress, StellarAllowTrustOp, StellarAsset, StellarAssetType, StellarBumpSequenceOp, StellarChangeTrustOp, StellarCreateAccountOp, StellarCreatePassiveSellOfferOp, StellarGetAddress, StellarInvokeHostFunctionOp, StellarManageBuyOfferOp, StellarManageDataOp, StellarManageSellOfferOp, StellarMemoType, StellarPathPaymentStrictReceiveOp, StellarPathPaymentStrictSendOp, StellarPaymentOp, StellarRequestType, StellarSetOptionsOp, StellarSignTx, StellarSignedTx, StellarSignerType, StellarSorobanDataAck, StellarSorobanDataRequest, StellarTxOpRequest, Success, SuiAddress, SuiGetAddress, SuiMessageSignature, SuiSignMessage, SuiSignTx, SuiSignedTx, SuiTxAck, SuiTxRequest, TRANSPORT_EVENT, TextMemo, TezosAddress, TezosBallotOp, TezosBallotType, TezosContractID, TezosContractType, TezosDelegationOp, TezosGetAddress, TezosGetPublicKey, TezosManagerTransfer, TezosOriginationOp, TezosParametersManager, TezosProposalOp, TezosPublicKey, TezosRevealOp, TezosSignTx, TezosSignedTx, TezosTransactionOp, TonAddress, TonGetAddress, TonSignData, TonSignDataType, TonSignMessage, TonSignProof, TonSignedData, TonSignedMessage, TonSignedProof, TonTxAck, TonWalletVersion, TonWorkChain, Transport, TransportCallOptions, TransportDeviceDisconnectEvent, TransportWriteMetrics, TronAddress, TronCancelAllUnfreezeV2Contract, TronContract, TronDelegateResourceContract, TronFreezeBalanceContract, TronFreezeBalanceV2Contract, TronGetAddress, TronMessageSignature, TronMessageType, TronResourceCode, TronSignMessage, TronSignTx, TronSignedTx, TronTransferContract, TronTriggerSmartContract, TronUnDelegateResourceContract, TronUnfreezeBalanceContract, TronUnfreezeBalanceV2Contract, TronVoteWitnessContract, TronWithdrawBalanceContract, TronWithdrawExpireUnfreezeContract, TxAck, TxAckInput, TxAckInputWrapper, TxAckOutput, TxAckOutputWrapper, TxAckPaymentRequest, TxAckPrevExtraData, TxAckPrevExtraDataWrapper, TxAckPrevInput, TxAckPrevInputWrapper, TxAckPrevMeta, TxAckPrevOutput, TxAckPrevOutputWrapper, TxAckResponse, TxInput, TxInputType, TxOutput, TxOutputBinType, TxOutputType, TxRequest, TxRequestDetailsType, TxRequestSerializedType, TypedCall, UiAnimationCommand, UiAnimationRequest, UiAnimationType, UintType, UnLockDevice, UnLockDeviceResponse, UnlockPath, UnlockedPathRequest, UpgradeFileHeader, VerifyMessage, ViewActionCard, ViewAmount, ViewContentEntry, ViewContentPage, ViewContentPreview, ViewCustomField, ViewDetail, ViewSignLayout, ViewSignPage, ViewTip, ViewTipType, ViewVerifyPage, ViewWarningPage, Vote, WL_OperationType, WipeDevice, WordAck, WordRequest, WordRequestType, WriteSEPrivateKey, WriteSEPublicCert, ZcashAddress, ZcashAddressScope, ZcashAddressType, ZcashFullViewingKey, ZcashGetAddress, ZcashGetFullViewingKey, ZcashPcztChunkAck, ZcashPcztChunkRequest, ZcashSignPczt, ZcashSignedPczt, ZcashSignedPcztChunkRequest, ZoomRequest, bytesToHex, concatUint8Arrays, createProtocolV2LinkDisabledError, createTransportCallLog, _default as default, detectProtocolV2LinkDisabledError, experimental_field, experimental_message, facotry, getErrorMessage, getSafeTransportLogPayload, hexToBytes, isProtocolV2HighThroughputCall, isProtocolV2LinkDisabledError, isProtocolV2LinkDisabledFailure, isProtocolV2LinkError, probeProtocolV2, index as protocolV1, protocolV2Codec as protocolV2, shouldSuppressHighVolumeCallLog, withProtocolTimeout, writeProtocolV2BleFrame };
|