viem 0.0.0-main.20240402T193906 → 0.0.0-main.20240402T203246

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 (51) hide show
  1. package/_cjs/errors/version.js +1 -1
  2. package/_cjs/experimental/actions/getCallsStatus.js +23 -0
  3. package/_cjs/experimental/actions/getCallsStatus.js.map +1 -0
  4. package/_cjs/experimental/actions/getCapabilities.js +14 -0
  5. package/_cjs/experimental/actions/getCapabilities.js.map +1 -0
  6. package/_cjs/experimental/actions/sendCalls.js +42 -0
  7. package/_cjs/experimental/actions/sendCalls.js.map +1 -0
  8. package/_cjs/experimental/decorators/eip5792.js +17 -0
  9. package/_cjs/experimental/decorators/eip5792.js.map +1 -0
  10. package/_cjs/experimental/index.js +12 -0
  11. package/_cjs/experimental/index.js.map +1 -0
  12. package/_cjs/utils/formatters/transactionReceipt.js +3 -3
  13. package/_cjs/utils/formatters/transactionReceipt.js.map +1 -1
  14. package/_esm/errors/version.js +1 -1
  15. package/_esm/experimental/actions/getCallsStatus.js +39 -0
  16. package/_esm/experimental/actions/getCallsStatus.js.map +1 -0
  17. package/_esm/experimental/actions/getCapabilities.js +30 -0
  18. package/_esm/experimental/actions/getCapabilities.js.map +1 -0
  19. package/_esm/experimental/actions/sendCalls.js +70 -0
  20. package/_esm/experimental/actions/sendCalls.js.map +1 -0
  21. package/_esm/experimental/decorators/eip5792.js +30 -0
  22. package/_esm/experimental/decorators/eip5792.js.map +1 -0
  23. package/_esm/experimental/index.js +5 -0
  24. package/_esm/experimental/index.js.map +1 -0
  25. package/_esm/utils/formatters/transactionReceipt.js +2 -2
  26. package/_esm/utils/formatters/transactionReceipt.js.map +1 -1
  27. package/_types/errors/version.d.ts +1 -1
  28. package/_types/experimental/actions/getCallsStatus.d.ts +35 -0
  29. package/_types/experimental/actions/getCallsStatus.d.ts.map +1 -0
  30. package/_types/experimental/actions/getCapabilities.d.ts +32 -0
  31. package/_types/experimental/actions/getCapabilities.d.ts.map +1 -0
  32. package/_types/experimental/actions/sendCalls.d.ts +56 -0
  33. package/_types/experimental/actions/sendCalls.d.ts.map +1 -0
  34. package/_types/experimental/decorators/eip5792.d.ts +106 -0
  35. package/_types/experimental/decorators/eip5792.d.ts.map +1 -0
  36. package/_types/experimental/index.d.ts +5 -0
  37. package/_types/experimental/index.d.ts.map +1 -0
  38. package/_types/types/eip1193.d.ts +69 -0
  39. package/_types/types/eip1193.d.ts.map +1 -1
  40. package/_types/utils/formatters/transactionReceipt.d.ts +4 -0
  41. package/_types/utils/formatters/transactionReceipt.d.ts.map +1 -1
  42. package/errors/version.ts +1 -1
  43. package/experimental/actions/getCallsStatus.ts +62 -0
  44. package/experimental/actions/getCapabilities.ts +56 -0
  45. package/experimental/actions/sendCalls.ts +126 -0
  46. package/experimental/decorators/eip5792.ts +139 -0
  47. package/experimental/index.ts +22 -0
  48. package/experimental/package.json +6 -0
  49. package/package.json +9 -1
  50. package/types/eip1193.ts +81 -0
  51. package/utils/formatters/transactionReceipt.ts +2 -2
@@ -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.20240402T193906';
4
+ exports.version = '0.0.0-main.20240402T203246';
5
5
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCallsStatus = void 0;
4
+ const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
5
+ const transactionReceipt_js_1 = require("../../utils/formatters/transactionReceipt.js");
6
+ async function getCallsStatus(client, parameters) {
7
+ const { id } = parameters;
8
+ const { receipts, status } = await client.request({
9
+ method: 'wallet_getCallsStatus',
10
+ params: id,
11
+ });
12
+ return {
13
+ status,
14
+ receipts: receipts?.map((receipt) => ({
15
+ ...receipt,
16
+ blockNumber: (0, fromHex_js_1.hexToBigInt)(receipt.blockNumber),
17
+ gasUsed: (0, fromHex_js_1.hexToBigInt)(receipt.gasUsed),
18
+ status: transactionReceipt_js_1.receiptStatuses[receipt.status],
19
+ })) ?? [],
20
+ };
21
+ }
22
+ exports.getCallsStatus = getCallsStatus;
23
+ //# sourceMappingURL=getCallsStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCallsStatus.js","sourceRoot":"","sources":["../../../experimental/actions/getCallsStatus.ts"],"names":[],"mappings":";;;AAQA,gEAA6D;AAC7D,wFAA8E;AA8BvE,KAAK,UAAU,cAAc,CAIlC,MAAyC,EACzC,UAAoC;IAEpC,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChD,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,EAAE;KACX,CAAC,CAAA;IACF,OAAO;QACL,MAAM;QACN,QAAQ,EACN,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,OAAO;YACV,WAAW,EAAE,IAAA,wBAAW,EAAC,OAAO,CAAC,WAAW,CAAC;YAC7C,OAAO,EAAE,IAAA,wBAAW,EAAC,OAAO,CAAC,OAAO,CAAC;YACrC,MAAM,EAAE,uCAAe,CAAC,OAAO,CAAC,MAAuB,CAAC;SACzD,CAAC,CAAC,IAAI,EAAE;KACZ,CAAA;AACH,CAAC;AAtBD,wCAsBC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCapabilities = void 0;
4
+ async function getCapabilities(client) {
5
+ const capabilities_raw = await client.request({
6
+ method: 'wallet_getCapabilities',
7
+ });
8
+ const capabilities = {};
9
+ for (const [key, value] of Object.entries(capabilities_raw))
10
+ capabilities[Number(key)] = value;
11
+ return capabilities;
12
+ }
13
+ exports.getCapabilities = getCapabilities;
14
+ //# sourceMappingURL=getCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCapabilities.js","sourceRoot":"","sources":["../../../experimental/actions/getCapabilities.ts"],"names":[],"mappings":";;;AAsCO,KAAK,UAAU,eAAe,CAInC,MAAyC;IAEzC,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC5C,MAAM,EAAE,wBAAwB;KACjC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,EAGpB,CAAA;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;IACnC,OAAO,YAAY,CAAA;AACrB,CAAC;AAjBD,0CAiBC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendCalls = void 0;
4
+ const account_js_1 = require("../../errors/account.js");
5
+ const chain_js_1 = require("../../errors/chain.js");
6
+ const accounts_js_1 = require("../../utils/accounts.js");
7
+ const toHex_js_1 = require("../../utils/encoding/toHex.js");
8
+ const index_js_1 = require("../../utils/index.js");
9
+ async function sendCalls(client, parameters) {
10
+ const { account: account_ = client.account, calls, capabilities, chain = client.chain, version = '1.0', } = parameters;
11
+ if (!account_)
12
+ throw new account_js_1.AccountNotFoundError({
13
+ docsPath: '/eip5792/actions/sendCalls',
14
+ });
15
+ const account = (0, accounts_js_1.parseAccount)(account_);
16
+ if (!chain)
17
+ throw new chain_js_1.ChainNotFoundError();
18
+ try {
19
+ return await client.request({
20
+ method: 'wallet_sendCalls',
21
+ params: {
22
+ calls: calls.map((call) => ({
23
+ ...call,
24
+ value: call.value ? (0, toHex_js_1.numberToHex)(call.value) : undefined,
25
+ })),
26
+ capabilities,
27
+ chainId: (0, toHex_js_1.numberToHex)(chain.id),
28
+ from: account.address,
29
+ version,
30
+ },
31
+ }, { retryCount: 0 });
32
+ }
33
+ catch (err) {
34
+ throw (0, index_js_1.getTransactionError)(err, {
35
+ ...parameters,
36
+ account,
37
+ chain: parameters.chain,
38
+ });
39
+ }
40
+ }
41
+ exports.sendCalls = sendCalls;
42
+ //# sourceMappingURL=sendCalls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendCalls.js","sourceRoot":"","sources":["../../../experimental/actions/sendCalls.ts"],"names":[],"mappings":";;;AAEA,wDAA8D;AAE9D,oDAA0D;AAU1D,yDAAsD;AAEtD,4DAA2D;AAC3D,mDAA0D;AA4DnD,KAAK,UAAU,SAAS,CAK7B,MAAyC,EACzC,UAA8D;IAE9D,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,KAAK,EACL,YAAY,EACZ,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,OAAO,GAAG,KAAK,GAChB,GAAG,UAAU,CAAA;IAEd,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,4BAA4B;SACvC,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,IAAA,0BAAY,EAAC,QAAQ,CAAC,CAAA;IAEtC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,6BAAkB,EAAE,CAAA;IAE1C,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,OAAO,CACzB;YACE,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC1B,GAAG,IAAI;oBACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;iBACxD,CAAC,CAAQ;gBACV,YAAY;gBACZ,OAAO,EAAE,IAAA,sBAAW,EAAC,KAAM,CAAC,EAAE,CAAC;gBAC/B,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,OAAO;aACR;SACF,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,8BAAmB,EAAC,GAAgB,EAAE;YAC1C,GAAG,UAAU;YACb,OAAO;YACP,KAAK,EAAE,UAAU,CAAC,KAAM;SACzB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAhDD,8BAgDC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.walletActionsEip5792 = void 0;
4
+ const getCallsStatus_js_1 = require("../actions/getCallsStatus.js");
5
+ const getCapabilities_js_1 = require("../actions/getCapabilities.js");
6
+ const sendCalls_js_1 = require("../actions/sendCalls.js");
7
+ function walletActionsEip5792() {
8
+ return (client) => {
9
+ return {
10
+ getCallsStatus: (parameters) => (0, getCallsStatus_js_1.getCallsStatus)(client, parameters),
11
+ getCapabilities: () => (0, getCapabilities_js_1.getCapabilities)(client),
12
+ sendCalls: (parameters) => (0, sendCalls_js_1.sendCalls)(client, parameters),
13
+ };
14
+ };
15
+ }
16
+ exports.walletActionsEip5792 = walletActionsEip5792;
17
+ //# sourceMappingURL=eip5792.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip5792.js","sourceRoot":"","sources":["../../../experimental/decorators/eip5792.ts"],"names":[],"mappings":";;;AAIA,oEAIqC;AACrC,sEAGsC;AACtC,0DAIgC;AA2GhC,SAAgB,oBAAoB;IAClC,OAAO,CAKL,MAAyC,EACH,EAAE;QACxC,OAAO;YACL,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,UAAU,CAAC;YAClE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,CAAC;YAC9C,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,wBAAS,EAAC,MAAM,EAAE,UAAU,CAAC;SACzD,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAdD,oDAcC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.walletActionsEip5792 = exports.getCallsStatus = exports.sendCalls = exports.getCapabilities = void 0;
4
+ var getCapabilities_js_1 = require("./actions/getCapabilities.js");
5
+ Object.defineProperty(exports, "getCapabilities", { enumerable: true, get: function () { return getCapabilities_js_1.getCapabilities; } });
6
+ var sendCalls_js_1 = require("./actions/sendCalls.js");
7
+ Object.defineProperty(exports, "sendCalls", { enumerable: true, get: function () { return sendCalls_js_1.sendCalls; } });
8
+ var getCallsStatus_js_1 = require("./actions/getCallsStatus.js");
9
+ Object.defineProperty(exports, "getCallsStatus", { enumerable: true, get: function () { return getCallsStatus_js_1.getCallsStatus; } });
10
+ var eip5792_js_1 = require("./decorators/eip5792.js");
11
+ Object.defineProperty(exports, "walletActionsEip5792", { enumerable: true, get: function () { return eip5792_js_1.walletActionsEip5792; } });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../experimental/index.ts"],"names":[],"mappings":";;;AAAA,mEAIqC;AADnC,qHAAA,eAAe,OAAA;AAEjB,uDAK+B;AAD7B,yGAAA,SAAS,OAAA;AAEX,iEAKoC;AADlC,mHAAA,cAAc,OAAA;AAGhB,sDAGgC;AAD9B,kHAAA,oBAAoB,OAAA"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defineTransactionReceipt = exports.formatTransactionReceipt = void 0;
3
+ exports.defineTransactionReceipt = exports.formatTransactionReceipt = exports.receiptStatuses = void 0;
4
4
  const fromHex_js_1 = require("../encoding/fromHex.js");
5
5
  const formatter_js_1 = require("./formatter.js");
6
6
  const log_js_1 = require("./log.js");
7
7
  const transaction_js_1 = require("./transaction.js");
8
- const statuses = {
8
+ exports.receiptStatuses = {
9
9
  '0x0': 'reverted',
10
10
  '0x1': 'success',
11
11
  };
@@ -35,7 +35,7 @@ function formatTransactionReceipt(transactionReceipt) {
35
35
  ? (0, fromHex_js_1.hexToNumber)(transactionReceipt.transactionIndex)
36
36
  : null,
37
37
  status: transactionReceipt.status
38
- ? statuses[transactionReceipt.status]
38
+ ? exports.receiptStatuses[transactionReceipt.status]
39
39
  : null,
40
40
  type: transactionReceipt.type
41
41
  ? transaction_js_1.transactionType[transactionReceipt.type] || transactionReceipt.type
@@ -1 +1 @@
1
- {"version":3,"file":"transactionReceipt.js","sourceRoot":"","sources":["../../../utils/formatters/transactionReceipt.ts"],"names":[],"mappings":";;;AAQA,uDAAoD;AAEpD,iDAA+E;AAC/E,qCAAoC;AACpC,qDAAkD;AAUlD,MAAM,QAAQ,GAAG;IACf,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACR,CAAA;AAIV,SAAgB,wBAAwB,CACtC,kBAAuD;IAEvD,MAAM,OAAO,GAAG;QACd,GAAG,kBAAkB;QACrB,WAAW,EAAE,kBAAkB,CAAC,WAAW;YACzC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,IAAI;QACR,eAAe,EAAE,kBAAkB,CAAC,eAAe;YACjD,CAAC,CAAC,kBAAkB,CAAC,eAAe;YACpC,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,OAAO,EAAE,kBAAkB,CAAC,OAAO;YACjC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI;QACR,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QACxD,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;YACnD,CAAC,CAAC,IAAA,wBAAW,EAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAClD,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,kBAAkB,CAAC,MAAM;YAC/B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACrC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,gCAAe,CACb,kBAAkB,CAAC,IAAoC,CACxD,IAAI,kBAAkB,CAAC,IAAI;YAC9B,CAAC,CAAC,IAAI;KACa,CAAA;IAEvB,IAAI,kBAAkB,CAAC,YAAY;QACjC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAChE,IAAI,kBAAkB,CAAC,WAAW;QAChC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAE9D,OAAO,OAAO,CAAA;AAChB,CAAC;AA3CD,4DA2CC;AAMY,QAAA,wBAAwB,GAAiB,IAAA,8BAAe,EACnE,oBAAoB,EACpB,wBAAwB,CACzB,CAAA"}
1
+ {"version":3,"file":"transactionReceipt.js","sourceRoot":"","sources":["../../../utils/formatters/transactionReceipt.ts"],"names":[],"mappings":";;;AAQA,uDAAoD;AAEpD,iDAA+E;AAC/E,qCAAoC;AACpC,qDAAkD;AAUrC,QAAA,eAAe,GAAG;IAC7B,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACR,CAAA;AAIV,SAAgB,wBAAwB,CACtC,kBAAuD;IAEvD,MAAM,OAAO,GAAG;QACd,GAAG,kBAAkB;QACrB,WAAW,EAAE,kBAAkB,CAAC,WAAW;YACzC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,IAAI;QACR,eAAe,EAAE,kBAAkB,CAAC,eAAe;YACjD,CAAC,CAAC,kBAAkB,CAAC,eAAe;YACpC,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,OAAO,EAAE,kBAAkB,CAAC,OAAO;YACjC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI;QACR,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QACxD,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;YACnD,CAAC,CAAC,IAAA,wBAAW,EAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAClD,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,kBAAkB,CAAC,MAAM;YAC/B,CAAC,CAAC,uBAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,gCAAe,CACb,kBAAkB,CAAC,IAAoC,CACxD,IAAI,kBAAkB,CAAC,IAAI;YAC9B,CAAC,CAAC,IAAI;KACa,CAAA;IAEvB,IAAI,kBAAkB,CAAC,YAAY;QACjC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAChE,IAAI,kBAAkB,CAAC,WAAW;QAChC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAE9D,OAAO,OAAO,CAAA;AAChB,CAAC;AA3CD,4DA2CC;AAMY,QAAA,wBAAwB,GAAiB,IAAA,8BAAe,EACnE,oBAAoB,EACpB,wBAAwB,CACzB,CAAA"}
@@ -1,2 +1,2 @@
1
- export const version = '0.0.0-main.20240402T193906';
1
+ export const version = '0.0.0-main.20240402T203246';
2
2
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,39 @@
1
+ import { hexToBigInt } from '../../utils/encoding/fromHex.js';
2
+ import { receiptStatuses } from '../../utils/formatters/transactionReceipt.js';
3
+ /**
4
+ * Returns the status of a call batch that was sent via `sendCalls`.
5
+ *
6
+ * - Docs: https://viem.sh/eip5792/actions/getCallsStatus
7
+ * - JSON-RPC Methods: [`wallet_getCallsStatus`](https://eips.ethereum.org/EIPS/eip-5792)
8
+ *
9
+ * @param client - Client to use
10
+ * @returns Status of the calls. {@link GetCallsStatusReturnType}
11
+ *
12
+ * @example
13
+ * import { createWalletClient, custom } from 'viem'
14
+ * import { mainnet } from 'viem/chains'
15
+ * import { getCallsStatus } from 'viem/wallet'
16
+ *
17
+ * const client = createWalletClient({
18
+ * chain: mainnet,
19
+ * transport: custom(window.ethereum),
20
+ * })
21
+ * const { receipts, status } = await getCallsStatus(client, { id: '0xdeadbeef' })
22
+ */
23
+ export async function getCallsStatus(client, parameters) {
24
+ const { id } = parameters;
25
+ const { receipts, status } = await client.request({
26
+ method: 'wallet_getCallsStatus',
27
+ params: id,
28
+ });
29
+ return {
30
+ status,
31
+ receipts: receipts?.map((receipt) => ({
32
+ ...receipt,
33
+ blockNumber: hexToBigInt(receipt.blockNumber),
34
+ gasUsed: hexToBigInt(receipt.gasUsed),
35
+ status: receiptStatuses[receipt.status],
36
+ })) ?? [],
37
+ };
38
+ }
39
+ //# sourceMappingURL=getCallsStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCallsStatus.js","sourceRoot":"","sources":["../../../experimental/actions/getCallsStatus.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAA;AAU9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAIlC,MAAyC,EACzC,UAAoC;IAEpC,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChD,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,EAAE;KACX,CAAC,CAAA;IACF,OAAO;QACL,MAAM;QACN,QAAQ,EACN,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,OAAO;YACV,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC;YAC7C,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAuB,CAAC;SACzD,CAAC,CAAC,IAAI,EAAE;KACZ,CAAA;AACH,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Extract capabilities that a connected wallet supports (e.g. paymasters, session keys, etc).
3
+ *
4
+ * - Docs: https://viem.sh/eip5792/actions/getCapabilities
5
+ * - JSON-RPC Methods: [`wallet_getCapabilities`](https://eips.ethereum.org/EIPS/eip-5792)
6
+ *
7
+ * @param client - Client to use
8
+ * @returns The wallet's capabilities. {@link GetCapabilitiesReturnType}
9
+ *
10
+ * @example
11
+ * import { createWalletClient, custom } from 'viem'
12
+ * import { mainnet } from 'viem/chains'
13
+ * import { getCapabilities } from 'viem/wallet'
14
+ *
15
+ * const client = createWalletClient({
16
+ * chain: mainnet,
17
+ * transport: custom(window.ethereum),
18
+ * })
19
+ * const capabilities = await getCapabilities(client)
20
+ */
21
+ export async function getCapabilities(client) {
22
+ const capabilities_raw = await client.request({
23
+ method: 'wallet_getCapabilities',
24
+ });
25
+ const capabilities = {};
26
+ for (const [key, value] of Object.entries(capabilities_raw))
27
+ capabilities[Number(key)] = value;
28
+ return capabilities;
29
+ }
30
+ //# sourceMappingURL=getCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCapabilities.js","sourceRoot":"","sources":["../../../experimental/actions/getCapabilities.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAInC,MAAyC;IAEzC,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC5C,MAAM,EAAE,wBAAwB;KACjC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,EAGpB,CAAA;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;IACnC,OAAO,YAAY,CAAA;AACrB,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { AccountNotFoundError } from '../../errors/account.js';
2
+ import { ChainNotFoundError } from '../../errors/chain.js';
3
+ import { parseAccount } from '../../utils/accounts.js';
4
+ import { numberToHex } from '../../utils/encoding/toHex.js';
5
+ import { getTransactionError } from '../../utils/index.js';
6
+ /**
7
+ * Requests the connected wallet to send a batch of calls.
8
+ *
9
+ * - Docs: https://viem.sh/eip5792/actions/sendCalls
10
+ * - JSON-RPC Methods: [`wallet_sendCalls`](https://eips.ethereum.org/EIPS/eip-5792)
11
+ *
12
+ * @param client - Client to use
13
+ * @returns Transaction identifier. {@link SendCallsReturnType}
14
+ *
15
+ * @example
16
+ * import { createWalletClient, custom } from 'viem'
17
+ * import { mainnet } from 'viem/chains'
18
+ * import { sendCalls } from 'viem/wallet'
19
+ *
20
+ * const client = createWalletClient({
21
+ * chain: mainnet,
22
+ * transport: custom(window.ethereum),
23
+ * })
24
+ * const id = await sendCalls(client, {
25
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
26
+ * calls: [
27
+ * {
28
+ * data: '0xdeadbeef',
29
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
30
+ * },
31
+ * {
32
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
33
+ * value: 69420n,
34
+ * },
35
+ * ],
36
+ * })
37
+ */
38
+ export async function sendCalls(client, parameters) {
39
+ const { account: account_ = client.account, calls, capabilities, chain = client.chain, version = '1.0', } = parameters;
40
+ if (!account_)
41
+ throw new AccountNotFoundError({
42
+ docsPath: '/eip5792/actions/sendCalls',
43
+ });
44
+ const account = parseAccount(account_);
45
+ if (!chain)
46
+ throw new ChainNotFoundError();
47
+ try {
48
+ return await client.request({
49
+ method: 'wallet_sendCalls',
50
+ params: {
51
+ calls: calls.map((call) => ({
52
+ ...call,
53
+ value: call.value ? numberToHex(call.value) : undefined,
54
+ })),
55
+ capabilities,
56
+ chainId: numberToHex(chain.id),
57
+ from: account.address,
58
+ version,
59
+ },
60
+ }, { retryCount: 0 });
61
+ }
62
+ catch (err) {
63
+ throw getTransactionError(err, {
64
+ ...parameters,
65
+ account,
66
+ chain: parameters.chain,
67
+ });
68
+ }
69
+ }
70
+ //# sourceMappingURL=sendCalls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendCalls.js","sourceRoot":"","sources":["../../../experimental/actions/sendCalls.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAU1D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AA4B1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAK7B,MAAyC,EACzC,UAA8D;IAE9D,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,KAAK,EACL,YAAY,EACZ,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,OAAO,GAAG,KAAK,GAChB,GAAG,UAAU,CAAA;IAEd,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,oBAAoB,CAAC;YAC7B,QAAQ,EAAE,4BAA4B;SACvC,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEtC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,kBAAkB,EAAE,CAAA;IAE1C,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,OAAO,CACzB;YACE,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC1B,GAAG,IAAI;oBACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;iBACxD,CAAC,CAAQ;gBACV,YAAY;gBACZ,OAAO,EAAE,WAAW,CAAC,KAAM,CAAC,EAAE,CAAC;gBAC/B,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,OAAO;aACR;SACF,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,mBAAmB,CAAC,GAAgB,EAAE;YAC1C,GAAG,UAAU;YACb,OAAO;YACP,KAAK,EAAE,UAAU,CAAC,KAAM;SACzB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { getCallsStatus, } from '../actions/getCallsStatus.js';
2
+ import { getCapabilities, } from '../actions/getCapabilities.js';
3
+ import { sendCalls, } from '../actions/sendCalls.js';
4
+ /**
5
+ * A suite of EIP-5792 Wallet Actions.
6
+ *
7
+ * - Docs: https://viem.sh/eip5792
8
+ *
9
+ * @example
10
+ * import { createPublicClient, createWalletClient, http } from 'viem'
11
+ * import { mainnet } from 'viem/chains'
12
+ * import { walletActionsEip5792 } from 'viem/experimental'
13
+ *
14
+ * const walletClient = createWalletClient({
15
+ * chain: mainnet,
16
+ * transport: http(),
17
+ * }).extend(walletActionsEip5792())
18
+ *
19
+ * const hash = await walletClient.sendCalls({...})
20
+ */
21
+ export function walletActionsEip5792() {
22
+ return (client) => {
23
+ return {
24
+ getCallsStatus: (parameters) => getCallsStatus(client, parameters),
25
+ getCapabilities: () => getCapabilities(client),
26
+ sendCalls: (parameters) => sendCalls(client, parameters),
27
+ };
28
+ };
29
+ }
30
+ //# sourceMappingURL=eip5792.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip5792.js","sourceRoot":"","sources":["../../../experimental/decorators/eip5792.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,cAAc,GACf,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAEL,eAAe,GAChB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAGL,SAAS,GACV,MAAM,yBAAyB,CAAA;AA0FhC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,CAKL,MAAyC,EACH,EAAE;QACxC,OAAO;YACL,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC;YAClE,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;YAC9C,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;SACzD,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { getCapabilities, } from './actions/getCapabilities.js';
2
+ export { sendCalls, } from './actions/sendCalls.js';
3
+ export { getCallsStatus, } from './actions/getCallsStatus.js';
4
+ export { walletActionsEip5792, } from './decorators/eip5792.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../experimental/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,GAChB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAIL,SAAS,GACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAIL,cAAc,GACf,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAEL,oBAAoB,GACrB,MAAM,yBAAyB,CAAA"}
@@ -2,7 +2,7 @@ import { hexToNumber } from '../encoding/fromHex.js';
2
2
  import { defineFormatter } from './formatter.js';
3
3
  import { formatLog } from './log.js';
4
4
  import { transactionType } from './transaction.js';
5
- const statuses = {
5
+ export const receiptStatuses = {
6
6
  '0x0': 'reverted',
7
7
  '0x1': 'success',
8
8
  };
@@ -32,7 +32,7 @@ export function formatTransactionReceipt(transactionReceipt) {
32
32
  ? hexToNumber(transactionReceipt.transactionIndex)
33
33
  : null,
34
34
  status: transactionReceipt.status
35
- ? statuses[transactionReceipt.status]
35
+ ? receiptStatuses[transactionReceipt.status]
36
36
  : null,
37
37
  type: transactionReceipt.type
38
38
  ? transactionType[transactionReceipt.type] || transactionReceipt.type
@@ -1 +1 @@
1
- {"version":3,"file":"transactionReceipt.js","sourceRoot":"","sources":["../../../utils/formatters/transactionReceipt.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAAiC,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAUlD,MAAM,QAAQ,GAAG;IACf,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACR,CAAA;AAIV,MAAM,UAAU,wBAAwB,CACtC,kBAAuD;IAEvD,MAAM,OAAO,GAAG;QACd,GAAG,kBAAkB;QACrB,WAAW,EAAE,kBAAkB,CAAC,WAAW;YACzC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,IAAI;QACR,eAAe,EAAE,kBAAkB,CAAC,eAAe;YACjD,CAAC,CAAC,kBAAkB,CAAC,eAAe;YACpC,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,OAAO,EAAE,kBAAkB,CAAC,OAAO;YACjC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI;QACR,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QACxD,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;YACnD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAClD,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,kBAAkB,CAAC,MAAM;YAC/B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACrC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,eAAe,CACb,kBAAkB,CAAC,IAAoC,CACxD,IAAI,kBAAkB,CAAC,IAAI;YAC9B,CAAC,CAAC,IAAI;KACa,CAAA;IAEvB,IAAI,kBAAkB,CAAC,YAAY;QACjC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAChE,IAAI,kBAAkB,CAAC,WAAW;QAChC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAE9D,OAAO,OAAO,CAAA;AAChB,CAAC;AAMD,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CACnE,oBAAoB,EACpB,wBAAwB,CACzB,CAAA"}
1
+ {"version":3,"file":"transactionReceipt.js","sourceRoot":"","sources":["../../../utils/formatters/transactionReceipt.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAAiC,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAUlD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACR,CAAA;AAIV,MAAM,UAAU,wBAAwB,CACtC,kBAAuD;IAEvD,MAAM,OAAO,GAAG;QACd,GAAG,kBAAkB;QACrB,WAAW,EAAE,kBAAkB,CAAC,WAAW;YACzC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,IAAI;QACR,eAAe,EAAE,kBAAkB,CAAC,eAAe;YACjD,CAAC,CAAC,kBAAkB,CAAC,eAAe;YACpC,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,OAAO,EAAE,kBAAkB,CAAC,OAAO;YACjC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI;QACR,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QACxD,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;YACnD,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAClD,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,kBAAkB,CAAC,MAAM;YAC/B,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,eAAe,CACb,kBAAkB,CAAC,IAAoC,CACxD,IAAI,kBAAkB,CAAC,IAAI;YAC9B,CAAC,CAAC,IAAI;KACa,CAAA;IAEvB,IAAI,kBAAkB,CAAC,YAAY;QACjC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAChE,IAAI,kBAAkB,CAAC,WAAW;QAChC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAE9D,OAAO,OAAO,CAAA;AAChB,CAAC;AAMD,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CACnE,oBAAoB,EACpB,wBAAwB,CACzB,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.0.0-main.20240402T193906";
1
+ export declare const version = "0.0.0-main.20240402T203246";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1,35 @@
1
+ import type { Client } from '../../clients/createClient.js';
2
+ import type { Transport } from '../../clients/transports/createTransport.js';
3
+ import type { ErrorType } from '../../errors/utils.js';
4
+ import type { Account } from '../../types/account.js';
5
+ import type { Chain } from '../../types/chain.js';
6
+ import type { WalletGetCallsStatusReturnType } from '../../types/eip1193.js';
7
+ import type { Prettify } from '../../types/utils.js';
8
+ import type { RequestErrorType } from '../../utils/buildRequest.js';
9
+ export type GetCallsStatusParameters = {
10
+ id: string;
11
+ };
12
+ export type GetCallsStatusReturnType = Prettify<WalletGetCallsStatusReturnType<bigint, 'success' | 'reverted'>>;
13
+ export type GetCallsStatusErrorType = RequestErrorType | ErrorType;
14
+ /**
15
+ * Returns the status of a call batch that was sent via `sendCalls`.
16
+ *
17
+ * - Docs: https://viem.sh/eip5792/actions/getCallsStatus
18
+ * - JSON-RPC Methods: [`wallet_getCallsStatus`](https://eips.ethereum.org/EIPS/eip-5792)
19
+ *
20
+ * @param client - Client to use
21
+ * @returns Status of the calls. {@link GetCallsStatusReturnType}
22
+ *
23
+ * @example
24
+ * import { createWalletClient, custom } from 'viem'
25
+ * import { mainnet } from 'viem/chains'
26
+ * import { getCallsStatus } from 'viem/wallet'
27
+ *
28
+ * const client = createWalletClient({
29
+ * chain: mainnet,
30
+ * transport: custom(window.ethereum),
31
+ * })
32
+ * const { receipts, status } = await getCallsStatus(client, { id: '0xdeadbeef' })
33
+ */
34
+ export declare function getCallsStatus<chain extends Chain | undefined, account extends Account | undefined = undefined>(client: Client<Transport, chain, account>, parameters: GetCallsStatusParameters): Promise<GetCallsStatusReturnType>;
35
+ //# sourceMappingURL=getCallsStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCallsStatus.d.ts","sourceRoot":"","sources":["../../../experimental/actions/getCallsStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAInE,MAAM,MAAM,wBAAwB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAC7C,8BAA8B,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC,CAC/D,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAElE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAClC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAE/C,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,wBAAwB,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAgBnC"}
@@ -0,0 +1,32 @@
1
+ import type { Client } from '../../clients/createClient.js';
2
+ import type { Transport } from '../../clients/transports/createTransport.js';
3
+ import type { ErrorType } from '../../errors/utils.js';
4
+ import type { Account } from '../../types/account.js';
5
+ import type { Chain } from '../../types/chain.js';
6
+ import type { WalletCapabilities, WalletCapabilitiesRecord } from '../../types/eip1193.js';
7
+ import type { Prettify } from '../../types/utils.js';
8
+ import type { RequestErrorType } from '../../utils/buildRequest.js';
9
+ export type GetCapabilitiesReturnType = Prettify<WalletCapabilitiesRecord<WalletCapabilities, number>>;
10
+ export type GetCapabilitiesErrorType = RequestErrorType | ErrorType;
11
+ /**
12
+ * Extract capabilities that a connected wallet supports (e.g. paymasters, session keys, etc).
13
+ *
14
+ * - Docs: https://viem.sh/eip5792/actions/getCapabilities
15
+ * - JSON-RPC Methods: [`wallet_getCapabilities`](https://eips.ethereum.org/EIPS/eip-5792)
16
+ *
17
+ * @param client - Client to use
18
+ * @returns The wallet's capabilities. {@link GetCapabilitiesReturnType}
19
+ *
20
+ * @example
21
+ * import { createWalletClient, custom } from 'viem'
22
+ * import { mainnet } from 'viem/chains'
23
+ * import { getCapabilities } from 'viem/wallet'
24
+ *
25
+ * const client = createWalletClient({
26
+ * chain: mainnet,
27
+ * transport: custom(window.ethereum),
28
+ * })
29
+ * const capabilities = await getCapabilities(client)
30
+ */
31
+ export declare function getCapabilities<chain extends Chain | undefined, account extends Account | undefined = undefined>(client: Client<Transport, chain, account>): Promise<GetCapabilitiesReturnType>;
32
+ //# sourceMappingURL=getCapabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCapabilities.d.ts","sourceRoot":"","sources":["../../../experimental/actions/getCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAC9C,wBAAwB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CACrD,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,eAAe,CACnC,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAE/C,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GACxC,OAAO,CAAC,yBAAyB,CAAC,CAYpC"}
@@ -0,0 +1,56 @@
1
+ import type { Client } from '../../clients/createClient.js';
2
+ import type { Transport } from '../../clients/transports/createTransport.js';
3
+ import type { ErrorType } from '../../errors/utils.js';
4
+ import type { Account, GetAccountParameter } from '../../types/account.js';
5
+ import type { Chain, GetChainParameter } from '../../types/chain.js';
6
+ import type { WalletCapabilities, WalletSendCallsParameters } from '../../types/eip1193.js';
7
+ import type { Hex } from '../../types/misc.js';
8
+ import type { OneOf } from '../../types/utils.js';
9
+ import type { RequestErrorType } from '../../utils/buildRequest.js';
10
+ export type SendCallsParameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, chainOverride extends Chain | undefined = Chain | undefined> = {
11
+ calls: OneOf<{
12
+ to: Hex;
13
+ data?: Hex;
14
+ value?: bigint;
15
+ } | {
16
+ data: Hex;
17
+ }>[];
18
+ capabilities?: WalletSendCallsParameters<WalletCapabilities>['capabilities'] | undefined;
19
+ version?: WalletSendCallsParameters['version'] | undefined;
20
+ } & GetAccountParameter<account> & GetChainParameter<chain, chainOverride>;
21
+ export type SendCallsReturnType = string;
22
+ export type SendCallsErrorType = RequestErrorType | ErrorType;
23
+ /**
24
+ * Requests the connected wallet to send a batch of calls.
25
+ *
26
+ * - Docs: https://viem.sh/eip5792/actions/sendCalls
27
+ * - JSON-RPC Methods: [`wallet_sendCalls`](https://eips.ethereum.org/EIPS/eip-5792)
28
+ *
29
+ * @param client - Client to use
30
+ * @returns Transaction identifier. {@link SendCallsReturnType}
31
+ *
32
+ * @example
33
+ * import { createWalletClient, custom } from 'viem'
34
+ * import { mainnet } from 'viem/chains'
35
+ * import { sendCalls } from 'viem/wallet'
36
+ *
37
+ * const client = createWalletClient({
38
+ * chain: mainnet,
39
+ * transport: custom(window.ethereum),
40
+ * })
41
+ * const id = await sendCalls(client, {
42
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
43
+ * calls: [
44
+ * {
45
+ * data: '0xdeadbeef',
46
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
47
+ * },
48
+ * {
49
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
50
+ * value: 69420n,
51
+ * },
52
+ * ],
53
+ * })
54
+ */
55
+ export declare function sendCalls<chain extends Chain | undefined, account extends Account | undefined = undefined, chainOverride extends Chain | undefined = undefined>(client: Client<Transport, chain, account>, parameters: SendCallsParameters<chain, account, chainOverride>): Promise<SendCallsReturnType>;
56
+ //# sourceMappingURL=sendCalls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendCalls.d.ts","sourceRoot":"","sources":["../../../experimental/actions/sendCalls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAI5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAInE,MAAM,MAAM,mBAAmB,CAC7B,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EACzD,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACzD;IACF,KAAK,EAAE,KAAK,CACR;QACE,EAAE,EAAE,GAAG,CAAA;QACP,IAAI,CAAC,EAAE,GAAG,CAAA;QACV,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GACD;QACE,IAAI,EAAE,GAAG,CAAA;KACV,CACJ,EAAE,CAAA;IACH,YAAY,CAAC,EACT,yBAAyB,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,GAC7D,SAAS,CAAA;IACb,OAAO,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;CAC3D,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAC9B,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAA;AAExC,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,SAAS,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,SAAS,CAC7B,KAAK,SAAS,KAAK,GAAG,SAAS,EAC/B,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAC/C,aAAa,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEnD,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACzC,UAAU,EAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,GAC7D,OAAO,CAAC,mBAAmB,CAAC,CAyC9B"}