@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.
Files changed (105) hide show
  1. package/dist/bundle.js +1 -1
  2. package/dist/bundle.js.map +1 -1
  3. package/dist/bundle.node.js +1 -1
  4. package/dist/bundle.node.js.LICENSE.txt +2 -0
  5. package/dist/bundle.node.js.map +1 -1
  6. package/dist/client/lcd/LCDClient.d.ts +2 -2
  7. package/dist/client/lcd/LCDClient.js +1 -1
  8. package/dist/client/lcd/LCDClient.js.map +1 -1
  9. package/dist/client/lcd/LCDUtils.d.ts +1 -1
  10. package/dist/client/lcd/LCDUtils.js +1 -1
  11. package/dist/client/lcd/LCDUtils.js.map +1 -1
  12. package/dist/client/lcd/api/MoveAPI.d.ts +2 -0
  13. package/dist/client/lcd/api/MoveAPI.js +2 -0
  14. package/dist/client/lcd/api/MoveAPI.js.map +1 -1
  15. package/dist/client/lcd/api/MstakingAPI.d.ts +97 -0
  16. package/dist/client/lcd/api/MstakingAPI.js +294 -0
  17. package/dist/client/lcd/api/MstakingAPI.js.map +1 -0
  18. package/dist/client/lcd/api/index.d.ts +1 -1
  19. package/dist/client/lcd/api/index.js +1 -1
  20. package/dist/client/lcd/api/index.js.map +1 -1
  21. package/dist/core/Msg.d.ts +5 -5
  22. package/dist/core/Msg.js +9 -9
  23. package/dist/core/Msg.js.map +1 -1
  24. package/dist/core/Tx.d.ts +1 -1
  25. package/dist/core/gov/Proposal.d.ts +5 -5
  26. package/dist/core/gov/Proposal.js +6 -12
  27. package/dist/core/gov/Proposal.js.map +1 -1
  28. package/dist/core/index.d.ts +5 -5
  29. package/dist/core/index.js +6 -6
  30. package/dist/core/index.js.map +1 -1
  31. package/dist/core/move/msgs/MsgExecute.d.ts +1 -1
  32. package/dist/core/move/msgs/MsgExecute.js +1 -1
  33. package/dist/core/move/msgs/MsgPublish.d.ts +8 -3
  34. package/dist/core/move/msgs/MsgPublish.js +16 -11
  35. package/dist/core/move/msgs/MsgPublish.js.map +1 -1
  36. package/dist/core/move/msgs/MsgScript.d.ts +2 -2
  37. package/dist/core/move/msgs/MsgScript.js +2 -2
  38. package/dist/core/move/proposals/ExecuteOperation.d.ts +51 -0
  39. package/dist/core/move/proposals/ExecuteOperation.js +100 -0
  40. package/dist/core/move/proposals/ExecuteOperation.js.map +1 -0
  41. package/dist/core/move/proposals/OperationsProposal.d.ts +57 -0
  42. package/dist/core/move/proposals/OperationsProposal.js +127 -0
  43. package/dist/core/move/proposals/OperationsProposal.js.map +1 -0
  44. package/dist/core/move/proposals/PublishOperation.d.ts +34 -0
  45. package/dist/core/move/proposals/PublishOperation.js +76 -0
  46. package/dist/core/move/proposals/PublishOperation.js.map +1 -0
  47. package/dist/core/move/proposals/index.d.ts +3 -2
  48. package/dist/core/move/proposals/index.js +3 -2
  49. package/dist/core/move/proposals/index.js.map +1 -1
  50. package/dist/core/mstaking/Delegation.d.ts +45 -0
  51. package/dist/core/mstaking/Delegation.js +89 -0
  52. package/dist/core/mstaking/Delegation.js.map +1 -0
  53. package/dist/core/mstaking/Redelegation.d.ts +97 -0
  54. package/dist/core/mstaking/Redelegation.js +174 -0
  55. package/dist/core/mstaking/Redelegation.js.map +1 -0
  56. package/dist/core/mstaking/UnbondingDelegation.d.ts +75 -0
  57. package/dist/core/mstaking/UnbondingDelegation.js +143 -0
  58. package/dist/core/mstaking/UnbondingDelegation.js.map +1 -0
  59. package/dist/core/mstaking/Validator.d.ts +173 -0
  60. package/dist/core/mstaking/Validator.js +287 -0
  61. package/dist/core/mstaking/Validator.js.map +1 -0
  62. package/dist/core/mstaking/msgs/MsgBeginRedelegate.d.ts +51 -0
  63. package/dist/core/mstaking/msgs/MsgBeginRedelegate.js +99 -0
  64. package/dist/core/mstaking/msgs/MsgBeginRedelegate.js.map +1 -0
  65. package/dist/core/mstaking/msgs/MsgCreateValidator.d.ts +60 -0
  66. package/dist/core/mstaking/msgs/MsgCreateValidator.js +110 -0
  67. package/dist/core/mstaking/msgs/MsgCreateValidator.js.map +1 -0
  68. package/dist/core/mstaking/msgs/MsgDelegate.d.ts +46 -0
  69. package/dist/core/mstaking/msgs/MsgDelegate.js +93 -0
  70. package/dist/core/mstaking/msgs/MsgDelegate.js.map +1 -0
  71. package/dist/core/mstaking/msgs/MsgEditValidator.d.ts +50 -0
  72. package/dist/core/mstaking/msgs/MsgEditValidator.js +111 -0
  73. package/dist/core/mstaking/msgs/MsgEditValidator.js.map +1 -0
  74. package/dist/core/mstaking/msgs/MsgUndelegate.d.ts +46 -0
  75. package/dist/core/mstaking/msgs/MsgUndelegate.js +93 -0
  76. package/dist/core/mstaking/msgs/MsgUndelegate.js.map +1 -0
  77. package/dist/core/mstaking/msgs/index.d.ts +16 -0
  78. package/dist/core/mstaking/msgs/index.js +22 -0
  79. package/dist/core/mstaking/msgs/index.js.map +1 -0
  80. package/dist/core/params/proposals/ParameterChangeProposal.d.ts +1 -5
  81. package/dist/core/params/proposals/ParameterChangeProposal.js +1 -5
  82. package/dist/core/params/proposals/ParameterChangeProposal.js.map +1 -1
  83. package/dist/key/index.d.ts +1 -0
  84. package/dist/key/index.js +1 -0
  85. package/dist/key/index.js.map +1 -1
  86. package/dist/key/ledger/LedgerKey.d.ts +55 -0
  87. package/dist/key/ledger/LedgerKey.js +377 -0
  88. package/dist/key/ledger/LedgerKey.js.map +1 -0
  89. package/dist/key/ledger/app.d.ts +39 -0
  90. package/dist/key/ledger/app.js +178 -0
  91. package/dist/key/ledger/app.js.map +1 -0
  92. package/dist/key/ledger/constants.d.ts +24 -0
  93. package/dist/key/ledger/constants.js +50 -0
  94. package/dist/key/ledger/constants.js.map +1 -0
  95. package/dist/key/ledger/device.d.ts +11 -0
  96. package/dist/key/ledger/device.js +379 -0
  97. package/dist/key/ledger/device.js.map +1 -0
  98. package/dist/key/ledger/index.d.ts +5 -0
  99. package/dist/key/ledger/index.js +25 -0
  100. package/dist/key/ledger/index.js.map +1 -0
  101. package/dist/key/ledger/types.d.ts +44 -0
  102. package/dist/key/ledger/types.js +3 -0
  103. package/dist/key/ledger/types.js.map +1 -0
  104. package/dist/util/bcs.d.ts +1 -1
  105. 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,5 @@
1
+ import InitiaApp from './app';
2
+ export * from './types';
3
+ export * from './constants';
4
+ export * from './LedgerKey';
5
+ export default InitiaApp;
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/key/ledger/types.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { StructTypeDefinition } from '@mysten/bcs';
2
- import { MoveFunctionABI } from 'core/move/types';
2
+ import { MoveFunctionABI } from '../core/move/types';
3
3
  export declare class BCS {
4
4
  private static bcs;
5
5
  private mystenBcs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@initia/initia.js",
3
- "version": "0.0.30",
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.10-alpha1",
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",