@moon-x/react-sdk 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.
@@ -0,0 +1,1988 @@
1
+ "use strict";
2
+ function _array_like_to_array(arr, len) {
3
+ if (len == null || len > arr.length) len = arr.length;
4
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5
+ return arr2;
6
+ }
7
+ function _array_with_holes(arr) {
8
+ if (Array.isArray(arr)) return arr;
9
+ }
10
+ function _array_without_holes(arr) {
11
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
12
+ }
13
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
14
+ try {
15
+ var info = gen[key](arg);
16
+ var value = info.value;
17
+ } catch (error) {
18
+ reject(error);
19
+ return;
20
+ }
21
+ if (info.done) {
22
+ resolve(value);
23
+ } else {
24
+ Promise.resolve(value).then(_next, _throw);
25
+ }
26
+ }
27
+ function _async_to_generator(fn) {
28
+ return function() {
29
+ var self = this, args = arguments;
30
+ return new Promise(function(resolve, reject) {
31
+ var gen = fn.apply(self, args);
32
+ function _next(value) {
33
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
34
+ }
35
+ function _throw(err) {
36
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
37
+ }
38
+ _next(undefined);
39
+ });
40
+ };
41
+ }
42
+ function _define_property(obj, key, value) {
43
+ if (key in obj) {
44
+ Object.defineProperty(obj, key, {
45
+ value: value,
46
+ enumerable: true,
47
+ configurable: true,
48
+ writable: true
49
+ });
50
+ } else {
51
+ obj[key] = value;
52
+ }
53
+ return obj;
54
+ }
55
+ function _instanceof(left, right) {
56
+ "@swc/helpers - instanceof";
57
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
58
+ return !!right[Symbol.hasInstance](left);
59
+ } else {
60
+ return left instanceof right;
61
+ }
62
+ }
63
+ function _iterable_to_array(iter) {
64
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
65
+ }
66
+ function _iterable_to_array_limit(arr, i) {
67
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
68
+ if (_i == null) return;
69
+ var _arr = [];
70
+ var _n = true;
71
+ var _d = false;
72
+ var _s, _e;
73
+ try {
74
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
75
+ _arr.push(_s.value);
76
+ if (i && _arr.length === i) break;
77
+ }
78
+ } catch (err) {
79
+ _d = true;
80
+ _e = err;
81
+ } finally{
82
+ try {
83
+ if (!_n && _i["return"] != null) _i["return"]();
84
+ } finally{
85
+ if (_d) throw _e;
86
+ }
87
+ }
88
+ return _arr;
89
+ }
90
+ function _non_iterable_rest() {
91
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
92
+ }
93
+ function _non_iterable_spread() {
94
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
95
+ }
96
+ function _object_spread(target) {
97
+ for(var i = 1; i < arguments.length; i++){
98
+ var source = arguments[i] != null ? arguments[i] : {};
99
+ var ownKeys = Object.keys(source);
100
+ if (typeof Object.getOwnPropertySymbols === "function") {
101
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
102
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
103
+ }));
104
+ }
105
+ ownKeys.forEach(function(key) {
106
+ _define_property(target, key, source[key]);
107
+ });
108
+ }
109
+ return target;
110
+ }
111
+ function ownKeys(object, enumerableOnly) {
112
+ var keys = Object.keys(object);
113
+ if (Object.getOwnPropertySymbols) {
114
+ var symbols = Object.getOwnPropertySymbols(object);
115
+ if (enumerableOnly) {
116
+ symbols = symbols.filter(function(sym) {
117
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
118
+ });
119
+ }
120
+ keys.push.apply(keys, symbols);
121
+ }
122
+ return keys;
123
+ }
124
+ function _object_spread_props(target, source) {
125
+ source = source != null ? source : {};
126
+ if (Object.getOwnPropertyDescriptors) {
127
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
128
+ } else {
129
+ ownKeys(Object(source)).forEach(function(key) {
130
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
131
+ });
132
+ }
133
+ return target;
134
+ }
135
+ function _object_without_properties(source, excluded) {
136
+ if (source == null) return {};
137
+ var target = {}, sourceKeys, key, i;
138
+ if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
139
+ sourceKeys = Reflect.ownKeys(Object(source));
140
+ for(i = 0; i < sourceKeys.length; i++){
141
+ key = sourceKeys[i];
142
+ if (excluded.indexOf(key) >= 0) continue;
143
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
144
+ target[key] = source[key];
145
+ }
146
+ return target;
147
+ }
148
+ target = _object_without_properties_loose(source, excluded);
149
+ if (Object.getOwnPropertySymbols) {
150
+ sourceKeys = Object.getOwnPropertySymbols(source);
151
+ for(i = 0; i < sourceKeys.length; i++){
152
+ key = sourceKeys[i];
153
+ if (excluded.indexOf(key) >= 0) continue;
154
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
155
+ target[key] = source[key];
156
+ }
157
+ }
158
+ return target;
159
+ }
160
+ function _object_without_properties_loose(source, excluded) {
161
+ if (source == null) return {};
162
+ var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
163
+ for(i = 0; i < sourceKeys.length; i++){
164
+ key = sourceKeys[i];
165
+ if (excluded.indexOf(key) >= 0) continue;
166
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
167
+ target[key] = source[key];
168
+ }
169
+ return target;
170
+ }
171
+ function _sliced_to_array(arr, i) {
172
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
173
+ }
174
+ function _to_consumable_array(arr) {
175
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
176
+ }
177
+ function _unsupported_iterable_to_array(o, minLen) {
178
+ if (!o) return;
179
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
180
+ var n = Object.prototype.toString.call(o).slice(8, -1);
181
+ if (n === "Object" && o.constructor) n = o.constructor.name;
182
+ if (n === "Map" || n === "Set") return Array.from(n);
183
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
184
+ }
185
+ function _ts_generator(thisArg, body) {
186
+ var f, y, t, _ = {
187
+ label: 0,
188
+ sent: function() {
189
+ if (t[0] & 1) throw t[1];
190
+ return t[1];
191
+ },
192
+ trys: [],
193
+ ops: []
194
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
195
+ return d(g, "next", {
196
+ value: verb(0)
197
+ }), d(g, "throw", {
198
+ value: verb(1)
199
+ }), d(g, "return", {
200
+ value: verb(2)
201
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
202
+ value: function() {
203
+ return this;
204
+ }
205
+ }), g;
206
+ function verb(n) {
207
+ return function(v) {
208
+ return step([
209
+ n,
210
+ v
211
+ ]);
212
+ };
213
+ }
214
+ function step(op) {
215
+ if (f) throw new TypeError("Generator is already executing.");
216
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
217
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
218
+ if (y = 0, t) op = [
219
+ op[0] & 2,
220
+ t.value
221
+ ];
222
+ switch(op[0]){
223
+ case 0:
224
+ case 1:
225
+ t = op;
226
+ break;
227
+ case 4:
228
+ _.label++;
229
+ return {
230
+ value: op[1],
231
+ done: false
232
+ };
233
+ case 5:
234
+ _.label++;
235
+ y = op[1];
236
+ op = [
237
+ 0
238
+ ];
239
+ continue;
240
+ case 7:
241
+ op = _.ops.pop();
242
+ _.trys.pop();
243
+ continue;
244
+ default:
245
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
246
+ _ = 0;
247
+ continue;
248
+ }
249
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
250
+ _.label = op[1];
251
+ break;
252
+ }
253
+ if (op[0] === 6 && _.label < t[1]) {
254
+ _.label = t[1];
255
+ t = op;
256
+ break;
257
+ }
258
+ if (t && _.label < t[2]) {
259
+ _.label = t[2];
260
+ _.ops.push(op);
261
+ break;
262
+ }
263
+ if (t[2]) _.ops.pop();
264
+ _.trys.pop();
265
+ continue;
266
+ }
267
+ op = body.call(thisArg, _);
268
+ } catch (e) {
269
+ op = [
270
+ 6,
271
+ e
272
+ ];
273
+ y = 0;
274
+ } finally{
275
+ f = t = 0;
276
+ }
277
+ if (op[0] & 5) throw op[1];
278
+ return {
279
+ value: op[0] ? op[1] : void 0,
280
+ done: true
281
+ };
282
+ }
283
+ }
284
+ Object.defineProperty(exports, "__esModule", {
285
+ value: true
286
+ });
287
+ function _nullishCoalesce(lhs, rhsFn) {
288
+ if (lhs != null) {
289
+ return lhs;
290
+ } else {
291
+ return rhsFn();
292
+ }
293
+ }
294
+ function _optionalChain(ops) {
295
+ var lastAccessLHS = undefined;
296
+ var value = ops[0];
297
+ var i = 1;
298
+ while(i < ops.length){
299
+ var op = ops[i];
300
+ var fn = ops[i + 1];
301
+ i += 2;
302
+ if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) {
303
+ return undefined;
304
+ }
305
+ if (op === 'access' || op === 'optionalAccess') {
306
+ lastAccessLHS = value;
307
+ value = fn(value);
308
+ } else if (op === 'call' || op === 'optionalCall') {
309
+ var _value;
310
+ value = fn(function() {
311
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
312
+ args[_key] = arguments[_key];
313
+ }
314
+ return (_value = value).call.apply(_value, [
315
+ lastAccessLHS
316
+ ].concat(_to_consumable_array(args)));
317
+ });
318
+ lastAccessLHS = undefined;
319
+ }
320
+ }
321
+ return value;
322
+ }
323
+ "use client";
324
+ var _chunkSPXMMQ7Zjs = require('./chunk-SPXMMQ7Z.js');
325
+ // src/wallets/ethereum.ts
326
+ var ethereum_exports = {};
327
+ _chunkSPXMMQ7Zjs.__export.call(void 0, ethereum_exports, {
328
+ useCreateWallet: function useCreateWallet1() {
329
+ return useCreateWallet;
330
+ },
331
+ useEthereumProvider: function useEthereumProvider1() {
332
+ return useEthereumProvider;
333
+ },
334
+ useExportKey: function useExportKey1() {
335
+ return useExportKey;
336
+ },
337
+ useFundWallet: function useFundWallet1() {
338
+ return useFundWallet;
339
+ },
340
+ useGetBalance: function useGetBalance1() {
341
+ return useGetBalance;
342
+ },
343
+ useGetEthereumProvider: function useGetEthereumProvider1() {
344
+ return useGetEthereumProvider;
345
+ },
346
+ useImportKey: function useImportKey1() {
347
+ return useImportKey;
348
+ },
349
+ useSendTransaction: function useSendTransaction1() {
350
+ return useSendTransaction;
351
+ },
352
+ useSign7702Authorization: function useSign7702Authorization1() {
353
+ return useSign7702Authorization;
354
+ },
355
+ useSignHash: function useSignHash1() {
356
+ return useSignHash;
357
+ },
358
+ useSignMessage: function useSignMessage1() {
359
+ return useSignMessage;
360
+ },
361
+ useSignTransaction: function useSignTransaction1() {
362
+ return useSignTransaction;
363
+ },
364
+ useSignTypedData: function useSignTypedData1() {
365
+ return useSignTypedData;
366
+ },
367
+ useWallets: function useWallets1() {
368
+ return useWallets;
369
+ }
370
+ });
371
+ var _ethereum = require('@moon-x/core/react/ethereum');
372
+ var _react = require('@moon-x/core/react');
373
+ var _react3 = require('react');
374
+ var _lib = require('@moon-x/core/lib');
375
+ // src/wallets/ethereum-provider.ts
376
+ var useEthereumProvider = function useEthereumProvider(wallet) {
377
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
378
+ var currentChainId = wallet.chainId || 1;
379
+ var request = function request(args) {
380
+ return _async_to_generator(function() {
381
+ var method, _args_params, params, message, messageText, response, _params, transaction, defaultChain, sendRpcUrl, sendResponse, _params1, txToSign, signResponse, _params2, typedData, accountAddr, typedDataResponse, _params3, typedDataV4, accountAddrV4, typedDataV4Response, _params4, hash, secp256k1Response, supportedChains, rpcUrl, chain, fallbackChain, response2, data, error;
382
+ return _ts_generator(this, function(_state) {
383
+ switch(_state.label){
384
+ case 0:
385
+ method = args.method, _args_params = args.params, params = _args_params === void 0 ? [] : _args_params;
386
+ switch(method){
387
+ case "eth_requestAccounts":
388
+ return [
389
+ 3,
390
+ 1
391
+ ];
392
+ case "eth_accounts":
393
+ return [
394
+ 3,
395
+ 2
396
+ ];
397
+ case "eth_chainId":
398
+ return [
399
+ 3,
400
+ 3
401
+ ];
402
+ case "personal_sign":
403
+ return [
404
+ 3,
405
+ 4
406
+ ];
407
+ case "eth_sendTransaction":
408
+ return [
409
+ 3,
410
+ 6
411
+ ];
412
+ case "eth_signTransaction":
413
+ return [
414
+ 3,
415
+ 8
416
+ ];
417
+ case "eth_signTypedData":
418
+ return [
419
+ 3,
420
+ 10
421
+ ];
422
+ case "eth_signTypedData_v4":
423
+ return [
424
+ 3,
425
+ 12
426
+ ];
427
+ case "secp256k1_sign":
428
+ return [
429
+ 3,
430
+ 14
431
+ ];
432
+ }
433
+ return [
434
+ 3,
435
+ 16
436
+ ];
437
+ case 1:
438
+ return [
439
+ 2,
440
+ [
441
+ wallet.public_address
442
+ ]
443
+ ];
444
+ case 2:
445
+ return [
446
+ 2,
447
+ [
448
+ wallet.public_address
449
+ ]
450
+ ];
451
+ case 3:
452
+ return [
453
+ 2,
454
+ "0x1"
455
+ ];
456
+ case 4:
457
+ if (params.length < 1) {
458
+ throw new Error("personal_sign requires message parameter");
459
+ }
460
+ message = params[0];
461
+ messageText = message;
462
+ if (message.startsWith("0x")) {
463
+ try {
464
+ messageText = new TextDecoder().decode(new Uint8Array(message.match(/.{1,2}/g).map(function(byte) {
465
+ return parseInt(byte, 16);
466
+ })));
467
+ } catch (e) {
468
+ messageText = message;
469
+ }
470
+ }
471
+ return [
472
+ 4,
473
+ coreSDK.signEthereumMessageHeadless({
474
+ message: messageText,
475
+ wallet: wallet,
476
+ options: {}
477
+ })
478
+ ];
479
+ case 5:
480
+ response = _state.sent();
481
+ return [
482
+ 2,
483
+ response.signature
484
+ ];
485
+ case 6:
486
+ if (params.length < 1) {
487
+ throw new Error("eth_sendTransaction requires transaction parameter");
488
+ }
489
+ _params = _sliced_to_array(params, 1), transaction = _params[0];
490
+ defaultChain = _optionalChain([
491
+ coreSDK,
492
+ 'access',
493
+ function(_) {
494
+ return _.config;
495
+ },
496
+ 'optionalAccess',
497
+ function(_2) {
498
+ return _2.ethereum;
499
+ },
500
+ 'optionalAccess',
501
+ function(_3) {
502
+ return _3.defaultChain;
503
+ }
504
+ ]);
505
+ if (!defaultChain) {
506
+ throw new Error("No defaultChain configured. Please set ethereum.defaultChain in MoonKeyProvider config.");
507
+ }
508
+ sendRpcUrl = _lib.getRpcUrl.call(void 0, defaultChain);
509
+ if (!sendRpcUrl) {
510
+ throw new Error("No RPC URL found for chain ".concat(defaultChain.name));
511
+ }
512
+ return [
513
+ 4,
514
+ coreSDK.sendEthereumTransactionHeadless({
515
+ transaction: transaction,
516
+ wallet: wallet,
517
+ rpcUrl: sendRpcUrl,
518
+ options: {}
519
+ })
520
+ ];
521
+ case 7:
522
+ sendResponse = _state.sent();
523
+ return [
524
+ 2,
525
+ sendResponse.hash
526
+ ];
527
+ case 8:
528
+ if (params.length < 1) {
529
+ throw new Error("eth_signTransaction requires transaction parameter");
530
+ }
531
+ _params1 = _sliced_to_array(params, 1), txToSign = _params1[0];
532
+ return [
533
+ 4,
534
+ coreSDK.signEthereumTransactionHeadless({
535
+ transaction: txToSign,
536
+ wallet: wallet,
537
+ options: {}
538
+ })
539
+ ];
540
+ case 9:
541
+ signResponse = _state.sent();
542
+ return [
543
+ 2,
544
+ signResponse.signature
545
+ ];
546
+ case 10:
547
+ if (params.length < 2) {
548
+ throw new Error("eth_signTypedData requires typedData and account parameters");
549
+ }
550
+ _params2 = _sliced_to_array(params, 2), typedData = _params2[0], accountAddr = _params2[1];
551
+ return [
552
+ 4,
553
+ coreSDK.signEthereumTypedDataHeadless({
554
+ domain: typedData.domain,
555
+ types: typedData.types,
556
+ primaryType: typedData.primaryType,
557
+ message: typedData.message,
558
+ wallet: wallet,
559
+ options: {}
560
+ })
561
+ ];
562
+ case 11:
563
+ typedDataResponse = _state.sent();
564
+ return [
565
+ 2,
566
+ typedDataResponse.signature
567
+ ];
568
+ case 12:
569
+ if (params.length < 2) {
570
+ throw new Error("eth_signTypedData_v4 requires typedData and account parameters");
571
+ }
572
+ _params3 = _sliced_to_array(params, 2), typedDataV4 = _params3[0], accountAddrV4 = _params3[1];
573
+ return [
574
+ 4,
575
+ coreSDK.signEthereumTypedDataHeadless({
576
+ domain: typedDataV4.domain,
577
+ types: typedDataV4.types,
578
+ primaryType: typedDataV4.primaryType,
579
+ message: typedDataV4.message,
580
+ wallet: wallet,
581
+ options: {}
582
+ })
583
+ ];
584
+ case 13:
585
+ typedDataV4Response = _state.sent();
586
+ return [
587
+ 2,
588
+ typedDataV4Response.signature
589
+ ];
590
+ case 14:
591
+ if (params.length < 1) {
592
+ throw new Error("secp256k1_sign requires hash parameter");
593
+ }
594
+ _params4 = _sliced_to_array(params, 1), hash = _params4[0];
595
+ return [
596
+ 4,
597
+ coreSDK.signEthereumMessageHeadless({
598
+ message: hash,
599
+ wallet: wallet,
600
+ options: {}
601
+ })
602
+ ];
603
+ case 15:
604
+ secp256k1Response = _state.sent();
605
+ return [
606
+ 2,
607
+ secp256k1Response.signature
608
+ ];
609
+ case 16:
610
+ supportedChains = _optionalChain([
611
+ coreSDK,
612
+ 'access',
613
+ function(_4) {
614
+ return _4.config;
615
+ },
616
+ 'optionalAccess',
617
+ function(_5) {
618
+ return _5.ethereum;
619
+ },
620
+ 'optionalAccess',
621
+ function(_6) {
622
+ return _6.supportedChains;
623
+ }
624
+ ]);
625
+ if (supportedChains && supportedChains.length > 0) {
626
+ chain = _lib.getChainById.call(void 0, supportedChains, currentChainId);
627
+ if (chain) {
628
+ rpcUrl = _lib.getRpcUrl.call(void 0, chain);
629
+ }
630
+ }
631
+ if (!rpcUrl) {
632
+ fallbackChain = _optionalChain([
633
+ coreSDK,
634
+ 'access',
635
+ function(_7) {
636
+ return _7.config;
637
+ },
638
+ 'optionalAccess',
639
+ function(_8) {
640
+ return _8.ethereum;
641
+ },
642
+ 'optionalAccess',
643
+ function(_9) {
644
+ return _9.defaultChain;
645
+ }
646
+ ]);
647
+ if (fallbackChain) {
648
+ rpcUrl = _lib.getRpcUrl.call(void 0, fallbackChain);
649
+ }
650
+ }
651
+ if (!rpcUrl) {
652
+ throw new Error("Unsupported method: ".concat(method, ". No RPC configured for chain ID ").concat(currentChainId, ". Please configure 'defaultChain' and 'supportedChains' in MoonKeyProvider."));
653
+ }
654
+ _state.label = 17;
655
+ case 17:
656
+ _state.trys.push([
657
+ 17,
658
+ 20,
659
+ ,
660
+ 21
661
+ ]);
662
+ return [
663
+ 4,
664
+ fetch(rpcUrl, {
665
+ method: "POST",
666
+ headers: {
667
+ "Content-Type": "application/json"
668
+ },
669
+ body: JSON.stringify({
670
+ jsonrpc: "2.0",
671
+ id: Date.now(),
672
+ method: method,
673
+ params: params || []
674
+ })
675
+ })
676
+ ];
677
+ case 18:
678
+ response2 = _state.sent();
679
+ return [
680
+ 4,
681
+ response2.json()
682
+ ];
683
+ case 19:
684
+ data = _state.sent();
685
+ if (data.error) {
686
+ throw new Error(data.error.message || "RPC request failed");
687
+ }
688
+ return [
689
+ 2,
690
+ data.result
691
+ ];
692
+ case 20:
693
+ error = _state.sent();
694
+ throw new Error("RPC request failed: ".concat(error.message));
695
+ case 21:
696
+ return [
697
+ 2
698
+ ];
699
+ }
700
+ });
701
+ })();
702
+ };
703
+ return {
704
+ request: request,
705
+ requestAccounts: function requestAccounts() {
706
+ return request({
707
+ method: "eth_requestAccounts"
708
+ });
709
+ },
710
+ personalSign: function personalSign(message, account) {
711
+ return request({
712
+ method: "personal_sign",
713
+ params: [
714
+ message,
715
+ account
716
+ ]
717
+ });
718
+ },
719
+ ethSendTransaction: function ethSendTransaction(transaction) {
720
+ return request({
721
+ method: "eth_sendTransaction",
722
+ params: [
723
+ transaction
724
+ ]
725
+ });
726
+ },
727
+ ethSignTransaction: function ethSignTransaction(transaction) {
728
+ return request({
729
+ method: "eth_signTransaction",
730
+ params: [
731
+ transaction
732
+ ]
733
+ });
734
+ },
735
+ ethSignTypedData: function ethSignTypedData(params) {
736
+ return request({
737
+ method: "eth_signTypedData",
738
+ params: params
739
+ });
740
+ },
741
+ ethSignTypedDataV4: function ethSignTypedDataV4(params) {
742
+ return request({
743
+ method: "eth_signTypedData_v4",
744
+ params: params
745
+ });
746
+ },
747
+ secp256k1Sign: function secp256k1Sign(hash) {
748
+ return request({
749
+ method: "secp256k1_sign",
750
+ params: [
751
+ hash
752
+ ]
753
+ });
754
+ },
755
+ switchChain: function switchChain(chainId) {
756
+ return request({
757
+ method: "wallet_switchEthereumChain",
758
+ params: [
759
+ chainId
760
+ ]
761
+ });
762
+ }
763
+ };
764
+ };
765
+ var useGetEthereumProvider = function useGetEthereumProvider() {
766
+ return function(wallet) {
767
+ return useEthereumProvider(wallet);
768
+ };
769
+ };
770
+ var createEthereumProvider = function createEthereumProvider(wallet, coreSDK) {
771
+ var currentChainId = wallet.chainId || 1;
772
+ var request = function request(args) {
773
+ return _async_to_generator(function() {
774
+ var method, _args_params, params, message, messageText, response, _params, transaction, defaultChain, sendTxRpcUrl, txResponse, _params1, txToSign, signResponse, _params2, typedData, typedDataResponse, supportedChains, chain, rpcUrl, defaultChain2, rpcResponse, rpcResult;
775
+ return _ts_generator(this, function(_state) {
776
+ switch(_state.label){
777
+ case 0:
778
+ method = args.method, _args_params = args.params, params = _args_params === void 0 ? [] : _args_params;
779
+ switch(method){
780
+ case "eth_requestAccounts":
781
+ return [
782
+ 3,
783
+ 1
784
+ ];
785
+ case "eth_accounts":
786
+ return [
787
+ 3,
788
+ 2
789
+ ];
790
+ case "eth_chainId":
791
+ return [
792
+ 3,
793
+ 3
794
+ ];
795
+ case "personal_sign":
796
+ return [
797
+ 3,
798
+ 4
799
+ ];
800
+ case "eth_sendTransaction":
801
+ return [
802
+ 3,
803
+ 6
804
+ ];
805
+ case "eth_signTransaction":
806
+ return [
807
+ 3,
808
+ 8
809
+ ];
810
+ case "eth_signTypedData":
811
+ return [
812
+ 3,
813
+ 10
814
+ ];
815
+ case "eth_signTypedData_v4":
816
+ return [
817
+ 3,
818
+ 10
819
+ ];
820
+ }
821
+ return [
822
+ 3,
823
+ 12
824
+ ];
825
+ case 1:
826
+ return [
827
+ 2,
828
+ [
829
+ wallet.public_address
830
+ ]
831
+ ];
832
+ case 2:
833
+ return [
834
+ 2,
835
+ [
836
+ wallet.public_address
837
+ ]
838
+ ];
839
+ case 3:
840
+ return [
841
+ 2,
842
+ "0x" + currentChainId.toString(16)
843
+ ];
844
+ case 4:
845
+ if (params.length < 1) {
846
+ throw new Error("personal_sign requires message parameter");
847
+ }
848
+ message = params[0];
849
+ messageText = message;
850
+ if (message.startsWith("0x")) {
851
+ try {
852
+ messageText = new TextDecoder().decode(new Uint8Array(message.match(/.{1,2}/g).map(function(byte) {
853
+ return parseInt(byte, 16);
854
+ })));
855
+ } catch (e2) {
856
+ messageText = message;
857
+ }
858
+ }
859
+ return [
860
+ 4,
861
+ coreSDK.signEthereumMessageHeadless({
862
+ message: messageText,
863
+ wallet: wallet,
864
+ options: {}
865
+ })
866
+ ];
867
+ case 5:
868
+ response = _state.sent();
869
+ return [
870
+ 2,
871
+ response.signature
872
+ ];
873
+ case 6:
874
+ if (params.length < 1) {
875
+ throw new Error("eth_sendTransaction requires transaction parameter");
876
+ }
877
+ _params = _sliced_to_array(params, 1), transaction = _params[0];
878
+ defaultChain = _optionalChain([
879
+ coreSDK,
880
+ 'access',
881
+ function(_10) {
882
+ return _10.config;
883
+ },
884
+ 'optionalAccess',
885
+ function(_11) {
886
+ return _11.ethereum;
887
+ },
888
+ 'optionalAccess',
889
+ function(_12) {
890
+ return _12.defaultChain;
891
+ }
892
+ ]);
893
+ if (!defaultChain) {
894
+ throw new Error("No default chain configured");
895
+ }
896
+ sendTxRpcUrl = _lib.getRpcUrl.call(void 0, defaultChain);
897
+ return [
898
+ 4,
899
+ coreSDK.sendEthereumTransactionHeadless({
900
+ transaction: transaction,
901
+ wallet: wallet,
902
+ rpcUrl: sendTxRpcUrl,
903
+ options: {}
904
+ })
905
+ ];
906
+ case 7:
907
+ txResponse = _state.sent();
908
+ return [
909
+ 2,
910
+ txResponse.hash
911
+ ];
912
+ case 8:
913
+ if (params.length < 1) {
914
+ throw new Error("eth_signTransaction requires transaction parameter");
915
+ }
916
+ _params1 = _sliced_to_array(params, 1), txToSign = _params1[0];
917
+ return [
918
+ 4,
919
+ coreSDK.signEthereumTransactionHeadless({
920
+ transaction: txToSign,
921
+ wallet: wallet,
922
+ options: {}
923
+ })
924
+ ];
925
+ case 9:
926
+ signResponse = _state.sent();
927
+ return [
928
+ 2,
929
+ signResponse.signedTransaction
930
+ ];
931
+ case 10:
932
+ if (params.length < 2) {
933
+ throw new Error("eth_signTypedData requires address and typedData parameters");
934
+ }
935
+ _params2 = _sliced_to_array(params, 2), typedData = _params2[1];
936
+ return [
937
+ 4,
938
+ coreSDK.signEthereumTypedDataHeadless({
939
+ typedData: typeof typedData === "string" ? JSON.parse(typedData) : typedData,
940
+ wallet: wallet,
941
+ options: {}
942
+ })
943
+ ];
944
+ case 11:
945
+ typedDataResponse = _state.sent();
946
+ return [
947
+ 2,
948
+ typedDataResponse.signature
949
+ ];
950
+ case 12:
951
+ supportedChains = _optionalChain([
952
+ coreSDK,
953
+ 'access',
954
+ function(_13) {
955
+ return _13.config;
956
+ },
957
+ 'optionalAccess',
958
+ function(_14) {
959
+ return _14.ethereum;
960
+ },
961
+ 'optionalAccess',
962
+ function(_15) {
963
+ return _15.supportedChains;
964
+ }
965
+ ]) || [];
966
+ chain = _lib.getChainById.call(void 0, supportedChains, currentChainId);
967
+ rpcUrl = chain ? _lib.getRpcUrl.call(void 0, chain) : void 0;
968
+ if (!rpcUrl) {
969
+ defaultChain2 = _optionalChain([
970
+ coreSDK,
971
+ 'access',
972
+ function(_16) {
973
+ return _16.config;
974
+ },
975
+ 'optionalAccess',
976
+ function(_17) {
977
+ return _17.ethereum;
978
+ },
979
+ 'optionalAccess',
980
+ function(_18) {
981
+ return _18.defaultChain;
982
+ }
983
+ ]);
984
+ if (defaultChain2) {
985
+ rpcUrl = _lib.getRpcUrl.call(void 0, defaultChain2);
986
+ }
987
+ }
988
+ if (!rpcUrl) {
989
+ throw new Error("Unsupported method: ".concat(method, ". No RPC URL found for chain ").concat(currentChainId));
990
+ }
991
+ return [
992
+ 4,
993
+ fetch(rpcUrl, {
994
+ method: "POST",
995
+ headers: {
996
+ "Content-Type": "application/json"
997
+ },
998
+ body: JSON.stringify({
999
+ jsonrpc: "2.0",
1000
+ id: 1,
1001
+ method: method,
1002
+ params: params
1003
+ })
1004
+ })
1005
+ ];
1006
+ case 13:
1007
+ rpcResponse = _state.sent();
1008
+ return [
1009
+ 4,
1010
+ rpcResponse.json()
1011
+ ];
1012
+ case 14:
1013
+ rpcResult = _state.sent();
1014
+ if (rpcResult.error) {
1015
+ throw new Error(rpcResult.error.message || "RPC request failed");
1016
+ }
1017
+ return [
1018
+ 2,
1019
+ rpcResult.result
1020
+ ];
1021
+ case 15:
1022
+ return [
1023
+ 2
1024
+ ];
1025
+ }
1026
+ });
1027
+ })();
1028
+ };
1029
+ return {
1030
+ request: request,
1031
+ requestAccounts: function requestAccounts() {
1032
+ return request({
1033
+ method: "eth_requestAccounts"
1034
+ });
1035
+ },
1036
+ personalSign: function personalSign(message, account) {
1037
+ return request({
1038
+ method: "personal_sign",
1039
+ params: [
1040
+ message,
1041
+ account
1042
+ ]
1043
+ });
1044
+ },
1045
+ ethSendTransaction: function ethSendTransaction(transaction) {
1046
+ return request({
1047
+ method: "eth_sendTransaction",
1048
+ params: [
1049
+ transaction
1050
+ ]
1051
+ });
1052
+ },
1053
+ ethSignTransaction: function ethSignTransaction(transaction) {
1054
+ return request({
1055
+ method: "eth_signTransaction",
1056
+ params: [
1057
+ transaction
1058
+ ]
1059
+ });
1060
+ },
1061
+ ethSignTypedData: function ethSignTypedData(params) {
1062
+ return request({
1063
+ method: "eth_signTypedData",
1064
+ params: params
1065
+ });
1066
+ },
1067
+ ethSignTypedDataV4: function ethSignTypedDataV4(params) {
1068
+ return request({
1069
+ method: "eth_signTypedData_v4",
1070
+ params: params
1071
+ });
1072
+ },
1073
+ secp256k1Sign: function secp256k1Sign(hash) {
1074
+ return request({
1075
+ method: "secp256k1_sign",
1076
+ params: [
1077
+ hash
1078
+ ]
1079
+ });
1080
+ },
1081
+ switchChain: function switchChain(chainId) {
1082
+ return request({
1083
+ method: "wallet_switchEthereumChain",
1084
+ params: [
1085
+ chainId
1086
+ ]
1087
+ });
1088
+ }
1089
+ };
1090
+ };
1091
+ // src/wallets/ethereum/use-fund-wallet.ts
1092
+ var useFundWallet = function useFundWallet() {
1093
+ var sdk = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1094
+ var fundWallet = function fundWallet(address, options) {
1095
+ return _async_to_generator(function() {
1096
+ return _ts_generator(this, function(_state) {
1097
+ if (!sdk.fundWallet) {
1098
+ throw new Error("fundWallet method not available in SDK");
1099
+ }
1100
+ return [
1101
+ 2,
1102
+ sdk.fundWallet({
1103
+ address: address,
1104
+ options: options
1105
+ })
1106
+ ];
1107
+ });
1108
+ })();
1109
+ };
1110
+ return {
1111
+ fundWallet: fundWallet
1112
+ };
1113
+ };
1114
+ // src/wallets/ethereum.ts
1115
+ var stripWalletMethods = function stripWalletMethods(wallet) {
1116
+ var switchChain = wallet.switchChain, getEthereumProvider = wallet.getEthereumProvider, walletData = _object_without_properties(wallet, [
1117
+ "switchChain",
1118
+ "getEthereumProvider"
1119
+ ]);
1120
+ return walletData;
1121
+ };
1122
+ var useCreateWallet = function useCreateWallet(callbacks) {
1123
+ var _react_useCreateWallet_call = _react.useCreateWallet.call(void 0), sharedCreateWallet = _react_useCreateWallet_call.createWallet;
1124
+ return {
1125
+ createWallet: function createWallet(options) {
1126
+ return _async_to_generator(function() {
1127
+ var payload, error, errorObj;
1128
+ return _ts_generator(this, function(_state) {
1129
+ switch(_state.label){
1130
+ case 0:
1131
+ _state.trys.push([
1132
+ 0,
1133
+ 2,
1134
+ ,
1135
+ 3
1136
+ ]);
1137
+ return [
1138
+ 4,
1139
+ sharedCreateWallet("ethereum", options)
1140
+ ];
1141
+ case 1:
1142
+ payload = _state.sent();
1143
+ _optionalChain([
1144
+ callbacks,
1145
+ 'optionalAccess',
1146
+ function(_19) {
1147
+ return _19.onSuccess;
1148
+ },
1149
+ 'optionalCall',
1150
+ function(_20) {
1151
+ return _20(payload);
1152
+ }
1153
+ ]);
1154
+ return [
1155
+ 2,
1156
+ payload
1157
+ ];
1158
+ case 2:
1159
+ error = _state.sent();
1160
+ errorObj = _instanceof(error, Error) ? error : new Error("Unknown error");
1161
+ _optionalChain([
1162
+ callbacks,
1163
+ 'optionalAccess',
1164
+ function(_21) {
1165
+ return _21.onError;
1166
+ },
1167
+ 'optionalCall',
1168
+ function(_22) {
1169
+ return _22(errorObj);
1170
+ }
1171
+ ]);
1172
+ throw errorObj;
1173
+ case 3:
1174
+ return [
1175
+ 2
1176
+ ];
1177
+ }
1178
+ });
1179
+ })();
1180
+ }
1181
+ };
1182
+ };
1183
+ var useWallets = function useWallets() {
1184
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1185
+ var shared = _react.useWallets.call(void 0, "ethereum");
1186
+ var enhanceWallet = _react3.useCallback.call(void 0, function(wallet) {
1187
+ var ethereumWallet = _object_spread_props(_object_spread({}, wallet), {
1188
+ chainId: wallet.chainId || _optionalChain([
1189
+ coreSDK,
1190
+ 'access',
1191
+ function(_23) {
1192
+ return _23.config;
1193
+ },
1194
+ 'optionalAccess',
1195
+ function(_24) {
1196
+ return _24.ethereum;
1197
+ },
1198
+ 'optionalAccess',
1199
+ function(_25) {
1200
+ return _25.defaultChain;
1201
+ },
1202
+ 'optionalAccess',
1203
+ function(_26) {
1204
+ return _26.id;
1205
+ }
1206
+ ]),
1207
+ switchChain: function switchChain(chainId) {
1208
+ return _async_to_generator(function() {
1209
+ return _ts_generator(this, function(_state) {
1210
+ try {
1211
+ wallet.chainId = chainId;
1212
+ ethereumWallet.chainId = chainId;
1213
+ } catch (error) {
1214
+ throw new Error("Switch chain failed: ".concat(_instanceof(error, Error) ? error.message : "Unknown error"));
1215
+ }
1216
+ return [
1217
+ 2
1218
+ ];
1219
+ });
1220
+ })();
1221
+ },
1222
+ getEthereumProvider: function getEthereumProvider() {
1223
+ return _async_to_generator(function() {
1224
+ return _ts_generator(this, function(_state) {
1225
+ return [
1226
+ 2,
1227
+ createEthereumProvider(wallet, coreSDK)
1228
+ ];
1229
+ });
1230
+ })();
1231
+ }
1232
+ });
1233
+ return ethereumWallet;
1234
+ }, [
1235
+ coreSDK
1236
+ ]);
1237
+ var enhancedWallets = shared.wallets.map(enhanceWallet);
1238
+ return {
1239
+ wallets: enhancedWallets,
1240
+ loading: shared.loading,
1241
+ error: _nullishCoalesce(shared.error, function() {
1242
+ return void 0;
1243
+ }),
1244
+ refetch: shared.refetch
1245
+ };
1246
+ };
1247
+ var useSignMessage = function useSignMessage() {
1248
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1249
+ var shared = _ethereum.useSignMessage.call(void 0);
1250
+ return {
1251
+ signMessage: function signMessage(params) {
1252
+ return _async_to_generator(function() {
1253
+ var showWalletUI, error;
1254
+ return _ts_generator(this, function(_state) {
1255
+ switch(_state.label){
1256
+ case 0:
1257
+ _state.trys.push([
1258
+ 0,
1259
+ 2,
1260
+ ,
1261
+ 3
1262
+ ]);
1263
+ showWalletUI = _chunkSPXMMQ7Zjs.shouldShowWalletUI.call(void 0, _optionalChain([
1264
+ params,
1265
+ 'access',
1266
+ function(_27) {
1267
+ return _27.options;
1268
+ },
1269
+ 'optionalAccess',
1270
+ function(_28) {
1271
+ return _28.uiOptions;
1272
+ }
1273
+ ]), _optionalChain([
1274
+ coreSDK,
1275
+ 'access',
1276
+ function(_29) {
1277
+ return _29.config;
1278
+ },
1279
+ 'optionalAccess',
1280
+ function(_30) {
1281
+ return _30.signMessageConfig;
1282
+ },
1283
+ 'optionalAccess',
1284
+ function(_31) {
1285
+ return _31.uiConfig;
1286
+ }
1287
+ ]));
1288
+ return [
1289
+ 4,
1290
+ _chunkSPXMMQ7Zjs.dispatchSignOp.call(void 0, {
1291
+ params: _object_spread_props(_object_spread({}, params), {
1292
+ wallet: stripWalletMethods(params.wallet)
1293
+ }),
1294
+ showWalletUI: showWalletUI,
1295
+ headless: shared.signMessage,
1296
+ withUI: coreSDK.signEthereumMessageWithUI
1297
+ })
1298
+ ];
1299
+ case 1:
1300
+ return [
1301
+ 2,
1302
+ _state.sent()
1303
+ ];
1304
+ case 2:
1305
+ error = _state.sent();
1306
+ throw new Error("Sign message failed: ".concat(_instanceof(error, Error) ? error.message : "Unknown error"));
1307
+ case 3:
1308
+ return [
1309
+ 2
1310
+ ];
1311
+ }
1312
+ });
1313
+ })();
1314
+ },
1315
+ loading: false,
1316
+ error: void 0
1317
+ };
1318
+ };
1319
+ var useSignTransaction = function useSignTransaction() {
1320
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1321
+ var shared = _ethereum.useSignTransaction.call(void 0);
1322
+ return {
1323
+ signTransaction: function signTransaction(param) {
1324
+ var transaction = param.transaction, wallet = param.wallet, requireFreshAssertion = param.requireFreshAssertion, options = param.options;
1325
+ return _async_to_generator(function() {
1326
+ var serializedTransaction, showWalletUI, error;
1327
+ return _ts_generator(this, function(_state) {
1328
+ switch(_state.label){
1329
+ case 0:
1330
+ _state.trys.push([
1331
+ 0,
1332
+ 3,
1333
+ ,
1334
+ 4
1335
+ ]);
1336
+ return [
1337
+ 4,
1338
+ _lib.prepareEvmSignTransaction.call(void 0, {
1339
+ transaction: transaction,
1340
+ wallet: {
1341
+ public_address: wallet.public_address,
1342
+ chainId: wallet.chainId
1343
+ },
1344
+ supportedChains: _optionalChain([
1345
+ coreSDK,
1346
+ 'access',
1347
+ function(_32) {
1348
+ return _32.config;
1349
+ },
1350
+ 'optionalAccess',
1351
+ function(_33) {
1352
+ return _33.ethereum;
1353
+ },
1354
+ 'optionalAccess',
1355
+ function(_34) {
1356
+ return _34.supportedChains;
1357
+ }
1358
+ ]),
1359
+ defaultChain: _optionalChain([
1360
+ coreSDK,
1361
+ 'access',
1362
+ function(_35) {
1363
+ return _35.config;
1364
+ },
1365
+ 'optionalAccess',
1366
+ function(_36) {
1367
+ return _36.ethereum;
1368
+ },
1369
+ 'optionalAccess',
1370
+ function(_37) {
1371
+ return _37.defaultChain;
1372
+ }
1373
+ ])
1374
+ })
1375
+ ];
1376
+ case 1:
1377
+ serializedTransaction = _state.sent().serializedTransaction;
1378
+ showWalletUI = _chunkSPXMMQ7Zjs.shouldShowWalletUI.call(void 0, _optionalChain([
1379
+ options,
1380
+ 'optionalAccess',
1381
+ function(_38) {
1382
+ return _38.uiOptions;
1383
+ }
1384
+ ]), _optionalChain([
1385
+ coreSDK,
1386
+ 'access',
1387
+ function(_39) {
1388
+ return _39.config;
1389
+ },
1390
+ 'optionalAccess',
1391
+ function(_40) {
1392
+ return _40.signTransactionConfig;
1393
+ },
1394
+ 'optionalAccess',
1395
+ function(_41) {
1396
+ return _41.uiConfig;
1397
+ }
1398
+ ]));
1399
+ return [
1400
+ 4,
1401
+ _chunkSPXMMQ7Zjs.dispatchSignOp.call(void 0, {
1402
+ params: {
1403
+ transaction: serializedTransaction,
1404
+ wallet: stripWalletMethods(wallet),
1405
+ requireFreshAssertion: requireFreshAssertion,
1406
+ options: {
1407
+ uiOptions: _optionalChain([
1408
+ options,
1409
+ 'optionalAccess',
1410
+ function(_42) {
1411
+ return _42.uiOptions;
1412
+ }
1413
+ ])
1414
+ }
1415
+ },
1416
+ showWalletUI: showWalletUI,
1417
+ headless: shared.signTransaction,
1418
+ withUI: coreSDK.signEthereumTransactionWithUI
1419
+ })
1420
+ ];
1421
+ case 2:
1422
+ return [
1423
+ 2,
1424
+ _state.sent()
1425
+ ];
1426
+ case 3:
1427
+ error = _state.sent();
1428
+ throw new Error("Sign transaction failed: ".concat(_instanceof(error, Error) ? error.message : "Unknown error"));
1429
+ case 4:
1430
+ return [
1431
+ 2
1432
+ ];
1433
+ }
1434
+ });
1435
+ })();
1436
+ },
1437
+ loading: false,
1438
+ error: void 0
1439
+ };
1440
+ };
1441
+ var useSignHash = function useSignHash() {
1442
+ var shared = _ethereum.useSignHash.call(void 0);
1443
+ return {
1444
+ signHash: function signHash(params) {
1445
+ return _async_to_generator(function() {
1446
+ var response, error;
1447
+ return _ts_generator(this, function(_state) {
1448
+ switch(_state.label){
1449
+ case 0:
1450
+ _state.trys.push([
1451
+ 0,
1452
+ 2,
1453
+ ,
1454
+ 3
1455
+ ]);
1456
+ return [
1457
+ 4,
1458
+ shared.signHash(_object_spread_props(_object_spread({}, params), {
1459
+ wallet: stripWalletMethods(params.wallet)
1460
+ }))
1461
+ ];
1462
+ case 1:
1463
+ response = _state.sent();
1464
+ return [
1465
+ 2,
1466
+ {
1467
+ signature: response.signature
1468
+ }
1469
+ ];
1470
+ case 2:
1471
+ error = _state.sent();
1472
+ throw new Error("Sign hash failed: ".concat(_instanceof(error, Error) ? error.message : "Unknown error"));
1473
+ case 3:
1474
+ return [
1475
+ 2
1476
+ ];
1477
+ }
1478
+ });
1479
+ })();
1480
+ },
1481
+ loading: false,
1482
+ error: void 0
1483
+ };
1484
+ };
1485
+ var useSignTypedData = function useSignTypedData() {
1486
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1487
+ var shared = _ethereum.useSignTypedData.call(void 0);
1488
+ return {
1489
+ signTypedData: function signTypedData(params) {
1490
+ return _async_to_generator(function() {
1491
+ var showWalletUI, error;
1492
+ return _ts_generator(this, function(_state) {
1493
+ switch(_state.label){
1494
+ case 0:
1495
+ _state.trys.push([
1496
+ 0,
1497
+ 2,
1498
+ ,
1499
+ 3
1500
+ ]);
1501
+ showWalletUI = _chunkSPXMMQ7Zjs.shouldShowWalletUI.call(void 0, _optionalChain([
1502
+ params,
1503
+ 'access',
1504
+ function(_43) {
1505
+ return _43.options;
1506
+ },
1507
+ 'optionalAccess',
1508
+ function(_44) {
1509
+ return _44.uiOptions;
1510
+ }
1511
+ ]), _optionalChain([
1512
+ coreSDK,
1513
+ 'access',
1514
+ function(_45) {
1515
+ return _45.config;
1516
+ },
1517
+ 'optionalAccess',
1518
+ function(_46) {
1519
+ return _46.signMessageConfig;
1520
+ },
1521
+ 'optionalAccess',
1522
+ function(_47) {
1523
+ return _47.uiConfig;
1524
+ }
1525
+ ]));
1526
+ return [
1527
+ 4,
1528
+ _chunkSPXMMQ7Zjs.dispatchSignOp.call(void 0, {
1529
+ params: _object_spread_props(_object_spread({}, params), {
1530
+ wallet: stripWalletMethods(params.wallet)
1531
+ }),
1532
+ showWalletUI: showWalletUI,
1533
+ headless: shared.signTypedData,
1534
+ withUI: coreSDK.signEthereumTypedDataWithUI
1535
+ })
1536
+ ];
1537
+ case 1:
1538
+ return [
1539
+ 2,
1540
+ _state.sent()
1541
+ ];
1542
+ case 2:
1543
+ error = _state.sent();
1544
+ throw new Error("Sign typed data failed: ".concat(_instanceof(error, Error) ? error.message : "Unknown error"));
1545
+ case 3:
1546
+ return [
1547
+ 2
1548
+ ];
1549
+ }
1550
+ });
1551
+ })();
1552
+ },
1553
+ loading: false,
1554
+ error: void 0
1555
+ };
1556
+ };
1557
+ var useSign7702Authorization = function useSign7702Authorization() {
1558
+ var shared = _ethereum.useSign7702Authorization.call(void 0);
1559
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1560
+ return {
1561
+ signAuthorization: function signAuthorization(param) {
1562
+ var contractAddress = param.contractAddress, nonce = param.nonce, executor = param.executor, wallet = param.wallet, requireFreshAssertion = param.requireFreshAssertion, options = param.options;
1563
+ return _async_to_generator(function() {
1564
+ var walletChainId, targetChain, derivedChainId, showWalletUI, error;
1565
+ return _ts_generator(this, function(_state) {
1566
+ switch(_state.label){
1567
+ case 0:
1568
+ walletChainId = wallet.chainId;
1569
+ if (walletChainId && _optionalChain([
1570
+ coreSDK,
1571
+ 'access',
1572
+ function(_48) {
1573
+ return _48.config;
1574
+ },
1575
+ 'optionalAccess',
1576
+ function(_49) {
1577
+ return _49.ethereum;
1578
+ },
1579
+ 'optionalAccess',
1580
+ function(_50) {
1581
+ return _50.supportedChains;
1582
+ }
1583
+ ])) {
1584
+ targetChain = _lib.getChainById.call(void 0, coreSDK.config.ethereum.supportedChains, walletChainId);
1585
+ }
1586
+ if (!targetChain) {
1587
+ targetChain = _optionalChain([
1588
+ coreSDK,
1589
+ 'access',
1590
+ function(_51) {
1591
+ return _51.config;
1592
+ },
1593
+ 'optionalAccess',
1594
+ function(_52) {
1595
+ return _52.ethereum;
1596
+ },
1597
+ 'optionalAccess',
1598
+ function(_53) {
1599
+ return _53.defaultChain;
1600
+ }
1601
+ ]);
1602
+ }
1603
+ if (!targetChain) {
1604
+ throw new Error("No chain configured. Please set ethereum.defaultChain in MoonKeyProvider config.");
1605
+ }
1606
+ derivedChainId = targetChain.id;
1607
+ _state.label = 1;
1608
+ case 1:
1609
+ _state.trys.push([
1610
+ 1,
1611
+ 3,
1612
+ ,
1613
+ 4
1614
+ ]);
1615
+ showWalletUI = _chunkSPXMMQ7Zjs.shouldShowWalletUI.call(void 0, _optionalChain([
1616
+ options,
1617
+ 'optionalAccess',
1618
+ function(_54) {
1619
+ return _54.uiOptions;
1620
+ }
1621
+ ]), _optionalChain([
1622
+ coreSDK,
1623
+ 'access',
1624
+ function(_55) {
1625
+ return _55.config;
1626
+ },
1627
+ 'optionalAccess',
1628
+ function(_56) {
1629
+ return _56.signMessageConfig;
1630
+ },
1631
+ 'optionalAccess',
1632
+ function(_57) {
1633
+ return _57.uiConfig;
1634
+ }
1635
+ ]));
1636
+ return [
1637
+ 4,
1638
+ _chunkSPXMMQ7Zjs.dispatchSignOp.call(void 0, {
1639
+ params: {
1640
+ contractAddress: contractAddress,
1641
+ chainId: derivedChainId,
1642
+ nonce: nonce,
1643
+ executor: executor,
1644
+ wallet: stripWalletMethods(wallet),
1645
+ requireFreshAssertion: requireFreshAssertion,
1646
+ options: {
1647
+ uiOptions: _optionalChain([
1648
+ options,
1649
+ 'optionalAccess',
1650
+ function(_58) {
1651
+ return _58.uiOptions;
1652
+ }
1653
+ ])
1654
+ }
1655
+ },
1656
+ showWalletUI: showWalletUI,
1657
+ headless: shared.signAuthorization,
1658
+ withUI: coreSDK.signEthereum7702AuthorizationWithUI
1659
+ })
1660
+ ];
1661
+ case 2:
1662
+ return [
1663
+ 2,
1664
+ _state.sent()
1665
+ ];
1666
+ case 3:
1667
+ error = _state.sent();
1668
+ throw new Error("Sign EIP-7702 authorization failed: ".concat(_instanceof(error, Error) ? error.message : "Unknown error"));
1669
+ case 4:
1670
+ return [
1671
+ 2
1672
+ ];
1673
+ }
1674
+ });
1675
+ })();
1676
+ },
1677
+ loading: false,
1678
+ error: void 0
1679
+ };
1680
+ };
1681
+ var useSendTransaction = function useSendTransaction() {
1682
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1683
+ var shared = _ethereum.useSendTransaction.call(void 0);
1684
+ return {
1685
+ sendTransaction: function sendTransaction(param) {
1686
+ var transaction = param.transaction, wallet = param.wallet, requireFreshAssertion = param.requireFreshAssertion, options = param.options;
1687
+ return _async_to_generator(function() {
1688
+ var _ref, preparedTx, rpcUrl, showWalletUI, response, error;
1689
+ return _ts_generator(this, function(_state) {
1690
+ switch(_state.label){
1691
+ case 0:
1692
+ _state.trys.push([
1693
+ 0,
1694
+ 3,
1695
+ ,
1696
+ 4
1697
+ ]);
1698
+ return [
1699
+ 4,
1700
+ _lib.prepareEvmSendTransaction.call(void 0, {
1701
+ transaction: transaction,
1702
+ wallet: {
1703
+ public_address: wallet.public_address,
1704
+ chainId: wallet.chainId
1705
+ },
1706
+ supportedChains: _optionalChain([
1707
+ coreSDK,
1708
+ 'access',
1709
+ function(_59) {
1710
+ return _59.config;
1711
+ },
1712
+ 'optionalAccess',
1713
+ function(_60) {
1714
+ return _60.ethereum;
1715
+ },
1716
+ 'optionalAccess',
1717
+ function(_61) {
1718
+ return _61.supportedChains;
1719
+ }
1720
+ ]),
1721
+ defaultChain: _optionalChain([
1722
+ coreSDK,
1723
+ 'access',
1724
+ function(_62) {
1725
+ return _62.config;
1726
+ },
1727
+ 'optionalAccess',
1728
+ function(_63) {
1729
+ return _63.ethereum;
1730
+ },
1731
+ 'optionalAccess',
1732
+ function(_64) {
1733
+ return _64.defaultChain;
1734
+ }
1735
+ ])
1736
+ })
1737
+ ];
1738
+ case 1:
1739
+ _ref = _state.sent(), preparedTx = _ref.transaction, rpcUrl = _ref.rpcUrl;
1740
+ showWalletUI = _chunkSPXMMQ7Zjs.shouldShowWalletUI.call(void 0, _optionalChain([
1741
+ options,
1742
+ 'optionalAccess',
1743
+ function(_65) {
1744
+ return _65.uiOptions;
1745
+ }
1746
+ ]), _optionalChain([
1747
+ coreSDK,
1748
+ 'access',
1749
+ function(_66) {
1750
+ return _66.config;
1751
+ },
1752
+ 'optionalAccess',
1753
+ function(_67) {
1754
+ return _67.signMessageConfig;
1755
+ },
1756
+ 'optionalAccess',
1757
+ function(_68) {
1758
+ return _68.uiConfig;
1759
+ }
1760
+ ]));
1761
+ return [
1762
+ 4,
1763
+ _chunkSPXMMQ7Zjs.dispatchSignOp.call(void 0, {
1764
+ params: {
1765
+ transaction: preparedTx,
1766
+ wallet: stripWalletMethods(wallet),
1767
+ rpcUrl: rpcUrl,
1768
+ requireFreshAssertion: requireFreshAssertion,
1769
+ options: {
1770
+ uiOptions: _optionalChain([
1771
+ options,
1772
+ 'optionalAccess',
1773
+ function(_69) {
1774
+ return _69.uiOptions;
1775
+ }
1776
+ ])
1777
+ }
1778
+ },
1779
+ showWalletUI: showWalletUI,
1780
+ headless: shared.sendTransaction,
1781
+ withUI: coreSDK.sendEthereumTransactionWithUI
1782
+ })
1783
+ ];
1784
+ case 2:
1785
+ response = _state.sent();
1786
+ return [
1787
+ 2,
1788
+ {
1789
+ hash: response.hash
1790
+ }
1791
+ ];
1792
+ case 3:
1793
+ error = _state.sent();
1794
+ throw new Error("Send transaction failed: ".concat(_instanceof(error, Error) ? error.message : "Unknown error"));
1795
+ case 4:
1796
+ return [
1797
+ 2
1798
+ ];
1799
+ }
1800
+ });
1801
+ })();
1802
+ },
1803
+ loading: false,
1804
+ error: void 0
1805
+ };
1806
+ };
1807
+ var useGetBalance = function useGetBalance() {
1808
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1809
+ var shared = _ethereum.useGetBalance.call(void 0);
1810
+ return {
1811
+ getBalance: function getBalance(params) {
1812
+ return _async_to_generator(function() {
1813
+ var walletChainId, targetChain, rpcUrl, error;
1814
+ return _ts_generator(this, function(_state) {
1815
+ switch(_state.label){
1816
+ case 0:
1817
+ _state.trys.push([
1818
+ 0,
1819
+ 2,
1820
+ ,
1821
+ 3
1822
+ ]);
1823
+ walletChainId = params.wallet.chainId;
1824
+ if (walletChainId && _optionalChain([
1825
+ coreSDK,
1826
+ 'access',
1827
+ function(_70) {
1828
+ return _70.config;
1829
+ },
1830
+ 'optionalAccess',
1831
+ function(_71) {
1832
+ return _71.ethereum;
1833
+ },
1834
+ 'optionalAccess',
1835
+ function(_72) {
1836
+ return _72.supportedChains;
1837
+ }
1838
+ ])) {
1839
+ targetChain = _lib.getChainById.call(void 0, coreSDK.config.ethereum.supportedChains, walletChainId);
1840
+ }
1841
+ if (!targetChain) {
1842
+ targetChain = _optionalChain([
1843
+ coreSDK,
1844
+ 'access',
1845
+ function(_73) {
1846
+ return _73.config;
1847
+ },
1848
+ 'optionalAccess',
1849
+ function(_74) {
1850
+ return _74.ethereum;
1851
+ },
1852
+ 'optionalAccess',
1853
+ function(_75) {
1854
+ return _75.defaultChain;
1855
+ }
1856
+ ]);
1857
+ }
1858
+ if (!targetChain) {
1859
+ throw new Error("No chain configured. Please set ethereum.defaultChain in MoonKeyProvider config.");
1860
+ }
1861
+ rpcUrl = _lib.getRpcUrl.call(void 0, targetChain);
1862
+ if (!rpcUrl) {
1863
+ throw new Error("No RPC URL found for chain ".concat(targetChain.name, ". Chain may be missing rpcUrls configuration."));
1864
+ }
1865
+ return [
1866
+ 4,
1867
+ shared.getBalance({
1868
+ wallet: stripWalletMethods(params.wallet),
1869
+ rpcUrl: rpcUrl,
1870
+ options: params.options
1871
+ })
1872
+ ];
1873
+ case 1:
1874
+ return [
1875
+ 2,
1876
+ _state.sent()
1877
+ ];
1878
+ case 2:
1879
+ error = _state.sent();
1880
+ throw new Error("Get balance failed: ".concat(_instanceof(error, Error) ? error.message : "Unknown error"));
1881
+ case 3:
1882
+ return [
1883
+ 2
1884
+ ];
1885
+ }
1886
+ });
1887
+ })();
1888
+ },
1889
+ loading: false,
1890
+ error: void 0
1891
+ };
1892
+ };
1893
+ var useExportKey = function useExportKey() {
1894
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1895
+ return {
1896
+ exportKey: function exportKey(param) {
1897
+ var wallet = param.wallet;
1898
+ return _async_to_generator(function() {
1899
+ return _ts_generator(this, function(_state) {
1900
+ switch(_state.label){
1901
+ case 0:
1902
+ return [
1903
+ 4,
1904
+ coreSDK.exportKey(wallet)
1905
+ ];
1906
+ case 1:
1907
+ return [
1908
+ 2,
1909
+ _state.sent()
1910
+ ];
1911
+ }
1912
+ });
1913
+ })();
1914
+ }
1915
+ };
1916
+ };
1917
+ var useImportKey = function useImportKey() {
1918
+ var coreSDK = _chunkSPXMMQ7Zjs.useAuthSDK.call(void 0);
1919
+ var _react_useImportKey_call = _react.useImportKey.call(void 0), sharedImportKey = _react_useImportKey_call.importKey;
1920
+ return {
1921
+ // Both modes are supported: pass `key` for headless (delegates to
1922
+ // the shared hook), omit for UI (opens the SDK's ImportWallet
1923
+ // modal — modal path stays on coreSDK so the override in
1924
+ // create-sdk-instance.ts can dispatch the WithUI flow).
1925
+ //
1926
+ // Both branches go through SDK methods that return
1927
+ // `{ wallet: PublicWallet }` (matching the headless contract); we
1928
+ // unwrap to `PublicWallet` here so consumer code can write
1929
+ // `const wallet = await importKey(...)` and access
1930
+ // `wallet.public_address` directly.
1931
+ importKey: function importKey(params) {
1932
+ return _async_to_generator(function() {
1933
+ var result2, result;
1934
+ return _ts_generator(this, function(_state) {
1935
+ switch(_state.label){
1936
+ case 0:
1937
+ if (!(_optionalChain([
1938
+ params,
1939
+ 'optionalAccess',
1940
+ function(_76) {
1941
+ return _76.key;
1942
+ }
1943
+ ]) !== void 0)) return [
1944
+ 3,
1945
+ 2
1946
+ ];
1947
+ return [
1948
+ 4,
1949
+ sharedImportKey("ethereum", params.key)
1950
+ ];
1951
+ case 1:
1952
+ result2 = _state.sent();
1953
+ return [
1954
+ 2,
1955
+ result2.wallet
1956
+ ];
1957
+ case 2:
1958
+ return [
1959
+ 4,
1960
+ coreSDK.importKey("ethereum", void 0)
1961
+ ];
1962
+ case 3:
1963
+ result = _state.sent();
1964
+ return [
1965
+ 2,
1966
+ result.wallet
1967
+ ];
1968
+ }
1969
+ });
1970
+ })();
1971
+ }
1972
+ };
1973
+ };
1974
+ exports.useEthereumProvider = useEthereumProvider;
1975
+ exports.useGetEthereumProvider = useGetEthereumProvider;
1976
+ exports.useFundWallet = useFundWallet;
1977
+ exports.useCreateWallet = useCreateWallet;
1978
+ exports.useWallets = useWallets;
1979
+ exports.useSignMessage = useSignMessage;
1980
+ exports.useSignTransaction = useSignTransaction;
1981
+ exports.useSignHash = useSignHash;
1982
+ exports.useSignTypedData = useSignTypedData;
1983
+ exports.useSign7702Authorization = useSign7702Authorization;
1984
+ exports.useSendTransaction = useSendTransaction;
1985
+ exports.useGetBalance = useGetBalance;
1986
+ exports.useExportKey = useExportKey;
1987
+ exports.useImportKey = useImportKey;
1988
+ exports.ethereum_exports = ethereum_exports;