viem 0.0.0-main.20230601T124200 → 0.0.0-main.20230601T210830

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 (40) 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/errors/version.js +1 -1
  6. package/dist/cjs/utils/signature/hashMessage.js +7 -1
  7. package/dist/cjs/utils/signature/hashMessage.js.map +1 -1
  8. package/dist/esm/actions/wallet/signMessage.js +9 -2
  9. package/dist/esm/actions/wallet/signMessage.js.map +1 -1
  10. package/dist/esm/adapters/ethers.js +9 -2
  11. package/dist/esm/adapters/ethers.js.map +1 -1
  12. package/dist/esm/errors/version.js +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/types/accounts/types.d.ts +2 -2
  16. package/dist/types/accounts/types.d.ts.map +1 -1
  17. package/dist/types/accounts/utils/signMessage.d.ts +2 -2
  18. package/dist/types/accounts/utils/signMessage.d.ts.map +1 -1
  19. package/dist/types/actions/public/verifyMessage.d.ts +2 -2
  20. package/dist/types/actions/public/verifyMessage.d.ts.map +1 -1
  21. package/dist/types/actions/wallet/signMessage.d.ts +2 -2
  22. package/dist/types/actions/wallet/signMessage.d.ts.map +1 -1
  23. package/dist/types/adapters/ethers.d.ts.map +1 -1
  24. package/dist/types/errors/version.d.ts +1 -1
  25. package/dist/types/types/misc.d.ts +4 -0
  26. package/dist/types/types/misc.d.ts.map +1 -1
  27. package/dist/types/utils/signature/hashMessage.d.ts +2 -2
  28. package/dist/types/utils/signature/hashMessage.d.ts.map +1 -1
  29. package/dist/types/utils/signature/recoverMessageAddress.d.ts +2 -2
  30. package/dist/types/utils/signature/recoverMessageAddress.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/accounts/types.ts +2 -2
  33. package/src/accounts/utils/signMessage.ts +2 -2
  34. package/src/actions/public/verifyMessage.ts +2 -2
  35. package/src/actions/wallet/signMessage.ts +11 -4
  36. package/src/adapters/ethers.ts +7 -2
  37. package/src/errors/version.ts +1 -1
  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
@@ -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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.0.0-main.20230601T124200';
4
+ exports.version = '0.0.0-main.20230601T210830';
5
5
  //# sourceMappingURL=version.js.map
@@ -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"}
@@ -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,2 +1,2 @@
1
- export const version = '0.0.0-main.20230601T124200';
1
+ export const version = '0.0.0-main.20230601T210830';
2
2
  //# sourceMappingURL=version.js.map
@@ -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"}
@@ -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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.0.0-main.20230601T124200";
1
+ export declare const version = "0.0.0-main.20230601T210830";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -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.0.0-main.20230601T124200",
15
+ "version": "0.0.0-main.20230601T210830",
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
@@ -1 +1 @@
1
- export const version = '0.0.0-main.20230601T124200'
1
+ export const version = '0.0.0-main.20230601T210830'
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