@shapeshiftoss/hdwallet-core 1.56.0 → 1.56.1-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/dist/solana.d.ts +3 -0
- package/dist/solana.d.ts.map +1 -1
- package/dist/solana.js +57 -0
- package/dist/solana.js.map +1 -1
- package/package.json +2 -2
package/dist/solana.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { VersionedTransaction } from "@solana/web3.js";
|
|
1
2
|
import { BIP32Path, HDWallet, HDWalletInfo, PathDescription } from "./wallet";
|
|
2
3
|
export interface SolanaGetAddress {
|
|
3
4
|
addressNList: BIP32Path;
|
|
@@ -67,4 +68,6 @@ export interface SolanaWallet extends SolanaWalletInfo, HDWallet {
|
|
|
67
68
|
}
|
|
68
69
|
export declare function solanaDescribePath(path: BIP32Path): PathDescription;
|
|
69
70
|
export declare function solanaGetAccountPaths(msg: SolanaGetAccountPaths): Array<SolanaAccountPath>;
|
|
71
|
+
export declare function solanaAddressNListToBIP32(addressNList: BIP32Path): string;
|
|
72
|
+
export declare function solanaBuildTransaction(msg: SolanaSignTx, address: string): VersionedTransaction;
|
|
70
73
|
//# sourceMappingURL=solana.d.ts.map
|
package/dist/solana.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mCAAmC;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,SAAS,CAAC;IACxB,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wHAAwH;IACxH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iJAAiJ;IACjJ,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,qCAAqC;IACrC,8BAA8B,CAAC,EAAE,mCAAmC,EAAE,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IAEtC;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE5E;;OAEG;IACH,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS,CAAC;CAC9E;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB,EAAE,QAAQ;IAC9D,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChE,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChE,YAAY,CAAC,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACrE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,eAAe,CAsBnE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAG1F;AAeD,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,CAIzE;AAaD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAoC/F"}
|
package/dist/solana.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.solanaDescribePath = solanaDescribePath;
|
|
4
4
|
exports.solanaGetAccountPaths = solanaGetAccountPaths;
|
|
5
|
+
exports.solanaAddressNListToBIP32 = solanaAddressNListToBIP32;
|
|
6
|
+
exports.solanaBuildTransaction = solanaBuildTransaction;
|
|
7
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
8
|
const utils_1 = require("./utils");
|
|
6
9
|
function solanaDescribePath(path) {
|
|
7
10
|
const pathStr = (0, utils_1.addressNListToBIP32)(path);
|
|
@@ -33,4 +36,58 @@ function solanaGetAccountPaths(msg) {
|
|
|
33
36
|
const slip44 = (0, utils_1.slip44ByCoin)("Solana");
|
|
34
37
|
return [{ addressNList: [0x80000000 + 44, 0x80000000 + slip44, 0x80000000 + msg.accountIdx, 0, 0] }];
|
|
35
38
|
}
|
|
39
|
+
// Solana uses the Ed25519 elliptic curve for cryptographic operations, which requires
|
|
40
|
+
// all levels of the derivation path to be hardened. This ensures enhanced security by
|
|
41
|
+
// isolating child keys from their parent keys, as Ed25519 does not support non-hardened
|
|
42
|
+
// derivation.
|
|
43
|
+
//
|
|
44
|
+
// The standard BIP44 derivation path for Solana is:
|
|
45
|
+
// m/44'/501'/<account>'/0'
|
|
46
|
+
// - 44': Purpose field, indicating compliance with the BIP44 standard.
|
|
47
|
+
// - 501': Coin type for Solana, registered in SLIP-0044.
|
|
48
|
+
// - <account>': A hardened account index to separate different accounts.
|
|
49
|
+
// - 0': A fixed hardened change/index value for Solana's single-layer account model.
|
|
50
|
+
//
|
|
51
|
+
// https://github.com/solana-labs/solana/blob/master/clap-v3-utils/src/keygen/derivation_path.rs#L7
|
|
52
|
+
function solanaAddressNListToBIP32(addressNList) {
|
|
53
|
+
const hardenedBip32Path = (0, utils_1.addressNListToBIP32)((0, utils_1.hardenedPath)(addressNList));
|
|
54
|
+
return `${hardenedBip32Path}/0'`;
|
|
55
|
+
}
|
|
56
|
+
function toTransactionInstructions(instructions) {
|
|
57
|
+
return instructions.map((instruction) => new web3_js_1.TransactionInstruction({
|
|
58
|
+
keys: instruction.keys.map((key) => Object.assign(key, { pubkey: new web3_js_1.PublicKey(key.pubkey) })),
|
|
59
|
+
programId: new web3_js_1.PublicKey(instruction.programId),
|
|
60
|
+
data: instruction.data,
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
function solanaBuildTransaction(msg, address) {
|
|
64
|
+
var _a, _b;
|
|
65
|
+
const instructions = toTransactionInstructions((_a = msg.instructions) !== null && _a !== void 0 ? _a : []);
|
|
66
|
+
const value = Number(msg.value);
|
|
67
|
+
if (!isNaN(value) && value > 0 && msg.to) {
|
|
68
|
+
instructions.push(web3_js_1.SystemProgram.transfer({
|
|
69
|
+
fromPubkey: new web3_js_1.PublicKey(address),
|
|
70
|
+
toPubkey: new web3_js_1.PublicKey(msg.to),
|
|
71
|
+
lamports: value,
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
if (msg.computeUnitLimit !== undefined) {
|
|
75
|
+
instructions.push(web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: msg.computeUnitLimit }));
|
|
76
|
+
}
|
|
77
|
+
if (msg.computeUnitPrice !== undefined) {
|
|
78
|
+
instructions.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({ microLamports: msg.computeUnitPrice }));
|
|
79
|
+
}
|
|
80
|
+
const addressLookupTableAccounts = (_b = msg.addressLookupTableAccountInfos) === null || _b === void 0 ? void 0 : _b.map((accountInfo) => {
|
|
81
|
+
return new web3_js_1.AddressLookupTableAccount({
|
|
82
|
+
key: new web3_js_1.PublicKey(accountInfo.key),
|
|
83
|
+
state: web3_js_1.AddressLookupTableAccount.deserialize(new Uint8Array(accountInfo.data)),
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
const message = new web3_js_1.TransactionMessage({
|
|
87
|
+
payerKey: new web3_js_1.PublicKey(address),
|
|
88
|
+
instructions,
|
|
89
|
+
recentBlockhash: msg.blockHash,
|
|
90
|
+
}).compileToV0Message(addressLookupTableAccounts);
|
|
91
|
+
return new web3_js_1.VersionedTransaction(message);
|
|
92
|
+
}
|
|
36
93
|
//# sourceMappingURL=solana.js.map
|
package/dist/solana.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapeshiftoss/hdwallet-core",
|
|
3
|
-
"version": "1.56.0",
|
|
3
|
+
"version": "1.56.1-alpha.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -27,5 +27,5 @@
|
|
|
27
27
|
"@types/google-protobuf": "^3.15.1",
|
|
28
28
|
"@types/lodash": "^4.14.168"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "9480248c878a1032354d6dd5b97290b77e90daad"
|
|
31
31
|
}
|