@permissionless/wagmi 0.0.4 → 0.1.0

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 (79) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/_cjs/context.js +14 -0
  3. package/_cjs/context.js.map +1 -0
  4. package/_cjs/hooks/useAvailableCapabilities.js +37 -0
  5. package/_cjs/hooks/useAvailableCapabilities.js.map +1 -0
  6. package/_cjs/hooks/useSendTransaction.js +42 -0
  7. package/_cjs/hooks/useSendTransaction.js.map +1 -0
  8. package/_cjs/hooks/useWaitForTransactionReceipt.js +168 -0
  9. package/_cjs/hooks/useWaitForTransactionReceipt.js.map +1 -0
  10. package/_cjs/index.js +7 -11
  11. package/_cjs/index.js.map +1 -1
  12. package/_cjs/utils/observe.js +43 -0
  13. package/_cjs/utils/observe.js.map +1 -0
  14. package/_esm/context.js +10 -0
  15. package/_esm/context.js.map +1 -0
  16. package/_esm/hooks/useAvailableCapabilities.js +33 -0
  17. package/_esm/hooks/useAvailableCapabilities.js.map +1 -0
  18. package/_esm/hooks/useSendTransaction.js +38 -0
  19. package/_esm/hooks/useSendTransaction.js.map +1 -0
  20. package/_esm/hooks/useWaitForTransactionReceipt.js +175 -0
  21. package/_esm/hooks/useWaitForTransactionReceipt.js.map +1 -0
  22. package/_esm/index.js +3 -6
  23. package/_esm/index.js.map +1 -1
  24. package/_esm/utils/observe.js +46 -0
  25. package/_esm/utils/observe.js.map +1 -0
  26. package/_types/context.d.ts +12 -0
  27. package/_types/context.d.ts.map +1 -0
  28. package/_types/hooks/useAvailableCapabilities.d.ts +5 -0
  29. package/_types/hooks/useAvailableCapabilities.d.ts.map +1 -0
  30. package/_types/hooks/useSendTransaction.d.ts +34 -0
  31. package/_types/hooks/useSendTransaction.d.ts.map +1 -0
  32. package/_types/hooks/useWaitForTransactionReceipt.d.ts +92 -0
  33. package/_types/hooks/useWaitForTransactionReceipt.d.ts.map +1 -0
  34. package/_types/index.d.ts +3 -6
  35. package/_types/index.d.ts.map +1 -1
  36. package/_types/utils/observe.d.ts +23 -0
  37. package/_types/utils/observe.d.ts.map +1 -0
  38. package/context.ts +22 -0
  39. package/hooks/useAvailableCapabilities.ts +43 -0
  40. package/hooks/useSendTransaction.ts +148 -0
  41. package/hooks/useWaitForTransactionReceipt.ts +431 -0
  42. package/index.ts +6 -31
  43. package/package.json +3 -11
  44. package/utils/observe.ts +76 -0
  45. package/_cjs/connectors/biconomySmartAccount.js +0 -18
  46. package/_cjs/connectors/biconomySmartAccount.js.map +0 -1
  47. package/_cjs/connectors/kernelSmartAccount.js +0 -18
  48. package/_cjs/connectors/kernelSmartAccount.js.map +0 -1
  49. package/_cjs/connectors/safeSmartAccount.js +0 -18
  50. package/_cjs/connectors/safeSmartAccount.js.map +0 -1
  51. package/_cjs/connectors/simpleSmartAccount.js +0 -30
  52. package/_cjs/connectors/simpleSmartAccount.js.map +0 -1
  53. package/_cjs/connectors/smartAccount.js +0 -51
  54. package/_cjs/connectors/smartAccount.js.map +0 -1
  55. package/_esm/connectors/biconomySmartAccount.js +0 -14
  56. package/_esm/connectors/biconomySmartAccount.js.map +0 -1
  57. package/_esm/connectors/kernelSmartAccount.js +0 -14
  58. package/_esm/connectors/kernelSmartAccount.js.map +0 -1
  59. package/_esm/connectors/safeSmartAccount.js +0 -14
  60. package/_esm/connectors/safeSmartAccount.js.map +0 -1
  61. package/_esm/connectors/simpleSmartAccount.js +0 -26
  62. package/_esm/connectors/simpleSmartAccount.js.map +0 -1
  63. package/_esm/connectors/smartAccount.js +0 -53
  64. package/_esm/connectors/smartAccount.js.map +0 -1
  65. package/_types/connectors/biconomySmartAccount.d.ts +0 -317
  66. package/_types/connectors/biconomySmartAccount.d.ts.map +0 -1
  67. package/_types/connectors/kernelSmartAccount.d.ts +0 -317
  68. package/_types/connectors/kernelSmartAccount.d.ts.map +0 -1
  69. package/_types/connectors/safeSmartAccount.d.ts +0 -317
  70. package/_types/connectors/safeSmartAccount.d.ts.map +0 -1
  71. package/_types/connectors/simpleSmartAccount.d.ts +0 -635
  72. package/_types/connectors/simpleSmartAccount.d.ts.map +0 -1
  73. package/_types/connectors/smartAccount.d.ts +0 -294
  74. package/_types/connectors/smartAccount.d.ts.map +0 -1
  75. package/connectors/biconomySmartAccount.ts +0 -53
  76. package/connectors/kernelSmartAccount.ts +0 -53
  77. package/connectors/safeSmartAccount.ts +0 -50
  78. package/connectors/simpleSmartAccount.ts +0 -90
  79. package/connectors/smartAccount.ts +0 -72
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @permissionless/wagmi
2
2
 
3
+ ## 0.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - c3f6a95fc4d4264a0d761931da74d9c46a052468: Added hooks for Erc5792
8
+
3
9
  ## 0.0.4
4
10
 
5
11
  ### Patch Changes
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PermissionlessProvider = exports.PermissionlessContext = void 0;
4
+ const react_1 = require("react");
5
+ exports.PermissionlessContext = (0, react_1.createContext)({
6
+ capabilities: {}
7
+ });
8
+ const PermissionlessProvider = (parameters) => {
9
+ const { capabilities, children } = parameters;
10
+ const props = { value: { capabilities } };
11
+ return (0, react_1.createElement)(exports.PermissionlessContext.Provider, props, children);
12
+ };
13
+ exports.PermissionlessProvider = PermissionlessProvider;
14
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../context.ts"],"names":[],"mappings":";;;AAAA,iCAAoD;AAGvC,QAAA,qBAAqB,GAAG,IAAA,qBAAa,EAE/C;IACC,YAAY,EAAE,EAAE;CACnB,CAAC,CAAA;AAMK,MAAM,sBAAsB,GAAG,CAClC,UAAgE,EAClE,EAAE;IACA,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAE7C,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,CAAA;IAEzC,OAAO,IAAA,qBAAa,EAAC,6BAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;AACzE,CAAC,CAAA;AARY,QAAA,sBAAsB,0BAQlC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useAvailableCapabilities = void 0;
5
+ const react_1 = require("react");
6
+ const wagmi_1 = require("wagmi");
7
+ const experimental_1 = require("wagmi/experimental");
8
+ const context_1 = require("../context.js");
9
+ const useAvailableCapabilities = () => {
10
+ const { capabilities: capabilitiesConfigured } = (0, react_1.useContext)(context_1.PermissionlessContext);
11
+ const account = (0, wagmi_1.useAccount)();
12
+ const { data: availableCapabilities } = (0, experimental_1.useCapabilities)({
13
+ account: account.address
14
+ });
15
+ const memoisedCapabilities = (0, react_1.useMemo)(() => {
16
+ if (!availableCapabilities || !account.chainId)
17
+ return undefined;
18
+ const capabilitiesForChain = availableCapabilities[account.chainId];
19
+ if (capabilitiesConfigured === undefined)
20
+ return undefined;
21
+ let capabilities = undefined;
22
+ for (const capabilityConfigured in capabilitiesConfigured) {
23
+ if (capabilitiesForChain[capabilityConfigured]?.supported) {
24
+ if (!capabilities) {
25
+ capabilities = {};
26
+ }
27
+ capabilities[capabilityConfigured] = {
28
+ ...capabilitiesConfigured[capabilityConfigured]
29
+ };
30
+ }
31
+ }
32
+ return capabilities;
33
+ }, [availableCapabilities, account.chainId, capabilitiesConfigured]);
34
+ return { capabilities: memoisedCapabilities };
35
+ };
36
+ exports.useAvailableCapabilities = useAvailableCapabilities;
37
+ //# sourceMappingURL=useAvailableCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAvailableCapabilities.js","sourceRoot":"","sources":["../../hooks/useAvailableCapabilities.ts"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;AAEZ,iCAA2C;AAE3C,iCAAkC;AAClC,qDAAoD;AACpD,wCAAkD;AAE3C,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACzC,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,GAAG,IAAA,kBAAU,EACvD,+BAAqB,CACxB,CAAA;IAED,MAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAA;IAE5B,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,IAAA,8BAAe,EAAC;QACpD,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACtC,IAAI,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,SAAS,CAAA;QAChE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACnE,IAAI,sBAAsB,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAE1D,IAAI,YAAY,GACZ,SAAS,CAAA;QAEb,KAAK,MAAM,oBAAoB,IAAI,sBAAsB,EAAE,CAAC;YACxD,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC;gBACxD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,YAAY,GAAG,EAAE,CAAA;gBACrB,CAAC;gBACD,YAAY,CAAC,oBAAoB,CAAC,GAAG;oBACjC,GAAG,sBAAsB,CAAC,oBAAoB,CAAC;iBAClD,CAAA;YACL,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAA;IACvB,CAAC,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAA;IAEpE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAA;AACjD,CAAC,CAAA;AAlCY,QAAA,wBAAwB,4BAkCpC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSendTransaction = void 0;
4
+ const react_query_1 = require("@tanstack/react-query");
5
+ const core_1 = require("@wagmi/core");
6
+ const experimental_1 = require("@wagmi/core/experimental");
7
+ const wagmi_1 = require("wagmi");
8
+ const useAvailableCapabilities_1 = require("./useAvailableCapabilities.js");
9
+ const sendTransactionMutationOptions = (config, parameters = {}) => {
10
+ return {
11
+ mutationFn(variables) {
12
+ if (parameters.capabilities) {
13
+ return (0, experimental_1.sendCalls)(config, {
14
+ calls: [variables],
15
+ capabilities: parameters.capabilities
16
+ });
17
+ }
18
+ return (0, core_1.sendTransaction)(config, variables);
19
+ },
20
+ mutationKey: ["sendTransaction"]
21
+ };
22
+ };
23
+ const useSendTransaction = (parameters = {}) => {
24
+ const { mutation } = parameters;
25
+ const { capabilities } = (0, useAvailableCapabilities_1.useAvailableCapabilities)();
26
+ const config = (0, wagmi_1.useConfig)(parameters);
27
+ const mutationOptions = sendTransactionMutationOptions(config, {
28
+ ...parameters,
29
+ capabilities
30
+ });
31
+ const { mutate, mutateAsync, ...result } = (0, react_query_1.useMutation)({
32
+ ...mutation,
33
+ ...mutationOptions
34
+ });
35
+ return {
36
+ ...result,
37
+ sendTransaction: mutate,
38
+ sendTransactionAsync: mutateAsync
39
+ };
40
+ };
41
+ exports.useSendTransaction = useSendTransaction;
42
+ //# sourceMappingURL=useSendTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../hooks/useSendTransaction.ts"],"names":[],"mappings":";;;AAAA,uDAI8B;AAC9B,sCAA6C;AAC7C,2DAAoD;AAQpD,iCAAqE;AAMrE,yEAAqE;AAErE,MAAM,8BAA8B,GAAG,CACnC,MAAc,EACd,aAEI,EAAE,EACR,EAAE;IACA,OAAO;QACH,UAAU,CAAC,SAAS;YAChB,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC1B,OAAO,IAAA,wBAAS,EAAC,MAAM,EAAE;oBACrB,KAAK,EAAE,CAAC,SAAS,CAAC;oBAClB,YAAY,EAAE,UAAU,CAAC,YAAY;iBACxC,CAAC,CAAA;YACN,CAAC;YAED,OAAO,IAAA,sBAAe,EAAC,MAAM,EAAE,SAAS,CAAoB,CAAA;QAChE,CAAC;QACD,WAAW,EAAE,CAAC,iBAAiB,CAAC;KAKnC,CAAA;AACL,CAAC,CAAA;AA2EM,MAAM,kBAAkB,GAAG,CAI9B,aAA4D,EAAE,EACjB,EAAE;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,mDAAwB,GAAE,CAAA;IAEnD,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,UAAU,CAAC,CAAA;IAEpC,MAAM,eAAe,GAAG,8BAA8B,CAAC,MAAM,EAAE;QAC3D,GAAG,UAAU;QACb,YAAY;KACf,CAAC,CAAA;IAEF,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,IAAA,yBAAW,EAAC;QACnD,GAAG,QAAQ;QACX,GAAG,eAAe;KACrB,CAAC,CAAA;IAGF,OAAO;QACH,GAAG,MAAM;QACT,eAAe,EAAE,MAAmC;QACpD,oBAAoB,EAAE,WAA6C;KACtE,CAAA;AACL,CAAC,CAAA;AA3BY,QAAA,kBAAkB,sBA2B9B"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useWaitForTransactionReceipt = exports.waitForTransactionReceiptQueryOptions = exports.waitForCallsStatus = exports.getCallsStatusQueryKey = exports.filterQueryOptions = exports.waitForTransactionReceiptQueryKey = void 0;
5
+ const core_1 = require("@wagmi/core");
6
+ const core_2 = require("@wagmi/core");
7
+ const viem_1 = require("viem");
8
+ const actions_1 = require("viem/actions");
9
+ const experimental_1 = require("viem/experimental");
10
+ const utils_1 = require("viem/utils");
11
+ const wagmi_1 = require("wagmi");
12
+ const query_1 = require("wagmi/query");
13
+ const observe_1 = require("../utils/observe.js");
14
+ const useAvailableCapabilities_1 = require("./useAvailableCapabilities.js");
15
+ function waitForTransactionReceiptQueryKey(options = {}) {
16
+ const { ...rest } = options;
17
+ return ["waitForTransactionReceipt", filterQueryOptions(rest)];
18
+ }
19
+ exports.waitForTransactionReceiptQueryKey = waitForTransactionReceiptQueryKey;
20
+ function filterQueryOptions(options) {
21
+ const { _defaulted, behavior, gcTime, initialData, initialDataUpdatedAt, maxPages, meta, networkMode, queryFn, queryHash, queryKey, queryKeyHashFn, retry, retryDelay, structuralSharing, getPreviousPageParam, getNextPageParam, initialPageParam, _optimisticResults, enabled, notifyOnChangeProps, placeholderData, refetchInterval, refetchIntervalInBackground, refetchOnMount, refetchOnReconnect, refetchOnWindowFocus, retryOnMount, select, staleTime, suspense, throwOnError, config, connector, query, ...rest } = options;
22
+ return rest;
23
+ }
24
+ exports.filterQueryOptions = filterQueryOptions;
25
+ function getCallsStatusQueryKey(options) {
26
+ return ["callsStatus", filterQueryOptions(options)];
27
+ }
28
+ exports.getCallsStatusQueryKey = getCallsStatusQueryKey;
29
+ async function waitForCallsStatus(config, parameters) {
30
+ const { timeout = 0, id, pollingInterval, retryCount = 6, confirmations = 1 } = parameters;
31
+ const client = await (0, core_1.getConnectorClient)(config, {});
32
+ const observerId = (0, viem_1.stringify)(["waitForTransactionReceipt", client.uid, id]);
33
+ let count = 0;
34
+ let receipt;
35
+ return new Promise((resolve, reject) => {
36
+ if (timeout)
37
+ setTimeout(() => reject(new viem_1.WaitForTransactionReceiptTimeoutError({
38
+ hash: id
39
+ })), timeout);
40
+ const _unobserve = (0, observe_1.observe)(observerId, { resolve, reject }, (emit) => {
41
+ const _unwatch = (0, utils_1.getAction)(client, actions_1.watchBlockNumber, "watchBlockNumber")({
42
+ emitMissed: true,
43
+ emitOnBegin: true,
44
+ poll: true,
45
+ pollingInterval,
46
+ async onBlockNumber(blockNumber) {
47
+ const done = (fn) => {
48
+ _unwatch();
49
+ fn();
50
+ _unobserve();
51
+ };
52
+ if (count > retryCount)
53
+ done(() => emit.reject(new viem_1.WaitForTransactionReceiptTimeoutError({
54
+ hash: id
55
+ })));
56
+ try {
57
+ if (receipt) {
58
+ if (confirmations > 1 &&
59
+ (!receipt.receipts?.[0]?.blockNumber ||
60
+ blockNumber -
61
+ receipt.receipts?.[0]?.blockNumber +
62
+ 1n <
63
+ confirmations))
64
+ return;
65
+ if (receipt.status === "PENDING") {
66
+ return;
67
+ }
68
+ if (receipt.receipts?.length === 0) {
69
+ return;
70
+ }
71
+ const finalReceipt = receipt.receipts;
72
+ if (!finalReceipt) {
73
+ return;
74
+ }
75
+ const transactionReceipt = await (0, utils_1.getAction)(client, actions_1.getTransactionReceipt, "getTransactionReceipt")({ hash: finalReceipt[0].transactionHash });
76
+ done(() => emit.resolve({
77
+ ...transactionReceipt,
78
+ chainId: client.chain.id
79
+ }));
80
+ return;
81
+ }
82
+ receipt = await (0, utils_1.getAction)(client, experimental_1.getCallsStatus, "getCallsStatus")({ id });
83
+ if (receipt.status === "PENDING") {
84
+ return;
85
+ }
86
+ if (confirmations > 1 &&
87
+ (!receipt.receipts?.[0]?.blockNumber ||
88
+ blockNumber -
89
+ receipt.receipts?.[0]?.blockNumber +
90
+ 1n <
91
+ confirmations))
92
+ return;
93
+ if (receipt.receipts?.length === 0) {
94
+ return;
95
+ }
96
+ const finalReceipt = receipt.receipts;
97
+ if (!finalReceipt) {
98
+ return;
99
+ }
100
+ const transactionReceipt = await (0, utils_1.getAction)(client, actions_1.getTransactionReceipt, "getTransactionReceipt")({ hash: finalReceipt[0].transactionHash });
101
+ done(() => emit.resolve({
102
+ ...transactionReceipt,
103
+ chainId: client.chain.id
104
+ }));
105
+ }
106
+ catch (err) {
107
+ done(() => emit.reject(err));
108
+ }
109
+ finally {
110
+ count++;
111
+ }
112
+ }
113
+ });
114
+ });
115
+ });
116
+ }
117
+ exports.waitForCallsStatus = waitForCallsStatus;
118
+ function waitForTransactionReceiptQueryOptions(config, options) {
119
+ return {
120
+ async queryFn({ queryKey }) {
121
+ const { scopeKey: _, id, ...parameters } = queryKey[1];
122
+ if (!id)
123
+ throw new Error("id is required");
124
+ if (!options.capabilities && !(0, viem_1.isHash)(id)) {
125
+ throw new Error("capabilities or hash is required");
126
+ }
127
+ if (options.capabilities) {
128
+ const status = await waitForCallsStatus(config, {
129
+ id,
130
+ ...parameters
131
+ });
132
+ return status;
133
+ }
134
+ const status = await (0, core_1.waitForTransactionReceipt)(config, {
135
+ hash: id,
136
+ ...options,
137
+ ...parameters
138
+ });
139
+ return status;
140
+ },
141
+ queryKey: waitForTransactionReceiptQueryKey(options),
142
+ retry(failureCount, error) {
143
+ if (error instanceof core_2.ConnectorNotConnectedError)
144
+ return false;
145
+ return failureCount < 3;
146
+ }
147
+ };
148
+ }
149
+ exports.waitForTransactionReceiptQueryOptions = waitForTransactionReceiptQueryOptions;
150
+ function useWaitForTransactionReceipt(parameters = {}) {
151
+ const { query = {} } = parameters;
152
+ const { capabilities } = (0, useAvailableCapabilities_1.useAvailableCapabilities)();
153
+ const config = (0, wagmi_1.useConfig)(parameters);
154
+ const chainId = (0, wagmi_1.useChainId)({ config });
155
+ const enabled = Boolean(parameters.id && (query.enabled ?? true));
156
+ const options = waitForTransactionReceiptQueryOptions(config, {
157
+ ...parameters,
158
+ chainId: parameters.chainId ?? chainId,
159
+ capabilities
160
+ });
161
+ return (0, query_1.useQuery)({
162
+ ...query,
163
+ ...options,
164
+ enabled
165
+ });
166
+ }
167
+ exports.useWaitForTransactionReceipt = useWaitForTransactionReceipt;
168
+ //# sourceMappingURL=useWaitForTransactionReceipt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWaitForTransactionReceipt.js","sourceRoot":"","sources":["../../hooks/useWaitForTransactionReceipt.ts"],"names":[],"mappings":"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"}
package/_cjs/index.js CHANGED
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.kernelSmartAccount = exports.biconomySmartAccount = exports.safeSmartAccount = exports.simpleSmartAccount = exports.smartAccount = void 0;
4
- const simpleSmartAccount_1 = require("./connectors/simpleSmartAccount.js");
5
- Object.defineProperty(exports, "simpleSmartAccount", { enumerable: true, get: function () { return simpleSmartAccount_1.simpleSmartAccount; } });
6
- const smartAccount_1 = require("./connectors/smartAccount.js");
7
- Object.defineProperty(exports, "smartAccount", { enumerable: true, get: function () { return smartAccount_1.smartAccount; } });
8
- const safeSmartAccount_1 = require("./connectors/safeSmartAccount.js");
9
- Object.defineProperty(exports, "safeSmartAccount", { enumerable: true, get: function () { return safeSmartAccount_1.safeSmartAccount; } });
10
- const biconomySmartAccount_1 = require("./connectors/biconomySmartAccount.js");
11
- Object.defineProperty(exports, "biconomySmartAccount", { enumerable: true, get: function () { return biconomySmartAccount_1.biconomySmartAccount; } });
12
- const kernelSmartAccount_1 = require("./connectors/kernelSmartAccount.js");
13
- Object.defineProperty(exports, "kernelSmartAccount", { enumerable: true, get: function () { return kernelSmartAccount_1.kernelSmartAccount; } });
3
+ exports.useWaitForTransactionReceipt = exports.useSendTransaction = exports.PermissionlessProvider = void 0;
4
+ var context_1 = require("./context.js");
5
+ Object.defineProperty(exports, "PermissionlessProvider", { enumerable: true, get: function () { return context_1.PermissionlessProvider; } });
6
+ var useSendTransaction_1 = require("./hooks/useSendTransaction.js");
7
+ Object.defineProperty(exports, "useSendTransaction", { enumerable: true, get: function () { return useSendTransaction_1.useSendTransaction; } });
8
+ var useWaitForTransactionReceipt_1 = require("./hooks/useWaitForTransactionReceipt.js");
9
+ Object.defineProperty(exports, "useWaitForTransactionReceipt", { enumerable: true, get: function () { return useWaitForTransactionReceipt_1.useWaitForTransactionReceipt; } });
14
10
  //# sourceMappingURL=index.js.map
package/_cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,wEAGwC;AAoBpC,mGArBA,uCAAkB,OAqBA;AAnBtB,4DAAwD;AAkBpD,6FAlBK,2BAAY,OAkBL;AAhBhB,oEAGsC;AAgBlC,iGAjBA,mCAAgB,OAiBA;AAdpB,4EAG0C;AAatC,qGAdA,2CAAoB,OAcA;AAXxB,wEAGwC;AAUpC,mGAXA,uCAAkB,OAWA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,qCAGkB;AAFd,iHAAA,sBAAsB,OAAA;AAI1B,iEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAC3B,qFAAmF;AAA1E,4IAAA,4BAA4B,OAAA"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.observe = exports.cleanupCache = exports.listenersCache = void 0;
4
+ exports.listenersCache = new Map();
5
+ exports.cleanupCache = new Map();
6
+ let callbackCount = 0;
7
+ function observe(observerId, callbacks, fn) {
8
+ const callbackId = ++callbackCount;
9
+ const getListeners = () => exports.listenersCache.get(observerId) || [];
10
+ const unsubscribe = () => {
11
+ const listeners = getListeners();
12
+ exports.listenersCache.set(observerId, listeners.filter((cb) => cb.id !== callbackId));
13
+ };
14
+ const unwatch = () => {
15
+ const cleanup = exports.cleanupCache.get(observerId);
16
+ if (getListeners().length === 1 && cleanup)
17
+ cleanup();
18
+ unsubscribe();
19
+ };
20
+ const listeners = getListeners();
21
+ exports.listenersCache.set(observerId, [
22
+ ...listeners,
23
+ { id: callbackId, fns: callbacks }
24
+ ]);
25
+ if (listeners && listeners.length > 0)
26
+ return unwatch;
27
+ const emit = {};
28
+ for (const key in callbacks) {
29
+ emit[key] = ((...args) => {
30
+ const listeners = getListeners();
31
+ if (listeners.length === 0)
32
+ return;
33
+ for (const listener of listeners)
34
+ listener.fns[key]?.(...args);
35
+ });
36
+ }
37
+ const cleanup = fn(emit);
38
+ if (typeof cleanup === "function")
39
+ exports.cleanupCache.set(observerId, cleanup);
40
+ return unwatch;
41
+ }
42
+ exports.observe = observe;
43
+ //# sourceMappingURL=observe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe.js","sourceRoot":"","sources":["../../utils/observe.ts"],"names":[],"mappings":";;;AAUa,QAAA,cAAc,GAAiB,IAAI,GAAG,EAGhD,CAAA;AAEU,QAAA,YAAY,GAAiB,IAAI,GAAG,EAAsB,CAAA;AAOvE,IAAI,aAAa,GAAG,CAAC,CAAA;AAOrB,SAAgB,OAAO,CACnB,UAAkB,EAClB,SAAoB,EACpB,EAA2B;IAE3B,MAAM,UAAU,GAAG,EAAE,aAAa,CAAA;IAElC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,sBAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAE/D,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,sBAAc,CAAC,GAAG,CACd,UAAU,EACV,SAAS,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CACtD,CAAA;IACL,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,MAAM,OAAO,GAAG,oBAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,YAAY,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO;YAAE,OAAO,EAAE,CAAA;QACrD,WAAW,EAAE,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,sBAAc,CAAC,GAAG,CAAC,UAAU,EAAE;QAC3B,GAAG,SAAS;QACZ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE;KACrC,CAAC,CAAA;IAEF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IAErD,MAAM,IAAI,GAAc,EAAe,CAAA;IACvC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CACT,GAAG,IAAyD,EAC9D,EAAE;YACA,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;YAChC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAClC,KAAK,MAAM,QAAQ,IAAI,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAClE,CAAC,CAAgD,CAAA;IACrD,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,oBAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAExE,OAAO,OAAO,CAAA;AAClB,CAAC;AA9CD,0BA8CC"}
@@ -0,0 +1,10 @@
1
+ import { createContext, createElement } from "react";
2
+ export const PermissionlessContext = createContext({
3
+ capabilities: {}
4
+ });
5
+ export const PermissionlessProvider = (parameters) => {
6
+ const { capabilities, children } = parameters;
7
+ const props = { value: { capabilities } };
8
+ return createElement(PermissionlessContext.Provider, props, children);
9
+ };
10
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAGpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAE/C;IACC,YAAY,EAAE,EAAE;CACnB,CAAC,CAAA;AAMF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,UAAgE,EAClE,EAAE;IACA,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAE7C,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,CAAA;IAEzC,OAAO,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;AACzE,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { useContext, useMemo } from "react";
3
+ import { useAccount } from "wagmi";
4
+ import { useCapabilities } from "wagmi/experimental";
5
+ import { PermissionlessContext } from "../context.js";
6
+ export const useAvailableCapabilities = () => {
7
+ const { capabilities: capabilitiesConfigured } = useContext(PermissionlessContext);
8
+ const account = useAccount();
9
+ const { data: availableCapabilities } = useCapabilities({
10
+ account: account.address
11
+ });
12
+ const memoisedCapabilities = useMemo(() => {
13
+ if (!availableCapabilities || !account.chainId)
14
+ return undefined;
15
+ const capabilitiesForChain = availableCapabilities[account.chainId];
16
+ if (capabilitiesConfigured === undefined)
17
+ return undefined;
18
+ let capabilities = undefined;
19
+ for (const capabilityConfigured in capabilitiesConfigured) {
20
+ if (capabilitiesForChain[capabilityConfigured]?.supported) {
21
+ if (!capabilities) {
22
+ capabilities = {};
23
+ }
24
+ capabilities[capabilityConfigured] = {
25
+ ...capabilitiesConfigured[capabilityConfigured]
26
+ };
27
+ }
28
+ }
29
+ return capabilities;
30
+ }, [availableCapabilities, account.chainId, capabilitiesConfigured]);
31
+ return { capabilities: memoisedCapabilities };
32
+ };
33
+ //# sourceMappingURL=useAvailableCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAvailableCapabilities.js","sourceRoot":"","sources":["../../hooks/useAvailableCapabilities.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACzC,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,GAAG,UAAU,CACvD,qBAAqB,CACxB,CAAA;IAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAE5B,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,eAAe,CAAC;QACpD,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAA;IAEF,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,SAAS,CAAA;QAChE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACnE,IAAI,sBAAsB,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAE1D,IAAI,YAAY,GACZ,SAAS,CAAA;QAEb,KAAK,MAAM,oBAAoB,IAAI,sBAAsB,EAAE,CAAC;YACxD,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC;gBACxD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,YAAY,GAAG,EAAE,CAAA;gBACrB,CAAC;gBACD,YAAY,CAAC,oBAAoB,CAAC,GAAG;oBACjC,GAAG,sBAAsB,CAAC,oBAAoB,CAAC;iBAClD,CAAA;YACL,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAA;IACvB,CAAC,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAA;IAEpE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAA;AACjD,CAAC,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { useMutation } from "@tanstack/react-query";
2
+ import { sendTransaction } from "@wagmi/core";
3
+ import { sendCalls } from "@wagmi/core/experimental";
4
+ import { useConfig } from "wagmi";
5
+ import { useAvailableCapabilities } from "./useAvailableCapabilities.js";
6
+ const sendTransactionMutationOptions = (config, parameters = {}) => {
7
+ return {
8
+ mutationFn(variables) {
9
+ if (parameters.capabilities) {
10
+ return sendCalls(config, {
11
+ calls: [variables],
12
+ capabilities: parameters.capabilities
13
+ });
14
+ }
15
+ return sendTransaction(config, variables);
16
+ },
17
+ mutationKey: ["sendTransaction"]
18
+ };
19
+ };
20
+ export const useSendTransaction = (parameters = {}) => {
21
+ const { mutation } = parameters;
22
+ const { capabilities } = useAvailableCapabilities();
23
+ const config = useConfig(parameters);
24
+ const mutationOptions = sendTransactionMutationOptions(config, {
25
+ ...parameters,
26
+ capabilities
27
+ });
28
+ const { mutate, mutateAsync, ...result } = useMutation({
29
+ ...mutation,
30
+ ...mutationOptions
31
+ });
32
+ return {
33
+ ...result,
34
+ sendTransaction: mutate,
35
+ sendTransactionAsync: mutateAsync
36
+ };
37
+ };
38
+ //# sourceMappingURL=useSendTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../hooks/useSendTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,WAAW,EACd,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAQpD,OAAO,EAAsC,SAAS,EAAE,MAAM,OAAO,CAAA;AAMrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,MAAM,8BAA8B,GAAG,CACnC,MAAc,EACd,aAEI,EAAE,EACR,EAAE;IACA,OAAO;QACH,UAAU,CAAC,SAAS;YAChB,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC1B,OAAO,SAAS,CAAC,MAAM,EAAE;oBACrB,KAAK,EAAE,CAAC,SAAS,CAAC;oBAClB,YAAY,EAAE,UAAU,CAAC,YAAY;iBACxC,CAAC,CAAA;YACN,CAAC;YAED,OAAO,eAAe,CAAC,MAAM,EAAE,SAAS,CAAoB,CAAA;QAChE,CAAC;QACD,WAAW,EAAE,CAAC,iBAAiB,CAAC;KAKnC,CAAA;AACL,CAAC,CAAA;AA2ED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAI9B,aAA4D,EAAE,EACjB,EAAE;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAEnD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IAEpC,MAAM,eAAe,GAAG,8BAA8B,CAAC,MAAM,EAAE;QAC3D,GAAG,UAAU;QACb,YAAY;KACf,CAAC,CAAA;IAEF,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC;QACnD,GAAG,QAAQ;QACX,GAAG,eAAe;KACrB,CAAC,CAAA;IAGF,OAAO;QACH,GAAG,MAAM;QACT,eAAe,EAAE,MAAmC;QACpD,oBAAoB,EAAE,WAA6C;KACtE,CAAA;AACL,CAAC,CAAA"}