@metamask/eip-5792-middleware 1.1.0 → 1.2.1

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/types.d.mts CHANGED
@@ -34,6 +34,7 @@ export type GetCapabilitiesResult = Record<Hex, Record<string, Json>>;
34
34
  export type GetCapabilitiesHook = (address: GetCapabilitiesParams[0], chainIds: GetCapabilitiesParams[1], req: JsonRpcRequest) => Promise<GetCapabilitiesResult>;
35
35
  export type SendCallsParams = Infer<typeof SendCallsStruct>;
36
36
  export type SendCallsPayload = SendCallsParams[0];
37
+ export type SendCallsRequiredAssetsParam = Infer<typeof RequiredAssetStruct>;
37
38
  export type SendCallsResult = {
38
39
  id: Hex;
39
40
  capabilities?: Record<string, Json>;
@@ -41,8 +42,22 @@ export type SendCallsResult = {
41
42
  export type ProcessSendCallsHook = (sendCalls: SendCallsPayload, req: JsonRpcRequest) => Promise<SendCallsResult>;
42
43
  export declare const GetCallsStatusStruct: import("@metamask/superstruct").Struct<[`0x${string}`], null>;
43
44
  export declare const GetCapabilitiesStruct: import("@metamask/superstruct").Struct<[`0x${string}`, `0x${string}`[] | undefined], null>;
45
+ declare const RequiredAssetStruct: import("@metamask/superstruct").Struct<{
46
+ address: `0x${string}`;
47
+ standard: string;
48
+ amount: `0x${string}`;
49
+ }, {
50
+ address: import("@metamask/superstruct").Struct<`0x${string}`, null>;
51
+ amount: import("@metamask/superstruct").Struct<`0x${string}`, null>;
52
+ standard: import("@metamask/superstruct").Struct<string, null>;
53
+ }>;
44
54
  export declare const CapabilitiesStruct: import("@metamask/superstruct").Struct<Record<string, {
45
55
  optional?: boolean | undefined;
56
+ requiredAssets?: {
57
+ address: `0x${string}`;
58
+ standard: string;
59
+ amount: `0x${string}`;
60
+ }[] | undefined;
46
61
  }>, null>;
47
62
  export declare const SendCallsStruct: import("@metamask/superstruct").Struct<[{
48
63
  version: string;
@@ -54,12 +69,22 @@ export declare const SendCallsStruct: import("@metamask/superstruct").Struct<[{
54
69
  to?: `0x${string}` | undefined;
55
70
  capabilities?: Record<string, {
56
71
  optional?: boolean | undefined;
72
+ requiredAssets?: {
73
+ address: `0x${string}`;
74
+ standard: string;
75
+ amount: `0x${string}`;
76
+ }[] | undefined;
57
77
  }> | undefined;
58
78
  }[];
59
79
  id?: `0x${string}` | undefined;
60
80
  from?: `0x${string}` | undefined;
61
81
  capabilities?: Record<string, {
62
82
  optional?: boolean | undefined;
83
+ requiredAssets?: {
84
+ address: `0x${string}`;
85
+ standard: string;
86
+ amount: `0x${string}`;
87
+ }[] | undefined;
63
88
  }> | undefined;
64
89
  }], null>;
65
90
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0CAA0C,EAC1C,gCAAgC,EACjC,sCAAsC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EACV,2CAA2C,EAC3C,+BAA+B,EAChC,qCAAqC;AACtC,OAAO,KAAK,EAAE,mCAAmC,EAAE,yCAAyC;AAC5F,OAAO,KAAK,EAAE,KAAK,EAAE,8BAA8B;AAYnD,OAAO,KAAK,EAAE,mCAAmC,EAAE,yCAAyC;AAC5F,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,wBAAwB;AAGjE,KAAK,OAAO,GACR,gCAAgC,GAChC,0CAA0C,GAC1C,2CAA2C,GAC3C,mCAAmC,GACnC,mCAAmC,GACnC,+BAA+B,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAGzD,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,GAAG,CAAC;IACR,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE;YACJ,OAAO,EAAE,GAAG,CAAC;YACb,IAAI,EAAE,GAAG,CAAC;YACV,MAAM,EAAE,GAAG,EAAE,CAAC;SACf,EAAE,CAAC;QACJ,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;QACtB,SAAS,EAAE,GAAG,CAAC;QACf,WAAW,EAAE,GAAG,CAAC;QACjB,OAAO,EAAE,GAAG,CAAC;QACb,eAAe,EAAE,GAAG,CAAC;KACtB,EAAE,CAAC;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAC/B,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC3B,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAGnC,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EACjC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAClC,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAGpC,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AAElD,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,GAAG,CAAC;IACR,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,CACjC,SAAS,EAAE,gBAAgB,EAC3B,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,eAAe,CAAC,CAAC;AAK9B,eAAO,MAAM,oBAAoB,+DAA2B,CAAC;AAE7D,eAAO,MAAM,qBAAqB,4FAGhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;SAK9B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;SAiB1B,CAAC"}
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.mjs CHANGED
@@ -8,8 +8,14 @@ export const GetCapabilitiesStruct = tuple([
8
8
  HexChecksumAddressStruct,
9
9
  optional(array(StrictHexStruct)),
10
10
  ]);
11
+ const RequiredAssetStruct = type({
12
+ address: nonempty(HexChecksumAddressStruct),
13
+ amount: nonempty(StrictHexStruct),
14
+ standard: nonempty(string()),
15
+ });
11
16
  export const CapabilitiesStruct = record(string(), type({
12
17
  optional: optional(boolean()),
18
+ requiredAssets: optional(array(RequiredAssetStruct)),
13
19
  }));
14
20
  export const SendCallsStruct = tuple([
15
21
  object({
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,EACL,8BAA8B;AAG/B,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,wBAAwB;AAiE5E,kBAAkB;AAClB,0FAA0F;AAC1F,+CAA+C;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;IACzC,wBAAwB;IACxB,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CACtC,MAAM,EAAE,EACR,IAAI,CAAC;IACH,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;CAC9B,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC;QACL,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC;QAC7B,IAAI,EAAE,QAAQ,CAAC,wBAAwB,CAAC;QACxC,OAAO,EAAE,eAAe;QACxB,cAAc,EAAE,OAAO,EAAE;QACzB,KAAK,EAAE,KAAK,CACV,MAAM,CAAC;YACL,EAAE,EAAE,QAAQ,CAAC,wBAAwB,CAAC;YACtC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC;YAC/B,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC;YAChC,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC;SAC3C,CAAC,CACH;QACD,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC;KAC3C,CAAC;CACH,CAAC,CAAC","sourcesContent":["import type {\n AccountsControllerGetSelectedAccountAction,\n AccountsControllerGetStateAction,\n} from '@metamask/accounts-controller';\nimport type { Messenger } from '@metamask/base-controller';\nimport type {\n NetworkControllerGetNetworkClientByIdAction,\n NetworkControllerGetStateAction,\n} from '@metamask/network-controller';\nimport type { PreferencesControllerGetStateAction } from '@metamask/preferences-controller';\nimport type { Infer } from '@metamask/superstruct';\nimport {\n array,\n boolean,\n nonempty,\n object,\n optional,\n record,\n string,\n tuple,\n type,\n} from '@metamask/superstruct';\nimport type { TransactionControllerGetStateAction } from '@metamask/transaction-controller';\nimport type { Hex, Json, JsonRpcRequest } from '@metamask/utils';\nimport { HexChecksumAddressStruct, StrictHexStruct } from '@metamask/utils';\n\ntype Actions =\n | AccountsControllerGetStateAction\n | AccountsControllerGetSelectedAccountAction\n | NetworkControllerGetNetworkClientByIdAction\n | TransactionControllerGetStateAction\n | PreferencesControllerGetStateAction\n | NetworkControllerGetStateAction;\n\nexport type EIP5792Messenger = Messenger<Actions, never>;\n\n// wallet_getCallStatus\nexport type GetCallsStatusParams = Infer<typeof GetCallsStatusStruct>;\n\nexport type GetCallsStatusResult = {\n version: string;\n id: Hex;\n chainId: Hex;\n status: number;\n atomic: boolean;\n receipts?: {\n logs: {\n address: Hex;\n data: Hex;\n topics: Hex[];\n }[];\n status: '0x0' | '0x1';\n blockHash: Hex;\n blockNumber: Hex;\n gasUsed: Hex;\n transactionHash: Hex;\n }[];\n capabilities?: Record<string, Json>;\n};\n\nexport type GetCallsStatusHook = (\n id: GetCallsStatusParams[0],\n req: JsonRpcRequest,\n) => Promise<GetCallsStatusResult>;\n\n// wallet_getCapabilities\nexport type GetCapabilitiesParams = Infer<typeof GetCapabilitiesStruct>;\nexport type GetCapabilitiesResult = Record<Hex, Record<string, Json>>;\n\nexport type GetCapabilitiesHook = (\n address: GetCapabilitiesParams[0],\n chainIds: GetCapabilitiesParams[1],\n req: JsonRpcRequest,\n) => Promise<GetCapabilitiesResult>;\n\n// wallet_sendCalls\nexport type SendCallsParams = Infer<typeof SendCallsStruct>;\nexport type SendCallsPayload = SendCallsParams[0];\n\nexport type SendCallsResult = {\n id: Hex;\n capabilities?: Record<string, Json>;\n};\n\nexport type ProcessSendCallsHook = (\n sendCalls: SendCallsPayload,\n req: JsonRpcRequest,\n) => Promise<SendCallsResult>;\n\n// /** Structs **/\n// Even though these aren't actually typescript types, these structs essentially represent\n// runtime types, so we keep them in this file.\nexport const GetCallsStatusStruct = tuple([StrictHexStruct]);\n\nexport const GetCapabilitiesStruct = tuple([\n HexChecksumAddressStruct,\n optional(array(StrictHexStruct)),\n]);\n\nexport const CapabilitiesStruct = record(\n string(),\n type({\n optional: optional(boolean()),\n }),\n);\n\nexport const SendCallsStruct = tuple([\n object({\n version: nonempty(string()),\n id: optional(StrictHexStruct),\n from: optional(HexChecksumAddressStruct),\n chainId: StrictHexStruct,\n atomicRequired: boolean(),\n calls: array(\n object({\n to: optional(HexChecksumAddressStruct),\n data: optional(StrictHexStruct),\n value: optional(StrictHexStruct),\n capabilities: optional(CapabilitiesStruct),\n }),\n ),\n capabilities: optional(CapabilitiesStruct),\n }),\n]);\n"]}
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,EACL,8BAA8B;AAG/B,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,wBAAwB;AAmE5E,kBAAkB;AAClB,0FAA0F;AAC1F,+CAA+C;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;IACzC,wBAAwB;IACxB,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC;IAC3C,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CACtC,MAAM,EAAE,EACR,IAAI,CAAC;IACH,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC7B,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;CACrD,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC;QACL,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC;QAC7B,IAAI,EAAE,QAAQ,CAAC,wBAAwB,CAAC;QACxC,OAAO,EAAE,eAAe;QACxB,cAAc,EAAE,OAAO,EAAE;QACzB,KAAK,EAAE,KAAK,CACV,MAAM,CAAC;YACL,EAAE,EAAE,QAAQ,CAAC,wBAAwB,CAAC;YACtC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC;YAC/B,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC;YAChC,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC;SAC3C,CAAC,CACH;QACD,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC;KAC3C,CAAC;CACH,CAAC,CAAC","sourcesContent":["import type {\n AccountsControllerGetSelectedAccountAction,\n AccountsControllerGetStateAction,\n} from '@metamask/accounts-controller';\nimport type { Messenger } from '@metamask/base-controller';\nimport type {\n NetworkControllerGetNetworkClientByIdAction,\n NetworkControllerGetStateAction,\n} from '@metamask/network-controller';\nimport type { PreferencesControllerGetStateAction } from '@metamask/preferences-controller';\nimport type { Infer } from '@metamask/superstruct';\nimport {\n array,\n boolean,\n nonempty,\n object,\n optional,\n record,\n string,\n tuple,\n type,\n} from '@metamask/superstruct';\nimport type { TransactionControllerGetStateAction } from '@metamask/transaction-controller';\nimport type { Hex, Json, JsonRpcRequest } from '@metamask/utils';\nimport { HexChecksumAddressStruct, StrictHexStruct } from '@metamask/utils';\n\ntype Actions =\n | AccountsControllerGetStateAction\n | AccountsControllerGetSelectedAccountAction\n | NetworkControllerGetNetworkClientByIdAction\n | TransactionControllerGetStateAction\n | PreferencesControllerGetStateAction\n | NetworkControllerGetStateAction;\n\nexport type EIP5792Messenger = Messenger<Actions, never>;\n\n// wallet_getCallStatus\nexport type GetCallsStatusParams = Infer<typeof GetCallsStatusStruct>;\n\nexport type GetCallsStatusResult = {\n version: string;\n id: Hex;\n chainId: Hex;\n status: number;\n atomic: boolean;\n receipts?: {\n logs: {\n address: Hex;\n data: Hex;\n topics: Hex[];\n }[];\n status: '0x0' | '0x1';\n blockHash: Hex;\n blockNumber: Hex;\n gasUsed: Hex;\n transactionHash: Hex;\n }[];\n capabilities?: Record<string, Json>;\n};\n\nexport type GetCallsStatusHook = (\n id: GetCallsStatusParams[0],\n req: JsonRpcRequest,\n) => Promise<GetCallsStatusResult>;\n\n// wallet_getCapabilities\nexport type GetCapabilitiesParams = Infer<typeof GetCapabilitiesStruct>;\nexport type GetCapabilitiesResult = Record<Hex, Record<string, Json>>;\n\nexport type GetCapabilitiesHook = (\n address: GetCapabilitiesParams[0],\n chainIds: GetCapabilitiesParams[1],\n req: JsonRpcRequest,\n) => Promise<GetCapabilitiesResult>;\n\n// wallet_sendCalls\nexport type SendCallsParams = Infer<typeof SendCallsStruct>;\nexport type SendCallsPayload = SendCallsParams[0];\n\nexport type SendCallsRequiredAssetsParam = Infer<typeof RequiredAssetStruct>;\n\nexport type SendCallsResult = {\n id: Hex;\n capabilities?: Record<string, Json>;\n};\n\nexport type ProcessSendCallsHook = (\n sendCalls: SendCallsPayload,\n req: JsonRpcRequest,\n) => Promise<SendCallsResult>;\n\n// /** Structs **/\n// Even though these aren't actually typescript types, these structs essentially represent\n// runtime types, so we keep them in this file.\nexport const GetCallsStatusStruct = tuple([StrictHexStruct]);\n\nexport const GetCapabilitiesStruct = tuple([\n HexChecksumAddressStruct,\n optional(array(StrictHexStruct)),\n]);\n\nconst RequiredAssetStruct = type({\n address: nonempty(HexChecksumAddressStruct),\n amount: nonempty(StrictHexStruct),\n standard: nonempty(string()),\n});\n\nexport const CapabilitiesStruct = record(\n string(),\n type({\n optional: optional(boolean()),\n requiredAssets: optional(array(RequiredAssetStruct)),\n }),\n);\n\nexport const SendCallsStruct = tuple([\n object({\n version: nonempty(string()),\n id: optional(StrictHexStruct),\n from: optional(HexChecksumAddressStruct),\n chainId: StrictHexStruct,\n atomicRequired: boolean(),\n calls: array(\n object({\n to: optional(HexChecksumAddressStruct),\n data: optional(StrictHexStruct),\n value: optional(StrictHexStruct),\n capabilities: optional(CapabilitiesStruct),\n }),\n ),\n capabilities: optional(CapabilitiesStruct),\n }),\n]);\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/eip-5792-middleware",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "Implements the JSON-RPC methods for sending multiple calls from the user's wallet, and checking their status, as referenced in EIP-5792",
5
5
  "keywords": [
6
6
  "MetaMask",
@@ -47,15 +47,15 @@
47
47
  "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch"
48
48
  },
49
49
  "dependencies": {
50
- "@metamask/eth-json-rpc-middleware": "^17.0.1",
51
50
  "@metamask/superstruct": "^3.1.0",
52
- "@metamask/transaction-controller": "^60.2.0",
53
- "@metamask/utils": "^11.4.2",
51
+ "@metamask/transaction-controller": "^60.6.0",
52
+ "@metamask/utils": "^11.8.1",
53
+ "lodash": "^4.17.21",
54
54
  "uuid": "^8.3.2"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@metamask/auto-changelog": "^3.4.4",
58
- "@metamask/keyring-controller": "^23.0.0",
58
+ "@metamask/keyring-controller": "^23.1.1",
59
59
  "@metamask/rpc-errors": "^7.0.2",
60
60
  "@types/jest": "^27.4.1",
61
61
  "deepmerge": "^4.2.2",