@multiplatform.one/web3 7.31.1 → 7.32.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 (135) hide show
  1. package/README.md +63 -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/wagmi/driver.cjs +13 -9
  27. package/dist/cjs/wagmi/driver.native.js +17 -9
  28. package/dist/cjs/wagmi/driver.native.js.map +1 -1
  29. package/dist/esm/clients/evm.mjs +53 -2
  30. package/dist/esm/clients/evm.mjs.map +1 -1
  31. package/dist/esm/clients/evm.native.js +57 -2
  32. package/dist/esm/clients/evm.native.js.map +1 -1
  33. package/dist/esm/clients/hooks.mjs +5 -2
  34. package/dist/esm/clients/hooks.mjs.map +1 -1
  35. package/dist/esm/clients/hooks.native.js +7 -2
  36. package/dist/esm/clients/hooks.native.js.map +1 -1
  37. package/dist/esm/clients/index.mjs +2 -1
  38. package/dist/esm/clients/index.mjs.map +1 -1
  39. package/dist/esm/clients/index.native.js +2 -1
  40. package/dist/esm/clients/index.native.js.map +1 -1
  41. package/dist/esm/clients/preparedSend.mjs +69 -0
  42. package/dist/esm/clients/preparedSend.mjs.map +1 -0
  43. package/dist/esm/clients/preparedSend.native.js +195 -0
  44. package/dist/esm/clients/preparedSend.native.js.map +1 -0
  45. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs +107 -28
  46. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -1
  47. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js +104 -29
  48. package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
  49. package/dist/esm/connectkit/index.mjs +2 -2
  50. package/dist/esm/connectkit/index.mjs.map +1 -1
  51. package/dist/esm/connectkit/index.native.js +2 -2
  52. package/dist/esm/connectkit/index.native.js.map +1 -1
  53. package/dist/esm/connectkit/openConnector/context.mjs +17 -4
  54. package/dist/esm/connectkit/openConnector/context.mjs.map +1 -1
  55. package/dist/esm/connectkit/openConnector/context.native.js +20 -5
  56. package/dist/esm/connectkit/openConnector/context.native.js.map +1 -1
  57. package/dist/esm/connectkit/openConnector/launcher.mjs +2 -2
  58. package/dist/esm/connectkit/openConnector/launcher.mjs.map +1 -1
  59. package/dist/esm/connectkit/openConnector/launcher.native.js +2 -2
  60. package/dist/esm/connectkit/openConnector/launcher.native.js.map +1 -1
  61. package/dist/esm/wagmi/driver.mjs +14 -10
  62. package/dist/esm/wagmi/driver.mjs.map +1 -1
  63. package/dist/esm/wagmi/driver.native.js +18 -10
  64. package/dist/esm/wagmi/driver.native.js.map +1 -1
  65. package/dist/jsx/clients/evm.mjs +53 -2
  66. package/dist/jsx/clients/evm.mjs.map +1 -1
  67. package/dist/jsx/clients/evm.native.js +56 -1
  68. package/dist/jsx/clients/evm.native.js.map +1 -1
  69. package/dist/jsx/clients/hooks.mjs +5 -2
  70. package/dist/jsx/clients/hooks.mjs.map +1 -1
  71. package/dist/jsx/clients/hooks.native.js +7 -2
  72. package/dist/jsx/clients/hooks.native.js.map +1 -1
  73. package/dist/jsx/clients/index.mjs +2 -1
  74. package/dist/jsx/clients/index.mjs.map +1 -1
  75. package/dist/jsx/clients/index.native.js +4 -0
  76. package/dist/jsx/clients/index.native.js.map +1 -1
  77. package/dist/jsx/clients/preparedSend.mjs +69 -0
  78. package/dist/jsx/clients/preparedSend.mjs.map +1 -0
  79. package/dist/jsx/clients/preparedSend.native.js +225 -0
  80. package/dist/jsx/clients/preparedSend.native.js.map +1 -0
  81. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs +107 -28
  82. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.mjs.map +1 -1
  83. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js +105 -28
  84. package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
  85. package/dist/jsx/connectkit/index.mjs +2 -2
  86. package/dist/jsx/connectkit/index.mjs.map +1 -1
  87. package/dist/jsx/connectkit/index.native.js +2 -0
  88. package/dist/jsx/connectkit/index.native.js.map +1 -1
  89. package/dist/jsx/connectkit/openConnector/context.mjs +17 -4
  90. package/dist/jsx/connectkit/openConnector/context.mjs.map +1 -1
  91. package/dist/jsx/connectkit/openConnector/context.native.js +19 -4
  92. package/dist/jsx/connectkit/openConnector/context.native.js.map +1 -1
  93. package/dist/jsx/connectkit/openConnector/launcher.mjs +2 -2
  94. package/dist/jsx/connectkit/openConnector/launcher.mjs.map +1 -1
  95. package/dist/jsx/connectkit/openConnector/launcher.native.js +2 -2
  96. package/dist/jsx/connectkit/openConnector/launcher.native.js.map +1 -1
  97. package/dist/jsx/wagmi/driver.mjs +14 -10
  98. package/dist/jsx/wagmi/driver.mjs.map +1 -1
  99. package/dist/jsx/wagmi/driver.native.js +17 -9
  100. package/dist/jsx/wagmi/driver.native.js.map +1 -1
  101. package/dist/keycloak/login.iife.js +382 -382
  102. package/package.json +6 -6
  103. package/src/clients/evm.ts +86 -0
  104. package/src/clients/hooks.spec.tsx +1 -0
  105. package/src/clients/hooks.ts +4 -1
  106. package/src/clients/index.ts +12 -0
  107. package/src/clients/preparedSend.spec.ts +214 -0
  108. package/src/clients/preparedSend.ts +136 -0
  109. package/src/connectkit/connectors/metaMaskConnectConnector.spec.ts +256 -4
  110. package/src/connectkit/connectors/metaMaskConnectConnector.ts +145 -33
  111. package/src/connectkit/index.ts +2 -0
  112. package/src/connectkit/openConnector/context.tsx +10 -5
  113. package/src/connectkit/openConnector/launcher.spec.ts +24 -2
  114. package/src/connectkit/openConnector/launcher.ts +10 -3
  115. package/src/core/types.ts +7 -0
  116. package/src/wagmi/driver.spec.ts +31 -0
  117. package/src/wagmi/driver.ts +11 -4
  118. package/types/clients/evm.d.ts +32 -0
  119. package/types/clients/evm.d.ts.map +1 -1
  120. package/types/clients/hooks.d.ts.map +1 -1
  121. package/types/clients/index.d.ts +2 -1
  122. package/types/clients/index.d.ts.map +1 -1
  123. package/types/clients/preparedSend.d.ts +71 -0
  124. package/types/clients/preparedSend.d.ts.map +1 -0
  125. package/types/connectkit/connectors/metaMaskConnectConnector.d.ts +27 -0
  126. package/types/connectkit/connectors/metaMaskConnectConnector.d.ts.map +1 -1
  127. package/types/connectkit/index.d.ts +1 -1
  128. package/types/connectkit/index.d.ts.map +1 -1
  129. package/types/connectkit/openConnector/context.d.ts.map +1 -1
  130. package/types/connectkit/openConnector/launcher.d.ts +8 -1
  131. package/types/connectkit/openConnector/launcher.d.ts.map +1 -1
  132. package/types/core/types.d.ts +7 -0
  133. package/types/core/types.d.ts.map +1 -1
  134. package/types/wagmi/driver.d.ts +1 -1
  135. package/types/wagmi/driver.d.ts.map +1 -1
@@ -0,0 +1,195 @@
1
+ import { formatTransactionRequest, numberToHex } from "viem";
2
+ function _assert_this_initialized(self) {
3
+ if (self === void 0) {
4
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
5
+ }
6
+ return self;
7
+ }
8
+ function _call_super(_this, derived, args) {
9
+ derived = _get_prototype_of(derived);
10
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
11
+ }
12
+ function _class_call_check(instance, Constructor) {
13
+ if (!(instance instanceof Constructor)) {
14
+ throw new TypeError("Cannot call a class as a function");
15
+ }
16
+ }
17
+ function _construct(Parent, args, Class) {
18
+ if (_is_native_reflect_construct()) {
19
+ _construct = Reflect.construct;
20
+ } else {
21
+ _construct = function construct(Parent2, args2, Class2) {
22
+ var a = [null];
23
+ a.push.apply(a, args2);
24
+ var Constructor = Function.bind.apply(Parent2, a);
25
+ var instance = new Constructor();
26
+ if (Class2) _set_prototype_of(instance, Class2.prototype);
27
+ return instance;
28
+ };
29
+ }
30
+ return _construct.apply(null, arguments);
31
+ }
32
+ function _define_property(obj, key, value) {
33
+ if (key in obj) {
34
+ Object.defineProperty(obj, key, {
35
+ value,
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true
39
+ });
40
+ } else {
41
+ obj[key] = value;
42
+ }
43
+ return obj;
44
+ }
45
+ function _get_prototype_of(o) {
46
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {
47
+ return o2.__proto__ || Object.getPrototypeOf(o2);
48
+ };
49
+ return _get_prototype_of(o);
50
+ }
51
+ function _inherits(subClass, superClass) {
52
+ if (typeof superClass !== "function" && superClass !== null) {
53
+ throw new TypeError("Super expression must either be null or a function");
54
+ }
55
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
56
+ constructor: {
57
+ value: subClass,
58
+ writable: true,
59
+ configurable: true
60
+ }
61
+ });
62
+ if (superClass) _set_prototype_of(subClass, superClass);
63
+ }
64
+ function _is_native_function(fn) {
65
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
66
+ }
67
+ function _possible_constructor_return(self, call) {
68
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
69
+ return call;
70
+ }
71
+ return _assert_this_initialized(self);
72
+ }
73
+ function _set_prototype_of(o, p) {
74
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {
75
+ o2.__proto__ = p2;
76
+ return o2;
77
+ };
78
+ return _set_prototype_of(o, p);
79
+ }
80
+ function _type_of(obj) {
81
+ "@swc/helpers - typeof";
82
+
83
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
84
+ }
85
+ function _wrap_native_super(Class) {
86
+ var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
87
+ _wrap_native_super = function wrapNativeSuper(Class2) {
88
+ if (Class2 === null || !_is_native_function(Class2)) return Class2;
89
+ if (typeof Class2 !== "function") {
90
+ throw new TypeError("Super expression must either be null or a function");
91
+ }
92
+ if (typeof _cache !== "undefined") {
93
+ if (_cache.has(Class2)) return _cache.get(Class2);
94
+ _cache.set(Class2, Wrapper);
95
+ }
96
+ function Wrapper() {
97
+ return _construct(Class2, arguments, _get_prototype_of(this).constructor);
98
+ }
99
+ Wrapper.prototype = Object.create(Class2.prototype, {
100
+ constructor: {
101
+ value: Wrapper,
102
+ enumerable: false,
103
+ writable: true,
104
+ configurable: true
105
+ }
106
+ });
107
+ return _set_prototype_of(Wrapper, Class2);
108
+ };
109
+ return _wrap_native_super(Class);
110
+ }
111
+ function _is_native_reflect_construct() {
112
+ try {
113
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
114
+ } catch (_) {}
115
+ return (_is_native_reflect_construct = function () {
116
+ return !!result;
117
+ })();
118
+ }
119
+ var PreparedSendStaleError = /* @__PURE__ */function (Error1) {
120
+ "use strict";
121
+
122
+ _inherits(PreparedSendStaleError2, Error1);
123
+ function PreparedSendStaleError2(reason, detail) {
124
+ _class_call_check(this, PreparedSendStaleError2);
125
+ var _this;
126
+ _this = _call_super(this, PreparedSendStaleError2, [`Prepared transaction is stale (${reason}): ${detail}. Prepare it again.`]), _define_property(_this, "reason", void 0);
127
+ _this.name = "PreparedSendStaleError";
128
+ _this.reason = reason;
129
+ return _this;
130
+ }
131
+ return PreparedSendStaleError2;
132
+ }(_wrap_native_super(Error));
133
+ var DEFAULT_PREPARED_SEND_MAX_AGE_MS = 6e4;
134
+ var same = function same2(a, b) {
135
+ return !!a && !!b && a.toLowerCase() === b.toLowerCase();
136
+ };
137
+ async function prepareEvmSend(parameters) {
138
+ var _parameters_maxAgeMs;
139
+ var {
140
+ publicClient,
141
+ request,
142
+ from,
143
+ chainId,
144
+ current
145
+ } = parameters;
146
+ var maxAgeMs = (_parameters_maxAgeMs = parameters.maxAgeMs) !== null && _parameters_maxAgeMs !== void 0 ? _parameters_maxAgeMs : DEFAULT_PREPARED_SEND_MAX_AGE_MS;
147
+ var prepared = await publicClient.prepareTransactionRequest({
148
+ account: from,
149
+ chain: publicClient.chain,
150
+ to: parameters.to,
151
+ ...(parameters.data ? {
152
+ data: parameters.data
153
+ } : {}),
154
+ ...(parameters.value !== void 0 ? {
155
+ value: parameters.value
156
+ } : {}),
157
+ ...(parameters.gas !== void 0 ? {
158
+ gas: parameters.gas
159
+ } : {}),
160
+ ...(parameters.nonce !== void 0 ? {
161
+ nonce: parameters.nonce
162
+ } : {}),
163
+ parameters: ["fees", "gas", "nonce", "type"]
164
+ });
165
+ var {
166
+ account: _account,
167
+ chain: _chain,
168
+ ...transaction
169
+ } = prepared;
170
+ var rpc = {
171
+ ...formatTransactionRequest(transaction),
172
+ from,
173
+ chainId: numberToHex(chainId)
174
+ };
175
+ var preparedAt = Date.now();
176
+ return Object.freeze({
177
+ request: Object.freeze(rpc),
178
+ from,
179
+ chainId,
180
+ preparedAt,
181
+ send() {
182
+ var age = Date.now() - preparedAt;
183
+ if (age > maxAgeMs) return Promise.reject(new PreparedSendStaleError("expired", `prepared ${age} ms ago, limit ${maxAgeMs} ms`));
184
+ var now = current === null || current === void 0 ? void 0 : current();
185
+ 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}`));
186
+ 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}`));
187
+ return request({
188
+ method: "eth_sendTransaction",
189
+ params: [rpc]
190
+ });
191
+ }
192
+ });
193
+ }
194
+ export { DEFAULT_PREPARED_SEND_MAX_AGE_MS, PreparedSendStaleError, prepareEvmSend };
195
+ //# sourceMappingURL=preparedSend.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatTransactionRequest","numberToHex","_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","prototype","arguments","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create"],"sources":["../../../src/clients/preparedSend.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,wBAAA,EAAAC,WAAA;AAAA,SACEC,yBAAAC,IAAA;EACA,IAAAA,IAAA;IAAA,MAMK,IAAAC,cAAA;EAkCA;EACI,OAAAD,IAAA;AAAA;AAEP,SAAAE,WAAMA,CAAAC,KAAA,EAAAC,OAAA,EAAAC,IAAA;EACND,OAAK,GAAAE,iBAAO,CAAAF,OAAA;EACZ,OAAKG,4BAAS,CAAAJ,KAAA,EAAAK,4BAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,OAAA,EAAAC,IAAA,QAAAC,iBAAA,CAAAH,KAAA,EAAAQ,WAAA,IAAAP,OAAA,CAAAQ,KAAA,CAAAT,KAAA,EAAAE,IAAA;AAAA;AAElB,SAAAQ,kBAAAC,QAAA,EAAAC,WAAA;EAyBO,IAAM,EAAAD,QAAA,YAAAC,WAAA,GAAmC;IAEhD,MAAM,IAAQC,SAA2B,CAAC,mCAAmC;EAO7E;AAGE;AACA,SAAMC,UAAWA,CAAAC,MAAA,EAAAb,IAAW,EAAAc,KAAA;EAC5B,IAAAX,4BAAuB,IAAa;IAClCS,UAAS,GAAAR,OAAA,CAAAC,SAAA;EAAA,OACT;IACAO,UAAI,YAAWP,UAAAU,OAAA,EAAAC,KAAA,EAAAC,MAAA;MACf,IAAIC,CAAA,IACA,KACA;MACJA,CAAI,CAAAC,IAAA,CAAAZ,KAAW,CAAAW,CAAA,EAAAF,KAAA,CAAU;MACzB,IAAAN,WAAa,GAAAU,QAAe,CAAAC,IAAA,CAAAd,KAAS,CAAAQ,OAAM,EAAAG,CAAA;MACnC,IAAAT,QAAA,OAAAC,WAAA;MACV,IAAQO,MAAA,EAAAK,iBAAmB,CAAOb,QAAQ,EAAAQ,MAAG,CAAAM,SAAY,CAAI;MAC7D,OAAMd,QAAM;IACV;EAAgD;EAChD,OACAG,UAAS,CAAAL,KAAY,OAAOiB,SAAA;AAAA;AAE9B,SAAMC,gBAAaA,CAAKC,GAAA,EAAIC,GAAA,EAAAC,KAAA;EAE5B,IAAAD,GAAO,IAAAD,GAAO;IACZG,MAAA,CAAAC,cAAgB,CAAAJ,GAAO,EAAGC,GAAA;MAC1BC,KAAA;MACAG,UAAA;MACAC,YAAA;MACAC,QAAsB;IACpB;EACA;IACEP,GAAA,CAAAC,GAAA,IAAOC,KAAA;EAAQ;EACuE,OACtFF,GAAA;AACF;AACA,SAAAzB,iBAASA,CAAYiC,CAAA;EACnBjC,iBAAO,GAAA4B,MAAQ,CAAAM,cAAA,GAAAN,MAAA,CAAAO,cAAA,YAAAA,eAAAC,EAAA;IAAA,OACbA,EAAA,CAAIC,SAAA,IAAAT,MAAA,CAAAO,cAAA,CAAAC,EAAA;EAAA;EACF,OAAApC,iBACA,CAAAiC,CAAgB;AAAiC;AACnD,SACFK,UAAAC,QAAA,EAAAC,UAAA;EACF,WAAIA,UAAK,KAAY,UAAa,IAAIA,UAAA,KAAY;IAChD,UAAA9B,SAAe;EAAA;EACT6B,QAAA,CAAAjB,SACF,GAAAM,MAAA,CAAAa,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAAlB,SAAA;IAAAjB,WACA;MAAoDsB,KACtD,EAAAY,QAAA;MAAAP,QACF;MACFD,YAAO;IACT;EACF,CAAC;EACH,IAAAS,UAAA,EAAAnB,iBAAA,CAAAkB,QAAA,EAAAC,UAAA","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":[]}