viem 0.3.43 → 0.3.44

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.
Files changed (41) hide show
  1. package/dist/cjs/actions/wallet/signMessage.js +8 -1
  2. package/dist/cjs/actions/wallet/signMessage.js.map +1 -1
  3. package/dist/cjs/adapters/ethers.js +8 -1
  4. package/dist/cjs/adapters/ethers.js.map +1 -1
  5. package/dist/cjs/utils/signature/hashMessage.js +7 -1
  6. package/dist/cjs/utils/signature/hashMessage.js.map +1 -1
  7. package/dist/cjs/utils/unit/parseUnits.js +1 -1
  8. package/dist/cjs/utils/unit/parseUnits.js.map +1 -1
  9. package/dist/esm/actions/wallet/signMessage.js +9 -2
  10. package/dist/esm/actions/wallet/signMessage.js.map +1 -1
  11. package/dist/esm/adapters/ethers.js +9 -2
  12. package/dist/esm/adapters/ethers.js.map +1 -1
  13. package/dist/esm/utils/signature/hashMessage.js +8 -2
  14. package/dist/esm/utils/signature/hashMessage.js.map +1 -1
  15. package/dist/esm/utils/unit/parseUnits.js +1 -1
  16. package/dist/esm/utils/unit/parseUnits.js.map +1 -1
  17. package/dist/types/accounts/types.d.ts +2 -2
  18. package/dist/types/accounts/types.d.ts.map +1 -1
  19. package/dist/types/accounts/utils/signMessage.d.ts +2 -2
  20. package/dist/types/accounts/utils/signMessage.d.ts.map +1 -1
  21. package/dist/types/actions/public/verifyMessage.d.ts +2 -2
  22. package/dist/types/actions/public/verifyMessage.d.ts.map +1 -1
  23. package/dist/types/actions/wallet/signMessage.d.ts +2 -2
  24. package/dist/types/actions/wallet/signMessage.d.ts.map +1 -1
  25. package/dist/types/adapters/ethers.d.ts.map +1 -1
  26. package/dist/types/types/misc.d.ts +4 -0
  27. package/dist/types/types/misc.d.ts.map +1 -1
  28. package/dist/types/utils/signature/hashMessage.d.ts +2 -2
  29. package/dist/types/utils/signature/hashMessage.d.ts.map +1 -1
  30. package/dist/types/utils/signature/recoverMessageAddress.d.ts +2 -2
  31. package/dist/types/utils/signature/recoverMessageAddress.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/accounts/types.ts +2 -2
  34. package/src/accounts/utils/signMessage.ts +2 -2
  35. package/src/actions/public/verifyMessage.ts +2 -2
  36. package/src/actions/wallet/signMessage.ts +11 -4
  37. package/src/adapters/ethers.ts +7 -2
  38. package/src/types/misc.ts +6 -0
  39. package/src/utils/signature/hashMessage.ts +8 -4
  40. package/src/utils/signature/recoverMessageAddress.ts +2 -2
  41. package/src/utils/unit/parseUnits.ts +1 -1
@@ -12,9 +12,16 @@ async function signMessage(client, { account: account_ = client.account, message
12
12
  const account = (0, parseAccount_js_1.parseAccount)(account_);
13
13
  if (account.type === 'local')
14
14
  return account.signMessage({ message });
15
+ const message_ = (() => {
16
+ if (typeof message === 'string')
17
+ return (0, toHex_js_1.stringToHex)(message);
18
+ if (message.raw instanceof Uint8Array)
19
+ return (0, toHex_js_1.toHex)(message.raw);
20
+ return message.raw;
21
+ })();
15
22
  return client.request({
16
23
  method: 'personal_sign',
17
- params: [(0, toHex_js_1.toHex)(message), account.address],
24
+ params: [message_, account.address],
18
25
  });
19
26
  }
20
27
  exports.signMessage = signMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../src/actions/wallet/signMessage.ts"],"names":[],"mappings":";;;AACA,0EAAmE;AAGnE,wDAA8D;AAI9D,4DAAqD;AAwD9C,KAAK,UAAU,WAAW,CAI/B,MAAiD,EACjD,EACE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,OAAO,GACyB;IAElC,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,kCAAkC;SAC7C,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAA;IACtC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,CAAC,IAAA,gBAAK,EAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;KAC1C,CAAC,CAAA;AACJ,CAAC;AApBD,kCAoBC"}
1
+ {"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../src/actions/wallet/signMessage.ts"],"names":[],"mappings":";;;AACA,0EAAmE;AAGnE,wDAA8D;AAI9D,4DAAkE;AAwD3D,KAAK,UAAU,WAAW,CAI/B,MAAiD,EACjD,EACE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,OAAO,GACyB;IAElC,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,kCAAkC;SAC7C,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAA;IACtC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAErE,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAA;QAC5D,IAAI,OAAO,CAAC,GAAG,YAAY,UAAU;YAAE,OAAO,IAAA,gBAAK,EAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChE,OAAO,OAAO,CAAC,GAAG,CAAA;IACpB,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;KACpC,CAAC,CAAA;AACJ,CAAC;AA3BD,kCA2BC"}
@@ -6,7 +6,14 @@ const toBytes_js_1 = require("../utils/encoding/toBytes.js");
6
6
  const ethersWalletToAccount = (wallet) => (0, toAccount_js_1.toAccount)({
7
7
  address: wallet.address,
8
8
  async signMessage({ message }) {
9
- return (await wallet.signMessage((0, toBytes_js_1.toBytes)(message)));
9
+ const messageBytes = (() => {
10
+ if (typeof message === 'string')
11
+ return (0, toBytes_js_1.stringToBytes)(message);
12
+ if (message.raw instanceof Uint8Array)
13
+ return message.raw;
14
+ return (0, toBytes_js_1.toBytes)(message.raw);
15
+ })();
16
+ return (await wallet.signMessage(messageBytes));
10
17
  },
11
18
  async signTransaction(txn) {
12
19
  let type = null;
@@ -1 +1 @@
1
- {"version":3,"file":"ethers.js","sourceRoot":"","sources":["../../../src/adapters/ethers.ts"],"names":[],"mappings":";;;AAEA,2DAAoD;AAEpD,6DAAsD;AAwC/C,MAAM,qBAAqB,GAAG,CAAC,MAAoB,EAAE,EAAE,CAC5D,IAAA,wBAAS,EAAC;IACR,OAAO,EAAE,MAAM,CAAC,OAAkB;IAClC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;QAC3B,OAAO,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,IAAA,oBAAO,EAAC,OAAO,CAAC,CAAC,CAAS,CAAA;IAC7D,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,GAAG;QAGvB,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YACzB,IAAI,GAAG,CAAC,CAAA;SACT;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,IAAI,GAAG,CAAC,CAAA;SACT;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,IAAI,GAAG,CAAC,CAAA;SACT;QACD,OAAO,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC;YAEnC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,GAAG;YACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI;YACJ,KAAK,EAAE,GAAG,CAAC,KAAK;YAEhB,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAErE,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,oBAAoB;gBACpD,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,CAAC,oBAAoB,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY;gBAC5C,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAS,CAAA;IACb,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QACpD,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,MAAa,CAAA;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa;YACxC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,OAAO,CAAC,MAAM,aAAa,CACzB,MAAM,IAAI,EAAE,EACZ,KAAyC,EACzC,OAAO,CACR,CAAS,CAAA;IACZ,CAAC;CACF,CAAC,CAAA;AAjDS,QAAA,qBAAqB,yBAiD9B"}
1
+ {"version":3,"file":"ethers.js","sourceRoot":"","sources":["../../../src/adapters/ethers.ts"],"names":[],"mappings":";;;AAEA,2DAAoD;AAEpD,6DAAqE;AAwC9D,MAAM,qBAAqB,GAAG,CAAC,MAAoB,EAAE,EAAE,CAC5D,IAAA,wBAAS,EAAC;IACR,OAAO,EAAE,MAAM,CAAC,OAAkB;IAClC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;QAC3B,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;YACzB,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,OAAO,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAA;YAC9D,IAAI,OAAO,CAAC,GAAG,YAAY,UAAU;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAA;YACzD,OAAO,IAAA,oBAAO,EAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC,CAAC,EAAE,CAAA;QACJ,OAAO,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAS,CAAA;IACzD,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,GAAG;QAGvB,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YACzB,IAAI,GAAG,CAAC,CAAA;SACT;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,IAAI,GAAG,CAAC,CAAA;SACT;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,IAAI,GAAG,CAAC,CAAA;SACT;QACD,OAAO,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC;YAEnC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,GAAG;YACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI;YACJ,KAAK,EAAE,GAAG,CAAC,KAAK;YAEhB,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAErE,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,oBAAoB;gBACpD,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,CAAC,oBAAoB,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY;gBAC5C,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAS,CAAA;IACb,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QACpD,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,MAAa,CAAA;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa;YACxC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,OAAO,CAAC,MAAM,aAAa,CACzB,MAAM,IAAI,EAAE,EACZ,KAAyC,EACzC,OAAO,CACR,CAAS,CAAA;IACZ,CAAC;CACF,CAAC,CAAA;AAtDS,QAAA,qBAAqB,yBAsD9B"}
@@ -5,7 +5,13 @@ const concat_js_1 = require("../data/concat.js");
5
5
  const toBytes_js_1 = require("../encoding/toBytes.js");
6
6
  const keccak256_js_1 = require("../hash/keccak256.js");
7
7
  function hashMessage(message, to_) {
8
- const messageBytes = (0, toBytes_js_1.stringToBytes)(message);
8
+ const messageBytes = (() => {
9
+ if (typeof message === 'string')
10
+ return (0, toBytes_js_1.stringToBytes)(message);
11
+ if (message.raw instanceof Uint8Array)
12
+ return message.raw;
13
+ return (0, toBytes_js_1.toBytes)(message.raw);
14
+ })();
9
15
  const prefixBytes = (0, toBytes_js_1.stringToBytes)(`\x19Ethereum Signed Message:\n${messageBytes.length}`);
10
16
  return (0, keccak256_js_1.keccak256)((0, concat_js_1.concat)([prefixBytes, messageBytes]), to_);
11
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hashMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/hashMessage.ts"],"names":[],"mappings":";;;AACA,iDAA0C;AAC1C,uDAAsD;AACtD,uDAAgD;AAQhD,SAAgB,WAAW,CACzB,OAAe,EACf,GAAS;IAET,MAAM,YAAY,GAAG,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,WAAW,GAAG,IAAA,0BAAa,EAC/B,iCAAiC,YAAY,CAAC,MAAM,EAAE,CACvD,CAAA;IACD,OAAO,IAAA,wBAAS,EAAC,IAAA,kBAAM,EAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC5D,CAAC;AATD,kCASC"}
1
+ {"version":3,"file":"hashMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/hashMessage.ts"],"names":[],"mappings":";;;AACA,iDAA0C;AAC1C,uDAA+D;AAC/D,uDAAgD;AAQhD,SAAgB,WAAW,CACzB,OAAwB,EACxB,GAAS;IAET,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAA,0BAAa,EAAC,OAAO,CAAC,CAAA;QAC9D,IAAI,OAAO,CAAC,GAAG,YAAY,UAAU;YAAE,OAAO,OAAO,CAAC,GAAG,CAAA;QACzD,OAAO,IAAA,oBAAO,EAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,WAAW,GAAG,IAAA,0BAAa,EAC/B,iCAAiC,YAAY,CAAC,MAAM,EAAE,CACvD,CAAA;IACD,OAAO,IAAA,wBAAS,EAAC,IAAA,kBAAM,EAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC5D,CAAC;AAbD,kCAaC"}
@@ -16,7 +16,7 @@ function parseUnits(value, decimals) {
16
16
  fraction.slice(0, decimals),
17
17
  fraction.slice(decimals),
18
18
  ];
19
- fraction = `${/^0+$/.test(before) ? before.slice(0, before.length - 1) : ''}${Math.round(Number(`${before}.${after}`))}`;
19
+ fraction = `${/^0+/.test(before) ? before.slice(0, before.length - 1) : ''}${Math.round(Number(`${before}.${after}`))}`;
20
20
  }
21
21
  else {
22
22
  fraction = fraction.padEnd(decimals, '0');
@@ -1 +1 @@
1
- {"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAGxC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAGxC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;QAC3D,QAAQ,GAAG,EAAE,CAAA;KACd;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;QACrC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,CAAA;QACD,QAAQ,GAAG,GACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7D,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,EAAE,CAAA;KAC9C;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;KAC1C;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC;AA1BD,gCA0BC"}
1
+ {"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAGxC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAGxC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;QAC3D,QAAQ,GAAG,EAAE,CAAA;KACd;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;QACrC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,CAAA;QACD,QAAQ,GAAG,GACT,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,EAAE,CAAA;KAC9C;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;KAC1C;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC;AA1BD,gCA0BC"}
@@ -1,6 +1,6 @@
1
1
  import { parseAccount } from '../../accounts/utils/parseAccount.js';
2
2
  import { AccountNotFoundError } from '../../errors/account.js';
3
- import { toHex } from '../../utils/encoding/toHex.js';
3
+ import { stringToHex, toHex } from '../../utils/encoding/toHex.js';
4
4
  export async function signMessage(client, { account: account_ = client.account, message, }) {
5
5
  if (!account_)
6
6
  throw new AccountNotFoundError({
@@ -9,9 +9,16 @@ export async function signMessage(client, { account: account_ = client.account,
9
9
  const account = parseAccount(account_);
10
10
  if (account.type === 'local')
11
11
  return account.signMessage({ message });
12
+ const message_ = (() => {
13
+ if (typeof message === 'string')
14
+ return stringToHex(message);
15
+ if (message.raw instanceof Uint8Array)
16
+ return toHex(message.raw);
17
+ return message.raw;
18
+ })();
12
19
  return client.request({
13
20
  method: 'personal_sign',
14
- params: [toHex(message), account.address],
21
+ params: [message_, account.address],
15
22
  });
16
23
  }
17
24
  //# sourceMappingURL=signMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../src/actions/wallet/signMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAGnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAI9D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAwDrD,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,MAAiD,EACjD,EACE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,OAAO,GACyB;IAElC,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,oBAAoB,CAAC;YAC7B,QAAQ,EAAE,kCAAkC;SAC7C,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACtC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACrE,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;KAC1C,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../src/actions/wallet/signMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAGnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAI9D,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAwDlE,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,MAAiD,EACjD,EACE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,OAAO,GACyB;IAElC,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,oBAAoB,CAAC;YAC7B,QAAQ,EAAE,kCAAkC;SAC7C,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACtC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAErE,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;QAC5D,IAAI,OAAO,CAAC,GAAG,YAAY,UAAU;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChE,OAAO,OAAO,CAAC,GAAG,CAAA;IACpB,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;KACpC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,9 +1,16 @@
1
1
  import { toAccount } from '../accounts/toAccount.js';
2
- import { toBytes } from '../utils/encoding/toBytes.js';
2
+ import { stringToBytes, toBytes } from '../utils/encoding/toBytes.js';
3
3
  export const ethersWalletToAccount = (wallet) => toAccount({
4
4
  address: wallet.address,
5
5
  async signMessage({ message }) {
6
- return (await wallet.signMessage(toBytes(message)));
6
+ const messageBytes = (() => {
7
+ if (typeof message === 'string')
8
+ return stringToBytes(message);
9
+ if (message.raw instanceof Uint8Array)
10
+ return message.raw;
11
+ return toBytes(message.raw);
12
+ })();
13
+ return (await wallet.signMessage(messageBytes));
7
14
  },
8
15
  async signTransaction(txn) {
9
16
  let type = null;
@@ -1 +1 @@
1
- {"version":3,"file":"ethers.js","sourceRoot":"","sources":["../../../src/adapters/ethers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAwCtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAoB,EAAE,EAAE,CAC5D,SAAS,CAAC;IACR,OAAO,EAAE,MAAM,CAAC,OAAkB;IAClC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;QAC3B,OAAO,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAS,CAAA;IAC7D,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,GAAG;QAGvB,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YACzB,IAAI,GAAG,CAAC,CAAA;SACT;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,IAAI,GAAG,CAAC,CAAA;SACT;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,IAAI,GAAG,CAAC,CAAA;SACT;QACD,OAAO,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC;YAEnC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,GAAG;YACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI;YACJ,KAAK,EAAE,GAAG,CAAC,KAAK;YAEhB,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAErE,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,oBAAoB;gBACpD,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,CAAC,oBAAoB,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY;gBAC5C,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAS,CAAA;IACb,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QACpD,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,MAAa,CAAA;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa;YACxC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,OAAO,CAAC,MAAM,aAAa,CACzB,MAAM,IAAI,EAAE,EACZ,KAAyC,EACzC,OAAO,CACR,CAAS,CAAA;IACZ,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"ethers.js","sourceRoot":"","sources":["../../../src/adapters/ethers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAwCrE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAoB,EAAE,EAAE,CAC5D,SAAS,CAAC;IACR,OAAO,EAAE,MAAM,CAAC,OAAkB;IAClC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;QAC3B,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;YACzB,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;YAC9D,IAAI,OAAO,CAAC,GAAG,YAAY,UAAU;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAA;YACzD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC,CAAC,EAAE,CAAA;QACJ,OAAO,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAS,CAAA;IACzD,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,GAAG;QAGvB,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YACzB,IAAI,GAAG,CAAC,CAAA;SACT;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,IAAI,GAAG,CAAC,CAAA;SACT;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,IAAI,GAAG,CAAC,CAAA;SACT;QACD,OAAO,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC;YAEnC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,GAAG;YACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI;YACJ,KAAK,EAAE,GAAG,CAAC,KAAK;YAEhB,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAErE,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,oBAAoB;gBACpD,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,CAAC,oBAAoB,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY;gBAC5C,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAS,CAAA;IACb,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QACpD,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,MAAa,CAAA;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa;YACxC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,OAAO,CAAC,MAAM,aAAa,CACzB,MAAM,IAAI,EAAE,EACZ,KAAyC,EACzC,OAAO,CACR,CAAS,CAAA;IACZ,CAAC;CACF,CAAC,CAAA"}
@@ -1,8 +1,14 @@
1
1
  import { concat } from '../data/concat.js';
2
- import { stringToBytes } from '../encoding/toBytes.js';
2
+ import { stringToBytes, toBytes } from '../encoding/toBytes.js';
3
3
  import { keccak256 } from '../hash/keccak256.js';
4
4
  export function hashMessage(message, to_) {
5
- const messageBytes = stringToBytes(message);
5
+ const messageBytes = (() => {
6
+ if (typeof message === 'string')
7
+ return stringToBytes(message);
8
+ if (message.raw instanceof Uint8Array)
9
+ return message.raw;
10
+ return toBytes(message.raw);
11
+ })();
6
12
  const prefixBytes = stringToBytes(`\x19Ethereum Signed Message:\n${messageBytes.length}`);
7
13
  return keccak256(concat([prefixBytes, messageBytes]), to_);
8
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hashMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/hashMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAQhD,MAAM,UAAU,WAAW,CACzB,OAAe,EACf,GAAS;IAET,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,WAAW,GAAG,aAAa,CAC/B,iCAAiC,YAAY,CAAC,MAAM,EAAE,CACvD,CAAA;IACD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC5D,CAAC"}
1
+ {"version":3,"file":"hashMessage.js","sourceRoot":"","sources":["../../../../src/utils/signature/hashMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAQhD,MAAM,UAAU,WAAW,CACzB,OAAwB,EACxB,GAAS;IAET,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;QAC9D,IAAI,OAAO,CAAC,GAAG,YAAY,UAAU;YAAE,OAAO,OAAO,CAAC,GAAG,CAAA;QACzD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,WAAW,GAAG,aAAa,CAC/B,iCAAiC,YAAY,CAAC,MAAM,EAAE,CACvD,CAAA;IACD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC5D,CAAC"}
@@ -13,7 +13,7 @@ export function parseUnits(value, decimals) {
13
13
  fraction.slice(0, decimals),
14
14
  fraction.slice(decimals),
15
15
  ];
16
- fraction = `${/^0+$/.test(before) ? before.slice(0, before.length - 1) : ''}${Math.round(Number(`${before}.${after}`))}`;
16
+ fraction = `${/^0+/.test(before) ? before.slice(0, before.length - 1) : ''}${Math.round(Number(`${before}.${after}`))}`;
17
17
  }
18
18
  else {
19
19
  fraction = fraction.padEnd(decimals, '0');
@@ -1 +1 @@
1
- {"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAGxC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAGxC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;QAC3D,QAAQ,GAAG,EAAE,CAAA;KACd;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;QACrC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,CAAA;QACD,QAAQ,GAAG,GACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7D,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,EAAE,CAAA;KAC9C;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;KAC1C;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC"}
1
+ {"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../../src/utils/unit/parseUnits.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAkB,EAAE,QAAgB;IAC7D,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAGxC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAGxC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAClB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAA;QAC3D,QAAQ,GAAG,EAAE,CAAA;KACd;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;QACrC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;YACtB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,CAAA;QACD,QAAQ,GAAG,GACT,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,EAAE,CAAA;KAC9C;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;KAC1C;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { HDKey } from '@scure/bip32';
2
2
  import type { Address, TypedData } from 'abitype';
3
- import type { Hash, Hex } from '../types/misc.js';
3
+ import type { Hash, Hex, SignableMessage } from '../types/misc.js';
4
4
  import type { TransactionSerializable } from '../types/transaction.js';
5
5
  import type { TypedDataDefinition } from '../types/typedData.js';
6
6
  export type Account<TAddress extends Address = Address> = JsonRpcAccount<TAddress> | LocalAccount<string, TAddress>;
@@ -8,7 +8,7 @@ export type AccountSource = Address | CustomSource;
8
8
  export type CustomSource = {
9
9
  address: Address;
10
10
  signMessage: ({ message }: {
11
- message: string;
11
+ message: SignableMessage;
12
12
  }) => Promise<Hash>;
13
13
  signTransaction: (transaction: TransactionSerializable) => Promise<Hash>;
14
14
  signTypedData: <TTypedData extends TypedData | {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/accounts/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEhE,MAAM,MAAM,OAAO,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAClD,cAAc,CAAC,QAAQ,CAAC,GACxB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAElC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,YAAY,CAAA;AAClD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,eAAe,EAAE,CAAC,WAAW,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,aAAa,EAAE,CACb,UAAU,SAAS,SAAS,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACzD,YAAY,SAAS,MAAM,GAAG,MAAM,EAEpC,SAAS,EAAE,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,KACrD,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAAI;IAC/D,OAAO,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,MAAM,GAAG,QAAQ,EACjC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAChC,YAAY,GAAG;IACjB,OAAO,EAAE,QAAQ,CAAA;IACjB,SAAS,EAAE,GAAG,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG;IAC3C,QAAQ,IAAI,KAAK,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,SAAS,GACjB;IACE,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,GACD;IACE,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,mBAAmB;IACnB,IAAI,EAAE,aAAa,MAAM,EAAE,CAAA;CAC5B,CAAA;AAEL,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/accounts/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEhE,MAAM,MAAM,OAAO,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAClD,cAAc,CAAC,QAAQ,CAAC,GACxB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAElC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,YAAY,CAAA;AAClD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,eAAe,EAAE,CAAC,WAAW,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,aAAa,EAAE,CACb,UAAU,SAAS,SAAS,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EACzD,YAAY,SAAS,MAAM,GAAG,MAAM,EAEpC,SAAS,EAAE,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,KACrD,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAAI;IAC/D,OAAO,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,MAAM,GAAG,QAAQ,EACjC,QAAQ,SAAS,OAAO,GAAG,OAAO,IAChC,YAAY,GAAG;IACjB,OAAO,EAAE,QAAQ,CAAA;IACjB,SAAS,EAAE,GAAG,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG;IAC3C,QAAQ,IAAI,KAAK,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,SAAS,GACjB;IACE,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,GACD;IACE,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,mBAAmB;IACnB,IAAI,EAAE,aAAa,MAAM,EAAE,CAAA;CAC5B,CAAA;AAEL,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
- import type { Hex } from '../../types/misc.js';
1
+ import type { Hex, SignableMessage } from '../../types/misc.js';
2
2
  export type SignMessageParameters = {
3
3
  /** The message to sign. */
4
- message: string;
4
+ message: SignableMessage;
5
5
  /** The private key to sign with. */
6
6
  privateKey: Hex;
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"signMessage.d.ts","sourceRoot":"","sources":["../../../../src/accounts/utils/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAM9C,MAAM,MAAM,qBAAqB,GAAG;IAClC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,UAAU,EAAE,GAAG,CAAA;CAChB,CAAA;AACD,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEvC;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,EAChC,OAAO,EACP,UAAU,GACX,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAGxD"}
1
+ {"version":3,"file":"signMessage.d.ts","sourceRoot":"","sources":["../../../../src/accounts/utils/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAM/D,MAAM,MAAM,qBAAqB,GAAG;IAClC,2BAA2B;IAC3B,OAAO,EAAE,eAAe,CAAA;IACxB,oCAAoC;IACpC,UAAU,EAAE,GAAG,CAAA;CAChB,CAAA;AACD,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEvC;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,EAChC,OAAO,EACP,UAAU,GACX,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAGxD"}
@@ -1,14 +1,14 @@
1
1
  import type { Chain } from '../../chains.js';
2
2
  import type { PublicClient } from '../../clients/createPublicClient.js';
3
3
  import type { Transport } from '../../clients/transports/createTransport.js';
4
- import type { ByteArray, Hex } from '../../types/misc.js';
4
+ import type { ByteArray, Hex, SignableMessage } from '../../types/misc.js';
5
5
  import { type VerifyHashParameters } from './verifyHash.js';
6
6
  import type { Address } from 'abitype';
7
7
  export type VerifyMessageParameters = Omit<VerifyHashParameters, 'hash'> & {
8
8
  /** The address that signed the original message. */
9
9
  address: Address;
10
10
  /** The message to be verified. */
11
- message: string;
11
+ message: SignableMessage;
12
12
  /** The signature that was generated by signing the message with the address's private key. */
13
13
  signature: Hex | ByteArray;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"verifyMessage.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/verifyMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EAAE,KAAK,oBAAoB,EAAc,MAAM,iBAAiB,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG;IACzE,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAE7C;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAClE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,EAAE,uBAAuB,GACvE,OAAO,CAAC,uBAAuB,CAAC,CAQlC"}
1
+ {"version":3,"file":"verifyMessage.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/verifyMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1E,OAAO,EAAE,KAAK,oBAAoB,EAAc,MAAM,iBAAiB,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG;IACzE,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAA;IAChB,kCAAkC;IAClC,OAAO,EAAE,eAAe,CAAA;IACxB,8FAA8F;IAC9F,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAE7C;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAClE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,EAAE,uBAAuB,GACvE,OAAO,CAAC,uBAAuB,CAAC,CAQlC"}
@@ -3,9 +3,9 @@ import type { WalletClient } from '../../clients/createWalletClient.js';
3
3
  import type { Transport } from '../../clients/transports/createTransport.js';
4
4
  import type { GetAccountParameter } from '../../types/account.js';
5
5
  import type { Chain } from '../../types/chain.js';
6
- import type { Hex } from '../../types/misc.js';
6
+ import type { Hex, SignableMessage } from '../../types/misc.js';
7
7
  export type SignMessageParameters<TAccount extends Account | undefined = Account | undefined> = GetAccountParameter<TAccount> & {
8
- message: string;
8
+ message: SignableMessage;
9
9
  };
10
10
  export type SignMessageReturnType = Hex;
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"signMessage.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAE5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAG9C,MAAM,MAAM,qBAAqB,CAC/B,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACxD,mBAAmB,CAAC,QAAQ,CAAC,GAAG;IAClC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,WAAW,CAC/B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EAEpC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EACE,OAAO,EAAE,QAAyB,EAClC,OAAO,GACR,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
1
+ {"version":3,"file":"signMessage.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAE5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAG/D,MAAM,MAAM,qBAAqB,CAC/B,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACxD,mBAAmB,CAAC,QAAQ,CAAC,GAAG;IAClC,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,WAAW,CAC/B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EAEpC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EACE,OAAO,EAAE,QAAyB,EAClC,OAAO,GACR,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAkBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ethers.d.ts","sourceRoot":"","sources":["../../../src/adapters/ethers.ts"],"names":[],"mappings":"AAMA,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAC5C,KAAK,SAAS,GAAG,MAAM,GAAG,UAAU,CAAA;AAEpC,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AACD,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACjD,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC3C,GAAG,CACA;IACE,aAAa,CACX,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC,CAAA;IAClB,cAAc,CAAC,EAAE,KAAK,CAAA;CACvB,GACD;IACE,aAAa,CAAC,EAAE,KAAK,CAAA;IACrB,cAAc,CACZ,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC,CAAA;CACnB,CACJ,CAAA;AAED,eAAO,MAAM,qBAAqB,WAAY,YAAY,uCAiDtD,CAAA"}
1
+ {"version":3,"file":"ethers.d.ts","sourceRoot":"","sources":["../../../src/adapters/ethers.ts"],"names":[],"mappings":"AAMA,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAC5C,KAAK,SAAS,GAAG,MAAM,GAAG,UAAU,CAAA;AAEpC,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AACD,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACjD,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC3C,GAAG,CACA;IACE,aAAa,CACX,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC,CAAA;IAClB,cAAc,CAAC,EAAE,KAAK,CAAA;CACvB,GACD;IACE,aAAa,CAAC,EAAE,KAAK,CAAA;IACrB,cAAc,CACZ,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC,CAAA;CACnB,CACJ,CAAA;AAED,eAAO,MAAM,qBAAqB,WAAY,YAAY,uCAsDtD,CAAA"}
@@ -2,6 +2,10 @@ export type ByteArray = Uint8Array;
2
2
  export type Hex = `0x${string}`;
3
3
  export type Hash = `0x${string}`;
4
4
  export type LogTopic = Hex | Hex[] | null;
5
+ export type SignableMessage = string | {
6
+ /** Raw data representation of the message. */
7
+ raw: Hex | ByteArray;
8
+ };
5
9
  export type Signature = {
6
10
  r: Hex;
7
11
  s: Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/types/misc.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,UAAU,CAAA;AAClC,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,EAAE,CAAA;AAC/B,MAAM,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAA;AAChC,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAA;AACzC,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,EAAE,GAAG,CAAA;IACN,CAAC,EAAE,GAAG,CAAA;IACN,CAAC,EAAE,MAAM,CAAA;CACV,CAAA"}
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/types/misc.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,UAAU,CAAA;AAClC,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,EAAE,CAAA;AAC/B,MAAM,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAA;AAChC,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAA;AACzC,MAAM,MAAM,eAAe,GACvB,MAAM,GACN;IACE,8CAA8C;IAC9C,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;CACrB,CAAA;AACL,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,EAAE,GAAG,CAAA;IACN,CAAC,EAAE,GAAG,CAAA;IACN,CAAC,EAAE,MAAM,CAAA;CACV,CAAA"}
@@ -1,6 +1,6 @@
1
- import type { ByteArray, Hex } from '../../types/misc.js';
1
+ import type { ByteArray, Hex, SignableMessage } from '../../types/misc.js';
2
2
  type To = 'hex' | 'bytes';
3
3
  export type HashMessage<TTo extends To> = (TTo extends 'bytes' ? ByteArray : never) | (TTo extends 'hex' ? Hex : never);
4
- export declare function hashMessage<TTo extends To = 'hex'>(message: string, to_?: TTo): HashMessage<TTo>;
4
+ export declare function hashMessage<TTo extends To = 'hex'>(message: SignableMessage, to_?: TTo): HashMessage<TTo>;
5
5
  export {};
6
6
  //# sourceMappingURL=hashMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hashMessage.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/hashMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAKzD,KAAK,EAAE,GAAG,KAAK,GAAG,OAAO,CAAA;AAEzB,MAAM,MAAM,WAAW,CAAC,GAAG,SAAS,EAAE,IAClC,CAAC,GAAG,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC,GACzC,CAAC,GAAG,SAAS,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;AAErC,wBAAgB,WAAW,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,EAChD,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,GAAG,GACR,WAAW,CAAC,GAAG,CAAC,CAMlB"}
1
+ {"version":3,"file":"hashMessage.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/hashMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAK1E,KAAK,EAAE,GAAG,KAAK,GAAG,OAAO,CAAA;AAEzB,MAAM,MAAM,WAAW,CAAC,GAAG,SAAS,EAAE,IAClC,CAAC,GAAG,SAAS,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC,GACzC,CAAC,GAAG,SAAS,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;AAErC,wBAAgB,WAAW,CAAC,GAAG,SAAS,EAAE,GAAG,KAAK,EAChD,OAAO,EAAE,eAAe,EACxB,GAAG,CAAC,EAAE,GAAG,GACR,WAAW,CAAC,GAAG,CAAC,CAUlB"}
@@ -1,7 +1,7 @@
1
1
  import type { Address } from 'abitype';
2
- import type { ByteArray, Hex } from '../../types/misc.js';
2
+ import type { ByteArray, Hex, SignableMessage } from '../../types/misc.js';
3
3
  export type RecoverMessageAddressParameters = {
4
- message: string;
4
+ message: SignableMessage;
5
5
  signature: Hex | ByteArray;
6
6
  };
7
7
  export type RecoverMessageAddressReturnType = Address;
@@ -1 +1 @@
1
- {"version":3,"file":"recoverMessageAddress.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/recoverMessageAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAKzD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AACD,MAAM,MAAM,+BAA+B,GAAG,OAAO,CAAA;AAErD,wBAAsB,qBAAqB,CAAC,EAC1C,OAAO,EACP,SAAS,GACV,EAAE,+BAA+B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAE5E"}
1
+ {"version":3,"file":"recoverMessageAddress.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/recoverMessageAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAK1E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,OAAO,EAAE,eAAe,CAAA;IACxB,SAAS,EAAE,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AACD,MAAM,MAAM,+BAA+B,GAAG,OAAO,CAAA;AAErD,wBAAsB,qBAAqB,CAAC,EAC1C,OAAO,EACP,SAAS,GACV,EAAE,+BAA+B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAE5E"}
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "isomorphic-ws": "5.0.0",
13
13
  "ws": "8.12.0"
14
14
  },
15
- "version": "0.3.43",
15
+ "version": "0.3.44",
16
16
  "files": [
17
17
  "dist",
18
18
  "!dist/**/*.tsbuildinfo",
@@ -2,7 +2,7 @@ import type { HDKey } from '@scure/bip32'
2
2
 
3
3
  import type { Address, TypedData } from 'abitype'
4
4
 
5
- import type { Hash, Hex } from '../types/misc.js'
5
+ import type { Hash, Hex, SignableMessage } from '../types/misc.js'
6
6
  import type { TransactionSerializable } from '../types/transaction.js'
7
7
  import type { TypedDataDefinition } from '../types/typedData.js'
8
8
 
@@ -13,7 +13,7 @@ export type Account<TAddress extends Address = Address> =
13
13
  export type AccountSource = Address | CustomSource
14
14
  export type CustomSource = {
15
15
  address: Address
16
- signMessage: ({ message }: { message: string }) => Promise<Hash>
16
+ signMessage: ({ message }: { message: SignableMessage }) => Promise<Hash>
17
17
  signTransaction: (transaction: TransactionSerializable) => Promise<Hash>
18
18
  signTypedData: <
19
19
  TTypedData extends TypedData | { [key: string]: unknown },
@@ -1,4 +1,4 @@
1
- import type { Hex } from '../../types/misc.js'
1
+ import type { Hex, SignableMessage } from '../../types/misc.js'
2
2
  import { hashMessage } from '../../utils/signature/hashMessage.js'
3
3
 
4
4
  import { sign } from './sign.js'
@@ -6,7 +6,7 @@ import { signatureToHex } from './signatureToHex.js'
6
6
 
7
7
  export type SignMessageParameters = {
8
8
  /** The message to sign. */
9
- message: string
9
+ message: SignableMessage
10
10
  /** The private key to sign with. */
11
11
  privateKey: Hex
12
12
  }
@@ -1,7 +1,7 @@
1
1
  import type { Chain } from '../../chains.js'
2
2
  import type { PublicClient } from '../../clients/createPublicClient.js'
3
3
  import type { Transport } from '../../clients/transports/createTransport.js'
4
- import type { ByteArray, Hex } from '../../types/misc.js'
4
+ import type { ByteArray, Hex, SignableMessage } from '../../types/misc.js'
5
5
  import { hashMessage } from '../../utils/index.js'
6
6
  import { type VerifyHashParameters, verifyHash } from './verifyHash.js'
7
7
  import type { Address } from 'abitype'
@@ -10,7 +10,7 @@ export type VerifyMessageParameters = Omit<VerifyHashParameters, 'hash'> & {
10
10
  /** The address that signed the original message. */
11
11
  address: Address
12
12
  /** The message to be verified. */
13
- message: string
13
+ message: SignableMessage
14
14
  /** The signature that was generated by signing the message with the address's private key. */
15
15
  signature: Hex | ByteArray
16
16
  }
@@ -5,13 +5,13 @@ import type { Transport } from '../../clients/transports/createTransport.js'
5
5
  import { AccountNotFoundError } from '../../errors/account.js'
6
6
  import type { GetAccountParameter } from '../../types/account.js'
7
7
  import type { Chain } from '../../types/chain.js'
8
- import type { Hex } from '../../types/misc.js'
9
- import { toHex } from '../../utils/encoding/toHex.js'
8
+ import type { Hex, SignableMessage } from '../../types/misc.js'
9
+ import { stringToHex, toHex } from '../../utils/encoding/toHex.js'
10
10
 
11
11
  export type SignMessageParameters<
12
12
  TAccount extends Account | undefined = Account | undefined,
13
13
  > = GetAccountParameter<TAccount> & {
14
- message: string
14
+ message: SignableMessage
15
15
  }
16
16
 
17
17
  export type SignMessageReturnType = Hex
@@ -78,8 +78,15 @@ export async function signMessage<
78
78
  })
79
79
  const account = parseAccount(account_)
80
80
  if (account.type === 'local') return account.signMessage({ message })
81
+
82
+ const message_ = (() => {
83
+ if (typeof message === 'string') return stringToHex(message)
84
+ if (message.raw instanceof Uint8Array) return toHex(message.raw)
85
+ return message.raw
86
+ })()
87
+
81
88
  return client.request({
82
89
  method: 'personal_sign',
83
- params: [toHex(message), account.address],
90
+ params: [message_, account.address],
84
91
  })
85
92
  }
@@ -2,7 +2,7 @@ import type { Address } from 'abitype'
2
2
 
3
3
  import { toAccount } from '../accounts/toAccount.js'
4
4
  import type { Hash } from '../types/misc.js'
5
- import { toBytes } from '../utils/encoding/toBytes.js'
5
+ import { stringToBytes, toBytes } from '../utils/encoding/toBytes.js'
6
6
 
7
7
  type BigNumberish = string | number | bigint
8
8
  type BytesLike = string | Uint8Array
@@ -46,7 +46,12 @@ export const ethersWalletToAccount = (wallet: EthersWallet) =>
46
46
  toAccount({
47
47
  address: wallet.address as Address,
48
48
  async signMessage({ message }) {
49
- return (await wallet.signMessage(toBytes(message))) as Hash
49
+ const messageBytes = (() => {
50
+ if (typeof message === 'string') return stringToBytes(message)
51
+ if (message.raw instanceof Uint8Array) return message.raw
52
+ return toBytes(message.raw)
53
+ })()
54
+ return (await wallet.signMessage(messageBytes)) as Hash
50
55
  },
51
56
  async signTransaction(txn) {
52
57
  // ethers type mappings
package/src/types/misc.ts CHANGED
@@ -2,6 +2,12 @@ export type ByteArray = Uint8Array
2
2
  export type Hex = `0x${string}`
3
3
  export type Hash = `0x${string}`
4
4
  export type LogTopic = Hex | Hex[] | null
5
+ export type SignableMessage =
6
+ | string
7
+ | {
8
+ /** Raw data representation of the message. */
9
+ raw: Hex | ByteArray
10
+ }
5
11
  export type Signature = {
6
12
  r: Hex
7
13
  s: Hex
@@ -1,6 +1,6 @@
1
- import type { ByteArray, Hex } from '../../types/misc.js'
1
+ import type { ByteArray, Hex, SignableMessage } from '../../types/misc.js'
2
2
  import { concat } from '../data/concat.js'
3
- import { stringToBytes } from '../encoding/toBytes.js'
3
+ import { stringToBytes, toBytes } from '../encoding/toBytes.js'
4
4
  import { keccak256 } from '../hash/keccak256.js'
5
5
 
6
6
  type To = 'hex' | 'bytes'
@@ -10,10 +10,14 @@ export type HashMessage<TTo extends To> =
10
10
  | (TTo extends 'hex' ? Hex : never)
11
11
 
12
12
  export function hashMessage<TTo extends To = 'hex'>(
13
- message: string,
13
+ message: SignableMessage,
14
14
  to_?: TTo,
15
15
  ): HashMessage<TTo> {
16
- const messageBytes = stringToBytes(message)
16
+ const messageBytes = (() => {
17
+ if (typeof message === 'string') return stringToBytes(message)
18
+ if (message.raw instanceof Uint8Array) return message.raw
19
+ return toBytes(message.raw)
20
+ })()
17
21
  const prefixBytes = stringToBytes(
18
22
  `\x19Ethereum Signed Message:\n${messageBytes.length}`,
19
23
  )
@@ -1,12 +1,12 @@
1
1
  import type { Address } from 'abitype'
2
2
 
3
- import type { ByteArray, Hex } from '../../types/misc.js'
3
+ import type { ByteArray, Hex, SignableMessage } from '../../types/misc.js'
4
4
 
5
5
  import { hashMessage } from './hashMessage.js'
6
6
  import { recoverAddress } from './recoverAddress.js'
7
7
 
8
8
  export type RecoverMessageAddressParameters = {
9
- message: string
9
+ message: SignableMessage
10
10
  signature: Hex | ByteArray
11
11
  }
12
12
  export type RecoverMessageAddressReturnType = Address
@@ -17,7 +17,7 @@ export function parseUnits(value: `${number}`, decimals: number) {
17
17
  fraction.slice(decimals),
18
18
  ]
19
19
  fraction = `${
20
- /^0+$/.test(before) ? before.slice(0, before.length - 1) : ''
20
+ /^0+/.test(before) ? before.slice(0, before.length - 1) : ''
21
21
  }${Math.round(Number(`${before}.${after}`))}`
22
22
  } else {
23
23
  fraction = fraction.padEnd(decimals, '0')