@multiplatform.one/web3 7.31.1 → 7.33.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 (179) hide show
  1. package/README.md +84 -0
  2. package/dist/cjs/clients/evm.cjs +52 -1
  3. package/dist/cjs/clients/evm.native.js +56 -1
  4. package/dist/cjs/clients/evm.native.js.map +1 -1
  5. package/dist/cjs/clients/hooks.cjs +5 -2
  6. package/dist/cjs/clients/hooks.native.js +7 -2
  7. package/dist/cjs/clients/hooks.native.js.map +1 -1
  8. package/dist/cjs/clients/index.cjs +4 -0
  9. package/dist/cjs/clients/index.native.js +4 -0
  10. package/dist/cjs/clients/index.native.js.map +1 -1
  11. package/dist/cjs/clients/preparedSend.cjs +96 -0
  12. package/dist/cjs/clients/preparedSend.native.js +225 -0
  13. package/dist/cjs/clients/preparedSend.native.js.map +1 -0
  14. package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.cjs +108 -27
  15. package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js +105 -28
  16. package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
  17. package/dist/cjs/connectkit/index.cjs +2 -0
  18. package/dist/cjs/connectkit/index.native.js +2 -0
  19. package/dist/cjs/connectkit/index.native.js.map +1 -1
  20. package/dist/cjs/connectkit/openConnector/context.cjs +16 -3
  21. package/dist/cjs/connectkit/openConnector/context.native.js +19 -4
  22. package/dist/cjs/connectkit/openConnector/context.native.js.map +1 -1
  23. package/dist/cjs/connectkit/openConnector/launcher.cjs +2 -2
  24. package/dist/cjs/connectkit/openConnector/launcher.native.js +2 -2
  25. package/dist/cjs/connectkit/openConnector/launcher.native.js.map +1 -1
  26. package/dist/cjs/phantom/evm.cjs +133 -0
  27. package/dist/cjs/phantom/evm.native.js +269 -0
  28. package/dist/cjs/phantom/evm.native.js.map +1 -0
  29. package/dist/cjs/phantom/index.cjs +36 -0
  30. package/dist/cjs/phantom/index.native.js +39 -0
  31. package/dist/cjs/phantom/index.native.js.map +1 -0
  32. package/dist/cjs/phantom/urls.cjs +33 -0
  33. package/dist/cjs/phantom/urls.native.js +38 -0
  34. package/dist/cjs/phantom/urls.native.js.map +1 -0
  35. package/dist/cjs/wagmi/driver.cjs +13 -9
  36. package/dist/cjs/wagmi/driver.native.js +17 -9
  37. package/dist/cjs/wagmi/driver.native.js.map +1 -1
  38. package/dist/esm/clients/evm.mjs +53 -2
  39. package/dist/esm/clients/evm.mjs.map +1 -1
  40. package/dist/esm/clients/evm.native.js +57 -2
  41. package/dist/esm/clients/evm.native.js.map +1 -1
  42. package/dist/esm/clients/hooks.mjs +5 -2
  43. package/dist/esm/clients/hooks.mjs.map +1 -1
  44. package/dist/esm/clients/hooks.native.js +7 -2
  45. package/dist/esm/clients/hooks.native.js.map +1 -1
  46. package/dist/esm/clients/index.mjs +2 -1
  47. package/dist/esm/clients/index.mjs.map +1 -1
  48. package/dist/esm/clients/index.native.js +2 -1
  49. package/dist/esm/clients/index.native.js.map +1 -1
  50. package/dist/esm/clients/preparedSend.mjs +69 -0
  51. package/dist/esm/clients/preparedSend.mjs.map +1 -0
  52. package/dist/esm/clients/preparedSend.native.js +195 -0
  53. package/dist/esm/clients/preparedSend.native.js.map +1 -0
  54. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs +107 -28
  55. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -1
  56. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js +104 -29
  57. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
  58. package/dist/esm/connectkit/index.mjs +2 -2
  59. package/dist/esm/connectkit/index.mjs.map +1 -1
  60. package/dist/esm/connectkit/index.native.js +2 -2
  61. package/dist/esm/connectkit/index.native.js.map +1 -1
  62. package/dist/esm/connectkit/openConnector/context.mjs +17 -4
  63. package/dist/esm/connectkit/openConnector/context.mjs.map +1 -1
  64. package/dist/esm/connectkit/openConnector/context.native.js +20 -5
  65. package/dist/esm/connectkit/openConnector/context.native.js.map +1 -1
  66. package/dist/esm/connectkit/openConnector/launcher.mjs +2 -2
  67. package/dist/esm/connectkit/openConnector/launcher.mjs.map +1 -1
  68. package/dist/esm/connectkit/openConnector/launcher.native.js +2 -2
  69. package/dist/esm/connectkit/openConnector/launcher.native.js.map +1 -1
  70. package/dist/esm/phantom/evm.mjs +103 -0
  71. package/dist/esm/phantom/evm.mjs.map +1 -0
  72. package/dist/esm/phantom/evm.native.js +236 -0
  73. package/dist/esm/phantom/evm.native.js.map +1 -0
  74. package/dist/esm/phantom/index.mjs +4 -0
  75. package/dist/esm/phantom/index.mjs.map +1 -0
  76. package/dist/esm/phantom/index.native.js +4 -0
  77. package/dist/esm/phantom/index.native.js.map +1 -0
  78. package/dist/esm/phantom/urls.mjs +7 -0
  79. package/dist/esm/phantom/urls.mjs.map +1 -0
  80. package/dist/esm/phantom/urls.native.js +9 -0
  81. package/dist/esm/phantom/urls.native.js.map +1 -0
  82. package/dist/esm/wagmi/driver.mjs +14 -10
  83. package/dist/esm/wagmi/driver.mjs.map +1 -1
  84. package/dist/esm/wagmi/driver.native.js +18 -10
  85. package/dist/esm/wagmi/driver.native.js.map +1 -1
  86. package/dist/jsx/clients/evm.mjs +53 -2
  87. package/dist/jsx/clients/evm.mjs.map +1 -1
  88. package/dist/jsx/clients/evm.native.js +56 -1
  89. package/dist/jsx/clients/evm.native.js.map +1 -1
  90. package/dist/jsx/clients/hooks.mjs +5 -2
  91. package/dist/jsx/clients/hooks.mjs.map +1 -1
  92. package/dist/jsx/clients/hooks.native.js +7 -2
  93. package/dist/jsx/clients/hooks.native.js.map +1 -1
  94. package/dist/jsx/clients/index.mjs +2 -1
  95. package/dist/jsx/clients/index.mjs.map +1 -1
  96. package/dist/jsx/clients/index.native.js +4 -0
  97. package/dist/jsx/clients/index.native.js.map +1 -1
  98. package/dist/jsx/clients/preparedSend.mjs +69 -0
  99. package/dist/jsx/clients/preparedSend.mjs.map +1 -0
  100. package/dist/jsx/clients/preparedSend.native.js +225 -0
  101. package/dist/jsx/clients/preparedSend.native.js.map +1 -0
  102. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs +107 -28
  103. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -1
  104. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js +105 -28
  105. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
  106. package/dist/jsx/connectkit/index.mjs +2 -2
  107. package/dist/jsx/connectkit/index.mjs.map +1 -1
  108. package/dist/jsx/connectkit/index.native.js +2 -0
  109. package/dist/jsx/connectkit/index.native.js.map +1 -1
  110. package/dist/jsx/connectkit/openConnector/context.mjs +17 -4
  111. package/dist/jsx/connectkit/openConnector/context.mjs.map +1 -1
  112. package/dist/jsx/connectkit/openConnector/context.native.js +19 -4
  113. package/dist/jsx/connectkit/openConnector/context.native.js.map +1 -1
  114. package/dist/jsx/connectkit/openConnector/launcher.mjs +2 -2
  115. package/dist/jsx/connectkit/openConnector/launcher.mjs.map +1 -1
  116. package/dist/jsx/connectkit/openConnector/launcher.native.js +2 -2
  117. package/dist/jsx/connectkit/openConnector/launcher.native.js.map +1 -1
  118. package/dist/jsx/phantom/evm.mjs +103 -0
  119. package/dist/jsx/phantom/evm.mjs.map +1 -0
  120. package/dist/jsx/phantom/evm.native.js +269 -0
  121. package/dist/jsx/phantom/evm.native.js.map +1 -0
  122. package/dist/jsx/phantom/index.mjs +4 -0
  123. package/dist/jsx/phantom/index.mjs.map +1 -0
  124. package/dist/jsx/phantom/index.native.js +39 -0
  125. package/dist/jsx/phantom/index.native.js.map +1 -0
  126. package/dist/jsx/phantom/urls.mjs +7 -0
  127. package/dist/jsx/phantom/urls.mjs.map +1 -0
  128. package/dist/jsx/phantom/urls.native.js +38 -0
  129. package/dist/jsx/phantom/urls.native.js.map +1 -0
  130. package/dist/jsx/wagmi/driver.mjs +14 -10
  131. package/dist/jsx/wagmi/driver.mjs.map +1 -1
  132. package/dist/jsx/wagmi/driver.native.js +17 -9
  133. package/dist/jsx/wagmi/driver.native.js.map +1 -1
  134. package/dist/keycloak/login.iife.js +382 -382
  135. package/package.json +12 -6
  136. package/src/clients/evm.ts +86 -0
  137. package/src/clients/hooks.spec.tsx +1 -0
  138. package/src/clients/hooks.ts +4 -1
  139. package/src/clients/index.ts +12 -0
  140. package/src/clients/preparedSend.spec.ts +214 -0
  141. package/src/clients/preparedSend.ts +136 -0
  142. package/src/connectkit/connectors/metaMaskConnectConnector.spec.ts +256 -4
  143. package/src/connectkit/connectors/metaMaskConnectConnector.ts +145 -33
  144. package/src/connectkit/index.ts +2 -0
  145. package/src/connectkit/openConnector/context.tsx +10 -5
  146. package/src/connectkit/openConnector/launcher.spec.ts +24 -2
  147. package/src/connectkit/openConnector/launcher.ts +10 -3
  148. package/src/core/types.ts +7 -0
  149. package/src/phantom/evm.spec.ts +195 -0
  150. package/src/phantom/evm.ts +163 -0
  151. package/src/phantom/index.ts +16 -0
  152. package/src/phantom/urls.spec.ts +29 -0
  153. package/src/phantom/urls.ts +16 -0
  154. package/src/wagmi/driver.spec.ts +31 -0
  155. package/src/wagmi/driver.ts +11 -4
  156. package/types/clients/evm.d.ts +32 -0
  157. package/types/clients/evm.d.ts.map +1 -1
  158. package/types/clients/hooks.d.ts.map +1 -1
  159. package/types/clients/index.d.ts +2 -1
  160. package/types/clients/index.d.ts.map +1 -1
  161. package/types/clients/preparedSend.d.ts +71 -0
  162. package/types/clients/preparedSend.d.ts.map +1 -0
  163. package/types/connectkit/connectors/metaMaskConnectConnector.d.ts +27 -0
  164. package/types/connectkit/connectors/metaMaskConnectConnector.d.ts.map +1 -1
  165. package/types/connectkit/index.d.ts +1 -1
  166. package/types/connectkit/index.d.ts.map +1 -1
  167. package/types/connectkit/openConnector/context.d.ts.map +1 -1
  168. package/types/connectkit/openConnector/launcher.d.ts +8 -1
  169. package/types/connectkit/openConnector/launcher.d.ts.map +1 -1
  170. package/types/core/types.d.ts +7 -0
  171. package/types/core/types.d.ts.map +1 -1
  172. package/types/phantom/evm.d.ts +76 -0
  173. package/types/phantom/evm.d.ts.map +1 -0
  174. package/types/phantom/index.d.ts +3 -0
  175. package/types/phantom/index.d.ts.map +1 -0
  176. package/types/phantom/urls.d.ts +11 -0
  177. package/types/phantom/urls.d.ts.map +1 -0
  178. package/types/wagmi/driver.d.ts +1 -1
  179. package/types/wagmi/driver.d.ts.map +1 -1
@@ -0,0 +1,69 @@
1
+ import { formatTransactionRequest, numberToHex } from "viem";
2
+ class PreparedSendStaleError extends Error {
3
+ reason;
4
+ constructor(reason, detail) {
5
+ super(`Prepared transaction is stale (${reason}): ${detail}. Prepare it again.`);
6
+ this.name = "PreparedSendStaleError";
7
+ this.reason = reason;
8
+ }
9
+ }
10
+ const DEFAULT_PREPARED_SEND_MAX_AGE_MS = 6e4;
11
+ const same = (a, b) => !!a && !!b && a.toLowerCase() === b.toLowerCase();
12
+ async function prepareEvmSend(parameters) {
13
+ const {
14
+ publicClient,
15
+ request,
16
+ from,
17
+ chainId,
18
+ current
19
+ } = parameters;
20
+ const maxAgeMs = parameters.maxAgeMs ?? DEFAULT_PREPARED_SEND_MAX_AGE_MS;
21
+ const prepared = await publicClient.prepareTransactionRequest({
22
+ account: from,
23
+ chain: publicClient.chain,
24
+ to: parameters.to,
25
+ ...(parameters.data ? {
26
+ data: parameters.data
27
+ } : {}),
28
+ ...(parameters.value !== void 0 ? {
29
+ value: parameters.value
30
+ } : {}),
31
+ ...(parameters.gas !== void 0 ? {
32
+ gas: parameters.gas
33
+ } : {}),
34
+ ...(parameters.nonce !== void 0 ? {
35
+ nonce: parameters.nonce
36
+ } : {}),
37
+ parameters: ["fees", "gas", "nonce", "type"]
38
+ });
39
+ const {
40
+ account: _account,
41
+ chain: _chain,
42
+ ...transaction
43
+ } = prepared;
44
+ const rpc = {
45
+ ...formatTransactionRequest(transaction),
46
+ from,
47
+ chainId: numberToHex(chainId)
48
+ };
49
+ const preparedAt = Date.now();
50
+ return Object.freeze({
51
+ request: Object.freeze(rpc),
52
+ from,
53
+ chainId,
54
+ preparedAt,
55
+ send() {
56
+ const age = Date.now() - preparedAt;
57
+ if (age > maxAgeMs) return Promise.reject(new PreparedSendStaleError("expired", `prepared ${age} ms ago, limit ${maxAgeMs} ms`));
58
+ const now = current?.();
59
+ if (now?.address !== void 0 && !same(now.address, from)) return Promise.reject(new PreparedSendStaleError("account", `prepared for ${from}, wallet is on ${now.address}`));
60
+ if (now?.chainId !== void 0 && now.chainId !== chainId) return Promise.reject(new PreparedSendStaleError("chain", `prepared for ${chainId}, wallet is on ${now.chainId}`));
61
+ return request({
62
+ method: "eth_sendTransaction",
63
+ params: [rpc]
64
+ });
65
+ }
66
+ });
67
+ }
68
+ export { DEFAULT_PREPARED_SEND_MAX_AGE_MS, PreparedSendStaleError, prepareEvmSend };
69
+ //# sourceMappingURL=preparedSend.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatTransactionRequest","numberToHex","PreparedSendStaleError","Error","reason","constructor","detail","name","DEFAULT_PREPARED_SEND_MAX_AGE_MS","same","a","b","toLowerCase","prepareEvmSend","parameters","publicClient","request","from","chainId","current","maxAgeMs","prepared","prepareTransactionRequest","account","chain","to","data","value","gas","nonce","_account","_chain","transaction","rpc","preparedAt","Date","now","Object","freeze","send","age","Promise","reject","address","method","params"],"sources":["../../../src/clients/preparedSend.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var preparedSend_exports = {};
26
+ __export(preparedSend_exports, {
27
+ DEFAULT_PREPARED_SEND_MAX_AGE_MS: () => DEFAULT_PREPARED_SEND_MAX_AGE_MS,
28
+ PreparedSendStaleError: () => PreparedSendStaleError,
29
+ prepareEvmSend: () => prepareEvmSend
30
+ });
31
+ module.exports = __toCommonJS(preparedSend_exports);
32
+ var import_viem = require("viem");
33
+ function _assert_this_initialized(self) {
34
+ if (self === void 0) {
35
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
36
+ }
37
+ return self;
38
+ }
39
+ function _call_super(_this, derived, args) {
40
+ derived = _get_prototype_of(derived);
41
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
42
+ }
43
+ function _class_call_check(instance, Constructor) {
44
+ if (!(instance instanceof Constructor)) {
45
+ throw new TypeError("Cannot call a class as a function");
46
+ }
47
+ }
48
+ function _construct(Parent, args, Class) {
49
+ if (_is_native_reflect_construct()) {
50
+ _construct = Reflect.construct;
51
+ } else {
52
+ _construct = function construct(Parent2, args2, Class2) {
53
+ var a = [null];
54
+ a.push.apply(a, args2);
55
+ var Constructor = Function.bind.apply(Parent2, a);
56
+ var instance = new Constructor();
57
+ if (Class2) _set_prototype_of(instance, Class2.prototype);
58
+ return instance;
59
+ };
60
+ }
61
+ return _construct.apply(null, arguments);
62
+ }
63
+ function _define_property(obj, key, value) {
64
+ if (key in obj) {
65
+ Object.defineProperty(obj, key, {
66
+ value,
67
+ enumerable: true,
68
+ configurable: true,
69
+ writable: true
70
+ });
71
+ } else {
72
+ obj[key] = value;
73
+ }
74
+ return obj;
75
+ }
76
+ function _get_prototype_of(o) {
77
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {
78
+ return o2.__proto__ || Object.getPrototypeOf(o2);
79
+ };
80
+ return _get_prototype_of(o);
81
+ }
82
+ function _inherits(subClass, superClass) {
83
+ if (typeof superClass !== "function" && superClass !== null) {
84
+ throw new TypeError("Super expression must either be null or a function");
85
+ }
86
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
87
+ constructor: {
88
+ value: subClass,
89
+ writable: true,
90
+ configurable: true
91
+ }
92
+ });
93
+ if (superClass) _set_prototype_of(subClass, superClass);
94
+ }
95
+ function _is_native_function(fn) {
96
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
97
+ }
98
+ function _possible_constructor_return(self, call) {
99
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
100
+ return call;
101
+ }
102
+ return _assert_this_initialized(self);
103
+ }
104
+ function _set_prototype_of(o, p) {
105
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {
106
+ o2.__proto__ = p2;
107
+ return o2;
108
+ };
109
+ return _set_prototype_of(o, p);
110
+ }
111
+ function _type_of(obj) {
112
+ "@swc/helpers - typeof";
113
+
114
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
115
+ }
116
+ function _wrap_native_super(Class) {
117
+ var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
118
+ _wrap_native_super = function wrapNativeSuper(Class2) {
119
+ if (Class2 === null || !_is_native_function(Class2)) return Class2;
120
+ if (typeof Class2 !== "function") {
121
+ throw new TypeError("Super expression must either be null or a function");
122
+ }
123
+ if (typeof _cache !== "undefined") {
124
+ if (_cache.has(Class2)) return _cache.get(Class2);
125
+ _cache.set(Class2, Wrapper);
126
+ }
127
+ function Wrapper() {
128
+ return _construct(Class2, arguments, _get_prototype_of(this).constructor);
129
+ }
130
+ Wrapper.prototype = Object.create(Class2.prototype, {
131
+ constructor: {
132
+ value: Wrapper,
133
+ enumerable: false,
134
+ writable: true,
135
+ configurable: true
136
+ }
137
+ });
138
+ return _set_prototype_of(Wrapper, Class2);
139
+ };
140
+ return _wrap_native_super(Class);
141
+ }
142
+ function _is_native_reflect_construct() {
143
+ try {
144
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
145
+ } catch (_) {}
146
+ return (_is_native_reflect_construct = function () {
147
+ return !!result;
148
+ })();
149
+ }
150
+ var PreparedSendStaleError = /* @__PURE__ */function (Error1) {
151
+ "use strict";
152
+
153
+ _inherits(PreparedSendStaleError2, Error1);
154
+ function PreparedSendStaleError2(reason, detail) {
155
+ _class_call_check(this, PreparedSendStaleError2);
156
+ var _this;
157
+ _this = _call_super(this, PreparedSendStaleError2, [`Prepared transaction is stale (${reason}): ${detail}. Prepare it again.`]), _define_property(_this, "reason", void 0);
158
+ _this.name = "PreparedSendStaleError";
159
+ _this.reason = reason;
160
+ return _this;
161
+ }
162
+ return PreparedSendStaleError2;
163
+ }(_wrap_native_super(Error));
164
+ var DEFAULT_PREPARED_SEND_MAX_AGE_MS = 6e4;
165
+ var same = function same2(a, b) {
166
+ return !!a && !!b && a.toLowerCase() === b.toLowerCase();
167
+ };
168
+ async function prepareEvmSend(parameters) {
169
+ var _parameters_maxAgeMs;
170
+ var {
171
+ publicClient,
172
+ request,
173
+ from,
174
+ chainId,
175
+ current
176
+ } = parameters;
177
+ var maxAgeMs = (_parameters_maxAgeMs = parameters.maxAgeMs) !== null && _parameters_maxAgeMs !== void 0 ? _parameters_maxAgeMs : DEFAULT_PREPARED_SEND_MAX_AGE_MS;
178
+ var prepared = await publicClient.prepareTransactionRequest({
179
+ account: from,
180
+ chain: publicClient.chain,
181
+ to: parameters.to,
182
+ ...(parameters.data ? {
183
+ data: parameters.data
184
+ } : {}),
185
+ ...(parameters.value !== void 0 ? {
186
+ value: parameters.value
187
+ } : {}),
188
+ ...(parameters.gas !== void 0 ? {
189
+ gas: parameters.gas
190
+ } : {}),
191
+ ...(parameters.nonce !== void 0 ? {
192
+ nonce: parameters.nonce
193
+ } : {}),
194
+ parameters: ["fees", "gas", "nonce", "type"]
195
+ });
196
+ var {
197
+ account: _account,
198
+ chain: _chain,
199
+ ...transaction
200
+ } = prepared;
201
+ var rpc = {
202
+ ...(0, import_viem.formatTransactionRequest)(transaction),
203
+ from,
204
+ chainId: (0, import_viem.numberToHex)(chainId)
205
+ };
206
+ var preparedAt = Date.now();
207
+ return Object.freeze({
208
+ request: Object.freeze(rpc),
209
+ from,
210
+ chainId,
211
+ preparedAt,
212
+ send() {
213
+ var age = Date.now() - preparedAt;
214
+ if (age > maxAgeMs) return Promise.reject(new PreparedSendStaleError("expired", `prepared ${age} ms ago, limit ${maxAgeMs} ms`));
215
+ var now = current === null || current === void 0 ? void 0 : current();
216
+ if ((now === null || now === void 0 ? void 0 : now.address) !== void 0 && !same(now.address, from)) return Promise.reject(new PreparedSendStaleError("account", `prepared for ${from}, wallet is on ${now.address}`));
217
+ if ((now === null || now === void 0 ? void 0 : now.chainId) !== void 0 && now.chainId !== chainId) return Promise.reject(new PreparedSendStaleError("chain", `prepared for ${chainId}, wallet is on ${now.chainId}`));
218
+ return request({
219
+ method: "eth_sendTransaction",
220
+ params: [rpc]
221
+ });
222
+ }
223
+ });
224
+ }
225
+ //# sourceMappingURL=preparedSend.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","preparedSend_exports","DEFAULT_PREPARED_SEND_MAX_AGE_MS","PreparedSendStaleError","prepareEvmSend","module","exports","import_viem","require","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","arguments","_define_property","obj","configurable"],"sources":["../../../src/clients/preparedSend.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { isMobile } from "@multiplatform.one/connectkit";
1
2
  import { ChainNotConfiguredError, createConnector } from "wagmi";
2
3
  import { getAddress, numberToHex, ResourceUnavailableRpcError, SwitchChainError, UserRejectedRequestError } from "viem";
3
4
  import { mainnet } from "wagmi/chains";
@@ -51,6 +52,17 @@ function isUrl(value) {
51
52
  return false;
52
53
  }
53
54
  }
55
+ const metaMaskBuiltInTestnets = /* @__PURE__ */new Set([11155111, 59141, 10143, 6342, 6343]);
56
+ function metaMaskMayLackChain(chain) {
57
+ return chain.testnet === true && !metaMaskBuiltInTestnets.has(chain.id);
58
+ }
59
+ function isUnrecognizedChain(err) {
60
+ const {
61
+ code,
62
+ message
63
+ } = err ?? {};
64
+ return code === 4902 || typeof message === "string" && message.includes("Unrecognized chain");
65
+ }
54
66
  function metaMaskConnectChainIds(networks, chainId) {
55
67
  const ids = Object.keys(networks);
56
68
  if (!chainId || isSyntheticChainId(chainId)) return ids;
@@ -59,6 +71,31 @@ function metaMaskConnectChainIds(networks, chainId) {
59
71
  }
60
72
  let client;
61
73
  let owner;
74
+ const permittedChains = /* @__PURE__ */new Set();
75
+ const unrecognizedChains = /* @__PURE__ */new Set();
76
+ let lastDeeplink;
77
+ function forgetChains() {
78
+ permittedChains.clear();
79
+ unrecognizedChains.clear();
80
+ lastDeeplink = void 0;
81
+ }
82
+ function reopenMetaMask() {
83
+ if (!lastDeeplink) return false;
84
+ lastDeeplink.open(lastDeeplink.url, "_self");
85
+ return true;
86
+ }
87
+ function recordingOpenLink(open) {
88
+ return (url, target) => {
89
+ lastDeeplink = {
90
+ url,
91
+ open
92
+ };
93
+ open(url, target);
94
+ };
95
+ }
96
+ function navigate(url) {
97
+ if (typeof window !== "undefined") window.location.href = url;
98
+ }
62
99
  function getClient(parameters, networks) {
63
100
  if (client) return client;
64
101
  client = import("@metamask/connect-evm").then(({
@@ -84,16 +121,19 @@ function getClient(parameters, networks) {
84
121
  headless: true
85
122
  }
86
123
  } : {}),
87
- ...(parameters.preferredOpenLink || parameters.useDeeplink !== void 0 ? {
88
- mobile: {
89
- ...(parameters.preferredOpenLink ? {
90
- preferredOpenLink: parameters.preferredOpenLink
91
- } : {}),
92
- ...(parameters.useDeeplink !== void 0 ? {
93
- useDeeplink: parameters.useDeeplink
94
- } : {})
95
- }
96
- } : {}),
124
+ mobile: {
125
+ // MetaMask Connect's own opener does the same location change for a
126
+ // metamask:// link; going through one here keeps the link to reopen.
127
+ // With useDeeplink false it clicks a universal link instead, left as is.
128
+ ...(parameters.preferredOpenLink ? {
129
+ preferredOpenLink: recordingOpenLink(parameters.preferredOpenLink)
130
+ } : parameters.useDeeplink === false ? {} : {
131
+ preferredOpenLink: recordingOpenLink(navigate)
132
+ }),
133
+ ...(parameters.useDeeplink !== void 0 ? {
134
+ useDeeplink: parameters.useDeeplink
135
+ } : {})
136
+ },
97
137
  eventHandlers: {
98
138
  // A session approved outside connect(), in another tab say. wagmi drops
99
139
  // `change` for a connector it has no connection for, so only `connect`
@@ -108,14 +148,23 @@ function getClient(parameters, networks) {
108
148
  });
109
149
  },
110
150
  accountsChanged: accounts => {
111
- if (accounts.length === 0) owner?.emit("disconnect");else owner?.emit("change", {
151
+ if (accounts.length === 0) {
152
+ forgetChains();
153
+ owner?.emit("disconnect");
154
+ } else owner?.emit("change", {
112
155
  accounts: accounts.map(a => getAddress(a))
113
156
  });
114
157
  },
115
- chainChanged: chainId => owner?.emit("change", {
116
- chainId: Number(chainId)
117
- }),
118
- disconnect: () => owner?.emit("disconnect"),
158
+ chainChanged: chainId => {
159
+ permittedChains.add(Number(chainId));
160
+ owner?.emit("change", {
161
+ chainId: Number(chainId)
162
+ });
163
+ },
164
+ disconnect: () => {
165
+ forgetChains();
166
+ owner?.emit("disconnect");
167
+ },
119
168
  displayUri: uri => owner?.emit("message", {
120
169
  type: "display_uri",
121
170
  data: uri
@@ -130,6 +179,7 @@ function getClient(parameters, networks) {
130
179
  function resetMetaMaskConnectClient() {
131
180
  client = void 0;
132
181
  owner = void 0;
182
+ forgetChains();
133
183
  }
134
184
  function rethrow(err) {
135
185
  const code = err?.code;
@@ -144,6 +194,8 @@ function metaMaskConnect(parameters) {
144
194
  const networks = metaMaskNetworks(config.chains, config.transports);
145
195
  const supportedNetworks = metaMaskSupportedNetworks(networks, config.transports);
146
196
  const fallbackChainId = Number(Object.keys(networks)[0] ?? 1);
197
+ const mobile = parameters.mobile ?? isMobile();
198
+ const addChainFirst = parameters.addChainFirst ?? metaMaskMayLackChain;
147
199
  const instance = () => getClient(parameters, supportedNetworks);
148
200
  let guarded;
149
201
  const claim = () => {
@@ -176,15 +228,18 @@ function metaMaskConnect(parameters) {
176
228
  });
177
229
  accounts = result.accounts.map(a => getAddress(a));
178
230
  }
231
+ const current = chainIdOf(mm);
232
+ permittedChains.add(current);
179
233
  return {
180
234
  accounts,
181
- chainId: chainIdOf(mm)
235
+ chainId: current
182
236
  };
183
237
  } catch (err) {
184
238
  rethrow(err);
185
239
  }
186
240
  },
187
241
  async disconnect() {
242
+ forgetChains();
188
243
  await (await claim()).disconnect();
189
244
  },
190
245
  async getAccounts() {
@@ -215,22 +270,46 @@ function metaMaskConnect(parameters) {
215
270
  }) {
216
271
  const chain = config.chains.find(c => c.id === chainId);
217
272
  if (!chain || !networks[numberToHex(chainId)]) throw new SwitchChainError(new ChainNotConfiguredError());
273
+ const chainConfiguration = {
274
+ chainId: numberToHex(chainId),
275
+ chainName: addEthereumChainParameter?.chainName ?? chain.name,
276
+ nativeCurrency: addEthereumChainParameter?.nativeCurrency ?? chain.nativeCurrency,
277
+ rpcUrls: addEthereumChainParameter?.rpcUrls ? [...addEthereumChainParameter.rpcUrls] : [networks[numberToHex(chainId)]],
278
+ ...(chain.blockExplorers?.default.url ? {
279
+ blockExplorerUrls: [chain.blockExplorers.default.url]
280
+ } : {})
281
+ };
282
+ const mm = await claim();
283
+ if (mm.getChainId() === numberToHex(chainId)) return chain;
218
284
  try {
219
- await (await claim()).switchChain({
220
- chainId: numberToHex(chainId),
221
- chainConfiguration: {
285
+ if (!mobile) {
286
+ await mm.switchChain({
222
287
  chainId: numberToHex(chainId),
223
- chainName: addEthereumChainParameter?.chainName ?? chain.name,
224
- nativeCurrency: addEthereumChainParameter?.nativeCurrency ?? chain.nativeCurrency,
225
- rpcUrls: addEthereumChainParameter?.rpcUrls ? [...addEthereumChainParameter.rpcUrls] : [networks[numberToHex(chainId)]],
226
- ...(chain.blockExplorers?.default.url ? {
227
- blockExplorerUrls: [chain.blockExplorers.default.url]
228
- } : {})
229
- }
230
- });
288
+ chainConfiguration
289
+ });
290
+ } else if (!permittedChains.has(chainId) && (unrecognizedChains.has(chainId) || addChainFirst(chain))) {
291
+ await mm.getProvider().request({
292
+ method: "wallet_addEthereumChain",
293
+ params: [chainConfiguration]
294
+ });
295
+ } else {
296
+ await mm.switchChain({
297
+ chainId: numberToHex(chainId)
298
+ });
299
+ }
300
+ permittedChains.add(chainId);
301
+ unrecognizedChains.delete(chainId);
231
302
  return chain;
232
303
  } catch (err) {
233
304
  if (err?.code === UserRejectedRequestError.code) throw new UserRejectedRequestError(err);
305
+ if (mobile && isUnrecognizedChain(err)) {
306
+ unrecognizedChains.add(chainId);
307
+ throw new SwitchChainError(Object.assign(new Error(`MetaMask does not have ${chain.name} yet. Switch again from a tap to add it.`, {
308
+ cause: err
309
+ }), {
310
+ code: 4902
311
+ }));
312
+ }
234
313
  throw new SwitchChainError(err);
235
314
  }
236
315
  },
@@ -250,5 +329,5 @@ function metaMaskConnect(parameters) {
250
329
  };
251
330
  });
252
331
  }
253
- export { metaMaskConnect, metaMaskConnectChainIds, metaMaskNetworks, metaMaskSupportedNetworks, resetMetaMaskConnectClient };
332
+ export { metaMaskConnect, metaMaskConnectChainIds, metaMaskMayLackChain, metaMaskNetworks, metaMaskSupportedNetworks, reopenMetaMask, resetMetaMaskConnectClient };
254
333
  //# sourceMappingURL=metaMaskConnectConnector.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["ChainNotConfiguredError","createConnector","getAddress","numberToHex","ResourceUnavailableRpcError","SwitchChainError","UserRejectedRequestError","mainnet","isSyntheticChainId","metaMaskNetworks","chains","transports","networks","chain","id","url","transportUrl","rpcUrls","default","http","isUrl","metaMaskSupportedNetworks","offListMethods","Set","listedChainsOnly","provider","mm","request","args","chainId","getChainId","Number","has","method","Object","assign","Error","code","Proxy","get","target","property","value","Reflect","bind","transport","first","URL","metaMaskConnectChainIds","ids","keys","includes","filter","client","owner","getClient","parameters","then","createEVMClient","dapp","name","window","location","origin","iconUrl","api","supportedNetworks","analytics","enabled","skipAutoAnnounce","debug","headless","ui","preferredOpenLink","useDeeplink","mobile","eventHandlers","connect","accounts","length","emit","map","a","accountsChanged","chainChanged","disconnect","displayUri","uri","type","data","catch","resetMetaMaskConnectClient","rethrow","err","metaMaskConnect","config","emitter","fallbackChainId","instance","guarded","claim","accountsOf","chainIdOf","hex","rdns","setup","isReconnecting","result","chainIds","getAccounts","getProvider","wrapped","isAuthorized","switchChain","addEthereumChainParameter","find","c","chainConfiguration","chainName","nativeCurrency","blockExplorers","blockExplorerUrls","onAccountsChanged","onChainChanged","onDisconnect"],"sources":["../../../../src/connectkit/connectors/metaMaskConnectConnector.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isMobile","ChainNotConfiguredError","createConnector","getAddress","numberToHex","ResourceUnavailableRpcError","SwitchChainError","UserRejectedRequestError","mainnet","isSyntheticChainId","metaMaskNetworks","chains","transports","networks","chain","id","url","transportUrl","rpcUrls","default","http","isUrl","metaMaskSupportedNetworks","offListMethods","Set","listedChainsOnly","provider","mm","request","args","chainId","getChainId","Number","has","method","Object","assign","Error","code","Proxy","get","target","property","value","Reflect","bind","transport","first","URL","metaMaskBuiltInTestnets","metaMaskMayLackChain","testnet","isUnrecognizedChain","err","message","includes","metaMaskConnectChainIds","ids","keys","filter","client","owner","permittedChains","unrecognizedChains","lastDeeplink","forgetChains","clear","reopenMetaMask","open","recordingOpenLink","navigate","window","location","href","getClient","parameters","then","createEVMClient","dapp","name","origin","iconUrl","api","supportedNetworks","analytics","enabled","skipAutoAnnounce","debug","headless","ui","mobile","preferredOpenLink","useDeeplink","eventHandlers","connect","accounts","length","emit","map","a","accountsChanged","chainChanged","add","disconnect","displayUri","uri","type","data","catch","resetMetaMaskConnectClient","rethrow","metaMaskConnect","config","emitter","fallbackChainId","addChainFirst","instance","guarded","claim","accountsOf","chainIdOf","hex","rdns","setup","isReconnecting","result","chainIds","current","getAccounts","getProvider","wrapped","isAuthorized","switchChain","addEthereumChainParameter","find","c","chainConfiguration","chainName","nativeCurrency","blockExplorers","blockExplorerUrls","params","delete","cause","onAccountsChanged","onChainChanged","onDisconnect"],"sources":["../../../../src/connectkit/connectors/metaMaskConnectConnector.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}