permissionless 0.0.17 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # permissionless
2
2
 
3
+ ## 0.0.18
4
+
5
+ ### Patch Changes
6
+
7
+ - 1371eb5: Added walletClientToCustomSigner
8
+
3
9
  ## 0.0.17
4
10
 
5
11
  ### Patch Changes
@@ -28,12 +28,12 @@ const waitForUserOperationReceipt = (bundlerClient, { hash, pollingInterval = bu
28
28
  if (timeout) {
29
29
  setTimeout(() => reject(new WaitForUserOperationReceiptTimeoutError({ hash })), timeout);
30
30
  }
31
- const _unobserve = (0, observe_js_1.observe)(observerId, { resolve, reject }, async (emit) => {
31
+ const unobserve = (0, observe_js_1.observe)(observerId, { resolve, reject }, async (emit) => {
32
32
  const _removeInterval = setInterval(async () => {
33
33
  const done = (fn) => {
34
34
  clearInterval(_removeInterval);
35
35
  fn();
36
- _unobserve();
36
+ unobserve();
37
37
  };
38
38
  const _userOperationReceipt = await (0, getAction_js_1.getAction)(bundlerClient, getUserOperationReceipt_js_1.getUserOperationReceipt)({ hash });
39
39
  if (_userOperationReceipt !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"waitForUserOperationReceipt.js","sourceRoot":"","sources":["../../../actions/bundler/waitForUserOperationReceipt.ts"],"names":[],"mappings":";;;AAAA,+BAQa;AACb,2DAAoD;AACpD,uDAAgD;AAChD,6EAGqC;AAErC,MAAa,uCAAwC,SAAQ,gBAAS;IAElE,YAAY,EAAE,IAAI,EAAkB;QAChC,KAAK,CACD,sDAAsD,IAAI,oBAAoB,CACjF,CAAA;QAJI;;;;mBAAO,yCAAyC;WAAA;IAKzD,CAAC;CACJ;AAPD,0FAOC;AAmCM,MAAM,2BAA2B,GAAG,CAKvC,aAAmD,EACnD,EACI,IAAI,EACJ,eAAe,GAAG,aAAa,CAAC,eAAe,EAC/C,OAAO,EAC6B,EACE,EAAE;IAC5C,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC;QACzB,6BAA6B;QAC7B,aAAa,CAAC,GAAG;QACjB,IAAI;KACP,CAAC,CAAA;IAEF,IAAI,oBAAuD,CAAA;IAE3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,OAAO,EAAE;YACT,UAAU,CACN,GAAG,EAAE,CACD,MAAM,CACF,IAAI,uCAAuC,CAAC,EAAE,IAAI,EAAE,CAAC,CACxD,EACL,OAAO,CACV,CAAA;SACJ;QAED,MAAM,UAAU,GAAG,IAAA,oBAAO,EACtB,UAAU,EACV,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE;YACX,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC3C,MAAM,IAAI,GAAG,CAAC,EAAc,EAAE,EAAE;oBAC5B,aAAa,CAAC,eAAe,CAAC,CAAA;oBAC9B,EAAE,EAAE,CAAA;oBACJ,UAAU,EAAE,CAAA;gBAChB,CAAC,CAAA;gBAED,MAAM,qBAAqB,GAAG,MAAM,IAAA,wBAAS,EACzC,aAAa,EACb,oDAAuB,CAC1B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBAEX,IAAI,qBAAqB,KAAK,IAAI,EAAE;oBAChC,oBAAoB,GAAG,qBAAqB,CAAA;iBAC/C;gBAED,IAAI,oBAAoB,EAAE;oBACtB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;oBAC9C,OAAM;iBACT;YACL,CAAC,EAAE,eAAe,CAAC,CAAA;QACvB,CAAC,CACJ,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AA3DY,QAAA,2BAA2B,+BA2DvC"}
1
+ {"version":3,"file":"waitForUserOperationReceipt.js","sourceRoot":"","sources":["../../../actions/bundler/waitForUserOperationReceipt.ts"],"names":[],"mappings":";;;AAAA,+BAQa;AACb,2DAAoD;AACpD,uDAAgD;AAChD,6EAGqC;AAErC,MAAa,uCAAwC,SAAQ,gBAAS;IAElE,YAAY,EAAE,IAAI,EAAkB;QAChC,KAAK,CACD,sDAAsD,IAAI,oBAAoB,CACjF,CAAA;QAJI;;;;mBAAO,yCAAyC;WAAA;IAKzD,CAAC;CACJ;AAPD,0FAOC;AAmCM,MAAM,2BAA2B,GAAG,CAKvC,aAAmD,EACnD,EACI,IAAI,EACJ,eAAe,GAAG,aAAa,CAAC,eAAe,EAC/C,OAAO,EAC6B,EACE,EAAE;IAC5C,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC;QACzB,6BAA6B;QAC7B,aAAa,CAAC,GAAG;QACjB,IAAI;KACP,CAAC,CAAA;IAEF,IAAI,oBAAuD,CAAA;IAE3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,OAAO,EAAE;YACT,UAAU,CACN,GAAG,EAAE,CACD,MAAM,CACF,IAAI,uCAAuC,CAAC,EAAE,IAAI,EAAE,CAAC,CACxD,EACL,OAAO,CACV,CAAA;SACJ;QAED,MAAM,SAAS,GAAG,IAAA,oBAAO,EACrB,UAAU,EACV,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE;YACX,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC3C,MAAM,IAAI,GAAG,CAAC,EAAc,EAAE,EAAE;oBAC5B,aAAa,CAAC,eAAe,CAAC,CAAA;oBAC9B,EAAE,EAAE,CAAA;oBACJ,SAAS,EAAE,CAAA;gBACf,CAAC,CAAA;gBAED,MAAM,qBAAqB,GAAG,MAAM,IAAA,wBAAS,EACzC,aAAa,EACb,oDAAuB,CAC1B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBAEX,IAAI,qBAAqB,KAAK,IAAI,EAAE;oBAChC,oBAAoB,GAAG,qBAAqB,CAAA;iBAC/C;gBAED,IAAI,oBAAoB,EAAE;oBACtB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;oBAC9C,OAAM;iBACT;YACL,CAAC,EAAE,eAAe,CAAC,CAAA;QACvB,CAAC,CACJ,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AA3DY,QAAA,2BAA2B,+BA2DvC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AccountOrClientNotFoundError = exports.signUserOperationHashWithECDSA = exports.getRequiredPrefund = exports.getUserOperationHash = exports.parseAccount = void 0;
3
+ exports.AccountOrClientNotFoundError = exports.signUserOperationHashWithECDSA = exports.walletClientToCustomSigner = exports.getRequiredPrefund = exports.getUserOperationHash = exports.parseAccount = void 0;
4
4
  const getRequiredPrefund_js_1 = require("./getRequiredPrefund.js");
5
5
  Object.defineProperty(exports, "getRequiredPrefund", { enumerable: true, get: function () { return getRequiredPrefund_js_1.getRequiredPrefund; } });
6
6
  const getUserOperationHash_js_1 = require("./getUserOperationHash.js");
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "getUserOperationHash", { enumerable: true, get:
8
8
  const signUserOperationHashWithECDSA_js_1 = require("./signUserOperationHashWithECDSA.js");
9
9
  Object.defineProperty(exports, "AccountOrClientNotFoundError", { enumerable: true, get: function () { return signUserOperationHashWithECDSA_js_1.AccountOrClientNotFoundError; } });
10
10
  Object.defineProperty(exports, "signUserOperationHashWithECDSA", { enumerable: true, get: function () { return signUserOperationHashWithECDSA_js_1.signUserOperationHashWithECDSA; } });
11
+ const walletClientToCustomSigner_js_1 = require("./walletClientToCustomSigner.js");
12
+ Object.defineProperty(exports, "walletClientToCustomSigner", { enumerable: true, get: function () { return walletClientToCustomSigner_js_1.walletClientToCustomSigner; } });
11
13
  function parseAccount(account) {
12
14
  if (typeof account === "string")
13
15
  return { address: account, type: "json-rpc" };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":";;;AACA,mEAGgC;AAkB5B,mGAnBA,0CAAkB,OAmBA;AAjBtB,uEAGkC;AAa9B,qGAdA,8CAAoB,OAcA;AAZxB,2FAG4C;AAcxC,6GAhBA,gEAA4B,OAgBA;AAD5B,+GAdA,kEAA8B,OAcA;AAXlC,SAAgB,YAAY,CAAC,OAA0B;IACnD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IACjD,OAAO,OAAO,CAAA;AAClB,CAAC;AAJD,oCAIC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":";;;AACA,mEAGgC;AAmB5B,mGApBA,0CAAkB,OAoBA;AAlBtB,uEAGkC;AAc9B,qGAfA,8CAAoB,OAeA;AAbxB,2FAG4C;AAgBxC,6GAlBA,gEAA4B,OAkBA;AAD5B,+GAhBA,kEAA8B,OAgBA;AAdlC,mFAA4E;AAWxE,2GAXK,0DAA0B,OAWL;AAT9B,SAAgB,YAAY,CAAC,OAA0B;IACnD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IACjD,OAAO,OAAO,CAAA;AAClB,CAAC;AAJD,oCAIC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.walletClientToCustomSigner = void 0;
4
+ function walletClientToCustomSigner(walletClient) {
5
+ return {
6
+ address: walletClient.account.address,
7
+ type: "local",
8
+ source: "custom",
9
+ publicKey: walletClient.account.address,
10
+ signMessage: async ({ message }) => {
11
+ return walletClient.signMessage({ message });
12
+ },
13
+ signTypedData: async (typedData) => {
14
+ return walletClient.signTypedData({
15
+ account: walletClient.account,
16
+ ...typedData
17
+ });
18
+ }
19
+ };
20
+ }
21
+ exports.walletClientToCustomSigner = walletClientToCustomSigner;
22
+ //# sourceMappingURL=walletClientToCustomSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletClientToCustomSigner.js","sourceRoot":"","sources":["../../utils/walletClientToCustomSigner.ts"],"names":[],"mappings":";;;AAcA,SAAgB,0BAA0B,CAGtC,YAAsD;IAEtD,OAAO;QACH,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO;QACvC,WAAW,EAAE,KAAK,EAAE,EAChB,OAAO,EACoB,EAAgB,EAAE;YAC7C,OAAO,YAAY,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAChD,CAAC;QACD,aAAa,EAAE,KAAK,EAIhB,SAAwD,EAC5C,EAAE;YACd,OAAO,YAAY,CAAC,aAAa,CAAC;gBAC9B,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,GAAG,SAAS;aACf,CAAC,CAAA;QACN,CAAC;KACJ,CAAA;AACL,CAAC;AA3BD,gEA2BC"}
@@ -45,12 +45,12 @@ export const waitForUserOperationReceipt = (bundlerClient, { hash, pollingInterv
45
45
  if (timeout) {
46
46
  setTimeout(() => reject(new WaitForUserOperationReceiptTimeoutError({ hash })), timeout);
47
47
  }
48
- const _unobserve = observe(observerId, { resolve, reject }, async (emit) => {
48
+ const unobserve = observe(observerId, { resolve, reject }, async (emit) => {
49
49
  const _removeInterval = setInterval(async () => {
50
50
  const done = (fn) => {
51
51
  clearInterval(_removeInterval);
52
52
  fn();
53
- _unobserve();
53
+ unobserve();
54
54
  };
55
55
  const _userOperationReceipt = await getAction(bundlerClient, getUserOperationReceipt)({ hash });
56
56
  if (_userOperationReceipt !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"waitForUserOperationReceipt.js","sourceRoot":"","sources":["../../../actions/bundler/waitForUserOperationReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EAKT,SAAS,EACZ,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAEH,uBAAuB,EAC1B,MAAM,8BAA8B,CAAA;AAErC,MAAM,OAAO,uCAAwC,SAAQ,SAAS;IAElE,YAAY,EAAE,IAAI,EAAkB;QAChC,KAAK,CACD,sDAAsD,IAAI,oBAAoB,CACjF,CAAA;QAJI;;;;mBAAO,yCAAyC;WAAA;IAKzD,CAAC;CACJ;AAcD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAKvC,aAAmD,EACnD,EACI,IAAI,EACJ,eAAe,GAAG,aAAa,CAAC,eAAe,EAC/C,OAAO,EAC6B,EACE,EAAE;IAC5C,MAAM,UAAU,GAAG,SAAS,CAAC;QACzB,6BAA6B;QAC7B,aAAa,CAAC,GAAG;QACjB,IAAI;KACP,CAAC,CAAA;IAEF,IAAI,oBAAuD,CAAA;IAE3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,OAAO,EAAE;YACT,UAAU,CACN,GAAG,EAAE,CACD,MAAM,CACF,IAAI,uCAAuC,CAAC,EAAE,IAAI,EAAE,CAAC,CACxD,EACL,OAAO,CACV,CAAA;SACJ;QAED,MAAM,UAAU,GAAG,OAAO,CACtB,UAAU,EACV,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE;YACX,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC3C,MAAM,IAAI,GAAG,CAAC,EAAc,EAAE,EAAE;oBAC5B,aAAa,CAAC,eAAe,CAAC,CAAA;oBAC9B,EAAE,EAAE,CAAA;oBACJ,UAAU,EAAE,CAAA;gBAChB,CAAC,CAAA;gBAED,MAAM,qBAAqB,GAAG,MAAM,SAAS,CACzC,aAAa,EACb,uBAAuB,CAC1B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBAEX,IAAI,qBAAqB,KAAK,IAAI,EAAE;oBAChC,oBAAoB,GAAG,qBAAqB,CAAA;iBAC/C;gBAED,IAAI,oBAAoB,EAAE;oBACtB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;oBAC9C,OAAM;iBACT;YACL,CAAC,EAAE,eAAe,CAAC,CAAA;QACvB,CAAC,CACJ,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"waitForUserOperationReceipt.js","sourceRoot":"","sources":["../../../actions/bundler/waitForUserOperationReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EAKT,SAAS,EACZ,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAEH,uBAAuB,EAC1B,MAAM,8BAA8B,CAAA;AAErC,MAAM,OAAO,uCAAwC,SAAQ,SAAS;IAElE,YAAY,EAAE,IAAI,EAAkB;QAChC,KAAK,CACD,sDAAsD,IAAI,oBAAoB,CACjF,CAAA;QAJI;;;;mBAAO,yCAAyC;WAAA;IAKzD,CAAC;CACJ;AAcD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAKvC,aAAmD,EACnD,EACI,IAAI,EACJ,eAAe,GAAG,aAAa,CAAC,eAAe,EAC/C,OAAO,EAC6B,EACE,EAAE;IAC5C,MAAM,UAAU,GAAG,SAAS,CAAC;QACzB,6BAA6B;QAC7B,aAAa,CAAC,GAAG;QACjB,IAAI;KACP,CAAC,CAAA;IAEF,IAAI,oBAAuD,CAAA;IAE3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,OAAO,EAAE;YACT,UAAU,CACN,GAAG,EAAE,CACD,MAAM,CACF,IAAI,uCAAuC,CAAC,EAAE,IAAI,EAAE,CAAC,CACxD,EACL,OAAO,CACV,CAAA;SACJ;QAED,MAAM,SAAS,GAAG,OAAO,CACrB,UAAU,EACV,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EAAE;YACX,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC3C,MAAM,IAAI,GAAG,CAAC,EAAc,EAAE,EAAE;oBAC5B,aAAa,CAAC,eAAe,CAAC,CAAA;oBAC9B,EAAE,EAAE,CAAA;oBACJ,SAAS,EAAE,CAAA;gBACf,CAAC,CAAA;gBAED,MAAM,qBAAqB,GAAG,MAAM,SAAS,CACzC,aAAa,EACb,uBAAuB,CAC1B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;gBAEX,IAAI,qBAAqB,KAAK,IAAI,EAAE;oBAChC,oBAAoB,GAAG,qBAAqB,CAAA;iBAC/C;gBAED,IAAI,oBAAoB,EAAE;oBACtB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;oBAC9C,OAAM;iBACT;YACL,CAAC,EAAE,eAAe,CAAC,CAAA;QACvB,CAAC,CACJ,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -1,10 +1,11 @@
1
1
  import { getRequiredPrefund } from "./getRequiredPrefund.js";
2
2
  import { getUserOperationHash } from "./getUserOperationHash.js";
3
3
  import { AccountOrClientNotFoundError, signUserOperationHashWithECDSA } from "./signUserOperationHashWithECDSA.js";
4
+ import { walletClientToCustomSigner } from "./walletClientToCustomSigner.js";
4
5
  export function parseAccount(account) {
5
6
  if (typeof account === "string")
6
7
  return { address: account, type: "json-rpc" };
7
8
  return account;
8
9
  }
9
- export { getUserOperationHash, getRequiredPrefund, signUserOperationHashWithECDSA, AccountOrClientNotFoundError };
10
+ export { getUserOperationHash, getRequiredPrefund, walletClientToCustomSigner, signUserOperationHashWithECDSA, AccountOrClientNotFoundError };
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEH,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,4BAA4B,EAC5B,8BAA8B,EACjC,MAAM,qCAAqC,CAAA;AAE5C,MAAM,UAAU,YAAY,CAAC,OAA0B;IACnD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IACjD,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAGlB,8BAA8B,EAC9B,4BAA4B,EAC/B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEH,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,4BAA4B,EAC5B,8BAA8B,EACjC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,MAAM,UAAU,YAAY,CAAC,OAA0B;IACnD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IACjD,OAAO,OAAO,CAAA;AAClB,CAAC;AAED,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAG1B,8BAA8B,EAC9B,4BAA4B,EAC/B,CAAA"}
@@ -0,0 +1,18 @@
1
+ export function walletClientToCustomSigner(walletClient) {
2
+ return {
3
+ address: walletClient.account.address,
4
+ type: "local",
5
+ source: "custom",
6
+ publicKey: walletClient.account.address,
7
+ signMessage: async ({ message }) => {
8
+ return walletClient.signMessage({ message });
9
+ },
10
+ signTypedData: async (typedData) => {
11
+ return walletClient.signTypedData({
12
+ account: walletClient.account,
13
+ ...typedData
14
+ });
15
+ }
16
+ };
17
+ }
18
+ //# sourceMappingURL=walletClientToCustomSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletClientToCustomSigner.js","sourceRoot":"","sources":["../../utils/walletClientToCustomSigner.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,0BAA0B,CAGtC,YAAsD;IAEtD,OAAO;QACH,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO;QACvC,WAAW,EAAE,KAAK,EAAE,EAChB,OAAO,EACoB,EAAgB,EAAE;YAC7C,OAAO,YAAY,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAChD,CAAC;QACD,aAAa,EAAE,KAAK,EAIhB,SAAwD,EAC5C,EAAE;YACd,OAAO,YAAY,CAAC,aAAa,CAAC;gBAC9B,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,GAAG,SAAS;aACf,CAAC,CAAA;QACN,CAAC;KACJ,CAAA;AACL,CAAC"}
@@ -2,6 +2,7 @@ import type { Account, Address } from "viem";
2
2
  import { type GetRequiredPrefundReturnType, getRequiredPrefund } from "./getRequiredPrefund.js";
3
3
  import { type GetUserOperationHashParams, getUserOperationHash } from "./getUserOperationHash.js";
4
4
  import { AccountOrClientNotFoundError, signUserOperationHashWithECDSA } from "./signUserOperationHashWithECDSA.js";
5
+ import { walletClientToCustomSigner } from "./walletClientToCustomSigner.js";
5
6
  export declare function parseAccount(account: Address | Account): Account;
6
- export { getUserOperationHash, getRequiredPrefund, type GetRequiredPrefundReturnType, type GetUserOperationHashParams, signUserOperationHashWithECDSA, AccountOrClientNotFoundError };
7
+ export { getUserOperationHash, getRequiredPrefund, walletClientToCustomSigner, type GetRequiredPrefundReturnType, type GetUserOperationHashParams, signUserOperationHashWithECDSA, AccountOrClientNotFoundError };
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EACH,KAAK,4BAA4B,EACjC,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,KAAK,0BAA0B,EAC/B,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,4BAA4B,EAC5B,8BAA8B,EACjC,MAAM,qCAAqC,CAAA;AAE5C,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAIhE;AAED,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EACH,KAAK,4BAA4B,EACjC,kBAAkB,EACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,KAAK,0BAA0B,EAC/B,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,4BAA4B,EAC5B,8BAA8B,EACjC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAIhE;AAED,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC/B,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Account, Address, Chain, Transport, WalletClient } from "viem";
2
+ import type { SmartAccountSigner } from "../accounts/types.js";
3
+ export declare function walletClientToCustomSigner<TChain extends Chain | undefined = Chain | undefined>(walletClient: WalletClient<Transport, TChain, Account>): SmartAccountSigner<"custom", Address>;
4
+ //# sourceMappingURL=walletClientToCustomSigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletClientToCustomSigner.d.ts","sourceRoot":"","sources":["../../utils/walletClientToCustomSigner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,OAAO,EACP,OAAO,EACP,KAAK,EAGL,SAAS,EAGT,YAAY,EACf,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,wBAAgB,0BAA0B,CACtC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GACvD,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAuBvC"}
@@ -87,7 +87,7 @@ export const waitForUserOperationReceipt = <
87
87
  )
88
88
  }
89
89
 
90
- const _unobserve = observe(
90
+ const unobserve = observe(
91
91
  observerId,
92
92
  { resolve, reject },
93
93
  async (emit) => {
@@ -95,7 +95,7 @@ export const waitForUserOperationReceipt = <
95
95
  const done = (fn: () => void) => {
96
96
  clearInterval(_removeInterval)
97
97
  fn()
98
- _unobserve()
98
+ unobserve()
99
99
  }
100
100
 
101
101
  const _userOperationReceipt = await getAction(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "permissionless",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "author": "Pimlico",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
package/utils/index.ts CHANGED
@@ -11,6 +11,7 @@ import {
11
11
  AccountOrClientNotFoundError,
12
12
  signUserOperationHashWithECDSA
13
13
  } from "./signUserOperationHashWithECDSA.js"
14
+ import { walletClientToCustomSigner } from "./walletClientToCustomSigner.js"
14
15
 
15
16
  export function parseAccount(account: Address | Account): Account {
16
17
  if (typeof account === "string")
@@ -21,6 +22,7 @@ export function parseAccount(account: Address | Account): Account {
21
22
  export {
22
23
  getUserOperationHash,
23
24
  getRequiredPrefund,
25
+ walletClientToCustomSigner,
24
26
  type GetRequiredPrefundReturnType,
25
27
  type GetUserOperationHashParams,
26
28
  signUserOperationHashWithECDSA,
@@ -0,0 +1,42 @@
1
+ import type {
2
+ Account,
3
+ Address,
4
+ Chain,
5
+ Hex,
6
+ SignableMessage,
7
+ Transport,
8
+ TypedData,
9
+ TypedDataDefinition,
10
+ WalletClient
11
+ } from "viem"
12
+
13
+ import type { SmartAccountSigner } from "../accounts/types.js"
14
+
15
+ export function walletClientToCustomSigner<
16
+ TChain extends Chain | undefined = Chain | undefined
17
+ >(
18
+ walletClient: WalletClient<Transport, TChain, Account>
19
+ ): SmartAccountSigner<"custom", Address> {
20
+ return {
21
+ address: walletClient.account.address,
22
+ type: "local",
23
+ source: "custom",
24
+ publicKey: walletClient.account.address,
25
+ signMessage: async ({
26
+ message
27
+ }: { message: SignableMessage }): Promise<Hex> => {
28
+ return walletClient.signMessage({ message })
29
+ },
30
+ signTypedData: async <
31
+ const TTypedData extends TypedData | { [key: string]: unknown },
32
+ TPrimaryType extends string = string
33
+ >(
34
+ typedData: TypedDataDefinition<TTypedData, TPrimaryType>
35
+ ): Promise<Hex> => {
36
+ return walletClient.signTypedData({
37
+ account: walletClient.account,
38
+ ...typedData
39
+ })
40
+ }
41
+ }
42
+ }