@metamask-previews/keyring-internal-api 0.0.1-11541a9
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 +10 -0
- package/README.md +15 -0
- package/dist/api.cjs +138 -0
- package/dist/api.cjs.map +1 -0
- package/dist/api.d.cts +420 -0
- package/dist/api.d.cts.map +1 -0
- package/dist/api.d.mts +420 -0
- package/dist/api.d.mts.map +1 -0
- package/dist/api.mjs +135 -0
- package/dist/api.mjs.map +1 -0
- package/dist/btc/index.cjs +18 -0
- package/dist/btc/index.cjs.map +1 -0
- package/dist/btc/index.d.cts +2 -0
- package/dist/btc/index.d.cts.map +1 -0
- package/dist/btc/index.d.mts +2 -0
- package/dist/btc/index.d.mts.map +1 -0
- package/dist/btc/index.mjs +2 -0
- package/dist/btc/index.mjs.map +1 -0
- package/dist/btc/types.cjs +40 -0
- package/dist/btc/types.cjs.map +1 -0
- package/dist/btc/types.d.cts +34 -0
- package/dist/btc/types.d.cts.map +1 -0
- package/dist/btc/types.d.mts +34 -0
- package/dist/btc/types.d.mts.map +1 -0
- package/dist/btc/types.mjs +37 -0
- package/dist/btc/types.mjs.map +1 -0
- package/dist/eth/EthKeyring.cjs +3 -0
- package/dist/eth/EthKeyring.cjs.map +1 -0
- package/dist/eth/EthKeyring.d.cts +34 -0
- package/dist/eth/EthKeyring.d.cts.map +1 -0
- package/dist/eth/EthKeyring.d.mts +34 -0
- package/dist/eth/EthKeyring.d.mts.map +1 -0
- package/dist/eth/EthKeyring.mjs +2 -0
- package/dist/eth/EthKeyring.mjs.map +1 -0
- package/dist/eth/erc4337/index.cjs +18 -0
- package/dist/eth/erc4337/index.cjs.map +1 -0
- package/dist/eth/erc4337/index.d.cts +2 -0
- package/dist/eth/erc4337/index.d.cts.map +1 -0
- package/dist/eth/erc4337/index.d.mts +2 -0
- package/dist/eth/erc4337/index.d.mts.map +1 -0
- package/dist/eth/erc4337/index.mjs +2 -0
- package/dist/eth/erc4337/index.mjs.map +1 -0
- package/dist/eth/erc4337/types.cjs +61 -0
- package/dist/eth/erc4337/types.cjs.map +1 -0
- package/dist/eth/erc4337/types.d.cts +98 -0
- package/dist/eth/erc4337/types.d.cts.map +1 -0
- package/dist/eth/erc4337/types.d.mts +98 -0
- package/dist/eth/erc4337/types.d.mts.map +1 -0
- package/dist/eth/erc4337/types.mjs +58 -0
- package/dist/eth/erc4337/types.mjs.map +1 -0
- package/dist/eth/index.cjs +20 -0
- package/dist/eth/index.cjs.map +1 -0
- package/dist/eth/index.d.cts +5 -0
- package/dist/eth/index.d.cts.map +1 -0
- package/dist/eth/index.d.mts +5 -0
- package/dist/eth/index.d.mts.map +1 -0
- package/dist/eth/index.mjs +4 -0
- package/dist/eth/index.mjs.map +1 -0
- package/dist/eth/types.cjs +73 -0
- package/dist/eth/types.cjs.map +1 -0
- package/dist/eth/types.d.cts +81 -0
- package/dist/eth/types.d.cts.map +1 -0
- package/dist/eth/types.d.mts +81 -0
- package/dist/eth/types.d.mts.map +1 -0
- package/dist/eth/types.mjs +70 -0
- package/dist/eth/types.mjs.map +1 -0
- package/dist/eth/utils.cjs +14 -0
- package/dist/eth/utils.cjs.map +1 -0
- package/dist/eth/utils.d.cts +9 -0
- package/dist/eth/utils.d.cts.map +1 -0
- package/dist/eth/utils.d.mts +9 -0
- package/dist/eth/utils.d.mts.map +1 -0
- package/dist/eth/utils.mjs +11 -0
- package/dist/eth/utils.mjs.map +1 -0
- package/dist/events.cjs +83 -0
- package/dist/events.cjs.map +1 -0
- package/dist/events.d.cts +172 -0
- package/dist/events.d.cts.map +1 -0
- package/dist/events.d.mts +172 -0
- package/dist/events.d.mts.map +1 -0
- package/dist/events.mjs +80 -0
- package/dist/events.mjs.map +1 -0
- package/dist/index.cjs +24 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +8 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +8 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +8 -0
- package/dist/index.mjs.map +1 -0
- package/dist/rpc.cjs +33 -0
- package/dist/rpc.cjs.map +1 -0
- package/dist/rpc.d.cts +26 -0
- package/dist/rpc.d.cts.map +1 -0
- package/dist/rpc.d.mts +26 -0
- package/dist/rpc.d.mts.map +1 -0
- package/dist/rpc.mjs +29 -0
- package/dist/rpc.mjs.map +1 -0
- package/dist/sol/index.cjs +18 -0
- package/dist/sol/index.cjs.map +1 -0
- package/dist/sol/index.d.cts +2 -0
- package/dist/sol/index.d.cts.map +1 -0
- package/dist/sol/index.d.mts +2 -0
- package/dist/sol/index.d.mts.map +1 -0
- package/dist/sol/index.mjs +2 -0
- package/dist/sol/index.mjs.map +1 -0
- package/dist/sol/types.cjs +36 -0
- package/dist/sol/types.cjs.map +1 -0
- package/dist/sol/types.d.cts +39 -0
- package/dist/sol/types.d.cts.map +1 -0
- package/dist/sol/types.d.mts +39 -0
- package/dist/sol/types.d.mts.map +1 -0
- package/dist/sol/types.mjs +33 -0
- package/dist/sol/types.mjs.map +1 -0
- package/dist/types.cjs +56 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +392 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +392 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +53 -0
- package/dist/types.mjs.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { exactOptional, object, UrlStruct } from "@metamask/keyring-utils";
|
|
2
|
+
import { EthAddressStruct, EthBytesStruct, EthUint256Struct } from "../types.mjs";
|
|
3
|
+
/**
|
|
4
|
+
* Struct of a UserOperation as defined by ERC-4337.
|
|
5
|
+
*
|
|
6
|
+
* @see https://eips.ethereum.org/EIPS/eip-4337#definitions
|
|
7
|
+
*/
|
|
8
|
+
export const EthUserOperationStruct = object({
|
|
9
|
+
sender: EthAddressStruct,
|
|
10
|
+
nonce: EthUint256Struct,
|
|
11
|
+
initCode: EthBytesStruct,
|
|
12
|
+
callData: EthBytesStruct,
|
|
13
|
+
callGasLimit: EthUint256Struct,
|
|
14
|
+
verificationGasLimit: EthUint256Struct,
|
|
15
|
+
preVerificationGas: EthUint256Struct,
|
|
16
|
+
maxFeePerGas: EthUint256Struct,
|
|
17
|
+
maxPriorityFeePerGas: EthUint256Struct,
|
|
18
|
+
paymasterAndData: EthBytesStruct,
|
|
19
|
+
signature: EthBytesStruct,
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* Struct containing the most basic transaction information required to
|
|
23
|
+
* construct a UserOperation.
|
|
24
|
+
*/
|
|
25
|
+
export const EthBaseTransactionStruct = object({
|
|
26
|
+
/**
|
|
27
|
+
* Address of the transaction recipient.
|
|
28
|
+
*/
|
|
29
|
+
to: EthAddressStruct,
|
|
30
|
+
/**
|
|
31
|
+
* Amount of wei to transfer to the recipient.
|
|
32
|
+
*/
|
|
33
|
+
value: EthUint256Struct,
|
|
34
|
+
/**
|
|
35
|
+
* Data to pass to the recipient.
|
|
36
|
+
*/
|
|
37
|
+
data: EthBytesStruct,
|
|
38
|
+
});
|
|
39
|
+
export const EthBaseUserOperationStruct = object({
|
|
40
|
+
nonce: EthUint256Struct,
|
|
41
|
+
initCode: EthBytesStruct,
|
|
42
|
+
callData: EthBytesStruct,
|
|
43
|
+
gasLimits: exactOptional(object({
|
|
44
|
+
callGasLimit: EthUint256Struct,
|
|
45
|
+
verificationGasLimit: EthUint256Struct,
|
|
46
|
+
preVerificationGas: EthUint256Struct,
|
|
47
|
+
})),
|
|
48
|
+
dummyPaymasterAndData: EthBytesStruct,
|
|
49
|
+
dummySignature: EthBytesStruct,
|
|
50
|
+
bundlerUrl: UrlStruct,
|
|
51
|
+
});
|
|
52
|
+
export const EthUserOperationPatchStruct = object({
|
|
53
|
+
paymasterAndData: EthBytesStruct,
|
|
54
|
+
callGasLimit: exactOptional(EthUint256Struct),
|
|
55
|
+
verificationGasLimit: exactOptional(EthUint256Struct),
|
|
56
|
+
preVerificationGas: exactOptional(EthUint256Struct),
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../../src/eth/erc4337/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,gCAAgC;AAG3E,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,qBAAiB;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;IAC3C,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,gBAAgB;IAC9B,oBAAoB,EAAE,gBAAgB;IACtC,kBAAkB,EAAE,gBAAgB;IACpC,YAAY,EAAE,gBAAgB;IAC9B,oBAAoB,EAAE,gBAAgB;IACtC,gBAAgB,EAAE,cAAc;IAChC,SAAS,EAAE,cAAc;CAC1B,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;IAC7C;;OAEG;IACH,EAAE,EAAE,gBAAgB;IAEpB;;OAEG;IACH,KAAK,EAAE,gBAAgB;IAEvB;;OAEG;IACH,IAAI,EAAE,cAAc;CACrB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;IAC/C,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,aAAa,CACtB,MAAM,CAAC;QACL,YAAY,EAAE,gBAAgB;QAC9B,oBAAoB,EAAE,gBAAgB;QACtC,kBAAkB,EAAE,gBAAgB;KACrC,CAAC,CACH;IACD,qBAAqB,EAAE,cAAc;IACrC,cAAc,EAAE,cAAc;IAC9B,UAAU,EAAE,SAAS;CACtB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;IAChD,gBAAgB,EAAE,cAAc;IAChC,YAAY,EAAE,aAAa,CAAC,gBAAgB,CAAC;IAC7C,oBAAoB,EAAE,aAAa,CAAC,gBAAgB,CAAC;IACrD,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,CAAC;CACpD,CAAC,CAAC","sourcesContent":["import { exactOptional, object, UrlStruct } from '@metamask/keyring-utils';\nimport { type Infer } from '@metamask/superstruct';\n\nimport { EthAddressStruct, EthBytesStruct, EthUint256Struct } from '../types';\n\n/**\n * Struct of a UserOperation as defined by ERC-4337.\n *\n * @see https://eips.ethereum.org/EIPS/eip-4337#definitions\n */\nexport const EthUserOperationStruct = object({\n sender: EthAddressStruct,\n nonce: EthUint256Struct,\n initCode: EthBytesStruct,\n callData: EthBytesStruct,\n callGasLimit: EthUint256Struct,\n verificationGasLimit: EthUint256Struct,\n preVerificationGas: EthUint256Struct,\n maxFeePerGas: EthUint256Struct,\n maxPriorityFeePerGas: EthUint256Struct,\n paymasterAndData: EthBytesStruct,\n signature: EthBytesStruct,\n});\n\nexport type EthUserOperation = Infer<typeof EthUserOperationStruct>;\n\n/**\n * Struct containing the most basic transaction information required to\n * construct a UserOperation.\n */\nexport const EthBaseTransactionStruct = object({\n /**\n * Address of the transaction recipient.\n */\n to: EthAddressStruct,\n\n /**\n * Amount of wei to transfer to the recipient.\n */\n value: EthUint256Struct,\n\n /**\n * Data to pass to the recipient.\n */\n data: EthBytesStruct,\n});\n\nexport type EthBaseTransaction = Infer<typeof EthBaseTransactionStruct>;\n\nexport const EthBaseUserOperationStruct = object({\n nonce: EthUint256Struct,\n initCode: EthBytesStruct,\n callData: EthBytesStruct,\n gasLimits: exactOptional(\n object({\n callGasLimit: EthUint256Struct,\n verificationGasLimit: EthUint256Struct,\n preVerificationGas: EthUint256Struct,\n }),\n ),\n dummyPaymasterAndData: EthBytesStruct,\n dummySignature: EthBytesStruct,\n bundlerUrl: UrlStruct,\n});\n\nexport type EthBaseUserOperation = Infer<typeof EthBaseUserOperationStruct>;\n\nexport const EthUserOperationPatchStruct = object({\n paymasterAndData: EthBytesStruct,\n callGasLimit: exactOptional(EthUint256Struct),\n verificationGasLimit: exactOptional(EthUint256Struct),\n preVerificationGas: exactOptional(EthUint256Struct),\n});\n\nexport type EthUserOperationPatch = Infer<typeof EthUserOperationPatchStruct>;\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
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("./erc4337/index.cjs"), exports);
|
|
18
|
+
__exportStar(require("./types.cjs"), exports);
|
|
19
|
+
__exportStar(require("./utils.cjs"), exports);
|
|
20
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/eth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAA0B;AAC1B,8CAAwB;AACxB,8CAAwB","sourcesContent":["export * from './erc4337';\nexport * from './types';\nexport * from './utils';\nexport type * from './EthKeyring';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/eth/index.ts"],"names":[],"mappings":"AAAA,oCAA0B;AAC1B,4BAAwB;AACxB,4BAAwB;AACxB,sCAAkC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/eth/index.ts"],"names":[],"mappings":"AAAA,oCAA0B;AAC1B,4BAAwB;AACxB,4BAAwB;AACxB,sCAAkC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/eth/index.ts"],"names":[],"mappings":"AAAA,oCAA0B;AAC1B,4BAAwB;AACxB,4BAAwB","sourcesContent":["export * from './erc4337';\nexport * from './types';\nexport * from './utils';\nexport type * from './EthKeyring';\n"]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EthErc4337AccountStruct = exports.EthEoaAccountStruct = exports.EthMethod = exports.EthUint256Struct = exports.EthAddressStruct = exports.EthBytesStruct = void 0;
|
|
4
|
+
const keyring_api_1 = require("@metamask/keyring-api");
|
|
5
|
+
const keyring_utils_1 = require("@metamask/keyring-utils");
|
|
6
|
+
const superstruct_1 = require("@metamask/superstruct");
|
|
7
|
+
exports.EthBytesStruct = (0, keyring_utils_1.definePattern)('EthBytes', /^0x[0-9a-f]*$/iu);
|
|
8
|
+
exports.EthAddressStruct = (0, keyring_utils_1.definePattern)('EthAddress', /^0x[0-9a-f]{40}$/iu);
|
|
9
|
+
exports.EthUint256Struct = (0, keyring_utils_1.definePattern)('EthUint256', /^0x([1-9a-f][0-9a-f]*|0)$/iu);
|
|
10
|
+
/**
|
|
11
|
+
* Supported Ethereum methods.
|
|
12
|
+
*/
|
|
13
|
+
var EthMethod;
|
|
14
|
+
(function (EthMethod) {
|
|
15
|
+
// General signing methods
|
|
16
|
+
EthMethod["PersonalSign"] = "personal_sign";
|
|
17
|
+
EthMethod["Sign"] = "eth_sign";
|
|
18
|
+
EthMethod["SignTransaction"] = "eth_signTransaction";
|
|
19
|
+
EthMethod["SignTypedDataV1"] = "eth_signTypedData_v1";
|
|
20
|
+
EthMethod["SignTypedDataV3"] = "eth_signTypedData_v3";
|
|
21
|
+
EthMethod["SignTypedDataV4"] = "eth_signTypedData_v4";
|
|
22
|
+
// ERC-4337 methods
|
|
23
|
+
EthMethod["PrepareUserOperation"] = "eth_prepareUserOperation";
|
|
24
|
+
EthMethod["PatchUserOperation"] = "eth_patchUserOperation";
|
|
25
|
+
EthMethod["SignUserOperation"] = "eth_signUserOperation";
|
|
26
|
+
})(EthMethod || (exports.EthMethod = EthMethod = {}));
|
|
27
|
+
exports.EthEoaAccountStruct = (0, keyring_utils_1.object)({
|
|
28
|
+
...keyring_api_1.KeyringAccountStruct.schema,
|
|
29
|
+
/**
|
|
30
|
+
* Account address.
|
|
31
|
+
*/
|
|
32
|
+
address: exports.EthAddressStruct,
|
|
33
|
+
/**
|
|
34
|
+
* Account type.
|
|
35
|
+
*/
|
|
36
|
+
type: (0, superstruct_1.literal)(`${keyring_api_1.EthAccountType.Eoa}`),
|
|
37
|
+
/**
|
|
38
|
+
* Account supported methods.
|
|
39
|
+
*/
|
|
40
|
+
methods: (0, superstruct_1.array)((0, superstruct_1.enums)([
|
|
41
|
+
`${EthMethod.PersonalSign}`,
|
|
42
|
+
`${EthMethod.Sign}`,
|
|
43
|
+
`${EthMethod.SignTransaction}`,
|
|
44
|
+
`${EthMethod.SignTypedDataV1}`,
|
|
45
|
+
`${EthMethod.SignTypedDataV3}`,
|
|
46
|
+
`${EthMethod.SignTypedDataV4}`,
|
|
47
|
+
])),
|
|
48
|
+
});
|
|
49
|
+
exports.EthErc4337AccountStruct = (0, keyring_utils_1.object)({
|
|
50
|
+
...keyring_api_1.KeyringAccountStruct.schema,
|
|
51
|
+
/**
|
|
52
|
+
* Account address.
|
|
53
|
+
*/
|
|
54
|
+
address: exports.EthAddressStruct,
|
|
55
|
+
/**
|
|
56
|
+
* Account type.
|
|
57
|
+
*/
|
|
58
|
+
type: (0, superstruct_1.literal)(`${keyring_api_1.EthAccountType.Erc4337}`),
|
|
59
|
+
/**
|
|
60
|
+
* Account supported methods.
|
|
61
|
+
*/
|
|
62
|
+
methods: (0, superstruct_1.array)((0, superstruct_1.enums)([
|
|
63
|
+
`${EthMethod.PersonalSign}`,
|
|
64
|
+
`${EthMethod.Sign}`,
|
|
65
|
+
`${EthMethod.SignTypedDataV1}`,
|
|
66
|
+
`${EthMethod.SignTypedDataV3}`,
|
|
67
|
+
`${EthMethod.SignTypedDataV4}`,
|
|
68
|
+
`${EthMethod.PrepareUserOperation}`,
|
|
69
|
+
`${EthMethod.PatchUserOperation}`,
|
|
70
|
+
`${EthMethod.SignUserOperation}`,
|
|
71
|
+
])),
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=types.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../../src/eth/types.ts"],"names":[],"mappings":";;;AAAA,uDAA6E;AAC7E,2DAAgE;AAEhE,uDAA8D;AAEjD,QAAA,cAAc,GAAG,IAAA,6BAAa,EAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAE9D,QAAA,gBAAgB,GAAG,IAAA,6BAAa,EAC3C,YAAY,EACZ,oBAAoB,CACrB,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAA,6BAAa,EAC3C,YAAY,EACZ,6BAA6B,CAC9B,CAAC;AAEF;;GAEG;AACH,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,0BAA0B;IAC1B,2CAA8B,CAAA;IAC9B,8BAAiB,CAAA;IACjB,oDAAuC,CAAA;IACvC,qDAAwC,CAAA;IACxC,qDAAwC,CAAA;IACxC,qDAAwC,CAAA;IACxC,mBAAmB;IACnB,8DAAiD,CAAA;IACjD,0DAA6C,CAAA;IAC7C,wDAA2C,CAAA;AAC7C,CAAC,EAZW,SAAS,yBAAT,SAAS,QAYpB;AAEY,QAAA,mBAAmB,GAAG,IAAA,sBAAM,EAAC;IACxC,GAAG,kCAAoB,CAAC,MAAM;IAE9B;;OAEG;IACH,OAAO,EAAE,wBAAgB;IAEzB;;OAEG;IACH,IAAI,EAAE,IAAA,qBAAO,EAAC,GAAG,4BAAc,CAAC,GAAG,EAAE,CAAC;IAEtC;;OAEG;IACH,OAAO,EAAE,IAAA,mBAAK,EACZ,IAAA,mBAAK,EAAC;QACJ,GAAG,SAAS,CAAC,YAAY,EAAE;QAC3B,GAAG,SAAS,CAAC,IAAI,EAAE;QACnB,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;KAC/B,CAAC,CACH;CACF,CAAC,CAAC;AAIU,QAAA,uBAAuB,GAAG,IAAA,sBAAM,EAAC;IAC5C,GAAG,kCAAoB,CAAC,MAAM;IAE9B;;OAEG;IACH,OAAO,EAAE,wBAAgB;IAEzB;;OAEG;IACH,IAAI,EAAE,IAAA,qBAAO,EAAC,GAAG,4BAAc,CAAC,OAAO,EAAE,CAAC;IAE1C;;OAEG;IACH,OAAO,EAAE,IAAA,mBAAK,EACZ,IAAA,mBAAK,EAAC;QACJ,GAAG,SAAS,CAAC,YAAY,EAAE;QAC3B,GAAG,SAAS,CAAC,IAAI,EAAE;QACnB,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,oBAAoB,EAAE;QACnC,GAAG,SAAS,CAAC,kBAAkB,EAAE;QACjC,GAAG,SAAS,CAAC,iBAAiB,EAAE;KACjC,CAAC,CACH;CACF,CAAC,CAAC","sourcesContent":["import { EthAccountType, KeyringAccountStruct } from '@metamask/keyring-api';\nimport { object, definePattern } from '@metamask/keyring-utils';\nimport type { Infer } from '@metamask/superstruct';\nimport { array, enums, literal } from '@metamask/superstruct';\n\nexport const EthBytesStruct = definePattern('EthBytes', /^0x[0-9a-f]*$/iu);\n\nexport const EthAddressStruct = definePattern(\n 'EthAddress',\n /^0x[0-9a-f]{40}$/iu,\n);\n\nexport const EthUint256Struct = definePattern(\n 'EthUint256',\n /^0x([1-9a-f][0-9a-f]*|0)$/iu,\n);\n\n/**\n * Supported Ethereum methods.\n */\nexport enum EthMethod {\n // General signing methods\n PersonalSign = 'personal_sign',\n Sign = 'eth_sign',\n SignTransaction = 'eth_signTransaction',\n SignTypedDataV1 = 'eth_signTypedData_v1',\n SignTypedDataV3 = 'eth_signTypedData_v3',\n SignTypedDataV4 = 'eth_signTypedData_v4',\n // ERC-4337 methods\n PrepareUserOperation = 'eth_prepareUserOperation',\n PatchUserOperation = 'eth_patchUserOperation',\n SignUserOperation = 'eth_signUserOperation',\n}\n\nexport const EthEoaAccountStruct = object({\n ...KeyringAccountStruct.schema,\n\n /**\n * Account address.\n */\n address: EthAddressStruct,\n\n /**\n * Account type.\n */\n type: literal(`${EthAccountType.Eoa}`),\n\n /**\n * Account supported methods.\n */\n methods: array(\n enums([\n `${EthMethod.PersonalSign}`,\n `${EthMethod.Sign}`,\n `${EthMethod.SignTransaction}`,\n `${EthMethod.SignTypedDataV1}`,\n `${EthMethod.SignTypedDataV3}`,\n `${EthMethod.SignTypedDataV4}`,\n ]),\n ),\n});\n\nexport type EthEoaAccount = Infer<typeof EthEoaAccountStruct>;\n\nexport const EthErc4337AccountStruct = object({\n ...KeyringAccountStruct.schema,\n\n /**\n * Account address.\n */\n address: EthAddressStruct,\n\n /**\n * Account type.\n */\n type: literal(`${EthAccountType.Erc4337}`),\n\n /**\n * Account supported methods.\n */\n methods: array(\n enums([\n `${EthMethod.PersonalSign}`,\n `${EthMethod.Sign}`,\n `${EthMethod.SignTypedDataV1}`,\n `${EthMethod.SignTypedDataV3}`,\n `${EthMethod.SignTypedDataV4}`,\n `${EthMethod.PrepareUserOperation}`,\n `${EthMethod.PatchUserOperation}`,\n `${EthMethod.SignUserOperation}`,\n ]),\n ),\n});\n\nexport type EthErc4337Account = Infer<typeof EthErc4337AccountStruct>;\n"]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { Infer } from "@metamask/superstruct";
|
|
2
|
+
export declare const EthBytesStruct: import("@metamask/superstruct").Struct<string, null>;
|
|
3
|
+
export declare const EthAddressStruct: import("@metamask/superstruct").Struct<string, null>;
|
|
4
|
+
export declare const EthUint256Struct: import("@metamask/superstruct").Struct<string, null>;
|
|
5
|
+
/**
|
|
6
|
+
* Supported Ethereum methods.
|
|
7
|
+
*/
|
|
8
|
+
export declare enum EthMethod {
|
|
9
|
+
PersonalSign = "personal_sign",
|
|
10
|
+
Sign = "eth_sign",
|
|
11
|
+
SignTransaction = "eth_signTransaction",
|
|
12
|
+
SignTypedDataV1 = "eth_signTypedData_v1",
|
|
13
|
+
SignTypedDataV3 = "eth_signTypedData_v3",
|
|
14
|
+
SignTypedDataV4 = "eth_signTypedData_v4",
|
|
15
|
+
PrepareUserOperation = "eth_prepareUserOperation",
|
|
16
|
+
PatchUserOperation = "eth_patchUserOperation",
|
|
17
|
+
SignUserOperation = "eth_signUserOperation"
|
|
18
|
+
}
|
|
19
|
+
export declare const EthEoaAccountStruct: import("@metamask/superstruct").Struct<{
|
|
20
|
+
id: string;
|
|
21
|
+
options: Record<string, import("@metamask/utils").Json>;
|
|
22
|
+
type: "eip155:eoa";
|
|
23
|
+
address: string;
|
|
24
|
+
methods: ("personal_sign" | "eth_sign" | "eth_signTransaction" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4")[];
|
|
25
|
+
}, {
|
|
26
|
+
/**
|
|
27
|
+
* Account address.
|
|
28
|
+
*/
|
|
29
|
+
address: import("@metamask/superstruct").Struct<string, null>;
|
|
30
|
+
/**
|
|
31
|
+
* Account type.
|
|
32
|
+
*/
|
|
33
|
+
type: import("@metamask/superstruct").Struct<"eip155:eoa", "eip155:eoa">;
|
|
34
|
+
/**
|
|
35
|
+
* Account supported methods.
|
|
36
|
+
*/
|
|
37
|
+
methods: import("@metamask/superstruct").Struct<("personal_sign" | "eth_sign" | "eth_signTransaction" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4")[], import("@metamask/superstruct").Struct<"personal_sign" | "eth_sign" | "eth_signTransaction" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4", {
|
|
38
|
+
personal_sign: "personal_sign";
|
|
39
|
+
eth_sign: "eth_sign";
|
|
40
|
+
eth_signTransaction: "eth_signTransaction";
|
|
41
|
+
eth_signTypedData_v1: "eth_signTypedData_v1";
|
|
42
|
+
eth_signTypedData_v3: "eth_signTypedData_v3";
|
|
43
|
+
eth_signTypedData_v4: "eth_signTypedData_v4";
|
|
44
|
+
}>>;
|
|
45
|
+
id: import("@metamask/superstruct").Struct<string, null>;
|
|
46
|
+
options: import("@metamask/superstruct").Struct<Record<string, import("@metamask/utils").Json>, null>;
|
|
47
|
+
}>;
|
|
48
|
+
export type EthEoaAccount = Infer<typeof EthEoaAccountStruct>;
|
|
49
|
+
export declare const EthErc4337AccountStruct: import("@metamask/superstruct").Struct<{
|
|
50
|
+
id: string;
|
|
51
|
+
options: Record<string, import("@metamask/utils").Json>;
|
|
52
|
+
type: "eip155:erc4337";
|
|
53
|
+
address: string;
|
|
54
|
+
methods: ("personal_sign" | "eth_sign" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "eth_prepareUserOperation" | "eth_patchUserOperation" | "eth_signUserOperation")[];
|
|
55
|
+
}, {
|
|
56
|
+
/**
|
|
57
|
+
* Account address.
|
|
58
|
+
*/
|
|
59
|
+
address: import("@metamask/superstruct").Struct<string, null>;
|
|
60
|
+
/**
|
|
61
|
+
* Account type.
|
|
62
|
+
*/
|
|
63
|
+
type: import("@metamask/superstruct").Struct<"eip155:erc4337", "eip155:erc4337">;
|
|
64
|
+
/**
|
|
65
|
+
* Account supported methods.
|
|
66
|
+
*/
|
|
67
|
+
methods: import("@metamask/superstruct").Struct<("personal_sign" | "eth_sign" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "eth_prepareUserOperation" | "eth_patchUserOperation" | "eth_signUserOperation")[], import("@metamask/superstruct").Struct<"personal_sign" | "eth_sign" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "eth_prepareUserOperation" | "eth_patchUserOperation" | "eth_signUserOperation", {
|
|
68
|
+
personal_sign: "personal_sign";
|
|
69
|
+
eth_sign: "eth_sign";
|
|
70
|
+
eth_signTypedData_v1: "eth_signTypedData_v1";
|
|
71
|
+
eth_signTypedData_v3: "eth_signTypedData_v3";
|
|
72
|
+
eth_signTypedData_v4: "eth_signTypedData_v4";
|
|
73
|
+
eth_prepareUserOperation: "eth_prepareUserOperation";
|
|
74
|
+
eth_patchUserOperation: "eth_patchUserOperation";
|
|
75
|
+
eth_signUserOperation: "eth_signUserOperation";
|
|
76
|
+
}>>;
|
|
77
|
+
id: import("@metamask/superstruct").Struct<string, null>;
|
|
78
|
+
options: import("@metamask/superstruct").Struct<Record<string, import("@metamask/utils").Json>, null>;
|
|
79
|
+
}>;
|
|
80
|
+
export type EthErc4337Account = Infer<typeof EthErc4337AccountStruct>;
|
|
81
|
+
//# sourceMappingURL=types.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../../src/eth/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAGnD,eAAO,MAAM,cAAc,sDAA+C,CAAC;AAE3E,eAAO,MAAM,gBAAgB,sDAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,sDAG5B,CAAC;AAEF;;GAEG;AACH,oBAAY,SAAS;IAEnB,YAAY,kBAAkB;IAC9B,IAAI,aAAa;IACjB,eAAe,wBAAwB;IACvC,eAAe,yBAAyB;IACxC,eAAe,yBAAyB;IACxC,eAAe,yBAAyB;IAExC,oBAAoB,6BAA6B;IACjD,kBAAkB,2BAA2B;IAC7C,iBAAiB,0BAA0B;CAC5C;AAED,eAAO,MAAM,mBAAmB;;;;;;;IAG9B;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;EAWH,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE9D,eAAO,MAAM,uBAAuB;;;;;;;IAGlC;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;EAaH,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { Infer } from "@metamask/superstruct";
|
|
2
|
+
export declare const EthBytesStruct: import("@metamask/superstruct").Struct<string, null>;
|
|
3
|
+
export declare const EthAddressStruct: import("@metamask/superstruct").Struct<string, null>;
|
|
4
|
+
export declare const EthUint256Struct: import("@metamask/superstruct").Struct<string, null>;
|
|
5
|
+
/**
|
|
6
|
+
* Supported Ethereum methods.
|
|
7
|
+
*/
|
|
8
|
+
export declare enum EthMethod {
|
|
9
|
+
PersonalSign = "personal_sign",
|
|
10
|
+
Sign = "eth_sign",
|
|
11
|
+
SignTransaction = "eth_signTransaction",
|
|
12
|
+
SignTypedDataV1 = "eth_signTypedData_v1",
|
|
13
|
+
SignTypedDataV3 = "eth_signTypedData_v3",
|
|
14
|
+
SignTypedDataV4 = "eth_signTypedData_v4",
|
|
15
|
+
PrepareUserOperation = "eth_prepareUserOperation",
|
|
16
|
+
PatchUserOperation = "eth_patchUserOperation",
|
|
17
|
+
SignUserOperation = "eth_signUserOperation"
|
|
18
|
+
}
|
|
19
|
+
export declare const EthEoaAccountStruct: import("@metamask/superstruct").Struct<{
|
|
20
|
+
id: string;
|
|
21
|
+
options: Record<string, import("@metamask/utils").Json>;
|
|
22
|
+
type: "eip155:eoa";
|
|
23
|
+
address: string;
|
|
24
|
+
methods: ("personal_sign" | "eth_sign" | "eth_signTransaction" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4")[];
|
|
25
|
+
}, {
|
|
26
|
+
/**
|
|
27
|
+
* Account address.
|
|
28
|
+
*/
|
|
29
|
+
address: import("@metamask/superstruct").Struct<string, null>;
|
|
30
|
+
/**
|
|
31
|
+
* Account type.
|
|
32
|
+
*/
|
|
33
|
+
type: import("@metamask/superstruct").Struct<"eip155:eoa", "eip155:eoa">;
|
|
34
|
+
/**
|
|
35
|
+
* Account supported methods.
|
|
36
|
+
*/
|
|
37
|
+
methods: import("@metamask/superstruct").Struct<("personal_sign" | "eth_sign" | "eth_signTransaction" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4")[], import("@metamask/superstruct").Struct<"personal_sign" | "eth_sign" | "eth_signTransaction" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4", {
|
|
38
|
+
personal_sign: "personal_sign";
|
|
39
|
+
eth_sign: "eth_sign";
|
|
40
|
+
eth_signTransaction: "eth_signTransaction";
|
|
41
|
+
eth_signTypedData_v1: "eth_signTypedData_v1";
|
|
42
|
+
eth_signTypedData_v3: "eth_signTypedData_v3";
|
|
43
|
+
eth_signTypedData_v4: "eth_signTypedData_v4";
|
|
44
|
+
}>>;
|
|
45
|
+
id: import("@metamask/superstruct").Struct<string, null>;
|
|
46
|
+
options: import("@metamask/superstruct").Struct<Record<string, import("@metamask/utils").Json>, null>;
|
|
47
|
+
}>;
|
|
48
|
+
export type EthEoaAccount = Infer<typeof EthEoaAccountStruct>;
|
|
49
|
+
export declare const EthErc4337AccountStruct: import("@metamask/superstruct").Struct<{
|
|
50
|
+
id: string;
|
|
51
|
+
options: Record<string, import("@metamask/utils").Json>;
|
|
52
|
+
type: "eip155:erc4337";
|
|
53
|
+
address: string;
|
|
54
|
+
methods: ("personal_sign" | "eth_sign" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "eth_prepareUserOperation" | "eth_patchUserOperation" | "eth_signUserOperation")[];
|
|
55
|
+
}, {
|
|
56
|
+
/**
|
|
57
|
+
* Account address.
|
|
58
|
+
*/
|
|
59
|
+
address: import("@metamask/superstruct").Struct<string, null>;
|
|
60
|
+
/**
|
|
61
|
+
* Account type.
|
|
62
|
+
*/
|
|
63
|
+
type: import("@metamask/superstruct").Struct<"eip155:erc4337", "eip155:erc4337">;
|
|
64
|
+
/**
|
|
65
|
+
* Account supported methods.
|
|
66
|
+
*/
|
|
67
|
+
methods: import("@metamask/superstruct").Struct<("personal_sign" | "eth_sign" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "eth_prepareUserOperation" | "eth_patchUserOperation" | "eth_signUserOperation")[], import("@metamask/superstruct").Struct<"personal_sign" | "eth_sign" | "eth_signTypedData_v1" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "eth_prepareUserOperation" | "eth_patchUserOperation" | "eth_signUserOperation", {
|
|
68
|
+
personal_sign: "personal_sign";
|
|
69
|
+
eth_sign: "eth_sign";
|
|
70
|
+
eth_signTypedData_v1: "eth_signTypedData_v1";
|
|
71
|
+
eth_signTypedData_v3: "eth_signTypedData_v3";
|
|
72
|
+
eth_signTypedData_v4: "eth_signTypedData_v4";
|
|
73
|
+
eth_prepareUserOperation: "eth_prepareUserOperation";
|
|
74
|
+
eth_patchUserOperation: "eth_patchUserOperation";
|
|
75
|
+
eth_signUserOperation: "eth_signUserOperation";
|
|
76
|
+
}>>;
|
|
77
|
+
id: import("@metamask/superstruct").Struct<string, null>;
|
|
78
|
+
options: import("@metamask/superstruct").Struct<Record<string, import("@metamask/utils").Json>, null>;
|
|
79
|
+
}>;
|
|
80
|
+
export type EthErc4337Account = Infer<typeof EthErc4337AccountStruct>;
|
|
81
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../../src/eth/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAGnD,eAAO,MAAM,cAAc,sDAA+C,CAAC;AAE3E,eAAO,MAAM,gBAAgB,sDAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,sDAG5B,CAAC;AAEF;;GAEG;AACH,oBAAY,SAAS;IAEnB,YAAY,kBAAkB;IAC9B,IAAI,aAAa;IACjB,eAAe,wBAAwB;IACvC,eAAe,yBAAyB;IACxC,eAAe,yBAAyB;IACxC,eAAe,yBAAyB;IAExC,oBAAoB,6BAA6B;IACjD,kBAAkB,2BAA2B;IAC7C,iBAAiB,0BAA0B;CAC5C;AAED,eAAO,MAAM,mBAAmB;;;;;;;IAG9B;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;EAWH,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE9D,eAAO,MAAM,uBAAuB;;;;;;;IAGlC;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;EAaH,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { EthAccountType, KeyringAccountStruct } from "@metamask/keyring-api";
|
|
2
|
+
import { object, definePattern } from "@metamask/keyring-utils";
|
|
3
|
+
import { array, enums, literal } from "@metamask/superstruct";
|
|
4
|
+
export const EthBytesStruct = definePattern('EthBytes', /^0x[0-9a-f]*$/iu);
|
|
5
|
+
export const EthAddressStruct = definePattern('EthAddress', /^0x[0-9a-f]{40}$/iu);
|
|
6
|
+
export const EthUint256Struct = definePattern('EthUint256', /^0x([1-9a-f][0-9a-f]*|0)$/iu);
|
|
7
|
+
/**
|
|
8
|
+
* Supported Ethereum methods.
|
|
9
|
+
*/
|
|
10
|
+
export var EthMethod;
|
|
11
|
+
(function (EthMethod) {
|
|
12
|
+
// General signing methods
|
|
13
|
+
EthMethod["PersonalSign"] = "personal_sign";
|
|
14
|
+
EthMethod["Sign"] = "eth_sign";
|
|
15
|
+
EthMethod["SignTransaction"] = "eth_signTransaction";
|
|
16
|
+
EthMethod["SignTypedDataV1"] = "eth_signTypedData_v1";
|
|
17
|
+
EthMethod["SignTypedDataV3"] = "eth_signTypedData_v3";
|
|
18
|
+
EthMethod["SignTypedDataV4"] = "eth_signTypedData_v4";
|
|
19
|
+
// ERC-4337 methods
|
|
20
|
+
EthMethod["PrepareUserOperation"] = "eth_prepareUserOperation";
|
|
21
|
+
EthMethod["PatchUserOperation"] = "eth_patchUserOperation";
|
|
22
|
+
EthMethod["SignUserOperation"] = "eth_signUserOperation";
|
|
23
|
+
})(EthMethod || (EthMethod = {}));
|
|
24
|
+
export const EthEoaAccountStruct = object({
|
|
25
|
+
...KeyringAccountStruct.schema,
|
|
26
|
+
/**
|
|
27
|
+
* Account address.
|
|
28
|
+
*/
|
|
29
|
+
address: EthAddressStruct,
|
|
30
|
+
/**
|
|
31
|
+
* Account type.
|
|
32
|
+
*/
|
|
33
|
+
type: literal(`${EthAccountType.Eoa}`),
|
|
34
|
+
/**
|
|
35
|
+
* Account supported methods.
|
|
36
|
+
*/
|
|
37
|
+
methods: array(enums([
|
|
38
|
+
`${EthMethod.PersonalSign}`,
|
|
39
|
+
`${EthMethod.Sign}`,
|
|
40
|
+
`${EthMethod.SignTransaction}`,
|
|
41
|
+
`${EthMethod.SignTypedDataV1}`,
|
|
42
|
+
`${EthMethod.SignTypedDataV3}`,
|
|
43
|
+
`${EthMethod.SignTypedDataV4}`,
|
|
44
|
+
])),
|
|
45
|
+
});
|
|
46
|
+
export const EthErc4337AccountStruct = object({
|
|
47
|
+
...KeyringAccountStruct.schema,
|
|
48
|
+
/**
|
|
49
|
+
* Account address.
|
|
50
|
+
*/
|
|
51
|
+
address: EthAddressStruct,
|
|
52
|
+
/**
|
|
53
|
+
* Account type.
|
|
54
|
+
*/
|
|
55
|
+
type: literal(`${EthAccountType.Erc4337}`),
|
|
56
|
+
/**
|
|
57
|
+
* Account supported methods.
|
|
58
|
+
*/
|
|
59
|
+
methods: array(enums([
|
|
60
|
+
`${EthMethod.PersonalSign}`,
|
|
61
|
+
`${EthMethod.Sign}`,
|
|
62
|
+
`${EthMethod.SignTypedDataV1}`,
|
|
63
|
+
`${EthMethod.SignTypedDataV3}`,
|
|
64
|
+
`${EthMethod.SignTypedDataV4}`,
|
|
65
|
+
`${EthMethod.PrepareUserOperation}`,
|
|
66
|
+
`${EthMethod.PatchUserOperation}`,
|
|
67
|
+
`${EthMethod.SignUserOperation}`,
|
|
68
|
+
])),
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../../src/eth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,8BAA8B;AAC7E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gCAAgC;AAEhE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAC3C,YAAY,EACZ,oBAAoB,CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAC3C,YAAY,EACZ,6BAA6B,CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAN,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,0BAA0B;IAC1B,2CAA8B,CAAA;IAC9B,8BAAiB,CAAA;IACjB,oDAAuC,CAAA;IACvC,qDAAwC,CAAA;IACxC,qDAAwC,CAAA;IACxC,qDAAwC,CAAA;IACxC,mBAAmB;IACnB,8DAAiD,CAAA;IACjD,0DAA6C,CAAA;IAC7C,wDAA2C,CAAA;AAC7C,CAAC,EAZW,SAAS,KAAT,SAAS,QAYpB;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;IACxC,GAAG,oBAAoB,CAAC,MAAM;IAE9B;;OAEG;IACH,OAAO,EAAE,gBAAgB;IAEzB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;IAEtC;;OAEG;IACH,OAAO,EAAE,KAAK,CACZ,KAAK,CAAC;QACJ,GAAG,SAAS,CAAC,YAAY,EAAE;QAC3B,GAAG,SAAS,CAAC,IAAI,EAAE;QACnB,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;KAC/B,CAAC,CACH;CACF,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;IAC5C,GAAG,oBAAoB,CAAC,MAAM;IAE9B;;OAEG;IACH,OAAO,EAAE,gBAAgB;IAEzB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;IAE1C;;OAEG;IACH,OAAO,EAAE,KAAK,CACZ,KAAK,CAAC;QACJ,GAAG,SAAS,CAAC,YAAY,EAAE;QAC3B,GAAG,SAAS,CAAC,IAAI,EAAE;QACnB,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,eAAe,EAAE;QAC9B,GAAG,SAAS,CAAC,oBAAoB,EAAE;QACnC,GAAG,SAAS,CAAC,kBAAkB,EAAE;QACjC,GAAG,SAAS,CAAC,iBAAiB,EAAE;KACjC,CAAC,CACH;CACF,CAAC,CAAC","sourcesContent":["import { EthAccountType, KeyringAccountStruct } from '@metamask/keyring-api';\nimport { object, definePattern } from '@metamask/keyring-utils';\nimport type { Infer } from '@metamask/superstruct';\nimport { array, enums, literal } from '@metamask/superstruct';\n\nexport const EthBytesStruct = definePattern('EthBytes', /^0x[0-9a-f]*$/iu);\n\nexport const EthAddressStruct = definePattern(\n 'EthAddress',\n /^0x[0-9a-f]{40}$/iu,\n);\n\nexport const EthUint256Struct = definePattern(\n 'EthUint256',\n /^0x([1-9a-f][0-9a-f]*|0)$/iu,\n);\n\n/**\n * Supported Ethereum methods.\n */\nexport enum EthMethod {\n // General signing methods\n PersonalSign = 'personal_sign',\n Sign = 'eth_sign',\n SignTransaction = 'eth_signTransaction',\n SignTypedDataV1 = 'eth_signTypedData_v1',\n SignTypedDataV3 = 'eth_signTypedData_v3',\n SignTypedDataV4 = 'eth_signTypedData_v4',\n // ERC-4337 methods\n PrepareUserOperation = 'eth_prepareUserOperation',\n PatchUserOperation = 'eth_patchUserOperation',\n SignUserOperation = 'eth_signUserOperation',\n}\n\nexport const EthEoaAccountStruct = object({\n ...KeyringAccountStruct.schema,\n\n /**\n * Account address.\n */\n address: EthAddressStruct,\n\n /**\n * Account type.\n */\n type: literal(`${EthAccountType.Eoa}`),\n\n /**\n * Account supported methods.\n */\n methods: array(\n enums([\n `${EthMethod.PersonalSign}`,\n `${EthMethod.Sign}`,\n `${EthMethod.SignTransaction}`,\n `${EthMethod.SignTypedDataV1}`,\n `${EthMethod.SignTypedDataV3}`,\n `${EthMethod.SignTypedDataV4}`,\n ]),\n ),\n});\n\nexport type EthEoaAccount = Infer<typeof EthEoaAccountStruct>;\n\nexport const EthErc4337AccountStruct = object({\n ...KeyringAccountStruct.schema,\n\n /**\n * Account address.\n */\n address: EthAddressStruct,\n\n /**\n * Account type.\n */\n type: literal(`${EthAccountType.Erc4337}`),\n\n /**\n * Account supported methods.\n */\n methods: array(\n enums([\n `${EthMethod.PersonalSign}`,\n `${EthMethod.Sign}`,\n `${EthMethod.SignTypedDataV1}`,\n `${EthMethod.SignTypedDataV3}`,\n `${EthMethod.SignTypedDataV4}`,\n `${EthMethod.PrepareUserOperation}`,\n `${EthMethod.PatchUserOperation}`,\n `${EthMethod.SignUserOperation}`,\n ]),\n ),\n});\n\nexport type EthErc4337Account = Infer<typeof EthErc4337AccountStruct>;\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEvmAccountType = isEvmAccountType;
|
|
4
|
+
const keyring_api_1 = require("@metamask/keyring-api");
|
|
5
|
+
/**
|
|
6
|
+
* Checks if the given type is an EVM account type.
|
|
7
|
+
*
|
|
8
|
+
* @param type - The type to check.
|
|
9
|
+
* @returns Returns true if the type is an EVM account type, false otherwise.
|
|
10
|
+
*/
|
|
11
|
+
function isEvmAccountType(type) {
|
|
12
|
+
return type === keyring_api_1.EthAccountType.Eoa || type === keyring_api_1.EthAccountType.Erc4337;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.cjs","sourceRoot":"","sources":["../../src/eth/utils.ts"],"names":[],"mappings":";;AASA,4CAEC;AAVD,uDAAuD;AAEvD;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,IAAwB;IACvD,OAAO,IAAI,KAAK,4BAAc,CAAC,GAAG,IAAI,IAAI,KAAK,4BAAc,CAAC,OAAO,CAAC;AACxE,CAAC","sourcesContent":["import type { KeyringAccountType } from '@metamask/keyring-api';\nimport { EthAccountType } from '@metamask/keyring-api';\n\n/**\n * Checks if the given type is an EVM account type.\n *\n * @param type - The type to check.\n * @returns Returns true if the type is an EVM account type, false otherwise.\n */\nexport function isEvmAccountType(type: KeyringAccountType): boolean {\n return type === EthAccountType.Eoa || type === EthAccountType.Erc4337;\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { KeyringAccountType } from "@metamask/keyring-api";
|
|
2
|
+
/**
|
|
3
|
+
* Checks if the given type is an EVM account type.
|
|
4
|
+
*
|
|
5
|
+
* @param type - The type to check.
|
|
6
|
+
* @returns Returns true if the type is an EVM account type, false otherwise.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isEvmAccountType(type: KeyringAccountType): boolean;
|
|
9
|
+
//# sourceMappingURL=utils.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.cts","sourceRoot":"","sources":["../../src/eth/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,8BAA8B;AAGhE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAElE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { KeyringAccountType } from "@metamask/keyring-api";
|
|
2
|
+
/**
|
|
3
|
+
* Checks if the given type is an EVM account type.
|
|
4
|
+
*
|
|
5
|
+
* @param type - The type to check.
|
|
6
|
+
* @returns Returns true if the type is an EVM account type, false otherwise.
|
|
7
|
+
*/
|
|
8
|
+
export declare function isEvmAccountType(type: KeyringAccountType): boolean;
|
|
9
|
+
//# sourceMappingURL=utils.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.mts","sourceRoot":"","sources":["../../src/eth/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,8BAA8B;AAGhE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAElE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EthAccountType } from "@metamask/keyring-api";
|
|
2
|
+
/**
|
|
3
|
+
* Checks if the given type is an EVM account type.
|
|
4
|
+
*
|
|
5
|
+
* @param type - The type to check.
|
|
6
|
+
* @returns Returns true if the type is an EVM account type, false otherwise.
|
|
7
|
+
*/
|
|
8
|
+
export function isEvmAccountType(type) {
|
|
9
|
+
return type === EthAccountType.Eoa || type === EthAccountType.Erc4337;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../../src/eth/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,8BAA8B;AAEvD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAwB;IACvD,OAAO,IAAI,KAAK,cAAc,CAAC,GAAG,IAAI,IAAI,KAAK,cAAc,CAAC,OAAO,CAAC;AACxE,CAAC","sourcesContent":["import type { KeyringAccountType } from '@metamask/keyring-api';\nimport { EthAccountType } from '@metamask/keyring-api';\n\n/**\n * Checks if the given type is an EVM account type.\n *\n * @param type - The type to check.\n * @returns Returns true if the type is an EVM account type, false otherwise.\n */\nexport function isEvmAccountType(type: KeyringAccountType): boolean {\n return type === EthAccountType.Eoa || type === EthAccountType.Erc4337;\n}\n"]}
|
package/dist/events.cjs
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestRejectedEventStruct = exports.RequestApprovedEventStruct = exports.AccountDeletedEventStruct = exports.AccountUpdatedEventStruct = exports.AccountCreatedEventStruct = exports.KeyringEvent = void 0;
|
|
4
|
+
const keyring_api_1 = require("@metamask/keyring-api");
|
|
5
|
+
const keyring_utils_1 = require("@metamask/keyring-utils");
|
|
6
|
+
const superstruct_1 = require("@metamask/superstruct");
|
|
7
|
+
const utils_1 = require("@metamask/utils");
|
|
8
|
+
/**
|
|
9
|
+
* Supported keyring events.
|
|
10
|
+
*/
|
|
11
|
+
var KeyringEvent;
|
|
12
|
+
(function (KeyringEvent) {
|
|
13
|
+
// Account events
|
|
14
|
+
KeyringEvent["AccountCreated"] = "notify:accountCreated";
|
|
15
|
+
KeyringEvent["AccountUpdated"] = "notify:accountUpdated";
|
|
16
|
+
KeyringEvent["AccountDeleted"] = "notify:accountDeleted";
|
|
17
|
+
// Request events
|
|
18
|
+
KeyringEvent["RequestApproved"] = "notify:requestApproved";
|
|
19
|
+
KeyringEvent["RequestRejected"] = "notify:requestRejected";
|
|
20
|
+
})(KeyringEvent || (exports.KeyringEvent = KeyringEvent = {}));
|
|
21
|
+
exports.AccountCreatedEventStruct = (0, keyring_utils_1.object)({
|
|
22
|
+
method: (0, superstruct_1.literal)(`${KeyringEvent.AccountCreated}`),
|
|
23
|
+
params: (0, keyring_utils_1.object)({
|
|
24
|
+
/**
|
|
25
|
+
* New account object.
|
|
26
|
+
*/
|
|
27
|
+
account: keyring_api_1.KeyringAccountStruct,
|
|
28
|
+
/**
|
|
29
|
+
* Account name suggestion provided to the MetaMask client.
|
|
30
|
+
*
|
|
31
|
+
* The keyring can suggest a name for the account, but it's up to the
|
|
32
|
+
* client to decide whether to use it. The keyring won't be informed if the
|
|
33
|
+
* client decides to use a different name.
|
|
34
|
+
*/
|
|
35
|
+
accountNameSuggestion: (0, keyring_utils_1.exactOptional)((0, superstruct_1.string)()),
|
|
36
|
+
/**
|
|
37
|
+
* Instructs MetaMask to display the add account confirmation dialog in the UI.
|
|
38
|
+
* **Note:** This is not guaranteed to be honored by the MetaMask client.
|
|
39
|
+
*/
|
|
40
|
+
displayConfirmation: (0, keyring_utils_1.exactOptional)((0, superstruct_1.boolean)()),
|
|
41
|
+
}),
|
|
42
|
+
});
|
|
43
|
+
exports.AccountUpdatedEventStruct = (0, keyring_utils_1.object)({
|
|
44
|
+
method: (0, superstruct_1.literal)(`${KeyringEvent.AccountUpdated}`),
|
|
45
|
+
params: (0, keyring_utils_1.object)({
|
|
46
|
+
/**
|
|
47
|
+
* Updated account object.
|
|
48
|
+
*/
|
|
49
|
+
account: keyring_api_1.KeyringAccountStruct,
|
|
50
|
+
}),
|
|
51
|
+
});
|
|
52
|
+
exports.AccountDeletedEventStruct = (0, keyring_utils_1.object)({
|
|
53
|
+
method: (0, superstruct_1.literal)(`${KeyringEvent.AccountDeleted}`),
|
|
54
|
+
params: (0, keyring_utils_1.object)({
|
|
55
|
+
/**
|
|
56
|
+
* Deleted account ID.
|
|
57
|
+
*/
|
|
58
|
+
id: keyring_utils_1.UuidStruct,
|
|
59
|
+
}),
|
|
60
|
+
});
|
|
61
|
+
exports.RequestApprovedEventStruct = (0, keyring_utils_1.object)({
|
|
62
|
+
method: (0, superstruct_1.literal)(`${KeyringEvent.RequestApproved}`),
|
|
63
|
+
params: (0, keyring_utils_1.object)({
|
|
64
|
+
/**
|
|
65
|
+
* Request ID.
|
|
66
|
+
*/
|
|
67
|
+
id: keyring_utils_1.UuidStruct,
|
|
68
|
+
/**
|
|
69
|
+
* Request result.
|
|
70
|
+
*/
|
|
71
|
+
result: utils_1.JsonStruct,
|
|
72
|
+
}),
|
|
73
|
+
});
|
|
74
|
+
exports.RequestRejectedEventStruct = (0, keyring_utils_1.object)({
|
|
75
|
+
method: (0, superstruct_1.literal)(`${KeyringEvent.RequestRejected}`),
|
|
76
|
+
params: (0, keyring_utils_1.object)({
|
|
77
|
+
/**
|
|
78
|
+
* Request ID.
|
|
79
|
+
*/
|
|
80
|
+
id: keyring_utils_1.UuidStruct,
|
|
81
|
+
}),
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=events.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.cjs","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;AAAA,uDAA6D;AAC7D,2DAA4E;AAC5E,uDAAiE;AACjE,2CAA6C;AAE7C;;GAEG;AACH,IAAY,YASX;AATD,WAAY,YAAY;IACtB,iBAAiB;IACjB,wDAAwC,CAAA;IACxC,wDAAwC,CAAA;IACxC,wDAAwC,CAAA;IAExC,iBAAiB;IACjB,0DAA0C,CAAA;IAC1C,0DAA0C,CAAA;AAC5C,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB;AAEY,QAAA,yBAAyB,GAAG,IAAA,sBAAM,EAAC;IAC9C,MAAM,EAAE,IAAA,qBAAO,EAAC,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;IACjD,MAAM,EAAE,IAAA,sBAAM,EAAC;QACb;;WAEG;QACH,OAAO,EAAE,kCAAoB;QAE7B;;;;;;WAMG;QACH,qBAAqB,EAAE,IAAA,6BAAa,EAAC,IAAA,oBAAM,GAAE,CAAC;QAE9C;;;WAGG;QACH,mBAAmB,EAAE,IAAA,6BAAa,EAAC,IAAA,qBAAO,GAAE,CAAC;KAC9C,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,IAAA,sBAAM,EAAC;IAC9C,MAAM,EAAE,IAAA,qBAAO,EAAC,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;IACjD,MAAM,EAAE,IAAA,sBAAM,EAAC;QACb;;WAEG;QACH,OAAO,EAAE,kCAAoB;KAC9B,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,IAAA,sBAAM,EAAC;IAC9C,MAAM,EAAE,IAAA,qBAAO,EAAC,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;IACjD,MAAM,EAAE,IAAA,sBAAM,EAAC;QACb;;WAEG;QACH,EAAE,EAAE,0BAAU;KACf,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAAG,IAAA,sBAAM,EAAC;IAC/C,MAAM,EAAE,IAAA,qBAAO,EAAC,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,EAAE,IAAA,sBAAM,EAAC;QACb;;WAEG;QACH,EAAE,EAAE,0BAAU;QAEd;;WAEG;QACH,MAAM,EAAE,kBAAU;KACnB,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAAG,IAAA,sBAAM,EAAC;IAC/C,MAAM,EAAE,IAAA,qBAAO,EAAC,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,EAAE,IAAA,sBAAM,EAAC;QACb;;WAEG;QACH,EAAE,EAAE,0BAAU;KACf,CAAC;CACH,CAAC,CAAC","sourcesContent":["import { KeyringAccountStruct } from '@metamask/keyring-api';\nimport { exactOptional, object, UuidStruct } from '@metamask/keyring-utils';\nimport { boolean, literal, string } from '@metamask/superstruct';\nimport { JsonStruct } from '@metamask/utils';\n\n/**\n * Supported keyring events.\n */\nexport enum KeyringEvent {\n // Account events\n AccountCreated = 'notify:accountCreated',\n AccountUpdated = 'notify:accountUpdated',\n AccountDeleted = 'notify:accountDeleted',\n\n // Request events\n RequestApproved = 'notify:requestApproved',\n RequestRejected = 'notify:requestRejected',\n}\n\nexport const AccountCreatedEventStruct = object({\n method: literal(`${KeyringEvent.AccountCreated}`),\n params: object({\n /**\n * New account object.\n */\n account: KeyringAccountStruct,\n\n /**\n * Account name suggestion provided to the MetaMask client.\n *\n * The keyring can suggest a name for the account, but it's up to the\n * client to decide whether to use it. The keyring won't be informed if the\n * client decides to use a different name.\n */\n accountNameSuggestion: exactOptional(string()),\n\n /**\n * Instructs MetaMask to display the add account confirmation dialog in the UI.\n * **Note:** This is not guaranteed to be honored by the MetaMask client.\n */\n displayConfirmation: exactOptional(boolean()),\n }),\n});\n\nexport const AccountUpdatedEventStruct = object({\n method: literal(`${KeyringEvent.AccountUpdated}`),\n params: object({\n /**\n * Updated account object.\n */\n account: KeyringAccountStruct,\n }),\n});\n\nexport const AccountDeletedEventStruct = object({\n method: literal(`${KeyringEvent.AccountDeleted}`),\n params: object({\n /**\n * Deleted account ID.\n */\n id: UuidStruct,\n }),\n});\n\nexport const RequestApprovedEventStruct = object({\n method: literal(`${KeyringEvent.RequestApproved}`),\n params: object({\n /**\n * Request ID.\n */\n id: UuidStruct,\n\n /**\n * Request result.\n */\n result: JsonStruct,\n }),\n});\n\nexport const RequestRejectedEventStruct = object({\n method: literal(`${KeyringEvent.RequestRejected}`),\n params: object({\n /**\n * Request ID.\n */\n id: UuidStruct,\n }),\n});\n"]}
|