@shapeshiftoss/hdwallet-gridplus 1.62.4-gridplus.alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/LICENSE.md +21 -0
- package/dist/adapter.d.ts +19 -0
- package/dist/adapter.d.ts.map +1 -0
- package/dist/adapter.js +129 -0
- package/dist/adapter.js.map +1 -0
- package/dist/bitcoin.d.ts +7 -0
- package/dist/bitcoin.d.ts.map +1 -0
- package/dist/bitcoin.js +619 -0
- package/dist/bitcoin.js.map +1 -0
- package/dist/constants.d.ts +18 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +51 -0
- package/dist/constants.js.map +1 -0
- package/dist/cosmos.d.ts +7 -0
- package/dist/cosmos.d.ts.map +1 -0
- package/dist/cosmos.js +156 -0
- package/dist/cosmos.js.map +1 -0
- package/dist/ethereum.d.ts +7 -0
- package/dist/ethereum.d.ts.map +1 -0
- package/dist/ethereum.js +294 -0
- package/dist/ethereum.js.map +1 -0
- package/dist/gridplus.d.ts +112 -0
- package/dist/gridplus.d.ts.map +1 -0
- package/dist/gridplus.js +574 -0
- package/dist/gridplus.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/mayachain.d.ts +7 -0
- package/dist/mayachain.d.ts.map +1 -0
- package/dist/mayachain.js +163 -0
- package/dist/mayachain.js.map +1 -0
- package/dist/solana.d.ts +5 -0
- package/dist/solana.d.ts.map +1 -0
- package/dist/solana.js +120 -0
- package/dist/solana.js.map +1 -0
- package/dist/thorchain.d.ts +5 -0
- package/dist/thorchain.d.ts.map +1 -0
- package/dist/thorchain.js +143 -0
- package/dist/thorchain.js.map +1 -0
- package/dist/transport.d.ts +28 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +148 -0
- package/dist/transport.js.map +1 -0
- package/dist/utils.d.ts +17 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +117 -0
- package/dist/utils.js.map +1 -0
- package/package.json +38 -0
- package/package.json.bak +38 -0
- package/src/adapter.ts +109 -0
- package/src/bitcoin.ts +711 -0
- package/src/constants.ts +52 -0
- package/src/cosmos.ts +132 -0
- package/src/ethereum.ts +305 -0
- package/src/gridplus.ts +550 -0
- package/src/index.ts +3 -0
- package/src/mayachain.ts +150 -0
- package/src/solana.ts +97 -0
- package/src/thorchain.ts +125 -0
- package/src/transport.ts +131 -0
- package/src/utils.ts +101 -0
- package/tsconfig.json +10 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gridplus.js","sourceRoot":"","sources":["../src/gridplus.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9E,cAAc,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.isGridPlus = exports.GridPlusWalletInfo = exports.GridPlusHDWallet = void 0;
|
|
18
|
+
__exportStar(require("./adapter"), exports);
|
|
19
|
+
var gridplus_1 = require("./gridplus");
|
|
20
|
+
Object.defineProperty(exports, "GridPlusHDWallet", { enumerable: true, get: function () { return gridplus_1.GridPlusHDWallet; } });
|
|
21
|
+
Object.defineProperty(exports, "GridPlusWalletInfo", { enumerable: true, get: function () { return gridplus_1.GridPlusWalletInfo; } });
|
|
22
|
+
Object.defineProperty(exports, "isGridPlus", { enumerable: true, get: function () { return gridplus_1.isGridPlus; } });
|
|
23
|
+
__exportStar(require("./transport"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,uCAA8E;AAArE,4GAAA,gBAAgB,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAAE,sGAAA,UAAU,OAAA;AACzD,8CAA4B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
|
+
import { Client } from "gridplus-sdk";
|
|
3
|
+
export declare function mayachainGetAddress(client: Client, msg: core.MayachainGetAddress): Promise<string | null>;
|
|
4
|
+
export declare function mayachainSignTx(client: Client, msg: core.MayachainSignTx): Promise<core.MayachainSignedTx | null>;
|
|
5
|
+
export declare const mayachainGetAccountPaths: (msg: core.MayachainGetAccountPaths) => Array<core.MayachainAccountPath>;
|
|
6
|
+
export declare const mayachainNextAccountPath: (msg: core.MayachainAccountPath) => core.MayachainAccountPath | undefined;
|
|
7
|
+
//# sourceMappingURL=mayachain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mayachain.d.ts","sourceRoot":"","sources":["../src/mayachain.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AAOjD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoB/G;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,IAAI,CAAC,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA+FxC;AAED,eAAO,MAAM,wBAAwB,QAAS,IAAI,CAAC,wBAAwB,KAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAO5G,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAS,IAAI,CAAC,oBAAoB,KAAG,IAAI,CAAC,oBAAoB,GAAG,SAMrG,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.mayachainNextAccountPath = exports.mayachainGetAccountPaths = void 0;
|
|
39
|
+
exports.mayachainGetAddress = mayachainGetAddress;
|
|
40
|
+
exports.mayachainSignTx = mayachainSignTx;
|
|
41
|
+
const secp256k1_1 = require("@bitcoinerlab/secp256k1");
|
|
42
|
+
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
43
|
+
const gridplus_sdk_1 = require("gridplus-sdk");
|
|
44
|
+
const p_lazy_1 = __importDefault(require("p-lazy"));
|
|
45
|
+
const cosmos_1 = require("./cosmos");
|
|
46
|
+
const cosmJsProtoSigning = p_lazy_1.default.from(() => Promise.resolve().then(() => __importStar(require("@cosmjs/proto-signing"))));
|
|
47
|
+
function mayachainGetAddress(client, msg) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
// Get secp256k1 pubkey using GridPlus client instance
|
|
50
|
+
// Use FULL path - MAYAChain uses standard BIP44: m/44'/931'/0'/0/0 (5 levels)
|
|
51
|
+
const addresses = yield client.getAddresses({
|
|
52
|
+
startPath: msg.addressNList,
|
|
53
|
+
n: 1,
|
|
54
|
+
flag: gridplus_sdk_1.Constants.GET_ADDR_FLAGS.SECP256K1_PUB,
|
|
55
|
+
});
|
|
56
|
+
if (!addresses.length) {
|
|
57
|
+
throw new Error("No address returned from device");
|
|
58
|
+
}
|
|
59
|
+
// GridPlus SDK returns uncompressed 65-byte pubkeys, but MAYAChain needs compressed 33-byte pubkeys
|
|
60
|
+
const pubkeyBuffer = Buffer.isBuffer(addresses[0]) ? addresses[0] : Buffer.from(addresses[0], "hex");
|
|
61
|
+
const compressedPubkey = (0, secp256k1_1.pointCompress)(pubkeyBuffer, true);
|
|
62
|
+
const compressedHex = Buffer.from(compressedPubkey).toString("hex");
|
|
63
|
+
const mayaAddress = (0, cosmos_1.createCosmosAddress)(compressedHex, "maya");
|
|
64
|
+
return mayaAddress;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function mayachainSignTx(client, msg) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
// Get the address for this path
|
|
70
|
+
const address = yield mayachainGetAddress(client, { addressNList: msg.addressNList });
|
|
71
|
+
if (!address)
|
|
72
|
+
throw new Error("Failed to get MAYAchain address");
|
|
73
|
+
// Get the public key using client instance
|
|
74
|
+
const pubkeys = yield client.getAddresses({
|
|
75
|
+
startPath: msg.addressNList,
|
|
76
|
+
n: 1,
|
|
77
|
+
flag: gridplus_sdk_1.Constants.GET_ADDR_FLAGS.SECP256K1_PUB,
|
|
78
|
+
});
|
|
79
|
+
if (!pubkeys.length) {
|
|
80
|
+
throw new Error("No public key returned from device");
|
|
81
|
+
}
|
|
82
|
+
// GridPlus SDK returns uncompressed 65-byte pubkeys, but MAYAChain needs compressed 33-byte pubkeys
|
|
83
|
+
const pubkeyBuffer = Buffer.isBuffer(pubkeys[0]) ? pubkeys[0] : Buffer.from(pubkeys[0], "hex");
|
|
84
|
+
const compressedPubkey = (0, secp256k1_1.pointCompress)(pubkeyBuffer, true);
|
|
85
|
+
const pubkey = Buffer.from(compressedPubkey);
|
|
86
|
+
// Create a signer adapter for GridPlus with Direct signing (Proto)
|
|
87
|
+
const signer = {
|
|
88
|
+
getAccounts: () => __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return [
|
|
90
|
+
{
|
|
91
|
+
address,
|
|
92
|
+
pubkey,
|
|
93
|
+
algo: "secp256k1",
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
}),
|
|
97
|
+
signDirect: (signerAddress, signDoc) => __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
if (signerAddress !== address) {
|
|
99
|
+
throw new Error("Signer address mismatch");
|
|
100
|
+
}
|
|
101
|
+
// Use CosmJS to create the sign bytes from the SignDoc
|
|
102
|
+
const signBytes = (yield cosmJsProtoSigning).makeSignBytes(signDoc);
|
|
103
|
+
// Sign using GridPlus SDK general signing
|
|
104
|
+
// Pass unhashed signBytes and let device hash with SHA256
|
|
105
|
+
const signData = {
|
|
106
|
+
data: {
|
|
107
|
+
payload: signBytes,
|
|
108
|
+
curveType: gridplus_sdk_1.Constants.SIGNING.CURVES.SECP256K1,
|
|
109
|
+
hashType: gridplus_sdk_1.Constants.SIGNING.HASHES.SHA256,
|
|
110
|
+
encodingType: gridplus_sdk_1.Constants.SIGNING.ENCODINGS.NONE,
|
|
111
|
+
signerPath: msg.addressNList,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
const signedResult = yield client.sign(signData);
|
|
115
|
+
if (!(signedResult === null || signedResult === void 0 ? void 0 : signedResult.sig)) {
|
|
116
|
+
throw new Error("No signature returned from device");
|
|
117
|
+
}
|
|
118
|
+
const { r, s } = signedResult.sig;
|
|
119
|
+
const rBuf = Buffer.from(r);
|
|
120
|
+
const sBuf = Buffer.from(s);
|
|
121
|
+
// Ensure 32-byte values
|
|
122
|
+
const rPadded = rBuf.length < 32 ? Buffer.concat([Buffer.alloc(32 - rBuf.length), rBuf]) : rBuf;
|
|
123
|
+
const sPadded = sBuf.length < 32 ? Buffer.concat([Buffer.alloc(32 - sBuf.length), sBuf]) : sBuf;
|
|
124
|
+
const signature = Buffer.concat([rPadded, sPadded]);
|
|
125
|
+
return {
|
|
126
|
+
signed: signDoc,
|
|
127
|
+
signature: {
|
|
128
|
+
pub_key: {
|
|
129
|
+
type: "tendermint/PubKeySecp256k1",
|
|
130
|
+
value: pubkey.toString("base64"),
|
|
131
|
+
},
|
|
132
|
+
signature: signature.toString("base64"),
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
}),
|
|
136
|
+
};
|
|
137
|
+
// Build and sign transaction using proto-tx-builder
|
|
138
|
+
const signedTx = yield (yield Promise.resolve().then(() => __importStar(require("@shapeshiftoss/proto-tx-builder")))).sign(address, msg.tx, signer, {
|
|
139
|
+
sequence: Number(msg.sequence),
|
|
140
|
+
accountNumber: Number(msg.account_number),
|
|
141
|
+
chainId: msg.chain_id,
|
|
142
|
+
}, "maya");
|
|
143
|
+
return signedTx;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
const mayachainGetAccountPaths = (msg) => {
|
|
147
|
+
const slip44 = core.slip44ByCoin("Mayachain");
|
|
148
|
+
return [
|
|
149
|
+
{
|
|
150
|
+
addressNList: [0x80000000 + 44, 0x80000000 + slip44, 0x80000000 + msg.accountIdx, 0, 0],
|
|
151
|
+
},
|
|
152
|
+
];
|
|
153
|
+
};
|
|
154
|
+
exports.mayachainGetAccountPaths = mayachainGetAccountPaths;
|
|
155
|
+
const mayachainNextAccountPath = (msg) => {
|
|
156
|
+
const newAddressNList = [...msg.addressNList];
|
|
157
|
+
newAddressNList[2] += 1;
|
|
158
|
+
return {
|
|
159
|
+
addressNList: newAddressNList,
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
exports.mayachainNextAccountPath = mayachainNextAccountPath;
|
|
163
|
+
//# sourceMappingURL=mayachain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mayachain.js","sourceRoot":"","sources":["../src/mayachain.ts"],"names":[],"mappings":"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"}
|
package/dist/solana.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
|
+
import { Client } from "gridplus-sdk";
|
|
3
|
+
export declare function solanaGetAddress(client: Client, msg: core.SolanaGetAddress): Promise<string | null>;
|
|
4
|
+
export declare function solanaSignTx(client: Client, msg: core.SolanaSignTx): Promise<core.SolanaSignedTx | null>;
|
|
5
|
+
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AAEjD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyCzG;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAgD9G"}
|
package/dist/solana.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.solanaGetAddress = solanaGetAddress;
|
|
39
|
+
exports.solanaSignTx = solanaSignTx;
|
|
40
|
+
const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
|
|
41
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
42
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
43
|
+
const gridplus_sdk_1 = require("gridplus-sdk");
|
|
44
|
+
function solanaGetAddress(client, msg) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
// Solana requires all path indices to be hardened (BIP32 hardened derivation)
|
|
47
|
+
// Hardening is indicated by setting the highest bit (0x80000000)
|
|
48
|
+
// If an index is already >= 0x80000000, it's already hardened; otherwise add 0x80000000
|
|
49
|
+
const correctedPath = msg.addressNList.map((idx) => {
|
|
50
|
+
if (idx >= 0x80000000) {
|
|
51
|
+
return idx;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return idx + 0x80000000;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const allHardened = correctedPath.every((idx) => idx >= 0x80000000);
|
|
58
|
+
if (!allHardened) {
|
|
59
|
+
throw new Error("Failed to harden all Solana path indices for ED25519");
|
|
60
|
+
}
|
|
61
|
+
const fwVersion = client.getFwVersion();
|
|
62
|
+
if (fwVersion.major === 0 && fwVersion.minor < 14) {
|
|
63
|
+
throw new Error(`Solana requires firmware >= 0.14.0, current: ${fwVersion.major}.${fwVersion.minor}.${fwVersion.fix}`);
|
|
64
|
+
}
|
|
65
|
+
const addresses = yield client.getAddresses({
|
|
66
|
+
startPath: correctedPath,
|
|
67
|
+
n: 1,
|
|
68
|
+
flag: gridplus_sdk_1.Constants.GET_ADDR_FLAGS.ED25519_PUB,
|
|
69
|
+
});
|
|
70
|
+
if (!addresses.length) {
|
|
71
|
+
throw new Error("No address returned from device");
|
|
72
|
+
}
|
|
73
|
+
const pubkeyBuffer = Buffer.isBuffer(addresses[0]) ? addresses[0] : Buffer.from(addresses[0], "hex");
|
|
74
|
+
const address = bs58_1.default.encode(pubkeyBuffer);
|
|
75
|
+
return address;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function solanaSignTx(client, msg) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
// Ensure all path indices are hardened for Solana (see solanaGetAddress for explanation)
|
|
81
|
+
const correctedPath = msg.addressNList.map((idx) => {
|
|
82
|
+
if (idx >= 0x80000000)
|
|
83
|
+
return idx;
|
|
84
|
+
return idx + 0x80000000;
|
|
85
|
+
});
|
|
86
|
+
const allHardened = correctedPath.every((idx) => idx >= 0x80000000);
|
|
87
|
+
if (!allHardened) {
|
|
88
|
+
throw new Error("Failed to harden all Solana path indices - this should never happen");
|
|
89
|
+
}
|
|
90
|
+
const address = yield solanaGetAddress(client, {
|
|
91
|
+
addressNList: correctedPath,
|
|
92
|
+
showDisplay: false,
|
|
93
|
+
});
|
|
94
|
+
if (!address)
|
|
95
|
+
throw new Error("Failed to get Solana address");
|
|
96
|
+
const transaction = core.solanaBuildTransaction(msg, address);
|
|
97
|
+
const messageBytes = transaction.message.serialize();
|
|
98
|
+
const signingRequest = {
|
|
99
|
+
data: {
|
|
100
|
+
signerPath: correctedPath,
|
|
101
|
+
curveType: gridplus_sdk_1.Constants.SIGNING.CURVES.ED25519,
|
|
102
|
+
hashType: gridplus_sdk_1.Constants.SIGNING.HASHES.NONE,
|
|
103
|
+
encodingType: gridplus_sdk_1.Constants.SIGNING.ENCODINGS.SOLANA,
|
|
104
|
+
payload: Buffer.from(messageBytes),
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
const signData = yield client.sign(signingRequest);
|
|
108
|
+
if (!signData || !signData.sig) {
|
|
109
|
+
throw new Error("No signature returned from device");
|
|
110
|
+
}
|
|
111
|
+
const signature = Buffer.concat([signData.sig.r, signData.sig.s]);
|
|
112
|
+
transaction.addSignature(new web3_js_1.PublicKey(address), signature);
|
|
113
|
+
const serializedTx = transaction.serialize();
|
|
114
|
+
return {
|
|
115
|
+
serialized: Buffer.from(serializedTx).toString("base64"),
|
|
116
|
+
signatures: transaction.signatures.map((sig) => Buffer.from(sig).toString("base64")),
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=solana.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
|
+
import { Client } from "gridplus-sdk";
|
|
3
|
+
export declare function thorchainGetAddress(client: Client, msg: core.ThorchainGetAddress): Promise<string | null>;
|
|
4
|
+
export declare function thorchainSignTx(client: Client, msg: core.ThorchainSignTx): Promise<core.ThorchainSignedTx | null>;
|
|
5
|
+
//# sourceMappingURL=thorchain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thorchain.d.ts","sourceRoot":"","sources":["../src/thorchain.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AAQjD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB/G;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,IAAI,CAAC,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAmFxC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.thorchainGetAddress = thorchainGetAddress;
|
|
39
|
+
exports.thorchainSignTx = thorchainSignTx;
|
|
40
|
+
const secp256k1_1 = require("@bitcoinerlab/secp256k1");
|
|
41
|
+
const gridplus_sdk_1 = require("gridplus-sdk");
|
|
42
|
+
const p_lazy_1 = __importDefault(require("p-lazy"));
|
|
43
|
+
const cosmos_1 = require("./cosmos");
|
|
44
|
+
const protoTxBuilder = p_lazy_1.default.from(() => Promise.resolve().then(() => __importStar(require("@shapeshiftoss/proto-tx-builder"))));
|
|
45
|
+
const cosmJsProtoSigning = p_lazy_1.default.from(() => Promise.resolve().then(() => __importStar(require("@cosmjs/proto-signing"))));
|
|
46
|
+
function thorchainGetAddress(client, msg) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const prefix = msg.testnet ? "tthor" : "thor";
|
|
49
|
+
// Get secp256k1 pubkey using GridPlus client instance
|
|
50
|
+
// Use FULL path - THORChain uses standard BIP44: m/44'/931'/0'/0/0 (5 levels)
|
|
51
|
+
const addresses = yield client.getAddresses({
|
|
52
|
+
startPath: msg.addressNList,
|
|
53
|
+
n: 1,
|
|
54
|
+
flag: gridplus_sdk_1.Constants.GET_ADDR_FLAGS.SECP256K1_PUB,
|
|
55
|
+
});
|
|
56
|
+
if (!addresses.length) {
|
|
57
|
+
throw new Error("No address returned from device");
|
|
58
|
+
}
|
|
59
|
+
// GridPlus SDK returns uncompressed 65-byte pubkeys, but THORChain needs compressed 33-byte pubkeys
|
|
60
|
+
const pubkeyBuffer = Buffer.isBuffer(addresses[0]) ? addresses[0] : Buffer.from(addresses[0], "hex");
|
|
61
|
+
const compressedPubkey = (0, secp256k1_1.pointCompress)(pubkeyBuffer, true);
|
|
62
|
+
const compressedHex = Buffer.from(compressedPubkey).toString("hex");
|
|
63
|
+
const thorAddress = (0, cosmos_1.createCosmosAddress)(compressedHex, prefix);
|
|
64
|
+
return thorAddress;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function thorchainSignTx(client, msg) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
// Get the address for this path
|
|
70
|
+
const address = yield thorchainGetAddress(client, { addressNList: msg.addressNList, testnet: msg.testnet });
|
|
71
|
+
if (!address)
|
|
72
|
+
throw new Error("Failed to get THORChain address");
|
|
73
|
+
// Get the public key using client instance
|
|
74
|
+
const pubkeys = yield client.getAddresses({
|
|
75
|
+
startPath: msg.addressNList,
|
|
76
|
+
n: 1,
|
|
77
|
+
flag: gridplus_sdk_1.Constants.GET_ADDR_FLAGS.SECP256K1_PUB,
|
|
78
|
+
});
|
|
79
|
+
if (!pubkeys.length) {
|
|
80
|
+
throw new Error("No public key returned from device");
|
|
81
|
+
}
|
|
82
|
+
// GridPlus SDK returns uncompressed 65-byte pubkeys, but THORChain needs compressed 33-byte pubkeys
|
|
83
|
+
const pubkeyBuffer = Buffer.isBuffer(pubkeys[0]) ? pubkeys[0] : Buffer.from(pubkeys[0], "hex");
|
|
84
|
+
const compressedPubkey = (0, secp256k1_1.pointCompress)(pubkeyBuffer, true);
|
|
85
|
+
const pubkey = Buffer.from(compressedPubkey);
|
|
86
|
+
// Create a signer adapter for GridPlus with Direct signing (Proto)
|
|
87
|
+
const signer = {
|
|
88
|
+
getAccounts: () => __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return [
|
|
90
|
+
{
|
|
91
|
+
address,
|
|
92
|
+
pubkey,
|
|
93
|
+
algo: "secp256k1",
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
}),
|
|
97
|
+
signDirect: (signerAddress, signDoc) => __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
if (signerAddress !== address) {
|
|
99
|
+
throw new Error("Signer address mismatch");
|
|
100
|
+
}
|
|
101
|
+
// Use CosmJS to create the sign bytes from the SignDoc
|
|
102
|
+
const signBytes = (yield cosmJsProtoSigning).makeSignBytes(signDoc);
|
|
103
|
+
// Sign using GridPlus SDK general signing
|
|
104
|
+
// Pass unhashed signBytes and let device hash with SHA256
|
|
105
|
+
const signData = {
|
|
106
|
+
data: {
|
|
107
|
+
payload: signBytes,
|
|
108
|
+
curveType: gridplus_sdk_1.Constants.SIGNING.CURVES.SECP256K1,
|
|
109
|
+
hashType: gridplus_sdk_1.Constants.SIGNING.HASHES.SHA256,
|
|
110
|
+
encodingType: gridplus_sdk_1.Constants.SIGNING.ENCODINGS.NONE,
|
|
111
|
+
signerPath: msg.addressNList,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
const signedResult = yield client.sign(signData);
|
|
115
|
+
if (!(signedResult === null || signedResult === void 0 ? void 0 : signedResult.sig)) {
|
|
116
|
+
throw new Error("No signature returned from device");
|
|
117
|
+
}
|
|
118
|
+
const { r, s } = signedResult.sig;
|
|
119
|
+
const rHex = Buffer.isBuffer(r) ? r : Buffer.from(r);
|
|
120
|
+
const sHex = Buffer.isBuffer(s) ? s : Buffer.from(s);
|
|
121
|
+
// Combine r and s for signature
|
|
122
|
+
const signature = Buffer.concat([rHex, sHex]);
|
|
123
|
+
return {
|
|
124
|
+
signed: signDoc,
|
|
125
|
+
signature: {
|
|
126
|
+
pub_key: {
|
|
127
|
+
type: "tendermint/PubKeySecp256k1",
|
|
128
|
+
value: pubkey.toString("base64"),
|
|
129
|
+
},
|
|
130
|
+
signature: signature.toString("base64"),
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
}),
|
|
134
|
+
};
|
|
135
|
+
const signerData = {
|
|
136
|
+
sequence: Number(msg.sequence),
|
|
137
|
+
accountNumber: Number(msg.account_number),
|
|
138
|
+
chainId: msg.chain_id,
|
|
139
|
+
};
|
|
140
|
+
return (yield protoTxBuilder).sign(address, msg.tx, signer, signerData, "thorchain");
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=thorchain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thorchain.js","sourceRoot":"","sources":["../src/thorchain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
2
|
+
import { Client } from "gridplus-sdk";
|
|
3
|
+
export type GridPlusTransportConfig = {
|
|
4
|
+
deviceId: string;
|
|
5
|
+
password?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare class GridPlusTransport extends core.Transport {
|
|
8
|
+
deviceId?: string;
|
|
9
|
+
password?: string;
|
|
10
|
+
connected: boolean;
|
|
11
|
+
private client?;
|
|
12
|
+
private sessionId?;
|
|
13
|
+
constructor(config: GridPlusTransportConfig);
|
|
14
|
+
getDeviceID(): Promise<string>;
|
|
15
|
+
connect(): Promise<void>;
|
|
16
|
+
connectGridPlus(deviceId: string, password?: string): Promise<void>;
|
|
17
|
+
disconnect(): Promise<void>;
|
|
18
|
+
isConnected(): boolean;
|
|
19
|
+
setup(deviceId: string, password?: string, existingSessionId?: string): Promise<{
|
|
20
|
+
isPaired: boolean;
|
|
21
|
+
sessionId: string;
|
|
22
|
+
}>;
|
|
23
|
+
pair(pairingCode: string): Promise<boolean>;
|
|
24
|
+
getClient(): Client | undefined;
|
|
25
|
+
getSessionId(): string | undefined;
|
|
26
|
+
call(): Promise<any>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,IAAI,CAAC,SAAS;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAS;IAClC,OAAO,CAAC,MAAM,CAAC,CAAS;IAIxB,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,MAAM,EAAE,uBAAuB;IAMpC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYxB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,WAAW,IAAI,OAAO;IAIhB,KAAK,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAgDvC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUjD,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,YAAY,IAAI,MAAM,GAAG,SAAS;IAI5B,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;CAGlC"}
|