@shapeshiftoss/hdwallet-vultisig 1.62.5

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 (50) hide show
  1. package/LICENSE.md +21 -0
  2. package/dist/adapter.d.ts +22 -0
  3. package/dist/adapter.d.ts.map +1 -0
  4. package/dist/adapter.js +84 -0
  5. package/dist/adapter.js.map +1 -0
  6. package/dist/bitcoin.d.ts +6 -0
  7. package/dist/bitcoin.d.ts.map +1 -0
  8. package/dist/bitcoin.js +184 -0
  9. package/dist/bitcoin.js.map +1 -0
  10. package/dist/cosmos.d.ts +6 -0
  11. package/dist/cosmos.d.ts.map +1 -0
  12. package/dist/cosmos.js +47 -0
  13. package/dist/cosmos.js.map +1 -0
  14. package/dist/ethereum.d.ts +12 -0
  15. package/dist/ethereum.d.ts.map +1 -0
  16. package/dist/ethereum.js +193 -0
  17. package/dist/ethereum.js.map +1 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +19 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/solana.d.ts +9 -0
  23. package/dist/solana.d.ts.map +1 -0
  24. package/dist/solana.js +55 -0
  25. package/dist/solana.js.map +1 -0
  26. package/dist/thorchain.d.ts +6 -0
  27. package/dist/thorchain.d.ts.map +1 -0
  28. package/dist/thorchain.js +46 -0
  29. package/dist/thorchain.js.map +1 -0
  30. package/dist/types.d.ts +50 -0
  31. package/dist/types.d.ts.map +1 -0
  32. package/dist/types.js +3 -0
  33. package/dist/types.js.map +1 -0
  34. package/dist/vultisig.d.ts +123 -0
  35. package/dist/vultisig.d.ts.map +1 -0
  36. package/dist/vultisig.js +482 -0
  37. package/dist/vultisig.js.map +1 -0
  38. package/package.json +31 -0
  39. package/src/adapter.ts +72 -0
  40. package/src/bitcoin.ts +171 -0
  41. package/src/cosmos.ts +43 -0
  42. package/src/ethereum.ts +169 -0
  43. package/src/index.ts +2 -0
  44. package/src/solana.ts +31 -0
  45. package/src/thorchain.ts +43 -0
  46. package/src/types.ts +62 -0
  47. package/src/vultisig.test.ts +253 -0
  48. package/src/vultisig.ts +459 -0
  49. package/tsconfig.json +10 -0
  50. package/tsconfig.tsbuildinfo +1 -0
package/dist/index.js ADDED
@@ -0,0 +1,19 @@
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
+ __exportStar(require("./adapter"), exports);
18
+ __exportStar(require("./vultisig"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,6CAA2B"}
@@ -0,0 +1,9 @@
1
+ import * as core from "@shapeshiftoss/hdwallet-core";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ import { VultisigSolanaProvider } from "./types";
4
+ export type SolanaAccount = {
5
+ publicKey: PublicKey;
6
+ };
7
+ export declare function solanaSignTx(msg: core.SolanaSignTx, provider: VultisigSolanaProvider, address: string): Promise<core.SolanaSignedTx | null>;
8
+ export declare function solanaSendTx(msg: core.SolanaSignTx, provider: VultisigSolanaProvider, address: string): Promise<core.SolanaTxSignature | null>;
9
+ //# 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;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAsB,YAAY,CAChC,GAAG,EAAE,IAAI,CAAC,YAAY,EACtB,QAAQ,EAAE,sBAAsB,EAChC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAOrC;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,IAAI,CAAC,YAAY,EACtB,QAAQ,EAAE,sBAAsB,EAChC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAIxC"}
package/dist/solana.js ADDED
@@ -0,0 +1,55 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.solanaSignTx = solanaSignTx;
36
+ exports.solanaSendTx = solanaSendTx;
37
+ const core = __importStar(require("@shapeshiftoss/hdwallet-core"));
38
+ function solanaSignTx(msg, provider, address) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const transaction = core.solanaBuildTransaction(msg, address);
41
+ const signedTransaction = yield provider.signTransaction(transaction);
42
+ return {
43
+ serialized: Buffer.from(signedTransaction.serialize()).toString("base64"),
44
+ signatures: signedTransaction.signatures.map((signature) => Buffer.from(signature).toString("base64")),
45
+ };
46
+ });
47
+ }
48
+ function solanaSendTx(msg, provider, address) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const transaction = core.solanaBuildTransaction(msg, address);
51
+ const { signature } = yield provider.signAndSendTransaction(transaction);
52
+ return { signature };
53
+ });
54
+ }
55
+ //# sourceMappingURL=solana.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../src/solana.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,oCAWC;AAED,oCAQC;AA9BD,mEAAqD;AASrD,SAAsB,YAAY,CAChC,GAAsB,EACtB,QAAgC,EAChC,OAAe;;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACtE,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzE,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACvG,CAAC;IACJ,CAAC;CAAA;AAED,SAAsB,YAAY,CAChC,GAAsB,EACtB,QAAgC,EAChC,OAAe;;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACzE,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;CAAA"}
@@ -0,0 +1,6 @@
1
+ import { CosmosAccountPath, CosmosGetAccountPaths, CosmosSignedTx, CosmosSignTx } from "@shapeshiftoss/hdwallet-core";
2
+ import { VultisigOfflineProvider } from "./types";
3
+ export declare function thorchainGetAccountPaths(msg: CosmosGetAccountPaths): Array<CosmosAccountPath>;
4
+ export declare function thorchainGetAddress(provider: VultisigOfflineProvider): Promise<string | undefined>;
5
+ export declare function thorchainSignTx(provider: VultisigOfflineProvider, msg: CosmosSignTx): Promise<CosmosSignedTx>;
6
+ //# sourceMappingURL=thorchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thorchain.d.ts","sourceRoot":"","sources":["../src/thorchain.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,YAAY,EAEb,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAM7F;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAIxG;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAenH"}
@@ -0,0 +1,46 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.thorchainGetAccountPaths = thorchainGetAccountPaths;
13
+ exports.thorchainGetAddress = thorchainGetAddress;
14
+ exports.thorchainSignTx = thorchainSignTx;
15
+ const hdwallet_core_1 = require("@shapeshiftoss/hdwallet-core");
16
+ const proto_tx_builder_1 = require("@shapeshiftoss/proto-tx-builder");
17
+ function thorchainGetAccountPaths(msg) {
18
+ return [
19
+ {
20
+ addressNList: [0x80000000 + 44, 0x80000000 + (0, hdwallet_core_1.slip44ByCoin)("Thorchain"), 0x80000000 + msg.accountIdx, 0, 0],
21
+ },
22
+ ];
23
+ }
24
+ function thorchainGetAddress(provider) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const offlineSigner = provider.getOfflineSigner("thorchain-1");
27
+ const accounts = yield offlineSigner.getAccounts();
28
+ return accounts[0].address;
29
+ });
30
+ }
31
+ function thorchainSignTx(provider, msg) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ const offlineSigner = provider.getOfflineSigner(msg.chain_id);
34
+ const address = yield thorchainGetAddress(provider);
35
+ if (!address)
36
+ throw new Error("failed to get address");
37
+ const signerData = {
38
+ sequence: Number(msg.sequence),
39
+ accountNumber: Number(msg.account_number),
40
+ chainId: msg.chain_id,
41
+ };
42
+ const result = yield (0, proto_tx_builder_1.sign)(address, msg.tx, offlineSigner, signerData, "thor");
43
+ return result;
44
+ });
45
+ }
46
+ //# sourceMappingURL=thorchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thorchain.js","sourceRoot":"","sources":["../src/thorchain.ts"],"names":[],"mappings":";;;;;;;;;;;AAaA,4DAMC;AAED,kDAIC;AAED,0CAeC;AAxCD,gEAMsC;AACtC,sEAAuD;AAIvD,SAAgB,wBAAwB,CAAC,GAA0B;IACjE,OAAO;QACL;YACE,YAAY,EAAE,CAAC,UAAU,GAAG,EAAE,EAAE,UAAU,GAAG,IAAA,4BAAY,EAAC,WAAW,CAAC,EAAE,UAAU,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;SAC3G;KACF,CAAC;AACJ,CAAC;AAED,SAAsB,mBAAmB,CAAC,QAAiC;;QACzE,MAAM,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7B,CAAC;CAAA;AAED,SAAsB,eAAe,CAAC,QAAiC,EAAE,GAAiB;;QACxF,MAAM,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9D,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAe;YAC7B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC9B,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;YACzC,OAAO,EAAE,GAAG,CAAC,QAAQ;SACtB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAI,EAAC,OAAO,EAAE,GAAG,CAAC,EAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEvF,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA"}
@@ -0,0 +1,50 @@
1
+ import { OfflineSigner } from "@cosmjs/proto-signing";
2
+ import { PublicKey, VersionedTransaction } from "@solana/web3.js";
3
+ import { TransactionSignature } from "@solana/web3.js";
4
+ import { providers } from "ethers";
5
+ import { SolanaAccount } from "./solana";
6
+ export type VultisigRequestParams = {
7
+ get_accounts: [];
8
+ request_accounts: [];
9
+ };
10
+ type VultisigRequestReturn = {
11
+ get_accounts: Promise<string[]>;
12
+ request_accounts: Promise<string[]>;
13
+ };
14
+ type VultisigRequestMethod = keyof VultisigRequestParams;
15
+ export type VultisigRequestPayload<M extends VultisigRequestMethod> = {
16
+ method: M;
17
+ params: VultisigRequestParams[M];
18
+ };
19
+ export type VultisigEvmProvider = providers.ExternalProvider;
20
+ export type VultisigUtxoProvider = {
21
+ request<M extends VultisigRequestMethod>(payload: VultisigRequestPayload<M>): Promise<VultisigRequestReturn[M]>;
22
+ signPSBT(psbt: Uint8Array, { inputsToSign, }: {
23
+ inputsToSign: {
24
+ address: string;
25
+ signingIndexes: number[];
26
+ sigHash?: number;
27
+ }[];
28
+ }, broadcast: boolean): Promise<Uint8Array>;
29
+ };
30
+ export type VultisigSolanaProvider = providers.ExternalProvider & {
31
+ publicKey?: PublicKey;
32
+ connect(): Promise<SolanaAccount>;
33
+ signTransaction(transaction: VersionedTransaction): Promise<VersionedTransaction>;
34
+ signAndSendTransaction(transaction: VersionedTransaction): Promise<{
35
+ signature: TransactionSignature;
36
+ }>;
37
+ };
38
+ export type VultisigOfflineProvider = providers.ExternalProvider & {
39
+ getOfflineSigner(chainId: string): OfflineSigner;
40
+ };
41
+ export type VultisigGetVault = {
42
+ hexChainCode: string;
43
+ isFastVault: boolean;
44
+ name: string;
45
+ publicKeyEcdsa: string;
46
+ publicKeyEddsa: string;
47
+ uid: string;
48
+ };
49
+ export {};
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,EAAE,CAAC;IACjB,gBAAgB,EAAE,EAAE,CAAC;CACtB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF,KAAK,qBAAqB,GAAG,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,qBAAqB,IAAI;IACpE,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC,gBAAgB,CAAC;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,CAAC,SAAS,qBAAqB,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,QAAQ,CACN,IAAI,EAAE,UAAU,EAChB,EACE,YAAY,GACb,EAAE;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,MAAM,CAAC;YAChB,cAAc,EAAE,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,EAAE,CAAC;KACL,EACD,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,gBAAgB,GAAG;IAChE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAClC,eAAe,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClF,sBAAsB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;CACzG,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,gBAAgB,GAAG;IACjE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC"}
package/dist/types.js ADDED
@@ -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/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,123 @@
1
+ import * as core from "@shapeshiftoss/hdwallet-core";
2
+ import { Address } from "@shapeshiftoss/hdwallet-core";
3
+ import { VultisigEvmProvider, VultisigOfflineProvider, VultisigSolanaProvider, VultisigUtxoProvider } from "./types";
4
+ export declare function isVultisig(wallet: core.HDWallet): wallet is VultisigHDWallet;
5
+ export declare class VultisigHDWalletInfo implements core.HDWalletInfo, core.BTCWalletInfo, core.ETHWalletInfo, core.SolanaWalletInfo, core.ThorchainWalletInfo, core.CosmosWalletInfo {
6
+ readonly _supportsBTCInfo = false;
7
+ readonly _supportsETHInfo = true;
8
+ readonly _supportsSolanaInfo = true;
9
+ readonly _supportsThorchainInfo = true;
10
+ readonly _supportsCosmosInfo = true;
11
+ constructor();
12
+ getVendor(): string;
13
+ hasOnDevicePinEntry(): boolean;
14
+ hasOnDevicePassphrase(): boolean;
15
+ hasOnDeviceDisplay(): boolean;
16
+ hasOnDeviceRecovery(): boolean;
17
+ hasNativeShapeShift(srcCoin: core.Coin, dstCoin: core.Coin): boolean;
18
+ supportsBip44Accounts(): boolean;
19
+ supportsOfflineSigning(): boolean;
20
+ supportsBroadcast(): boolean;
21
+ describePath(msg: core.DescribePath): core.PathDescription;
22
+ /** Ethereum */
23
+ ethSupportsNetwork(chainId?: number): Promise<boolean>;
24
+ ethSupportsSecureTransfer(): Promise<boolean>;
25
+ ethSupportsNativeShapeShift(): boolean;
26
+ ethSupportsEIP1559(): Promise<boolean>;
27
+ ethGetAccountPaths(msg: core.ETHGetAccountPath): Array<core.ETHAccountPath>;
28
+ ethNextAccountPath(msg: core.ETHAccountPath): core.ETHAccountPath | undefined;
29
+ /** Bitcoin */
30
+ btcSupportsCoin(coin: core.Coin): Promise<boolean>;
31
+ btcSupportsScriptType(coin: string, scriptType?: core.BTCInputScriptType | undefined): Promise<boolean>;
32
+ btcSupportsSecureTransfer(): Promise<boolean>;
33
+ btcSupportsNativeShapeShift(): boolean;
34
+ btcGetAccountPaths(msg: core.BTCGetAccountPaths): Array<core.BTCAccountPath>;
35
+ btcNextAccountPath(msg: core.BTCAccountPath): core.BTCAccountPath | undefined;
36
+ /** Solana */
37
+ solanaGetAccountPaths(msg: core.SolanaGetAccountPaths): Array<core.SolanaAccountPath>;
38
+ solanaNextAccountPath(msg: core.SolanaAccountPath): core.SolanaAccountPath | undefined;
39
+ thorchainGetAccountPaths(msg: core.ThorchainGetAccountPaths): Array<core.ThorchainAccountPath>;
40
+ thorchainNextAccountPath(msg: core.ThorchainAccountPath): core.ThorchainAccountPath | undefined;
41
+ cosmosGetAccountPaths(msg: core.CosmosGetAccountPaths): Array<core.CosmosAccountPath>;
42
+ cosmosNextAccountPath(_msg: core.CosmosAccountPath): core.CosmosAccountPath | undefined;
43
+ }
44
+ export declare class VultisigHDWallet extends VultisigHDWalletInfo implements core.HDWallet, core.BTCWallet, core.ETHWallet, core.SolanaWallet, core.ThorchainWallet, core.CosmosWallet {
45
+ readonly _supportsBTC = false;
46
+ readonly _supportsETH = true;
47
+ readonly _supportsEthSwitchChain = true;
48
+ readonly _supportsAvalanche = true;
49
+ readonly _supportsOptimism = true;
50
+ readonly _supportsPolygon = true;
51
+ readonly _supportsGnosis = false;
52
+ readonly _supportsArbitrum = true;
53
+ readonly _supportsArbitrumNova = false;
54
+ readonly _supportsBase = true;
55
+ readonly _supportsBSC = true;
56
+ readonly _supportsSolana = true;
57
+ readonly _supportsThorchain = true;
58
+ readonly _supportsCosmos = true;
59
+ readonly _isVultisig = true;
60
+ evmProvider: VultisigEvmProvider;
61
+ bitcoinProvider: VultisigUtxoProvider;
62
+ solanaProvider: VultisigSolanaProvider;
63
+ thorchainProvider: VultisigOfflineProvider;
64
+ cosmosProvider: VultisigOfflineProvider;
65
+ ethAddress?: Address | null;
66
+ constructor(providers: {
67
+ evmProvider: VultisigEvmProvider;
68
+ bitcoinProvider: VultisigUtxoProvider;
69
+ solanaProvider: VultisigSolanaProvider;
70
+ thorchainProvider: VultisigOfflineProvider;
71
+ cosmosProvider: VultisigOfflineProvider;
72
+ });
73
+ transport?: core.Transport | undefined;
74
+ getDeviceID(): Promise<string>;
75
+ getFeatures(): Promise<Record<string, any>>;
76
+ getFirmwareVersion(): Promise<string>;
77
+ getModel(): Promise<string>;
78
+ getLabel(): Promise<string>;
79
+ isInitialized(): Promise<boolean>;
80
+ isLocked(): Promise<boolean>;
81
+ clearSession(): Promise<void>;
82
+ initialize(): Promise<void>;
83
+ ping(msg: core.Ping): Promise<core.Pong>;
84
+ sendPin(pin: string): Promise<void>;
85
+ sendPassphrase(passphrase: string): Promise<void>;
86
+ sendCharacter(charater: string): Promise<void>;
87
+ sendWord(word: string): Promise<void>;
88
+ cancel(): Promise<void>;
89
+ wipe(): Promise<void>;
90
+ reset(msg: core.ResetDevice): Promise<void>;
91
+ recover(msg: core.RecoverDevice): Promise<void>;
92
+ loadDevice(msg: core.LoadDevice): Promise<void>;
93
+ disconnect(): Promise<void>;
94
+ getPublicKeys(msg: Array<core.GetPublicKey>): Promise<Array<core.PublicKey | null>>;
95
+ /** Ethereum */
96
+ ethGetAddress(_msg: core.ETHGetAddress): Promise<core.Address | null>;
97
+ ethSignTx(msg: core.ETHSignTx): Promise<core.ETHSignedTx | null>;
98
+ ethSendTx(msg: core.ETHSignTx): Promise<core.ETHTxHash | null>;
99
+ ethSignMessage(msg: core.ETHSignMessage): Promise<core.ETHSignedMessage | null>;
100
+ ethSignTypedData(msg: core.ETHSignTypedData): Promise<core.ETHSignedTypedData | null>;
101
+ ethVerifyMessage(msg: core.ETHVerifyMessage): Promise<boolean | null>;
102
+ ethGetChainId(): Promise<number | null>;
103
+ ethAddChain(params: core.AddEthereumChainParameter): Promise<void>;
104
+ ethSwitchChain(params: core.AddEthereumChainParameter): Promise<void>;
105
+ /** Bitcoin */
106
+ btcGetAddress(msg: core.BTCGetAddress): Promise<string | null>;
107
+ btcSignTx(msg: core.BTCSignTx): Promise<core.BTCSignedTx | null>;
108
+ btcSignMessage(msg: core.BTCSignMessage): Promise<core.BTCSignedMessage | null>;
109
+ btcVerifyMessage(msg: core.BTCVerifyMessage): Promise<boolean | null>;
110
+ /** get vault */
111
+ getVault(): Promise<string | null>;
112
+ /** Solana */
113
+ solanaGetAddress(): Promise<string | null>;
114
+ solanaSignTx(msg: core.SolanaSignTx): Promise<core.SolanaSignedTx | null>;
115
+ solanaSendTx(msg: core.SolanaSignTx): Promise<core.SolanaTxSignature | null>;
116
+ /** THORChain */
117
+ thorchainGetAddress(): Promise<string | null>;
118
+ thorchainSignTx(msg: core.ThorchainSignTx): Promise<core.ThorchainSignedTx | null>;
119
+ /** Cosmos */
120
+ cosmosGetAddress(): Promise<string | null>;
121
+ cosmosSignTx(msg: core.CosmosSignTx): Promise<core.CosmosSignedTx | null>;
122
+ }
123
+ //# sourceMappingURL=vultisig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vultisig.d.ts","sourceRoot":"","sources":["../src/vultisig.ts"],"names":[],"mappings":"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"}