permissionless 0.2.16 → 0.2.17

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # permissionless
2
2
 
3
+ ## 0.2.17
4
+
5
+ ### Patch Changes
6
+
7
+ - 7ad534ed914b53e595844ca029afd0c8a0377e56: Fixed signMessage & signTypeData for Kernel version 0.2.3 and 0.2.4
8
+
3
9
  ## 0.2.16
4
10
 
5
11
  ### Patch Changes
@@ -2,10 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.signMessage = signMessage;
4
4
  const viem_1 = require("viem");
5
- const isKernelV2_js_1 = require("./isKernelV2.js");
6
5
  const wrapMessageHash_js_1 = require("./wrapMessageHash.js");
7
6
  async function signMessage({ message, owner, accountAddress, kernelVersion: accountVersion, chainId }) {
8
- if ((0, isKernelV2_js_1.isKernelV2)(accountVersion)) {
7
+ if (accountVersion === "0.2.1" || accountVersion === "0.2.2") {
9
8
  return owner.signMessage({
10
9
  message
11
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signMessage.ts"],"names":[],"mappings":";;AAaA,kCA6BC;AA1CD,+BAKa;AAEb,mDAA4C;AAC5C,6DAG6B;AAEtB,KAAK,UAAU,WAAW,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EAKc;IACrB,IAAI,IAAA,0BAAU,EAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,WAAW,CAAC;YACrB,OAAO;SACV,CAAC,CAAA;IACN,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAA,oCAAe,EAAC,IAAA,kBAAW,EAAC,OAAO,CAAC,EAAE;QAC7D,aAAa,EAAE,cAAc;QAC7B,cAAc;QACd,OAAO;KAIV,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,WAAW,CAAC;QACrB,OAAO,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;KACvC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signMessage.ts"],"names":[],"mappings":";;AAYA,kCA6BC;AAzCD,+BAKa;AAEb,6DAG6B;AAEtB,KAAK,UAAU,WAAW,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EAKc;IACrB,IAAI,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC,WAAW,CAAC;YACrB,OAAO;SACV,CAAC,CAAA;IACN,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAA,oCAAe,EAAC,IAAA,kBAAW,EAAC,OAAO,CAAC,EAAE;QAC7D,aAAa,EAAE,cAAc;QAC7B,cAAc;QACd,OAAO;KAIV,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,WAAW,CAAC;QACrB,OAAO,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;KACvC,CAAC,CAAA;AACN,CAAC"}
@@ -2,11 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.signTypedData = signTypedData;
4
4
  const viem_1 = require("viem");
5
- const isKernelV2_js_1 = require("./isKernelV2.js");
6
5
  const wrapMessageHash_js_1 = require("./wrapMessageHash.js");
7
6
  async function signTypedData(parameters) {
8
7
  const { owner, accountAddress, kernelVersion: accountVersion, chainId, ...typedData } = parameters;
9
- if ((0, isKernelV2_js_1.isKernelV2)(accountVersion)) {
8
+ if (accountVersion === "0.2.1" || accountVersion === "0.2.2") {
10
9
  return owner.signTypedData({
11
10
  ...typedData
12
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"signTypedData.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signTypedData.ts"],"names":[],"mappings":";;AAcA,sCA+CC;AA7DD,+BAOa;AACb,mDAA4C;AAC5C,6DAG6B;AAEtB,KAAK,UAAU,aAAa,CAC/B,UAGK;IAEL,MAAM,EACF,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EACP,GAAG,SAAS,EACf,GAAG,UAAU,CAAA;IAEd,IAAI,IAAA,0BAAU,EAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,aAAa,CAAC;YACvB,GAAG,SAAS;SACf,CAAC,CAAA;IACN,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACjE,MAAM,KAAK,GAAG;QACV,YAAY,EAAE,IAAA,8BAAuB,EAAC;YAClC,MAAM,EAAE,MAAM;SACjB,CAAC;QACF,GAAG,MAAM;KACZ,CAAA;IAID,IAAA,wBAAiB,EAAC;QACd,MAAM;QACN,OAAO;QACP,WAAW;QACX,KAAK;KACR,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAA,oBAAa,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAExE,MAAM,kBAAkB,GAAG,IAAA,oCAAe,EAAC,SAAS,EAAE;QAClD,aAAa,EAAE,cAAc;QAC7B,cAAc;QACd,OAAO,EAAE,OAAO;KACnB,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,WAAW,CAAC;QACrB,OAAO,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;KACvC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"signTypedData.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signTypedData.ts"],"names":[],"mappings":";;AAaA,sCA+CC;AA5DD,+BAOa;AACb,6DAG6B;AAEtB,KAAK,UAAU,aAAa,CAC/B,UAGK;IAEL,MAAM,EACF,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EACP,GAAG,SAAS,EACf,GAAG,UAAU,CAAA;IAEd,IAAI,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC,aAAa,CAAC;YACvB,GAAG,SAAS;SACf,CAAC,CAAA;IACN,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACjE,MAAM,KAAK,GAAG;QACV,YAAY,EAAE,IAAA,8BAAuB,EAAC;YAClC,MAAM,EAAE,MAAM;SACjB,CAAC;QACF,GAAG,MAAM;KACZ,CAAA;IAID,IAAA,wBAAiB,EAAC;QACd,MAAM;QACN,OAAO;QACP,WAAW;QACX,KAAK;KACR,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,IAAA,oBAAa,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAExE,MAAM,kBAAkB,GAAG,IAAA,oCAAe,EAAC,SAAS,EAAE;QAClD,aAAa,EAAE,cAAc;QAC7B,cAAc;QACd,OAAO,EAAE,OAAO;KACnB,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,WAAW,CAAC;QACrB,OAAO,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;KACvC,CAAC,CAAA;AACN,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.wrapMessageHash = void 0;
4
4
  const viem_1 = require("viem");
5
5
  const viem_2 = require("viem");
6
+ const isKernelV2_js_1 = require("./isKernelV2.js");
6
7
  const wrapMessageHash = (messageHash, { accountAddress, kernelVersion, chainId }) => {
7
8
  const _domainSeparator = (0, viem_2.domainSeparator)({
8
9
  domain: {
@@ -12,7 +13,9 @@ const wrapMessageHash = (messageHash, { accountAddress, kernelVersion, chainId }
12
13
  verifyingContract: accountAddress
13
14
  }
14
15
  });
15
- const wrappedMessageHash = (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([{ type: "bytes32" }, { type: "bytes32" }], [(0, viem_1.keccak256)((0, viem_1.stringToHex)("Kernel(bytes32 hash)")), messageHash]));
16
+ const wrappedMessageHash = (0, isKernelV2_js_1.isKernelV2)(kernelVersion)
17
+ ? messageHash
18
+ : (0, viem_1.keccak256)((0, viem_1.encodeAbiParameters)([{ type: "bytes32" }, { type: "bytes32" }], [(0, viem_1.keccak256)((0, viem_1.stringToHex)("Kernel(bytes32 hash)")), messageHash]));
16
19
  const digest = (0, viem_1.keccak256)((0, viem_1.concatHex)(["0x1901", _domainSeparator, wrappedMessageHash]));
17
20
  return digest;
18
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"wrapMessageHash.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/wrapMessageHash.ts"],"names":[],"mappings":";;;AAAA,+BAMa;AACb,+BAAoD;AAS7C,MAAM,eAAe,GAAG,CAC3B,WAAgB,EAChB,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAyB,EACnE,EAAE;IACA,MAAM,gBAAgB,GAAG,IAAA,sBAAe,EAAC;QACrC,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,OAAO;YACP,iBAAiB,EAAE,cAAc;SACpC;KACJ,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,IAAA,gBAAS,EAChC,IAAA,0BAAmB,EACf,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C,CAAC,IAAA,gBAAS,EAAC,IAAA,kBAAW,EAAC,sBAAsB,CAAC,CAAC,EAAE,WAAW,CAAC,CAChE,CACJ,CAAA;IACD,MAAM,MAAM,GAAG,IAAA,gBAAS,EACpB,IAAA,gBAAS,EAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAC9D,CAAA;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAtBY,QAAA,eAAe,mBAsB3B"}
1
+ {"version":3,"file":"wrapMessageHash.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/wrapMessageHash.ts"],"names":[],"mappings":";;;AAAA,+BAMa;AACb,+BAAoD;AAEpD,mDAA4C;AAQrC,MAAM,eAAe,GAAG,CAC3B,WAAgB,EAChB,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAyB,EACnE,EAAE;IACA,MAAM,gBAAgB,GAAG,IAAA,sBAAe,EAAC;QACrC,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,OAAO;YACP,iBAAiB,EAAE,cAAc;SACpC;KACJ,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,IAAA,0BAAU,EAAC,aAAa,CAAC;QAChD,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,IAAA,gBAAS,EACL,IAAA,0BAAmB,EACf,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C,CAAC,IAAA,gBAAS,EAAC,IAAA,kBAAW,EAAC,sBAAsB,CAAC,CAAC,EAAE,WAAW,CAAC,CAChE,CACJ,CAAA;IAEP,MAAM,MAAM,GAAG,IAAA,gBAAS,EACpB,IAAA,gBAAS,EAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAC9D,CAAA;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAzBY,QAAA,eAAe,mBAyB3B"}
@@ -1,9 +1,8 @@
1
1
  import { hashMessage } from "viem";
2
2
  import { signMessage as _signMessage } from "viem/actions";
3
- import { isKernelV2 } from "./isKernelV2.js";
4
3
  import { wrapMessageHash } from "./wrapMessageHash.js";
5
4
  export async function signMessage({ message, owner, accountAddress, kernelVersion: accountVersion, chainId }) {
6
- if (isKernelV2(accountVersion)) {
5
+ if (accountVersion === "0.2.1" || accountVersion === "0.2.2") {
7
6
  return owner.signMessage({
8
7
  message
9
8
  });
@@ -1 +1 @@
1
- {"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAEH,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EAKc;IACrB,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,WAAW,CAAC;YACrB,OAAO;SACV,CAAC,CAAA;IACN,CAAC;IAED,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;QAC7D,aAAa,EAAE,cAAc;QAC7B,cAAc;QACd,OAAO;QACP,wBAAwB;QACxB,wBAAwB;QACxB,wDAAwD;KAC3D,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,WAAW,CAAC;QACrB,OAAO,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;KACvC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAEH,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EAKc;IACrB,IAAI,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC,WAAW,CAAC;YACrB,OAAO;SACV,CAAC,CAAA;IACN,CAAC;IAED,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;QAC7D,aAAa,EAAE,cAAc;QAC7B,cAAc;QACd,OAAO;QACP,wBAAwB;QACxB,wBAAwB;QACxB,wDAAwD;KAC3D,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,WAAW,CAAC;QACrB,OAAO,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;KACvC,CAAC,CAAA;AACN,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import { getTypesForEIP712Domain, hashTypedData, validateTypedData } from "viem";
2
- import { isKernelV2 } from "./isKernelV2.js";
3
2
  import { wrapMessageHash } from "./wrapMessageHash.js";
4
3
  export async function signTypedData(parameters) {
5
4
  const { owner, accountAddress, kernelVersion: accountVersion, chainId, ...typedData } = parameters;
6
- if (isKernelV2(accountVersion)) {
5
+ if (accountVersion === "0.2.1" || accountVersion === "0.2.2") {
7
6
  return owner.signTypedData({
8
7
  ...typedData
9
8
  });
@@ -1 +1 @@
1
- {"version":3,"file":"signTypedData.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signTypedData.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACpB,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAEH,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,UAGK;IAEL,MAAM,EACF,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EACP,GAAG,SAAS,EACf,GAAG,UAAU,CAAA;IAEd,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,aAAa,CAAC;YACvB,GAAG,SAAS;SACf,CAAC,CAAA;IACN,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACjE,MAAM,KAAK,GAAG;QACV,YAAY,EAAE,uBAAuB,CAAC;YAClC,MAAM,EAAE,MAAM;SACjB,CAAC;QACF,GAAG,MAAM;KACZ,CAAA;IAED,uFAAuF;IACvF,qDAAqD;IACrD,iBAAiB,CAAC;QACd,MAAM;QACN,OAAO;QACP,WAAW;QACX,KAAK;KACR,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAExE,MAAM,kBAAkB,GAAG,eAAe,CAAC,SAAS,EAAE;QAClD,aAAa,EAAE,cAAc;QAC7B,cAAc;QACd,OAAO,EAAE,OAAO;KACnB,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,WAAW,CAAC;QACrB,OAAO,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;KACvC,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"signTypedData.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signTypedData.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACpB,MAAM,MAAM,CAAA;AACb,OAAO,EAEH,eAAe,EAClB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,UAGK;IAEL,MAAM,EACF,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EACP,GAAG,SAAS,EACf,GAAG,UAAU,CAAA;IAEd,IAAI,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC,aAAa,CAAC;YACvB,GAAG,SAAS;SACf,CAAC,CAAA;IACN,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACjE,MAAM,KAAK,GAAG;QACV,YAAY,EAAE,uBAAuB,CAAC;YAClC,MAAM,EAAE,MAAM;SACjB,CAAC;QACF,GAAG,MAAM;KACZ,CAAA;IAED,uFAAuF;IACvF,qDAAqD;IACrD,iBAAiB,CAAC;QACd,MAAM;QACN,OAAO;QACP,WAAW;QACX,KAAK;KACR,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAExE,MAAM,kBAAkB,GAAG,eAAe,CAAC,SAAS,EAAE;QAClD,aAAa,EAAE,cAAc;QAC7B,cAAc;QACd,OAAO,EAAE,OAAO;KACnB,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,WAAW,CAAC;QACrB,OAAO,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;KACvC,CAAC,CAAA;AACN,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { concatHex, encodeAbiParameters, keccak256, stringToHex } from "viem";
2
2
  import { domainSeparator } from "viem";
3
+ import { isKernelV2 } from "./isKernelV2.js";
3
4
  export const wrapMessageHash = (messageHash, { accountAddress, kernelVersion, chainId }) => {
4
5
  const _domainSeparator = domainSeparator({
5
6
  domain: {
@@ -9,7 +10,9 @@ export const wrapMessageHash = (messageHash, { accountAddress, kernelVersion, ch
9
10
  verifyingContract: accountAddress
10
11
  }
11
12
  });
12
- const wrappedMessageHash = keccak256(encodeAbiParameters([{ type: "bytes32" }, { type: "bytes32" }], [keccak256(stringToHex("Kernel(bytes32 hash)")), messageHash]));
13
+ const wrappedMessageHash = isKernelV2(kernelVersion)
14
+ ? messageHash
15
+ : keccak256(encodeAbiParameters([{ type: "bytes32" }, { type: "bytes32" }], [keccak256(stringToHex("Kernel(bytes32 hash)")), messageHash]));
13
16
  const digest = keccak256(concatHex(["0x1901", _domainSeparator, wrappedMessageHash]));
14
17
  return digest;
15
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"wrapMessageHash.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/wrapMessageHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAgB,eAAe,EAAE,MAAM,MAAM,CAAA;AASpD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,WAAgB,EAChB,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAyB,EACnE,EAAE;IACA,MAAM,gBAAgB,GAAG,eAAe,CAAC;QACrC,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,OAAO;YACP,iBAAiB,EAAE,cAAc;SACpC;KACJ,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,SAAS,CAChC,mBAAmB,CACf,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C,CAAC,SAAS,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,EAAE,WAAW,CAAC,CAChE,CACJ,CAAA;IACD,MAAM,MAAM,GAAG,SAAS,CACpB,SAAS,CAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAC9D,CAAA;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA"}
1
+ {"version":3,"file":"wrapMessageHash.js","sourceRoot":"","sources":["../../../../accounts/kernel/utils/wrapMessageHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,WAAW,EACd,MAAM,MAAM,CAAA;AACb,OAAO,EAAgB,eAAe,EAAE,MAAM,MAAM,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAQ5C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,WAAgB,EAChB,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAyB,EACnE,EAAE;IACA,MAAM,gBAAgB,GAAG,eAAe,CAAC;QACrC,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,OAAO;YACP,iBAAiB,EAAE,cAAc;SACpC;KACJ,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC;QAChD,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,CACL,mBAAmB,CACf,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C,CAAC,SAAS,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,EAAE,WAAW,CAAC,CAChE,CACJ,CAAA;IAEP,MAAM,MAAM,GAAG,SAAS,CACpB,SAAS,CAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAC9D,CAAA;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"signMessage.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EAEvB,MAAM,MAAM,CAAA;AAGb,OAAO,EACH,KAAK,qBAAqB,EAE7B,MAAM,sBAAsB,CAAA;AAE7B,wBAAsB,WAAW,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EACV,EAAE;IACC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,EAAE,YAAY,CAAA;CACtB,GAAG,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAmBzD"}
1
+ {"version":3,"file":"signMessage.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EAEvB,MAAM,MAAM,CAAA;AAEb,OAAO,EACH,KAAK,qBAAqB,EAE7B,MAAM,sBAAsB,CAAA;AAE7B,wBAAsB,WAAW,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,cAAc,EACd,aAAa,EAAE,cAAc,EAC7B,OAAO,EACV,EAAE;IACC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,EAAE,YAAY,CAAA;CACtB,GAAG,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAmBzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"signTypedData.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signTypedData.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAI3B,MAAM,MAAM,CAAA;AAEb,OAAO,EACH,KAAK,qBAAqB,EAE7B,MAAM,sBAAsB,CAAA;AAE7B,wBAAsB,aAAa,CAC/B,UAAU,EAAE,mBAAmB,GAC3B,qBAAqB,GAAG;IACpB,KAAK,EAAE,YAAY,CAAA;CACtB,GACN,OAAO,CAAC,uBAAuB,CAAC,CA0ClC"}
1
+ {"version":3,"file":"signTypedData.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/utils/signTypedData.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAI3B,MAAM,MAAM,CAAA;AACb,OAAO,EACH,KAAK,qBAAqB,EAE7B,MAAM,sBAAsB,CAAA;AAE7B,wBAAsB,aAAa,CAC/B,UAAU,EAAE,mBAAmB,GAC3B,qBAAqB,GAAG;IACpB,KAAK,EAAE,YAAY,CAAA;CACtB,GACN,OAAO,CAAC,uBAAuB,CAAC,CA0ClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wrapMessageHash.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/utils/wrapMessageHash.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,GAAG,EAKX,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,KAAK,OAAO,EAAmB,MAAM,MAAM,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAEpE,MAAM,MAAM,qBAAqB,GAAG;IAChC,aAAa,EAAE,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;IAC3C,cAAc,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,eAAe,gBACX,GAAG,8CAC4B,qBAAqB,kBAoBpE,CAAA"}
1
+ {"version":3,"file":"wrapMessageHash.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/utils/wrapMessageHash.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,GAAG,EAKX,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,KAAK,OAAO,EAAmB,MAAM,MAAM,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAGpE,MAAM,MAAM,qBAAqB,GAAG;IAChC,aAAa,EAAE,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;IAC3C,cAAc,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,eAAe,gBACX,GAAG,8CAC4B,qBAAqB,kBAuBpE,CAAA"}
@@ -5,7 +5,6 @@ import {
5
5
  hashMessage
6
6
  } from "viem"
7
7
  import { signMessage as _signMessage } from "viem/actions"
8
- import { isKernelV2 } from "./isKernelV2.js"
9
8
  import {
10
9
  type WrapMessageHashParams,
11
10
  wrapMessageHash
@@ -22,7 +21,7 @@ export async function signMessage({
22
21
  message: SignableMessage
23
22
  owner: LocalAccount
24
23
  } & WrapMessageHashParams): Promise<SignMessageReturnType> {
25
- if (isKernelV2(accountVersion)) {
24
+ if (accountVersion === "0.2.1" || accountVersion === "0.2.2") {
26
25
  return owner.signMessage({
27
26
  message
28
27
  })
@@ -6,7 +6,6 @@ import {
6
6
  hashTypedData,
7
7
  validateTypedData
8
8
  } from "viem"
9
- import { isKernelV2 } from "./isKernelV2.js"
10
9
  import {
11
10
  type WrapMessageHashParams,
12
11
  wrapMessageHash
@@ -26,7 +25,7 @@ export async function signTypedData(
26
25
  ...typedData
27
26
  } = parameters
28
27
 
29
- if (isKernelV2(accountVersion)) {
28
+ if (accountVersion === "0.2.1" || accountVersion === "0.2.2") {
30
29
  return owner.signTypedData({
31
30
  ...typedData
32
31
  })
@@ -7,6 +7,7 @@ import {
7
7
  } from "viem"
8
8
  import { type Address, domainSeparator } from "viem"
9
9
  import type { KernelVersion } from "../toEcdsaKernelSmartAccount.js"
10
+ import { isKernelV2 } from "./isKernelV2.js"
10
11
 
11
12
  export type WrapMessageHashParams = {
12
13
  kernelVersion: KernelVersion<"0.6" | "0.7">
@@ -26,12 +27,15 @@ export const wrapMessageHash = (
26
27
  verifyingContract: accountAddress
27
28
  }
28
29
  })
29
- const wrappedMessageHash = keccak256(
30
- encodeAbiParameters(
31
- [{ type: "bytes32" }, { type: "bytes32" }],
32
- [keccak256(stringToHex("Kernel(bytes32 hash)")), messageHash]
33
- )
34
- )
30
+ const wrappedMessageHash = isKernelV2(kernelVersion)
31
+ ? messageHash
32
+ : keccak256(
33
+ encodeAbiParameters(
34
+ [{ type: "bytes32" }, { type: "bytes32" }],
35
+ [keccak256(stringToHex("Kernel(bytes32 hash)")), messageHash]
36
+ )
37
+ )
38
+
35
39
  const digest = keccak256(
36
40
  concatHex(["0x1901", _domainSeparator, wrappedMessageHash])
37
41
  )
@@ -24,7 +24,8 @@ describe.each(getCoreSmartAccounts())(
24
24
  ({
25
25
  getSmartAccountClient,
26
26
  supportsEntryPointV06,
27
- supportsEntryPointV07
27
+ supportsEntryPointV07,
28
+ name
28
29
  }) => {
29
30
  testWithRpc.skipIf(!supportsEntryPointV06)(
30
31
  "prepareUserOperationForErc20Paymaster_v06",
@@ -94,18 +95,22 @@ describe.each(getCoreSmartAccounts())(
94
95
 
95
96
  expect(receipt).toBeTruthy()
96
97
  expect(receipt).toBeTruthy()
97
- expect(receipt.success).toBeTruthy()
98
98
 
99
- const FINAL_TOKEN_BALANCE = await tokenBalanceOf(
100
- smartAccountClient.account.address,
101
- rpc.anvilRpc
102
- )
103
- const FINAL_ETH_BALANCE = await publicClient.getBalance({
104
- address: smartAccountClient.account.address
105
- })
99
+ if (name !== "Kernel 0.2.1") {
100
+ expect(receipt.success).toBeTruthy()
101
+ const FINAL_TOKEN_BALANCE = await tokenBalanceOf(
102
+ smartAccountClient.account.address,
103
+ rpc.anvilRpc
104
+ )
105
+ const FINAL_ETH_BALANCE = await publicClient.getBalance({
106
+ address: smartAccountClient.account.address
107
+ })
106
108
 
107
- expect(FINAL_TOKEN_BALANCE).toBeLessThan(INITIAL_TOKEN_BALANCE) // Token balance should be deducted
108
- expect(FINAL_ETH_BALANCE).toEqual(INTIAL_ETH_BALANCE) // There should be no ETH balance change
109
+ expect(FINAL_TOKEN_BALANCE).toBeLessThan(
110
+ INITIAL_TOKEN_BALANCE
111
+ ) // Token balance should be deducted
112
+ expect(FINAL_ETH_BALANCE).toEqual(INTIAL_ETH_BALANCE) // There should be no ETH balance change
113
+ }
109
114
  }
110
115
  )
111
116
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "permissionless",
3
- "version": "0.2.16",
3
+ "version": "0.2.17",
4
4
  "author": "Pimlico",
5
5
  "homepage": "https://docs.pimlico.io/permissionless",
6
6
  "repository": "github:pimlicolabs/permissionless.js",