@initia/initia.js 0.0.30 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +1 -1
- package/dist/bundle.js.map +1 -1
- package/dist/bundle.node.js +1 -1
- package/dist/bundle.node.js.LICENSE.txt +2 -0
- package/dist/bundle.node.js.map +1 -1
- package/dist/client/lcd/LCDClient.d.ts +2 -2
- package/dist/client/lcd/LCDClient.js +1 -1
- package/dist/client/lcd/LCDClient.js.map +1 -1
- package/dist/client/lcd/LCDUtils.d.ts +1 -1
- package/dist/client/lcd/LCDUtils.js +1 -1
- package/dist/client/lcd/LCDUtils.js.map +1 -1
- package/dist/client/lcd/api/MoveAPI.d.ts +2 -0
- package/dist/client/lcd/api/MoveAPI.js +2 -0
- package/dist/client/lcd/api/MoveAPI.js.map +1 -1
- package/dist/client/lcd/api/MstakingAPI.d.ts +97 -0
- package/dist/client/lcd/api/MstakingAPI.js +294 -0
- package/dist/client/lcd/api/MstakingAPI.js.map +1 -0
- package/dist/client/lcd/api/index.d.ts +1 -1
- package/dist/client/lcd/api/index.js +1 -1
- package/dist/client/lcd/api/index.js.map +1 -1
- package/dist/core/Msg.d.ts +5 -5
- package/dist/core/Msg.js +9 -9
- package/dist/core/Msg.js.map +1 -1
- package/dist/core/Tx.d.ts +1 -1
- package/dist/core/gov/Proposal.d.ts +5 -5
- package/dist/core/gov/Proposal.js +6 -12
- package/dist/core/gov/Proposal.js.map +1 -1
- package/dist/core/index.d.ts +5 -5
- package/dist/core/index.js +6 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/move/msgs/MsgExecute.d.ts +1 -1
- package/dist/core/move/msgs/MsgExecute.js +1 -1
- package/dist/core/move/msgs/MsgPublish.d.ts +8 -3
- package/dist/core/move/msgs/MsgPublish.js +16 -11
- package/dist/core/move/msgs/MsgPublish.js.map +1 -1
- package/dist/core/move/msgs/MsgScript.d.ts +2 -2
- package/dist/core/move/msgs/MsgScript.js +2 -2
- package/dist/core/move/proposals/ExecuteOperation.d.ts +51 -0
- package/dist/core/move/proposals/ExecuteOperation.js +100 -0
- package/dist/core/move/proposals/ExecuteOperation.js.map +1 -0
- package/dist/core/move/proposals/OperationsProposal.d.ts +57 -0
- package/dist/core/move/proposals/OperationsProposal.js +127 -0
- package/dist/core/move/proposals/OperationsProposal.js.map +1 -0
- package/dist/core/move/proposals/PublishOperation.d.ts +34 -0
- package/dist/core/move/proposals/PublishOperation.js +76 -0
- package/dist/core/move/proposals/PublishOperation.js.map +1 -0
- package/dist/core/move/proposals/index.d.ts +3 -2
- package/dist/core/move/proposals/index.js +3 -2
- package/dist/core/move/proposals/index.js.map +1 -1
- package/dist/core/mstaking/Delegation.d.ts +45 -0
- package/dist/core/mstaking/Delegation.js +89 -0
- package/dist/core/mstaking/Delegation.js.map +1 -0
- package/dist/core/mstaking/Redelegation.d.ts +97 -0
- package/dist/core/mstaking/Redelegation.js +174 -0
- package/dist/core/mstaking/Redelegation.js.map +1 -0
- package/dist/core/mstaking/UnbondingDelegation.d.ts +75 -0
- package/dist/core/mstaking/UnbondingDelegation.js +143 -0
- package/dist/core/mstaking/UnbondingDelegation.js.map +1 -0
- package/dist/core/mstaking/Validator.d.ts +173 -0
- package/dist/core/mstaking/Validator.js +287 -0
- package/dist/core/mstaking/Validator.js.map +1 -0
- package/dist/core/mstaking/msgs/MsgBeginRedelegate.d.ts +51 -0
- package/dist/core/mstaking/msgs/MsgBeginRedelegate.js +99 -0
- package/dist/core/mstaking/msgs/MsgBeginRedelegate.js.map +1 -0
- package/dist/core/mstaking/msgs/MsgCreateValidator.d.ts +60 -0
- package/dist/core/mstaking/msgs/MsgCreateValidator.js +110 -0
- package/dist/core/mstaking/msgs/MsgCreateValidator.js.map +1 -0
- package/dist/core/mstaking/msgs/MsgDelegate.d.ts +46 -0
- package/dist/core/mstaking/msgs/MsgDelegate.js +93 -0
- package/dist/core/mstaking/msgs/MsgDelegate.js.map +1 -0
- package/dist/core/mstaking/msgs/MsgEditValidator.d.ts +50 -0
- package/dist/core/mstaking/msgs/MsgEditValidator.js +111 -0
- package/dist/core/mstaking/msgs/MsgEditValidator.js.map +1 -0
- package/dist/core/mstaking/msgs/MsgUndelegate.d.ts +46 -0
- package/dist/core/mstaking/msgs/MsgUndelegate.js +93 -0
- package/dist/core/mstaking/msgs/MsgUndelegate.js.map +1 -0
- package/dist/core/mstaking/msgs/index.d.ts +16 -0
- package/dist/core/mstaking/msgs/index.js +22 -0
- package/dist/core/mstaking/msgs/index.js.map +1 -0
- package/dist/core/params/proposals/ParameterChangeProposal.d.ts +1 -5
- package/dist/core/params/proposals/ParameterChangeProposal.js +1 -5
- package/dist/core/params/proposals/ParameterChangeProposal.js.map +1 -1
- package/dist/key/index.d.ts +1 -0
- package/dist/key/index.js +1 -0
- package/dist/key/index.js.map +1 -1
- package/dist/key/ledger/LedgerKey.d.ts +55 -0
- package/dist/key/ledger/LedgerKey.js +377 -0
- package/dist/key/ledger/LedgerKey.js.map +1 -0
- package/dist/key/ledger/app.d.ts +39 -0
- package/dist/key/ledger/app.js +178 -0
- package/dist/key/ledger/app.js.map +1 -0
- package/dist/key/ledger/constants.d.ts +24 -0
- package/dist/key/ledger/constants.js +50 -0
- package/dist/key/ledger/constants.js.map +1 -0
- package/dist/key/ledger/device.d.ts +11 -0
- package/dist/key/ledger/device.js +379 -0
- package/dist/key/ledger/device.js.map +1 -0
- package/dist/key/ledger/index.d.ts +5 -0
- package/dist/key/ledger/index.js +25 -0
- package/dist/key/ledger/index.js.map +1 -0
- package/dist/key/ledger/types.d.ts +44 -0
- package/dist/key/ledger/types.js +3 -0
- package/dist/key/ledger/types.js.map +1 -0
- package/dist/util/bcs.d.ts +1 -1
- package/package.json +9 -2
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ERROR_DESCRIPTION = exports.ERROR_CODE = exports.P1_VALUES = exports.PAYLOAD_TYPE = exports.INS = exports.APP_KEY = exports.CHUNK_SIZE = exports.CLA = void 0;
|
|
4
|
+
exports.CLA = 0x55;
|
|
5
|
+
exports.CHUNK_SIZE = 250;
|
|
6
|
+
exports.APP_KEY = 'CSM';
|
|
7
|
+
exports.INS = {
|
|
8
|
+
GET_VERSION: 0x00,
|
|
9
|
+
INS_PUBLIC_KEY_SECP256K1: 0x01,
|
|
10
|
+
SIGN_SECP256K1: 0x02,
|
|
11
|
+
GET_ADDR_SECP256K1: 0x04,
|
|
12
|
+
};
|
|
13
|
+
exports.PAYLOAD_TYPE = {
|
|
14
|
+
INIT: 0x00,
|
|
15
|
+
ADD: 0x01,
|
|
16
|
+
LAST: 0x02,
|
|
17
|
+
};
|
|
18
|
+
exports.P1_VALUES = {
|
|
19
|
+
ONLY_RETRIEVE: 0x00,
|
|
20
|
+
SHOW_ADDRESS_IN_DEVICE: 0x01,
|
|
21
|
+
};
|
|
22
|
+
exports.ERROR_CODE = {
|
|
23
|
+
NoError: 0x9000,
|
|
24
|
+
};
|
|
25
|
+
exports.ERROR_DESCRIPTION = {
|
|
26
|
+
1: 'U2F: Unknown',
|
|
27
|
+
2: 'U2F: Bad request',
|
|
28
|
+
3: 'U2F: Configuration unsupported',
|
|
29
|
+
4: 'U2F: Device Ineligible',
|
|
30
|
+
5: 'U2F: Timeout',
|
|
31
|
+
14: 'Timeout',
|
|
32
|
+
0x9000: 'No errors',
|
|
33
|
+
0x9001: 'Device is busy',
|
|
34
|
+
0x6802: 'Error deriving keys',
|
|
35
|
+
0x6400: 'Execution Error',
|
|
36
|
+
0x6700: 'Wrong Length',
|
|
37
|
+
0x6982: 'Empty Buffer',
|
|
38
|
+
0x6983: 'Output buffer too small',
|
|
39
|
+
0x6984: 'Data is invalid',
|
|
40
|
+
0x6985: 'Conditions not satisfied',
|
|
41
|
+
0x6986: 'Transaction rejected',
|
|
42
|
+
0x6a80: 'Bad key handle',
|
|
43
|
+
0x6b00: 'Invalid P1/P2',
|
|
44
|
+
0x6b0c: 'Ledger is locked',
|
|
45
|
+
0x6d00: 'Instruction not supported',
|
|
46
|
+
0x6e00: 'App does not seem to be open',
|
|
47
|
+
0x6f00: 'Unknown error',
|
|
48
|
+
0x6f01: 'Sign/verify error',
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/key/ledger/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,GAAG,GAAG,IAAI,CAAC;AACX,QAAA,UAAU,GAAG,GAAG,CAAC;AACjB,QAAA,OAAO,GAAG,KAAK,CAAC;AAEhB,QAAA,GAAG,GAAG;IACjB,WAAW,EAAE,IAAI;IACjB,wBAAwB,EAAE,IAAI;IAC9B,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;CACzB,CAAC;AAEW,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;CACX,CAAC;AAEW,QAAA,SAAS,GAAG;IACvB,aAAa,EAAE,IAAI;IACnB,sBAAsB,EAAE,IAAI;CAC7B,CAAC;AAEW,QAAA,UAAU,GAAG;IACxB,OAAO,EAAE,MAAM;CAChB,CAAC;AAEW,QAAA,iBAAiB,GAA8B;IAC1D,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,gCAAgC;IACnC,CAAC,EAAE,wBAAwB;IAC3B,CAAC,EAAE,cAAc;IACjB,EAAE,EAAE,SAAS;IACb,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,yBAAyB;IACjC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,8BAA8B;IACtC,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,mBAAmB;CAC5B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import Transport from '@ledgerhq/hw-transport';
|
|
3
|
+
import { AppInfoResponse, VersionResponse, DeviceInfoResponse, PublicKeyResponse, SignResponse } from './types';
|
|
4
|
+
export declare function serializePath(path: number[]): Buffer;
|
|
5
|
+
export declare function getVersion(transport: Transport): Promise<VersionResponse>;
|
|
6
|
+
export declare function getAppInfo(transport: Transport): Promise<AppInfoResponse>;
|
|
7
|
+
export declare function getDeviceInfo(transport: Transport): Promise<DeviceInfoResponse>;
|
|
8
|
+
export declare function publicKey(transport: Transport, data: Buffer): Promise<PublicKeyResponse>;
|
|
9
|
+
export declare function getAddressAndPubKey(transport: Transport, data: Buffer): Promise<PublicKeyResponse>;
|
|
10
|
+
export declare function showAddressAndPubKey(transport: Transport, data: Buffer): Promise<PublicKeyResponse>;
|
|
11
|
+
export declare function sign(transport: Transport, path: number[], message: Buffer): Promise<SignResponse>;
|
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.sign = exports.showAddressAndPubKey = exports.getAddressAndPubKey = exports.publicKey = exports.getDeviceInfo = exports.getAppInfo = exports.getVersion = exports.serializePath = void 0;
|
|
40
|
+
var constants_1 = require("./constants");
|
|
41
|
+
function errorCodeToString(statusCode) {
|
|
42
|
+
if (statusCode in constants_1.ERROR_DESCRIPTION) {
|
|
43
|
+
return constants_1.ERROR_DESCRIPTION[statusCode];
|
|
44
|
+
}
|
|
45
|
+
return "Unknown Status Code: ".concat(statusCode);
|
|
46
|
+
}
|
|
47
|
+
function isDict(v) {
|
|
48
|
+
return typeof v === 'object' && v !== null && !(v instanceof Array) && !(v instanceof Date);
|
|
49
|
+
}
|
|
50
|
+
function processErrorResponse(response) {
|
|
51
|
+
if (response) {
|
|
52
|
+
if (isDict(response)) {
|
|
53
|
+
if (Object.prototype.hasOwnProperty.call(response, 'statusCode')) {
|
|
54
|
+
return {
|
|
55
|
+
return_code: response.statusCode,
|
|
56
|
+
error_message: errorCodeToString(response.statusCode),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
if (Object.prototype.hasOwnProperty.call(response, 'return_code') &&
|
|
60
|
+
Object.prototype.hasOwnProperty.call(response, 'error_message')) {
|
|
61
|
+
return response;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
return_code: 0xffff,
|
|
66
|
+
error_message: response.toString(),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
return_code: 0xffff,
|
|
71
|
+
error_message: response.toString(),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function serializePath(path) {
|
|
75
|
+
if (!path || path.length !== 5) {
|
|
76
|
+
throw new TypeError('Invalid path.');
|
|
77
|
+
}
|
|
78
|
+
var buf = Buffer.alloc(20);
|
|
79
|
+
buf.writeUInt32LE(0x80000000 + path[0], 0);
|
|
80
|
+
buf.writeUInt32LE(0x80000000 + path[1], 4);
|
|
81
|
+
buf.writeUInt32LE(0x80000000 + path[2], 8);
|
|
82
|
+
buf.writeUInt32LE(path[3], 12);
|
|
83
|
+
buf.writeUInt32LE(path[4], 16);
|
|
84
|
+
return buf;
|
|
85
|
+
}
|
|
86
|
+
exports.serializePath = serializePath;
|
|
87
|
+
function getVersion(transport) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
89
|
+
return __generator(this, function (_a) {
|
|
90
|
+
return [2 /*return*/, transport
|
|
91
|
+
.send(constants_1.CLA, constants_1.INS.GET_VERSION, 0, 0)
|
|
92
|
+
.then(function (response) {
|
|
93
|
+
var errorCodeData = response.slice(-2);
|
|
94
|
+
var return_code = errorCodeData[0] * 256 + errorCodeData[1];
|
|
95
|
+
var targetId = 0;
|
|
96
|
+
if (response.length >= 9) {
|
|
97
|
+
/* eslint-disable no-bitwise */
|
|
98
|
+
targetId = (response[5] << 24) + (response[6] << 16) + (response[7] << 8) + (response[8] << 0);
|
|
99
|
+
/* eslint-enable no-bitwise */
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
return_code: return_code,
|
|
103
|
+
error_message: errorCodeToString(return_code),
|
|
104
|
+
// ///
|
|
105
|
+
test_mode: response[0] !== 0,
|
|
106
|
+
major: response[1],
|
|
107
|
+
minor: response[2],
|
|
108
|
+
patch: response[3],
|
|
109
|
+
device_locked: response[4] === 1,
|
|
110
|
+
target_id: targetId.toString(16),
|
|
111
|
+
};
|
|
112
|
+
})
|
|
113
|
+
.catch(processErrorResponse)];
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
exports.getVersion = getVersion;
|
|
118
|
+
function getAppInfo(transport) {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
120
|
+
return __generator(this, function (_a) {
|
|
121
|
+
return [2 /*return*/, transport
|
|
122
|
+
.send(0xb0, 0x01, 0, 0)
|
|
123
|
+
.then(function (response) {
|
|
124
|
+
var errorCodeData = response.slice(-2);
|
|
125
|
+
var return_code = errorCodeData[0] * 256 + errorCodeData[1];
|
|
126
|
+
var error_message;
|
|
127
|
+
var app_name = 'err';
|
|
128
|
+
var app_version = 'err';
|
|
129
|
+
var flag_len = 0;
|
|
130
|
+
var flags_value = 0;
|
|
131
|
+
if (response[0] !== 1) {
|
|
132
|
+
// Ledger responds with format ID 1. There is no spec for any format != 1
|
|
133
|
+
error_message = 'response format ID not recognized';
|
|
134
|
+
return_code = 0x9001;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
error_message = 'No errors';
|
|
138
|
+
var appNameLen = response[1];
|
|
139
|
+
app_name = response.slice(2, 2 + appNameLen).toString('ascii');
|
|
140
|
+
var idx = 2 + appNameLen;
|
|
141
|
+
var appVersionLen = response[idx];
|
|
142
|
+
idx += 1;
|
|
143
|
+
app_version = response.slice(idx, idx + appVersionLen).toString('ascii');
|
|
144
|
+
idx += appVersionLen;
|
|
145
|
+
var appFlagsLen = response[idx];
|
|
146
|
+
idx += 1;
|
|
147
|
+
flag_len = appFlagsLen;
|
|
148
|
+
flags_value = response[idx];
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
return_code: return_code,
|
|
152
|
+
error_message: error_message,
|
|
153
|
+
// //
|
|
154
|
+
app_name: app_name,
|
|
155
|
+
app_version: app_version,
|
|
156
|
+
flag_len: flag_len,
|
|
157
|
+
flags_value: flags_value,
|
|
158
|
+
// eslint-disable-next-line no-bitwise
|
|
159
|
+
flag_recovery: (flags_value & 1) !== 0,
|
|
160
|
+
// eslint-disable-next-line no-bitwise
|
|
161
|
+
flag_signed_mcu_code: (flags_value & 2) !== 0,
|
|
162
|
+
// eslint-disable-next-line no-bitwise
|
|
163
|
+
flag_onboarded: (flags_value & 4) !== 0,
|
|
164
|
+
// eslint-disable-next-line no-bitwise
|
|
165
|
+
flag_pin_validated: (flags_value & 128) !== 0,
|
|
166
|
+
};
|
|
167
|
+
})
|
|
168
|
+
.catch(processErrorResponse)];
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
exports.getAppInfo = getAppInfo;
|
|
173
|
+
function getDeviceInfo(transport) {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
175
|
+
return __generator(this, function (_a) {
|
|
176
|
+
return [2 /*return*/, transport
|
|
177
|
+
.send(0xe0, 0x01, 0, 0, Buffer.from([]), [constants_1.ERROR_CODE.NoError, 0x6e00])
|
|
178
|
+
.then(function (response) {
|
|
179
|
+
var errorCodeData = response.slice(-2);
|
|
180
|
+
var returnCode = errorCodeData[0] * 256 + errorCodeData[1];
|
|
181
|
+
if (returnCode === 0x6e00) {
|
|
182
|
+
return {
|
|
183
|
+
return_code: returnCode,
|
|
184
|
+
error_message: 'This command is only available in the Dashboard',
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
var target_id = response.slice(0, 4).toString('hex');
|
|
188
|
+
var pos = 4;
|
|
189
|
+
var secureElementVersionLen = response[pos];
|
|
190
|
+
pos += 1;
|
|
191
|
+
var se_version = response.slice(pos, pos + secureElementVersionLen).toString();
|
|
192
|
+
pos += secureElementVersionLen;
|
|
193
|
+
var flagsLen = response[pos];
|
|
194
|
+
pos += 1;
|
|
195
|
+
var flag = response.slice(pos, pos + flagsLen).toString('hex');
|
|
196
|
+
pos += flagsLen;
|
|
197
|
+
var mcuVersionLen = response[pos];
|
|
198
|
+
pos += 1;
|
|
199
|
+
// Patch issue in mcu version
|
|
200
|
+
var tmp = response.slice(pos, pos + mcuVersionLen);
|
|
201
|
+
if (tmp[mcuVersionLen - 1] === 0) {
|
|
202
|
+
tmp = response.slice(pos, pos + mcuVersionLen - 1);
|
|
203
|
+
}
|
|
204
|
+
var mcu_version = tmp.toString();
|
|
205
|
+
return {
|
|
206
|
+
return_code: returnCode,
|
|
207
|
+
error_message: errorCodeToString(returnCode),
|
|
208
|
+
// //
|
|
209
|
+
target_id: target_id,
|
|
210
|
+
se_version: se_version,
|
|
211
|
+
flag: flag,
|
|
212
|
+
mcu_version: mcu_version,
|
|
213
|
+
};
|
|
214
|
+
})
|
|
215
|
+
.catch(processErrorResponse)];
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
exports.getDeviceInfo = getDeviceInfo;
|
|
220
|
+
function publicKey(transport, data) {
|
|
221
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
222
|
+
return __generator(this, function (_a) {
|
|
223
|
+
return [2 /*return*/, transport
|
|
224
|
+
.send(constants_1.CLA, constants_1.INS.GET_ADDR_SECP256K1, 0, 0, data, [constants_1.ERROR_CODE.NoError])
|
|
225
|
+
.then(function (response) {
|
|
226
|
+
var errorCodeData = response.slice(-2);
|
|
227
|
+
var returnCode = errorCodeData[0] * 256 + errorCodeData[1];
|
|
228
|
+
var compressedPk = response ? Buffer.from(response.slice(0, 33)) : null;
|
|
229
|
+
return {
|
|
230
|
+
pk: 'OBSOLETE PROPERTY',
|
|
231
|
+
compressed_pk: compressedPk ? compressedPk.toJSON() : compressedPk,
|
|
232
|
+
return_code: returnCode,
|
|
233
|
+
error_message: errorCodeToString(returnCode),
|
|
234
|
+
};
|
|
235
|
+
})
|
|
236
|
+
.catch(processErrorResponse)];
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
exports.publicKey = publicKey;
|
|
241
|
+
function getAddressAndPubKey(transport, data) {
|
|
242
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
243
|
+
return __generator(this, function (_a) {
|
|
244
|
+
return [2 /*return*/, transport
|
|
245
|
+
.send(constants_1.CLA, constants_1.INS.GET_ADDR_SECP256K1, constants_1.P1_VALUES.ONLY_RETRIEVE, 0, data, [constants_1.ERROR_CODE.NoError])
|
|
246
|
+
.then(function (response) {
|
|
247
|
+
var errorCodeData = response.slice(-2);
|
|
248
|
+
var returnCode = errorCodeData[0] * 256 + errorCodeData[1];
|
|
249
|
+
var compressedPk = Buffer.from(response.slice(0, 33));
|
|
250
|
+
var bech32Address = Buffer.from(response.slice(33, -2)).toString();
|
|
251
|
+
return {
|
|
252
|
+
bech32_address: bech32Address,
|
|
253
|
+
compressed_pk: compressedPk.toJSON(),
|
|
254
|
+
return_code: returnCode,
|
|
255
|
+
error_message: errorCodeToString(returnCode),
|
|
256
|
+
};
|
|
257
|
+
})
|
|
258
|
+
.catch(processErrorResponse)];
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
exports.getAddressAndPubKey = getAddressAndPubKey;
|
|
263
|
+
function showAddressAndPubKey(transport, data) {
|
|
264
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
265
|
+
return __generator(this, function (_a) {
|
|
266
|
+
return [2 /*return*/, transport
|
|
267
|
+
.send(constants_1.CLA, constants_1.INS.GET_ADDR_SECP256K1, constants_1.P1_VALUES.SHOW_ADDRESS_IN_DEVICE, 0, data, [constants_1.ERROR_CODE.NoError])
|
|
268
|
+
.then(function (response) {
|
|
269
|
+
var errorCodeData = response.slice(-2);
|
|
270
|
+
var returnCode = errorCodeData[0] * 256 + errorCodeData[1];
|
|
271
|
+
var compressedPk = Buffer.from(response.slice(0, 33));
|
|
272
|
+
var bech32Address = Buffer.from(response.slice(33, -2)).toString();
|
|
273
|
+
return {
|
|
274
|
+
bech32_address: bech32Address,
|
|
275
|
+
compressed_pk: compressedPk.toJSON(),
|
|
276
|
+
return_code: returnCode,
|
|
277
|
+
error_message: errorCodeToString(returnCode),
|
|
278
|
+
};
|
|
279
|
+
})
|
|
280
|
+
.catch(processErrorResponse)];
|
|
281
|
+
});
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
exports.showAddressAndPubKey = showAddressAndPubKey;
|
|
285
|
+
function signGetChunks(path, message) {
|
|
286
|
+
var result = serializePath(path);
|
|
287
|
+
var chunks = [];
|
|
288
|
+
if (result instanceof Buffer) {
|
|
289
|
+
chunks.push(result);
|
|
290
|
+
var buffer = Buffer.from(message);
|
|
291
|
+
for (var i = 0; i < buffer.length; i += constants_1.CHUNK_SIZE) {
|
|
292
|
+
var end = i + constants_1.CHUNK_SIZE;
|
|
293
|
+
if (i > buffer.length) {
|
|
294
|
+
end = buffer.length;
|
|
295
|
+
}
|
|
296
|
+
chunks.push(buffer.slice(i, end));
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
return chunks;
|
|
300
|
+
}
|
|
301
|
+
function signSendChunk(transport, chunkIdx, chunkNum, chunk) {
|
|
302
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
303
|
+
var payloadType;
|
|
304
|
+
return __generator(this, function (_a) {
|
|
305
|
+
payloadType = constants_1.PAYLOAD_TYPE.ADD;
|
|
306
|
+
if (chunkIdx === 1) {
|
|
307
|
+
payloadType = constants_1.PAYLOAD_TYPE.INIT;
|
|
308
|
+
}
|
|
309
|
+
if (chunkIdx === chunkNum) {
|
|
310
|
+
payloadType = constants_1.PAYLOAD_TYPE.LAST;
|
|
311
|
+
}
|
|
312
|
+
return [2 /*return*/, transport
|
|
313
|
+
.send(constants_1.CLA, constants_1.INS.SIGN_SECP256K1, payloadType, 0, chunk, [constants_1.ERROR_CODE.NoError, 0x6984, 0x6a80])
|
|
314
|
+
.then(function (response) {
|
|
315
|
+
var errorCodeData = response.slice(-2);
|
|
316
|
+
var returnCode = errorCodeData[0] * 256 + errorCodeData[1];
|
|
317
|
+
var errorMessage = errorCodeToString(returnCode);
|
|
318
|
+
if (returnCode === 0x6a80 || returnCode === 0x6984) {
|
|
319
|
+
errorMessage = "".concat(errorMessage, " : ").concat(response.slice(0, response.length - 2).toString('ascii'));
|
|
320
|
+
}
|
|
321
|
+
var signature = Buffer.from([]);
|
|
322
|
+
if (response.length > 2) {
|
|
323
|
+
signature = response.slice(0, response.length - 2);
|
|
324
|
+
}
|
|
325
|
+
return {
|
|
326
|
+
signature: signature.toJSON(),
|
|
327
|
+
return_code: returnCode,
|
|
328
|
+
error_message: errorMessage,
|
|
329
|
+
};
|
|
330
|
+
})
|
|
331
|
+
.catch(processErrorResponse)];
|
|
332
|
+
});
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
function sign(transport, path, message) {
|
|
336
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
337
|
+
var chunks;
|
|
338
|
+
var _this = this;
|
|
339
|
+
return __generator(this, function (_a) {
|
|
340
|
+
chunks = signGetChunks(path, message);
|
|
341
|
+
return [2 /*return*/, signSendChunk(transport, 1, chunks.length, chunks[0])
|
|
342
|
+
.then(function (response) { return __awaiter(_this, void 0, void 0, function () {
|
|
343
|
+
var result, i;
|
|
344
|
+
return __generator(this, function (_a) {
|
|
345
|
+
switch (_a.label) {
|
|
346
|
+
case 0:
|
|
347
|
+
result = {
|
|
348
|
+
return_code: response.return_code,
|
|
349
|
+
error_message: response.error_message,
|
|
350
|
+
signature: { type: 'Buffer', data: [] },
|
|
351
|
+
};
|
|
352
|
+
i = 1;
|
|
353
|
+
_a.label = 1;
|
|
354
|
+
case 1:
|
|
355
|
+
if (!(i < chunks.length)) return [3 /*break*/, 4];
|
|
356
|
+
return [4 /*yield*/, signSendChunk(transport, 1 + i, chunks.length, chunks[i])];
|
|
357
|
+
case 2:
|
|
358
|
+
result = _a.sent();
|
|
359
|
+
if (result.return_code !== constants_1.ERROR_CODE.NoError) {
|
|
360
|
+
return [3 /*break*/, 4];
|
|
361
|
+
}
|
|
362
|
+
_a.label = 3;
|
|
363
|
+
case 3:
|
|
364
|
+
i += 1;
|
|
365
|
+
return [3 /*break*/, 1];
|
|
366
|
+
case 4: return [2 /*return*/, {
|
|
367
|
+
return_code: result.return_code,
|
|
368
|
+
error_message: result.error_message,
|
|
369
|
+
signature: result.signature,
|
|
370
|
+
}];
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
}); })
|
|
374
|
+
.catch(processErrorResponse)];
|
|
375
|
+
});
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
exports.sign = sign;
|
|
379
|
+
//# sourceMappingURL=device.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/key/ledger/device.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
var app_1 = __importDefault(require("./app"));
|
|
21
|
+
__exportStar(require("./types"), exports);
|
|
22
|
+
__exportStar(require("./constants"), exports);
|
|
23
|
+
__exportStar(require("./LedgerKey"), exports);
|
|
24
|
+
exports.default = app_1.default;
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/key/ledger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,8CAA8B;AAC9B,0CAAwB;AACxB,8CAA4B;AAC5B,8CAA4B;AAE5B,kBAAe,aAAS,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface JSONBuffer {
|
|
2
|
+
type: 'Buffer';
|
|
3
|
+
data: number[];
|
|
4
|
+
}
|
|
5
|
+
export interface CommonResponse {
|
|
6
|
+
return_code: number;
|
|
7
|
+
error_message: string;
|
|
8
|
+
device_locked?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface PublicKeyResponse extends CommonResponse {
|
|
11
|
+
bech32_address: string;
|
|
12
|
+
pk: 'OBSOLETE PROPERTY';
|
|
13
|
+
compressed_pk: JSONBuffer;
|
|
14
|
+
}
|
|
15
|
+
export interface AddressResponse extends CommonResponse {
|
|
16
|
+
bech32_address: string;
|
|
17
|
+
compressed_pk: JSONBuffer;
|
|
18
|
+
}
|
|
19
|
+
export interface SignResponse extends CommonResponse {
|
|
20
|
+
signature: JSONBuffer;
|
|
21
|
+
}
|
|
22
|
+
export interface AppInfoResponse extends CommonResponse {
|
|
23
|
+
app_name: string;
|
|
24
|
+
app_version: string;
|
|
25
|
+
flag_len: number;
|
|
26
|
+
flags_value: number;
|
|
27
|
+
flag_recovery: boolean;
|
|
28
|
+
flag_signed_mcu_code: boolean;
|
|
29
|
+
flag_onboarded: boolean;
|
|
30
|
+
flag_pin_validated: Boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface VersionResponse extends CommonResponse {
|
|
33
|
+
test_mode: boolean;
|
|
34
|
+
major: number;
|
|
35
|
+
minor: number;
|
|
36
|
+
patch: number;
|
|
37
|
+
target_id: string;
|
|
38
|
+
}
|
|
39
|
+
export interface DeviceInfoResponse extends CommonResponse {
|
|
40
|
+
target_id: string;
|
|
41
|
+
se_version: string;
|
|
42
|
+
flag: string;
|
|
43
|
+
mcu_version: string;
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/key/ledger/types.ts"],"names":[],"mappings":""}
|
package/dist/util/bcs.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@initia/initia.js",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.32",
|
|
4
4
|
"description": "The JavaScript SDK for Initia",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "InitiaLabs",
|
|
@@ -58,12 +58,14 @@
|
|
|
58
58
|
"@types/jest": "^29.0.3",
|
|
59
59
|
"@types/node": "^18.7.18",
|
|
60
60
|
"@types/readable-stream": "^2.3.14",
|
|
61
|
+
"@types/ripemd160": "^2.0.0",
|
|
61
62
|
"@types/secp256k1": "^4.0.3",
|
|
62
63
|
"@types/tmp": "^0.2.3",
|
|
63
64
|
"@types/ws": "^7.4.7",
|
|
64
65
|
"@typescript-eslint/eslint-plugin": "^5.38.0",
|
|
65
66
|
"@typescript-eslint/parser": "^5.38.0",
|
|
66
67
|
"buffer": "^6.0.3",
|
|
68
|
+
"crypto-browserify": "^3.12.0",
|
|
67
69
|
"eslint": "^8.23.1",
|
|
68
70
|
"husky": "^8.0.1",
|
|
69
71
|
"jest": "^29.0.3",
|
|
@@ -82,7 +84,11 @@
|
|
|
82
84
|
"webpack-cli": "^4.10.0"
|
|
83
85
|
},
|
|
84
86
|
"dependencies": {
|
|
85
|
-
"@initia/initia.proto": "^0.0.
|
|
87
|
+
"@initia/initia.proto": "^0.0.12-alpha1",
|
|
88
|
+
"@ledgerhq/hw-transport": "^6.20.0",
|
|
89
|
+
"@ledgerhq/hw-transport-node-hid": "^6.20.0",
|
|
90
|
+
"@ledgerhq/hw-transport-webhid": "^6.20.0",
|
|
91
|
+
"@ledgerhq/hw-transport-webusb": "^6.20.0",
|
|
86
92
|
"@mysten/bcs": "^0.5.0",
|
|
87
93
|
"axios": "^0.27.2",
|
|
88
94
|
"bech32": "^2.0.0",
|
|
@@ -93,6 +99,7 @@
|
|
|
93
99
|
"jscrypto": "^1.0.3",
|
|
94
100
|
"long": "^5.2.0",
|
|
95
101
|
"readable-stream": "^4.1.0",
|
|
102
|
+
"ripemd160": "^2.0.2",
|
|
96
103
|
"secp256k1": "^4.0.3",
|
|
97
104
|
"tmp": "^0.2.1",
|
|
98
105
|
"utf-8-validate": "^5.0.9",
|