@zerodev/permissions 5.4.0 → 5.4.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/_cjs/constants.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PolicyFlags = exports.TIMESTAMP_POLICY_CONTRACT = exports.SUDO_POLICY_CONTRACT = exports.SIGNATURE_POLICY_CONTRACT = exports.RATE_LIMIT_POLICY_CONTRACT = exports.GAS_POLICY_CONTRACT = exports.CALL_POLICY_CONTRACT_V0_0_2 = exports.CALL_POLICY_CONTRACT_V0_0_1 = exports.WEBAUTHN_SIGNER_CONTRACT = exports.ECDSA_SIGNER_CONTRACT = void 0;
3
+ exports.PolicyFlags = exports.TIMESTAMP_POLICY_CONTRACT = exports.SUDO_POLICY_CONTRACT = exports.SIGNATURE_POLICY_CONTRACT = exports.RATE_LIMIT_POLICY_CONTRACT = exports.GAS_POLICY_CONTRACT = exports.CALL_POLICY_CONTRACT_V0_0_2 = exports.CALL_POLICY_CONTRACT_V0_0_1 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_2 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_1 = exports.ECDSA_SIGNER_CONTRACT = void 0;
4
4
  exports.ECDSA_SIGNER_CONTRACT = "0x6A6F069E2a08c2468e7724Ab3250CdBFBA14D4FF";
5
- exports.WEBAUTHN_SIGNER_CONTRACT = "0x8AA55d4BfAE101609078681A69B5bc3181516612";
5
+ exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_1 = "0x8AA55d4BfAE101609078681A69B5bc3181516612";
6
+ exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_2 = "0x58625164e306242c7613223bDeb68fbe11300606";
6
7
  exports.CALL_POLICY_CONTRACT_V0_0_1 = "0xe4Fec84B7B002273ecC86baa65a831ddB92d30a8";
7
8
  exports.CALL_POLICY_CONTRACT_V0_0_2 = "0x67Fa43ca2D689beA4d10b9F2C96828828A2Ab275";
8
9
  exports.GAS_POLICY_CONTRACT = "0xaeFC5AbC67FfD258abD0A3E54f65E70326F84b23";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAC9B,4CAA4C,CAAA;AACnC,QAAA,wBAAwB,GACjC,4CAA4C,CAAA;AACnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAOnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AACnC,QAAA,mBAAmB,GAAG,4CAA4C,CAAA;AAClE,QAAA,0BAA0B,GACnC,4CAA4C,CAAA;AACnC,QAAA,yBAAyB,GAClC,4CAA4C,CAAA;AACnC,QAAA,oBAAoB,GAAG,4CAA4C,CAAA;AACnE,QAAA,yBAAyB,GAClC,4CAA4C,CAAA;AAEhD,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,iDAAkC,CAAA;IAClC,8CAA+B,CAAA;AACnC,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAC9B,4CAA4C,CAAA;AACnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAKnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAEnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAOnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AACnC,QAAA,mBAAmB,GAAG,4CAA4C,CAAA;AAClE,QAAA,0BAA0B,GACnC,4CAA4C,CAAA;AACnC,QAAA,yBAAyB,GAClC,4CAA4C,CAAA;AACnC,QAAA,oBAAoB,GAAG,4CAA4C,CAAA;AACnE,QAAA,yBAAyB,GAClC,4CAA4C,CAAA;AAEhD,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,iDAAkC,CAAA;IAClC,8CAA+B,CAAA;AACnC,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toEmptyECDSASigner = exports.toSignerId = exports.toWebAuthnKey = exports.WebAuthnMode = exports.toWebAuthnSigner = exports.toECDSASigner = void 0;
3
+ exports.toEmptyECDSASigner = exports.toSignerId = exports.toWebAuthnKey = exports.WebAuthnMode = exports.WebAuthnSignerVersion = exports.toWebAuthnSigner = exports.toECDSASigner = void 0;
4
4
  var toECDSASigner_js_1 = require("./toECDSASigner.js");
5
5
  Object.defineProperty(exports, "toECDSASigner", { enumerable: true, get: function () { return toECDSASigner_js_1.toECDSASigner; } });
6
6
  var toWebAuthnSigner_js_1 = require("./toWebAuthnSigner.js");
7
7
  Object.defineProperty(exports, "toWebAuthnSigner", { enumerable: true, get: function () { return toWebAuthnSigner_js_1.toWebAuthnSigner; } });
8
+ Object.defineProperty(exports, "WebAuthnSignerVersion", { enumerable: true, get: function () { return toWebAuthnSigner_js_1.WebAuthnSignerVersion; } });
8
9
  var webauthn_key_1 = require("@zerodev/webauthn-key");
9
10
  Object.defineProperty(exports, "WebAuthnMode", { enumerable: true, get: function () { return webauthn_key_1.WebAuthnMode; } });
10
11
  Object.defineProperty(exports, "toWebAuthnKey", { enumerable: true, get: function () { return webauthn_key_1.toWebAuthnKey; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":";;;AAAA,uDAG2B;AAFvB,iHAAA,aAAa,OAAA;AAGjB,6DAG8B;AAF1B,uHAAA,gBAAgB,OAAA;AAGpB,sDAAmE;AAA1D,4GAAA,YAAY,OAAA;AAAE,6GAAA,aAAa,OAAA;AACpC,uDAAkD;AAAzC,2GAAA,UAAU,OAAA;AACnB,iEAA4D;AAAnD,2HAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":";;;AAAA,uDAG2B;AAFvB,iHAAA,aAAa,OAAA;AAGjB,6DAI8B;AAH1B,uHAAA,gBAAgB,OAAA;AAEhB,4HAAA,qBAAqB,OAAA;AAEzB,sDAAmE;AAA1D,4GAAA,YAAY,OAAA;AAAE,6GAAA,aAAa,OAAA;AACpC,uDAAkD;AAAzC,2GAAA,UAAU,OAAA;AACnB,iEAA4D;AAAnD,2HAAA,kBAAkB,OAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toWebAuthnSigner = void 0;
3
+ exports.toWebAuthnSigner = exports.getWebAuthnSignerAddress = exports.WebAuthnSignerVersion = void 0;
4
4
  const webauthn_key_1 = require("@zerodev/webauthn-key");
5
5
  const accounts_1 = require("permissionless/accounts");
6
6
  const viem_1 = require("viem");
@@ -8,6 +8,11 @@ const viem_2 = require("viem");
8
8
  const accounts_2 = require("viem/accounts");
9
9
  const actions_1 = require("viem/actions");
10
10
  const constants_js_1 = require("../constants.js");
11
+ var WebAuthnSignerVersion;
12
+ (function (WebAuthnSignerVersion) {
13
+ WebAuthnSignerVersion["V0_0_1"] = "0.0.1";
14
+ WebAuthnSignerVersion["V0_0_2"] = "0.0.2";
15
+ })(WebAuthnSignerVersion || (exports.WebAuthnSignerVersion = WebAuthnSignerVersion = {}));
11
16
  const signMessageUsingWebAuthn = async (message, chainId, allowCredentials) => {
12
17
  let messageContent;
13
18
  if (typeof message === "string") {
@@ -57,7 +62,19 @@ const signMessageUsingWebAuthn = async (message, chainId, allowCredentials) => {
57
62
  ]);
58
63
  return encodedSignature;
59
64
  };
60
- const toWebAuthnSigner = async (client, { signerContractAddress = constants_js_1.WEBAUTHN_SIGNER_CONTRACT, webAuthnKey }) => {
65
+ const getWebAuthnSignerAddress = (webAuthnSignerVersion, webAuthnSignerAddress) => {
66
+ if (webAuthnSignerAddress)
67
+ return webAuthnSignerAddress;
68
+ switch (webAuthnSignerVersion) {
69
+ case WebAuthnSignerVersion.V0_0_1:
70
+ return constants_js_1.WEBAUTHN_SIGNER_CONTRACT_V0_0_1;
71
+ case WebAuthnSignerVersion.V0_0_2:
72
+ return constants_js_1.WEBAUTHN_SIGNER_CONTRACT_V0_0_2;
73
+ }
74
+ };
75
+ exports.getWebAuthnSignerAddress = getWebAuthnSignerAddress;
76
+ const toWebAuthnSigner = async (client, { signerContractAddress, webAuthnKey, webAuthnSignerVersion }) => {
77
+ const webAuthnSignerAddress = (0, exports.getWebAuthnSignerAddress)(webAuthnSignerVersion, signerContractAddress);
61
78
  const chainId = await (0, actions_1.getChainId)(client);
62
79
  const account = (0, accounts_2.toAccount)({
63
80
  address: "0x0000000000000000000000000000000000000000",
@@ -86,7 +103,7 @@ const toWebAuthnSigner = async (client, { signerContractAddress = constants_js_1
86
103
  });
87
104
  return {
88
105
  account,
89
- signerContractAddress,
106
+ signerContractAddress: webAuthnSignerAddress,
90
107
  getSignerData: () => {
91
108
  return (0, viem_2.encodeAbiParameters)([
92
109
  {
@@ -1 +1 @@
1
- {"version":3,"file":"toWebAuthnSigner.js","sourceRoot":"","sources":["../../signers/toWebAuthnSigner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toWebAuthnSigner.js","sourceRoot":"","sources":["../../signers/toWebAuthnSigner.ts"],"names":[],"mappings":"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"}
package/_esm/constants.js CHANGED
@@ -1,5 +1,10 @@
1
1
  export const ECDSA_SIGNER_CONTRACT = "0x6A6F069E2a08c2468e7724Ab3250CdBFBA14D4FF";
2
- export const WEBAUTHN_SIGNER_CONTRACT = "0x8AA55d4BfAE101609078681A69B5bc3181516612";
2
+ export const WEBAUTHN_SIGNER_CONTRACT_V0_0_1 = "0x8AA55d4BfAE101609078681A69B5bc3181516612";
3
+ /**
4
+ * @dev WEBAUTHN_SIGNER_CONTRACT_V0_0_2 updates
5
+ * - Fixed checkSignature issue
6
+ */
7
+ export const WEBAUTHN_SIGNER_CONTRACT_V0_0_2 = "0x58625164e306242c7613223bDeb68fbe11300606";
3
8
  export const CALL_POLICY_CONTRACT_V0_0_1 = "0xe4Fec84B7B002273ecC86baa65a831ddB92d30a8";
4
9
  /**
5
10
  * @dev CALL_POLICY_CONTRACT_V0_0_2 updates
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAC9B,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,wBAAwB,GACjC,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAChD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,4CAA4C,CAAA;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GACnC,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,yBAAyB,GAClC,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,4CAA4C,CAAA;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAClC,4CAA4C,CAAA;AAEhD,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,iDAAkC,CAAA;IAClC,8CAA+B,CAAA;AACnC,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAC9B,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAChD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAChD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,4CAA4C,CAAA;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GACnC,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,yBAAyB,GAClC,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,4CAA4C,CAAA;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAClC,4CAA4C,CAAA;AAEhD,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,iDAAkC,CAAA;IAClC,8CAA+B,CAAA;AACnC,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
@@ -1,5 +1,5 @@
1
1
  export { toECDSASigner } from "./toECDSASigner.js";
2
- export { toWebAuthnSigner } from "./toWebAuthnSigner.js";
2
+ export { toWebAuthnSigner, WebAuthnSignerVersion } from "./toWebAuthnSigner.js";
3
3
  export { WebAuthnMode, toWebAuthnKey } from "@zerodev/webauthn-key";
4
4
  export { toSignerId } from "./utils/toSignerId.js";
5
5
  export { toEmptyECDSASigner } from "./toEmptyECDSASigner.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAEnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAEhB,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -4,7 +4,12 @@ import { getTypesForEIP712Domain, hashTypedData, validateTypedData } from "viem"
4
4
  import { encodeAbiParameters } from "viem";
5
5
  import { toAccount } from "viem/accounts";
6
6
  import { getChainId, signMessage } from "viem/actions";
7
- import { WEBAUTHN_SIGNER_CONTRACT } from "../constants.js";
7
+ import { WEBAUTHN_SIGNER_CONTRACT_V0_0_1, WEBAUTHN_SIGNER_CONTRACT_V0_0_2 } from "../constants.js";
8
+ export var WebAuthnSignerVersion;
9
+ (function (WebAuthnSignerVersion) {
10
+ WebAuthnSignerVersion["V0_0_1"] = "0.0.1";
11
+ WebAuthnSignerVersion["V0_0_2"] = "0.0.2";
12
+ })(WebAuthnSignerVersion || (WebAuthnSignerVersion = {}));
8
13
  const signMessageUsingWebAuthn = async (message, chainId, allowCredentials) => {
9
14
  let messageContent;
10
15
  if (typeof message === "string") {
@@ -65,7 +70,18 @@ const signMessageUsingWebAuthn = async (message, chainId, allowCredentials) => {
65
70
  ]);
66
71
  return encodedSignature;
67
72
  };
68
- export const toWebAuthnSigner = async (client, { signerContractAddress = WEBAUTHN_SIGNER_CONTRACT, webAuthnKey }) => {
73
+ export const getWebAuthnSignerAddress = (webAuthnSignerVersion, webAuthnSignerAddress) => {
74
+ if (webAuthnSignerAddress)
75
+ return webAuthnSignerAddress;
76
+ switch (webAuthnSignerVersion) {
77
+ case WebAuthnSignerVersion.V0_0_1:
78
+ return WEBAUTHN_SIGNER_CONTRACT_V0_0_1;
79
+ case WebAuthnSignerVersion.V0_0_2:
80
+ return WEBAUTHN_SIGNER_CONTRACT_V0_0_2;
81
+ }
82
+ };
83
+ export const toWebAuthnSigner = async (client, { signerContractAddress, webAuthnKey, webAuthnSignerVersion }) => {
84
+ const webAuthnSignerAddress = getWebAuthnSignerAddress(webAuthnSignerVersion, signerContractAddress);
69
85
  const chainId = await getChainId(client);
70
86
  const account = toAccount({
71
87
  // note that this address will be overwritten by actual address
@@ -95,7 +111,7 @@ export const toWebAuthnSigner = async (client, { signerContractAddress = WEBAUTH
95
111
  });
96
112
  return {
97
113
  account,
98
- signerContractAddress,
114
+ signerContractAddress: webAuthnSignerAddress,
99
115
  getSignerData: () => {
100
116
  return encodeAbiParameters([
101
117
  {
@@ -1 +1 @@
1
- {"version":3,"file":"toWebAuthnSigner.js","sourceRoot":"","sources":["../../signers/toWebAuthnSigner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toWebAuthnSigner.js","sourceRoot":"","sources":["../../signers/toWebAuthnSigner.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
1
  export declare const ECDSA_SIGNER_CONTRACT = "0x6A6F069E2a08c2468e7724Ab3250CdBFBA14D4FF";
2
- export declare const WEBAUTHN_SIGNER_CONTRACT = "0x8AA55d4BfAE101609078681A69B5bc3181516612";
2
+ export declare const WEBAUTHN_SIGNER_CONTRACT_V0_0_1 = "0x8AA55d4BfAE101609078681A69B5bc3181516612";
3
+ /**
4
+ * @dev WEBAUTHN_SIGNER_CONTRACT_V0_0_2 updates
5
+ * - Fixed checkSignature issue
6
+ */
7
+ export declare const WEBAUTHN_SIGNER_CONTRACT_V0_0_2 = "0x58625164e306242c7613223bDeb68fbe11300606";
3
8
  export declare const CALL_POLICY_CONTRACT_V0_0_1 = "0xe4Fec84B7B002273ecC86baa65a831ddB92d30a8";
4
9
  /**
5
10
  * @dev CALL_POLICY_CONTRACT_V0_0_2 updates
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,wBAAwB,+CACW,CAAA;AAChD,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAChD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAChD,eAAO,MAAM,mBAAmB,+CAA+C,CAAA;AAC/E,eAAO,MAAM,0BAA0B,+CACS,CAAA;AAChD,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAChD,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAEhD,oBAAY,WAAW;IACnB,kBAAkB,WAAW;IAC7B,uBAAuB,WAAW;IAClC,oBAAoB,WAAW;CAClC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAChD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAEhD,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAChD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAChD,eAAO,MAAM,mBAAmB,+CAA+C,CAAA;AAC/E,eAAO,MAAM,0BAA0B,+CACS,CAAA;AAChD,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAChD,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAEhD,oBAAY,WAAW;IACnB,kBAAkB,WAAW;IAC7B,uBAAuB,WAAW;IAClC,oBAAoB,WAAW;CAClC"}
@@ -1,5 +1,5 @@
1
1
  export { toECDSASigner, type ECDSAModularSignerParams } from "./toECDSASigner.js";
2
- export { toWebAuthnSigner, type WebAuthnModularSignerParams } from "./toWebAuthnSigner.js";
2
+ export { toWebAuthnSigner, type WebAuthnModularSignerParams, WebAuthnSignerVersion } from "./toWebAuthnSigner.js";
3
3
  export { WebAuthnMode, toWebAuthnKey } from "@zerodev/webauthn-key";
4
4
  export { toSignerId } from "./utils/toSignerId.js";
5
5
  export { toEmptyECDSASigner } from "./toEmptyECDSASigner.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,KAAK,wBAAwB,EAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAChB,KAAK,2BAA2B,EACnC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../signers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,KAAK,wBAAwB,EAChC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAChB,KAAK,2BAA2B,EAChC,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1,8 +1,14 @@
1
1
  import type { WebAuthnKey } from "@zerodev/webauthn-key";
2
- import { type Chain, type Client, type Transport } from "viem";
2
+ import { type Address, type Chain, type Client, type Transport } from "viem";
3
3
  import type { ModularSigner, ModularSignerParams } from "../types.js";
4
+ export declare enum WebAuthnSignerVersion {
5
+ V0_0_1 = "0.0.1",
6
+ V0_0_2 = "0.0.2"
7
+ }
4
8
  export type WebAuthnModularSignerParams = ModularSignerParams & {
5
9
  webAuthnKey: WebAuthnKey;
10
+ webAuthnSignerVersion: WebAuthnSignerVersion;
6
11
  };
7
- export declare const toWebAuthnSigner: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined>(client: Client<TTransport, TChain, undefined>, { signerContractAddress, webAuthnKey }: WebAuthnModularSignerParams) => Promise<ModularSigner>;
12
+ export declare const getWebAuthnSignerAddress: (webAuthnSignerVersion: WebAuthnSignerVersion, webAuthnSignerAddress?: Address) => Address;
13
+ export declare const toWebAuthnSigner: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined>(client: Client<TTransport, TChain, undefined>, { signerContractAddress, webAuthnKey, webAuthnSignerVersion }: WebAuthnModularSignerParams) => Promise<ModularSigner>;
8
14
  //# sourceMappingURL=toWebAuthnSigner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toWebAuthnSigner.d.ts","sourceRoot":"","sources":["../../signers/toWebAuthnSigner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAYxD,OAAO,EACH,KAAK,KAAK,EACV,KAAK,MAAM,EAGX,KAAK,SAAS,EAKjB,MAAM,MAAM,CAAA;AAKb,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,GAAG;IAC5D,WAAW,EAAE,WAAW,CAAA;CAC3B,CAAA;AAiFD,eAAO,MAAM,gBAAgB,0LAQtB,2BAA2B,KAC/B,QAAQ,aAAa,CAkFvB,CAAA"}
1
+ {"version":3,"file":"toWebAuthnSigner.d.ts","sourceRoot":"","sources":["../../signers/toWebAuthnSigner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAYxD,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAGX,KAAK,SAAS,EAKjB,MAAM,MAAM,CAAA;AAQb,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAErE,oBAAY,qBAAqB;IAC7B,MAAM,UAAU;IAChB,MAAM,UAAU;CACnB;AAED,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,GAAG;IAC5D,WAAW,EAAE,WAAW,CAAA;IACxB,qBAAqB,EAAE,qBAAqB,CAAA;CAC/C,CAAA;AAiFD,eAAO,MAAM,wBAAwB,0BACV,qBAAqB,0BACpB,OAAO,KAChC,OAQF,CAAA;AAED,eAAO,MAAM,gBAAgB,iNAStB,2BAA2B,KAC/B,QAAQ,aAAa,CAuFvB,CAAA"}
package/constants.ts CHANGED
@@ -1,7 +1,14 @@
1
1
  export const ECDSA_SIGNER_CONTRACT =
2
2
  "0x6A6F069E2a08c2468e7724Ab3250CdBFBA14D4FF"
3
- export const WEBAUTHN_SIGNER_CONTRACT =
3
+ export const WEBAUTHN_SIGNER_CONTRACT_V0_0_1 =
4
4
  "0x8AA55d4BfAE101609078681A69B5bc3181516612"
5
+ /**
6
+ * @dev WEBAUTHN_SIGNER_CONTRACT_V0_0_2 updates
7
+ * - Fixed checkSignature issue
8
+ */
9
+ export const WEBAUTHN_SIGNER_CONTRACT_V0_0_2 =
10
+ "0x58625164e306242c7613223bDeb68fbe11300606"
11
+
5
12
  export const CALL_POLICY_CONTRACT_V0_0_1 =
6
13
  "0xe4Fec84B7B002273ecC86baa65a831ddB92d30a8"
7
14
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerodev/permissions",
3
- "version": "5.4.0",
3
+ "version": "5.4.1",
4
4
  "author": "ZeroDev",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
package/signers/index.ts CHANGED
@@ -4,7 +4,8 @@ export {
4
4
  } from "./toECDSASigner.js"
5
5
  export {
6
6
  toWebAuthnSigner,
7
- type WebAuthnModularSignerParams
7
+ type WebAuthnModularSignerParams,
8
+ WebAuthnSignerVersion
8
9
  } from "./toWebAuthnSigner.js"
9
10
  export { WebAuthnMode, toWebAuthnKey } from "@zerodev/webauthn-key"
10
11
  export { toSignerId } from "./utils/toSignerId.js"
@@ -12,6 +12,7 @@ import {
12
12
  import type { TypedData } from "abitype"
13
13
  import { SignTransactionNotSupportedBySmartAccount } from "permissionless/accounts"
14
14
  import {
15
+ type Address,
15
16
  type Chain,
16
17
  type Client,
17
18
  type LocalAccount,
@@ -25,11 +26,20 @@ import {
25
26
  import { type SignableMessage, encodeAbiParameters } from "viem"
26
27
  import { toAccount } from "viem/accounts"
27
28
  import { getChainId, signMessage } from "viem/actions"
28
- import { WEBAUTHN_SIGNER_CONTRACT } from "../constants.js"
29
+ import {
30
+ WEBAUTHN_SIGNER_CONTRACT_V0_0_1,
31
+ WEBAUTHN_SIGNER_CONTRACT_V0_0_2
32
+ } from "../constants.js"
29
33
  import type { ModularSigner, ModularSignerParams } from "../types.js"
30
34
 
35
+ export enum WebAuthnSignerVersion {
36
+ V0_0_1 = "0.0.1",
37
+ V0_0_2 = "0.0.2"
38
+ }
39
+
31
40
  export type WebAuthnModularSignerParams = ModularSignerParams & {
32
41
  webAuthnKey: WebAuthnKey
42
+ webAuthnSignerVersion: WebAuthnSignerVersion
33
43
  }
34
44
 
35
45
  const signMessageUsingWebAuthn = async (
@@ -111,16 +121,35 @@ const signMessageUsingWebAuthn = async (
111
121
  return encodedSignature
112
122
  }
113
123
 
124
+ export const getWebAuthnSignerAddress = (
125
+ webAuthnSignerVersion: WebAuthnSignerVersion,
126
+ webAuthnSignerAddress?: Address
127
+ ): Address => {
128
+ if (webAuthnSignerAddress) return webAuthnSignerAddress
129
+ switch (webAuthnSignerVersion) {
130
+ case WebAuthnSignerVersion.V0_0_1:
131
+ return WEBAUTHN_SIGNER_CONTRACT_V0_0_1
132
+ case WebAuthnSignerVersion.V0_0_2:
133
+ return WEBAUTHN_SIGNER_CONTRACT_V0_0_2
134
+ }
135
+ }
136
+
114
137
  export const toWebAuthnSigner = async <
115
138
  TTransport extends Transport = Transport,
116
139
  TChain extends Chain | undefined = Chain | undefined
117
140
  >(
118
141
  client: Client<TTransport, TChain, undefined>,
119
142
  {
120
- signerContractAddress = WEBAUTHN_SIGNER_CONTRACT,
121
- webAuthnKey
143
+ signerContractAddress,
144
+ webAuthnKey,
145
+ webAuthnSignerVersion
122
146
  }: WebAuthnModularSignerParams
123
147
  ): Promise<ModularSigner> => {
148
+ const webAuthnSignerAddress = getWebAuthnSignerAddress(
149
+ webAuthnSignerVersion,
150
+ signerContractAddress
151
+ )
152
+
124
153
  const chainId = await getChainId(client)
125
154
 
126
155
  const account: LocalAccount = toAccount({
@@ -161,7 +190,7 @@ export const toWebAuthnSigner = async <
161
190
 
162
191
  return {
163
192
  account,
164
- signerContractAddress,
193
+ signerContractAddress: webAuthnSignerAddress,
165
194
  getSignerData: () => {
166
195
  return encodeAbiParameters(
167
196
  [