@injectivelabs/wallet-ledger 1.16.16 → 1.16.18
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/cjs/strategy/Ledger/Base.js +2 -2
- package/dist/cjs/strategy/Ledger/Eip1193Provider.d.ts +1 -1
- package/dist/cjs/strategy/Ledger/utils.d.ts +16 -2
- package/dist/cjs/strategy/Ledger/utils.js +7 -12
- package/dist/esm/strategy/Ledger/Base.js +2 -2
- package/dist/esm/strategy/Ledger/Eip1193Provider.d.ts +1 -1
- package/dist/esm/strategy/Ledger/utils.d.ts +16 -2
- package/dist/esm/strategy/Ledger/utils.js +8 -13
- package/package.json +6 -6
|
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const utils_1 = require("@injectivelabs/utils");
|
|
7
6
|
const viem_1 = require("viem");
|
|
7
|
+
const utils_1 = require("@injectivelabs/utils");
|
|
8
8
|
const ts_types_1 = require("@injectivelabs/ts-types");
|
|
9
9
|
const sdk_ts_1 = require("@injectivelabs/sdk-ts");
|
|
10
10
|
const alchemy_sdk_1 = require("alchemy-sdk");
|
|
@@ -112,7 +112,7 @@ class LedgerBase extends wallet_base_1.BaseConcreteStrategy {
|
|
|
112
112
|
}
|
|
113
113
|
try {
|
|
114
114
|
const ledger = await this.ledger.getInstance();
|
|
115
|
-
const result = await ledger.signEIP712HashedMessage(derivationPath, (0,
|
|
115
|
+
const result = await ledger.signEIP712HashedMessage(derivationPath, (0, utils_js_1.domainHash)(object), (0, utils_js_1.messageHash)(object));
|
|
116
116
|
const combined = `${result.r}${result.s}${result.v.toString(16)}`;
|
|
117
117
|
return combined.startsWith('0x') ? combined : `0x${combined}`;
|
|
118
118
|
}
|
|
@@ -3309,7 +3309,7 @@ export declare class LedgerEip1193Provider implements Eip1193Provider {
|
|
|
3309
3309
|
authorizationList: import("viem").TransactionSerializableEIP7702["authorizationList"];
|
|
3310
3310
|
} ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_12 extends "eip7702" ? import("viem").TransactionRequestEIP7702 : never : never : never)>> & {
|
|
3311
3311
|
chainId?: number | undefined;
|
|
3312
|
-
}, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "
|
|
3312
|
+
}, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
|
|
3313
3313
|
requestAddresses: () => Promise<import("viem").RequestAddressesReturnType>;
|
|
3314
3314
|
requestPermissions: (args: import("viem").RequestPermissionsParameters) => Promise<import("viem").RequestPermissionsReturnType>;
|
|
3315
3315
|
sendCalls: <const calls extends readonly unknown[], chainOverride extends viemChains.Chain | undefined = undefined>(parameters: import("viem").SendCallsParameters<viemChains.Chain, {
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
type TypeDefinition = Record<string, Array<{
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
}>>;
|
|
5
|
+
interface EIP712Message {
|
|
6
|
+
types: TypeDefinition;
|
|
7
|
+
domain: Record<string, any>;
|
|
8
|
+
primaryType: string;
|
|
9
|
+
message: Record<string, any>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Used mainly for Ledger Nano S
|
|
13
|
+
*/
|
|
14
|
+
export declare const domainHash: (message: EIP712Message) => `0x${string}`;
|
|
15
|
+
export declare const messageHash: (message: EIP712Message) => `0x${string}`;
|
|
16
|
+
export {};
|
|
@@ -2,23 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.messageHash = exports.domainHash = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
|
+
/**
|
|
6
|
+
* Used mainly for Ledger Nano S
|
|
7
|
+
*/
|
|
5
8
|
const domainHash = (message) => {
|
|
6
|
-
|
|
7
|
-
domain: message.domain,
|
|
8
|
-
types: message.types,
|
|
9
|
-
primaryType: 'EIP712Domain',
|
|
10
|
-
message: message.domain,
|
|
11
|
-
};
|
|
12
|
-
return (0, viem_1.hashTypedData)(typedData);
|
|
9
|
+
return (0, viem_1.hashDomain)({ domain: message.domain, types: message.types });
|
|
13
10
|
};
|
|
14
11
|
exports.domainHash = domainHash;
|
|
15
12
|
const messageHash = (message) => {
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
return (0, viem_1.hashStruct)({
|
|
14
|
+
data: message.message,
|
|
18
15
|
types: message.types,
|
|
19
16
|
primaryType: message.primaryType,
|
|
20
|
-
|
|
21
|
-
};
|
|
22
|
-
return (0, viem_1.hashTypedData)(typedData);
|
|
17
|
+
});
|
|
23
18
|
};
|
|
24
19
|
exports.messageHash = messageHash;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { serializeTransaction } from 'viem';
|
|
1
2
|
import { sleep } from '@injectivelabs/utils';
|
|
2
|
-
import { toHex, serializeTransaction } from 'viem';
|
|
3
3
|
import { EvmChainId } from '@injectivelabs/ts-types';
|
|
4
4
|
import { toUtf8, TxGrpcApi } from '@injectivelabs/sdk-ts';
|
|
5
5
|
import { Alchemy, Network as AlchemyNetwork } from 'alchemy-sdk';
|
|
@@ -107,7 +107,7 @@ export default class LedgerBase extends BaseConcreteStrategy {
|
|
|
107
107
|
}
|
|
108
108
|
try {
|
|
109
109
|
const ledger = await this.ledger.getInstance();
|
|
110
|
-
const result = await ledger.signEIP712HashedMessage(derivationPath,
|
|
110
|
+
const result = await ledger.signEIP712HashedMessage(derivationPath, domainHash(object), messageHash(object));
|
|
111
111
|
const combined = `${result.r}${result.s}${result.v.toString(16)}`;
|
|
112
112
|
return combined.startsWith('0x') ? combined : `0x${combined}`;
|
|
113
113
|
}
|
|
@@ -3309,7 +3309,7 @@ export declare class LedgerEip1193Provider implements Eip1193Provider {
|
|
|
3309
3309
|
authorizationList: import("viem").TransactionSerializableEIP7702["authorizationList"];
|
|
3310
3310
|
} ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_12 extends "eip7702" ? import("viem").TransactionRequestEIP7702 : never : never : never)>> & {
|
|
3311
3311
|
chainId?: number | undefined;
|
|
3312
|
-
}, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "
|
|
3312
|
+
}, (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly import("viem").PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "fees" | "gas" | "nonce" | "blobVersionedHashes" | "chainId") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: T[K]; } : never>;
|
|
3313
3313
|
requestAddresses: () => Promise<import("viem").RequestAddressesReturnType>;
|
|
3314
3314
|
requestPermissions: (args: import("viem").RequestPermissionsParameters) => Promise<import("viem").RequestPermissionsReturnType>;
|
|
3315
3315
|
sendCalls: <const calls extends readonly unknown[], chainOverride extends viemChains.Chain | undefined = undefined>(parameters: import("viem").SendCallsParameters<viemChains.Chain, {
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
type TypeDefinition = Record<string, Array<{
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
}>>;
|
|
5
|
+
interface EIP712Message {
|
|
6
|
+
types: TypeDefinition;
|
|
7
|
+
domain: Record<string, any>;
|
|
8
|
+
primaryType: string;
|
|
9
|
+
message: Record<string, any>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Used mainly for Ledger Nano S
|
|
13
|
+
*/
|
|
14
|
+
export declare const domainHash: (message: EIP712Message) => `0x${string}`;
|
|
15
|
+
export declare const messageHash: (message: EIP712Message) => `0x${string}`;
|
|
16
|
+
export {};
|
|
@@ -1,19 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hashDomain, hashStruct } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Used mainly for Ledger Nano S
|
|
4
|
+
*/
|
|
2
5
|
export const domainHash = (message) => {
|
|
3
|
-
|
|
4
|
-
domain: message.domain,
|
|
5
|
-
types: message.types,
|
|
6
|
-
primaryType: 'EIP712Domain',
|
|
7
|
-
message: message.domain,
|
|
8
|
-
};
|
|
9
|
-
return hashTypedData(typedData);
|
|
6
|
+
return hashDomain({ domain: message.domain, types: message.types });
|
|
10
7
|
};
|
|
11
8
|
export const messageHash = (message) => {
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
return hashStruct({
|
|
10
|
+
data: message.message,
|
|
14
11
|
types: message.types,
|
|
15
12
|
primaryType: message.primaryType,
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
return hashTypedData(typedData);
|
|
13
|
+
});
|
|
19
14
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@injectivelabs/wallet-ledger",
|
|
3
3
|
"description": "Ledger wallet strategy for use with @injectivelabs/wallet-core.",
|
|
4
|
-
"version": "1.16.
|
|
4
|
+
"version": "1.16.18",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"author": {
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
"@bangjelkoski/ledgerhq-hw-transport": "6.31.4-beta.0",
|
|
62
62
|
"@bangjelkoski/ledgerhq-hw-transport-webhid": "6.30.0-beta.0",
|
|
63
63
|
"@bangjelkoski/ledgerhq-hw-transport-webusb": "6.29.4-beta.0",
|
|
64
|
-
"@injectivelabs/exceptions": "1.16.
|
|
65
|
-
"@injectivelabs/sdk-ts": "1.16.
|
|
66
|
-
"@injectivelabs/ts-types": "1.16.
|
|
67
|
-
"@injectivelabs/wallet-base": "1.16.
|
|
64
|
+
"@injectivelabs/exceptions": "1.16.18",
|
|
65
|
+
"@injectivelabs/sdk-ts": "1.16.18",
|
|
66
|
+
"@injectivelabs/ts-types": "1.16.18",
|
|
67
|
+
"@injectivelabs/wallet-base": "1.16.18",
|
|
68
68
|
"alchemy-sdk": "^3.4.7",
|
|
69
69
|
"viem": "^2.33.2"
|
|
70
70
|
},
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"@types/ledgerhq__hw-transport-webusb": "^4.70.1",
|
|
73
73
|
"shx": "^0.3.4"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "c3bd5cd1b67e53b3bf6a17fc31cb9cd2ff7151d9"
|
|
76
76
|
}
|