@gitmyabi/gsk 1.0.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,700 @@
1
+ import type { Abi, Address, PublicClient, WalletClient, GetContractReturnType } from 'viem';
2
+ import { getContract } from 'viem';
3
+
4
+ /**
5
+ * GoldOfSkulls_json ABI
6
+ *
7
+ * This ABI is typed using viem's type system for full type safety.
8
+ */
9
+ export const GoldOfSkulls_jsonAbi = [
10
+ {
11
+ "inputs": [],
12
+ "stateMutability": "nonpayable",
13
+ "type": "constructor"
14
+ },
15
+ {
16
+ "anonymous": false,
17
+ "inputs": [
18
+ {
19
+ "indexed": true,
20
+ "internalType": "address",
21
+ "name": "owner",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "indexed": true,
26
+ "internalType": "address",
27
+ "name": "spender",
28
+ "type": "address"
29
+ },
30
+ {
31
+ "indexed": false,
32
+ "internalType": "uint256",
33
+ "name": "value",
34
+ "type": "uint256"
35
+ }
36
+ ],
37
+ "name": "Approval",
38
+ "type": "event"
39
+ },
40
+ {
41
+ "anonymous": false,
42
+ "inputs": [
43
+ {
44
+ "indexed": true,
45
+ "internalType": "address",
46
+ "name": "from",
47
+ "type": "address"
48
+ },
49
+ {
50
+ "indexed": true,
51
+ "internalType": "address",
52
+ "name": "to",
53
+ "type": "address"
54
+ },
55
+ {
56
+ "indexed": false,
57
+ "internalType": "uint256",
58
+ "name": "value",
59
+ "type": "uint256"
60
+ }
61
+ ],
62
+ "name": "Transfer",
63
+ "type": "event"
64
+ },
65
+ {
66
+ "inputs": [
67
+ {
68
+ "internalType": "address",
69
+ "name": "owner",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "internalType": "address",
74
+ "name": "spender",
75
+ "type": "address"
76
+ }
77
+ ],
78
+ "name": "allowance",
79
+ "outputs": [
80
+ {
81
+ "internalType": "uint256",
82
+ "name": "",
83
+ "type": "uint256"
84
+ }
85
+ ],
86
+ "stateMutability": "view",
87
+ "type": "function"
88
+ },
89
+ {
90
+ "inputs": [
91
+ {
92
+ "internalType": "address",
93
+ "name": "spender",
94
+ "type": "address"
95
+ },
96
+ {
97
+ "internalType": "uint256",
98
+ "name": "amount",
99
+ "type": "uint256"
100
+ }
101
+ ],
102
+ "name": "approve",
103
+ "outputs": [
104
+ {
105
+ "internalType": "bool",
106
+ "name": "",
107
+ "type": "bool"
108
+ }
109
+ ],
110
+ "stateMutability": "nonpayable",
111
+ "type": "function"
112
+ },
113
+ {
114
+ "inputs": [
115
+ {
116
+ "internalType": "address",
117
+ "name": "account",
118
+ "type": "address"
119
+ }
120
+ ],
121
+ "name": "balanceOf",
122
+ "outputs": [
123
+ {
124
+ "internalType": "uint256",
125
+ "name": "",
126
+ "type": "uint256"
127
+ }
128
+ ],
129
+ "stateMutability": "view",
130
+ "type": "function"
131
+ },
132
+ {
133
+ "inputs": [],
134
+ "name": "decimals",
135
+ "outputs": [
136
+ {
137
+ "internalType": "uint8",
138
+ "name": "",
139
+ "type": "uint8"
140
+ }
141
+ ],
142
+ "stateMutability": "view",
143
+ "type": "function"
144
+ },
145
+ {
146
+ "inputs": [
147
+ {
148
+ "internalType": "address",
149
+ "name": "spender",
150
+ "type": "address"
151
+ },
152
+ {
153
+ "internalType": "uint256",
154
+ "name": "subtractedValue",
155
+ "type": "uint256"
156
+ }
157
+ ],
158
+ "name": "decreaseAllowance",
159
+ "outputs": [
160
+ {
161
+ "internalType": "bool",
162
+ "name": "",
163
+ "type": "bool"
164
+ }
165
+ ],
166
+ "stateMutability": "nonpayable",
167
+ "type": "function"
168
+ },
169
+ {
170
+ "inputs": [
171
+ {
172
+ "internalType": "address",
173
+ "name": "spender",
174
+ "type": "address"
175
+ },
176
+ {
177
+ "internalType": "uint256",
178
+ "name": "addedValue",
179
+ "type": "uint256"
180
+ }
181
+ ],
182
+ "name": "increaseAllowance",
183
+ "outputs": [
184
+ {
185
+ "internalType": "bool",
186
+ "name": "",
187
+ "type": "bool"
188
+ }
189
+ ],
190
+ "stateMutability": "nonpayable",
191
+ "type": "function"
192
+ },
193
+ {
194
+ "inputs": [],
195
+ "name": "name",
196
+ "outputs": [
197
+ {
198
+ "internalType": "string",
199
+ "name": "",
200
+ "type": "string"
201
+ }
202
+ ],
203
+ "stateMutability": "view",
204
+ "type": "function"
205
+ },
206
+ {
207
+ "inputs": [],
208
+ "name": "symbol",
209
+ "outputs": [
210
+ {
211
+ "internalType": "string",
212
+ "name": "",
213
+ "type": "string"
214
+ }
215
+ ],
216
+ "stateMutability": "view",
217
+ "type": "function"
218
+ },
219
+ {
220
+ "inputs": [],
221
+ "name": "totalSupply",
222
+ "outputs": [
223
+ {
224
+ "internalType": "uint256",
225
+ "name": "",
226
+ "type": "uint256"
227
+ }
228
+ ],
229
+ "stateMutability": "view",
230
+ "type": "function"
231
+ },
232
+ {
233
+ "inputs": [
234
+ {
235
+ "internalType": "address",
236
+ "name": "recipient",
237
+ "type": "address"
238
+ },
239
+ {
240
+ "internalType": "uint256",
241
+ "name": "amount",
242
+ "type": "uint256"
243
+ }
244
+ ],
245
+ "name": "transfer",
246
+ "outputs": [
247
+ {
248
+ "internalType": "bool",
249
+ "name": "",
250
+ "type": "bool"
251
+ }
252
+ ],
253
+ "stateMutability": "nonpayable",
254
+ "type": "function"
255
+ },
256
+ {
257
+ "inputs": [
258
+ {
259
+ "internalType": "address",
260
+ "name": "sender",
261
+ "type": "address"
262
+ },
263
+ {
264
+ "internalType": "address",
265
+ "name": "recipient",
266
+ "type": "address"
267
+ },
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "amount",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "name": "transferFrom",
275
+ "outputs": [
276
+ {
277
+ "internalType": "bool",
278
+ "name": "",
279
+ "type": "bool"
280
+ }
281
+ ],
282
+ "stateMutability": "nonpayable",
283
+ "type": "function"
284
+ }
285
+ ] as const satisfies Abi;
286
+
287
+ /**
288
+ * Type-safe ABI for GoldOfSkulls_json
289
+ */
290
+ export type GoldOfSkulls_jsonAbi = typeof GoldOfSkulls_jsonAbi;
291
+
292
+ /**
293
+ * Contract instance type for GoldOfSkulls_json
294
+ */
295
+ // Use any for contract type to avoid complex viem type issues
296
+ // The runtime behavior is type-safe through viem's ABI typing
297
+ export type GoldOfSkulls_jsonContract = any;
298
+
299
+ /**
300
+ * GoldOfSkulls_json Contract Class
301
+ *
302
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
303
+ *
304
+ * @example
305
+ * ```typescript
306
+ * import { createPublicClient, createWalletClient, http } from 'viem';
307
+ * import { mainnet } from 'viem/chains';
308
+ * import { GoldOfSkulls_json } from 'GoldOfSkulls_json';
309
+ *
310
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
311
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
312
+ *
313
+ * const contract = new GoldOfSkulls_json('0x...', { publicClient, walletClient });
314
+ *
315
+ * // Read functions
316
+ * const result = await contract.balanceOf('0x...');
317
+ *
318
+ * // Write functions
319
+ * const hash = await contract.transfer('0x...', 1000n);
320
+ *
321
+ * // Simulate transactions (dry-run)
322
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
323
+ * console.log('Gas estimate:', simulation.request.gas);
324
+ *
325
+ * // Watch events
326
+ * const unwatch = contract.watch.Transfer((event) => {
327
+ * console.log('Transfer event:', event);
328
+ * });
329
+ * ```
330
+ */
331
+ export class GoldOfSkulls_json {
332
+ private contract: GoldOfSkulls_jsonContract;
333
+ private contractAddress: Address;
334
+ private publicClient: PublicClient;
335
+
336
+ constructor(
337
+ address: Address,
338
+ clients: {
339
+ publicClient: PublicClient;
340
+ walletClient?: WalletClient;
341
+ }
342
+ ) {
343
+ this.contractAddress = address;
344
+ this.publicClient = clients.publicClient;
345
+ this.contract = getContract({
346
+ address,
347
+ abi: GoldOfSkulls_jsonAbi,
348
+ client: {
349
+ public: clients.publicClient,
350
+ wallet: clients.walletClient,
351
+ },
352
+ });
353
+ }
354
+
355
+ /**
356
+ * Get the contract address
357
+ */
358
+ get address(): Address {
359
+ return this.contractAddress;
360
+ }
361
+
362
+ /**
363
+ * Get the underlying viem contract instance
364
+ */
365
+ getContract(): GoldOfSkulls_jsonContract {
366
+ return this.contract;
367
+ }
368
+
369
+ /**
370
+ * allowance
371
+ * view
372
+ */
373
+ async allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint> {
374
+ return this.contract.read.allowance([owner, spender] as const) as Promise<bigint>;
375
+ }
376
+
377
+ /**
378
+ * balanceOf
379
+ * view
380
+ */
381
+ async balanceOf(account: `0x${string}`): Promise<bigint> {
382
+ return this.contract.read.balanceOf([account] as const) as Promise<bigint>;
383
+ }
384
+
385
+ /**
386
+ * decimals
387
+ * view
388
+ */
389
+ async decimals(): Promise<bigint> {
390
+ return this.contract.read.decimals() as Promise<bigint>;
391
+ }
392
+
393
+ /**
394
+ * name
395
+ * view
396
+ */
397
+ async name(): Promise<string> {
398
+ return this.contract.read.name() as Promise<string>;
399
+ }
400
+
401
+ /**
402
+ * symbol
403
+ * view
404
+ */
405
+ async symbol(): Promise<string> {
406
+ return this.contract.read.symbol() as Promise<string>;
407
+ }
408
+
409
+ /**
410
+ * totalSupply
411
+ * view
412
+ */
413
+ async totalSupply(): Promise<bigint> {
414
+ return this.contract.read.totalSupply() as Promise<bigint>;
415
+ }
416
+
417
+ /**
418
+ * approve
419
+ * nonpayable
420
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
421
+ */
422
+ async approve(spender: `0x${string}`, amount: bigint, options?: {
423
+ accessList?: import('viem').AccessList;
424
+ authorizationList?: import('viem').AuthorizationList;
425
+ chain?: import('viem').Chain | null;
426
+ dataSuffix?: `0x${string}`;
427
+ gas?: bigint;
428
+ gasPrice?: bigint;
429
+ maxFeePerGas?: bigint;
430
+ maxPriorityFeePerGas?: bigint;
431
+ nonce?: number;
432
+ value?: bigint;
433
+ }): Promise<`0x${string}`> {
434
+ if (!this.contract.write) {
435
+ throw new Error('Wallet client is required for write operations');
436
+ }
437
+ return this.contract.write.approve([spender, amount] as const, options) as Promise<`0x${string}`>;
438
+ }
439
+
440
+ /**
441
+ * decreaseAllowance
442
+ * nonpayable
443
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
444
+ */
445
+ async decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
446
+ accessList?: import('viem').AccessList;
447
+ authorizationList?: import('viem').AuthorizationList;
448
+ chain?: import('viem').Chain | null;
449
+ dataSuffix?: `0x${string}`;
450
+ gas?: bigint;
451
+ gasPrice?: bigint;
452
+ maxFeePerGas?: bigint;
453
+ maxPriorityFeePerGas?: bigint;
454
+ nonce?: number;
455
+ value?: bigint;
456
+ }): Promise<`0x${string}`> {
457
+ if (!this.contract.write) {
458
+ throw new Error('Wallet client is required for write operations');
459
+ }
460
+ return this.contract.write.decreaseAllowance([spender, subtractedValue] as const, options) as Promise<`0x${string}`>;
461
+ }
462
+
463
+ /**
464
+ * increaseAllowance
465
+ * nonpayable
466
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
467
+ */
468
+ async increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
469
+ accessList?: import('viem').AccessList;
470
+ authorizationList?: import('viem').AuthorizationList;
471
+ chain?: import('viem').Chain | null;
472
+ dataSuffix?: `0x${string}`;
473
+ gas?: bigint;
474
+ gasPrice?: bigint;
475
+ maxFeePerGas?: bigint;
476
+ maxPriorityFeePerGas?: bigint;
477
+ nonce?: number;
478
+ value?: bigint;
479
+ }): Promise<`0x${string}`> {
480
+ if (!this.contract.write) {
481
+ throw new Error('Wallet client is required for write operations');
482
+ }
483
+ return this.contract.write.increaseAllowance([spender, addedValue] as const, options) as Promise<`0x${string}`>;
484
+ }
485
+
486
+ /**
487
+ * transfer
488
+ * nonpayable
489
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
490
+ */
491
+ async transfer(recipient: `0x${string}`, amount: bigint, options?: {
492
+ accessList?: import('viem').AccessList;
493
+ authorizationList?: import('viem').AuthorizationList;
494
+ chain?: import('viem').Chain | null;
495
+ dataSuffix?: `0x${string}`;
496
+ gas?: bigint;
497
+ gasPrice?: bigint;
498
+ maxFeePerGas?: bigint;
499
+ maxPriorityFeePerGas?: bigint;
500
+ nonce?: number;
501
+ value?: bigint;
502
+ }): Promise<`0x${string}`> {
503
+ if (!this.contract.write) {
504
+ throw new Error('Wallet client is required for write operations');
505
+ }
506
+ return this.contract.write.transfer([recipient, amount] as const, options) as Promise<`0x${string}`>;
507
+ }
508
+
509
+ /**
510
+ * transferFrom
511
+ * nonpayable
512
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
513
+ */
514
+ async transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, options?: {
515
+ accessList?: import('viem').AccessList;
516
+ authorizationList?: import('viem').AuthorizationList;
517
+ chain?: import('viem').Chain | null;
518
+ dataSuffix?: `0x${string}`;
519
+ gas?: bigint;
520
+ gasPrice?: bigint;
521
+ maxFeePerGas?: bigint;
522
+ maxPriorityFeePerGas?: bigint;
523
+ nonce?: number;
524
+ value?: bigint;
525
+ }): Promise<`0x${string}`> {
526
+ if (!this.contract.write) {
527
+ throw new Error('Wallet client is required for write operations');
528
+ }
529
+ return this.contract.write.transferFrom([sender, recipient, amount] as const, options) as Promise<`0x${string}`>;
530
+ }
531
+
532
+
533
+
534
+ /**
535
+ * Simulate contract write operations (dry-run without sending transaction)
536
+ *
537
+ * @example
538
+ * const result = await contract.simulate.transfer('0x...', 1000n);
539
+ * console.log('Gas estimate:', result.request.gas);
540
+ * console.log('Would succeed:', result.result);
541
+ */
542
+ get simulate() {
543
+ const contract = this.contract;
544
+ if (!contract.simulate) {
545
+ throw new Error('Public client is required for simulation');
546
+ }
547
+ return {
548
+ /**
549
+ * Simulate approve
550
+ * Returns gas estimate and result without sending transaction
551
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
552
+ */
553
+ async approve(spender: `0x${string}`, amount: bigint, options?: {
554
+ accessList?: import('viem').AccessList;
555
+ authorizationList?: import('viem').AuthorizationList;
556
+ chain?: import('viem').Chain | null;
557
+ dataSuffix?: `0x${string}`;
558
+ gas?: bigint;
559
+ gasPrice?: bigint;
560
+ maxFeePerGas?: bigint;
561
+ maxPriorityFeePerGas?: bigint;
562
+ nonce?: number;
563
+ value?: bigint;
564
+ }): Promise<boolean> {
565
+ return contract.simulate.approve([spender, amount] as const, options) as Promise<boolean>;
566
+ },
567
+ /**
568
+ * Simulate decreaseAllowance
569
+ * Returns gas estimate and result without sending transaction
570
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
571
+ */
572
+ async decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
573
+ accessList?: import('viem').AccessList;
574
+ authorizationList?: import('viem').AuthorizationList;
575
+ chain?: import('viem').Chain | null;
576
+ dataSuffix?: `0x${string}`;
577
+ gas?: bigint;
578
+ gasPrice?: bigint;
579
+ maxFeePerGas?: bigint;
580
+ maxPriorityFeePerGas?: bigint;
581
+ nonce?: number;
582
+ value?: bigint;
583
+ }): Promise<boolean> {
584
+ return contract.simulate.decreaseAllowance([spender, subtractedValue] as const, options) as Promise<boolean>;
585
+ },
586
+ /**
587
+ * Simulate increaseAllowance
588
+ * Returns gas estimate and result without sending transaction
589
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
590
+ */
591
+ async increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
592
+ accessList?: import('viem').AccessList;
593
+ authorizationList?: import('viem').AuthorizationList;
594
+ chain?: import('viem').Chain | null;
595
+ dataSuffix?: `0x${string}`;
596
+ gas?: bigint;
597
+ gasPrice?: bigint;
598
+ maxFeePerGas?: bigint;
599
+ maxPriorityFeePerGas?: bigint;
600
+ nonce?: number;
601
+ value?: bigint;
602
+ }): Promise<boolean> {
603
+ return contract.simulate.increaseAllowance([spender, addedValue] as const, options) as Promise<boolean>;
604
+ },
605
+ /**
606
+ * Simulate transfer
607
+ * Returns gas estimate and result without sending transaction
608
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
609
+ */
610
+ async transfer(recipient: `0x${string}`, amount: bigint, options?: {
611
+ accessList?: import('viem').AccessList;
612
+ authorizationList?: import('viem').AuthorizationList;
613
+ chain?: import('viem').Chain | null;
614
+ dataSuffix?: `0x${string}`;
615
+ gas?: bigint;
616
+ gasPrice?: bigint;
617
+ maxFeePerGas?: bigint;
618
+ maxPriorityFeePerGas?: bigint;
619
+ nonce?: number;
620
+ value?: bigint;
621
+ }): Promise<boolean> {
622
+ return contract.simulate.transfer([recipient, amount] as const, options) as Promise<boolean>;
623
+ },
624
+ /**
625
+ * Simulate transferFrom
626
+ * Returns gas estimate and result without sending transaction
627
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
628
+ */
629
+ async transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, options?: {
630
+ accessList?: import('viem').AccessList;
631
+ authorizationList?: import('viem').AuthorizationList;
632
+ chain?: import('viem').Chain | null;
633
+ dataSuffix?: `0x${string}`;
634
+ gas?: bigint;
635
+ gasPrice?: bigint;
636
+ maxFeePerGas?: bigint;
637
+ maxPriorityFeePerGas?: bigint;
638
+ nonce?: number;
639
+ value?: bigint;
640
+ }): Promise<boolean> {
641
+ return contract.simulate.transferFrom([sender, recipient, amount] as const, options) as Promise<boolean>;
642
+ }
643
+ };
644
+ }
645
+
646
+ /**
647
+ * Watch contract events
648
+ *
649
+ * @example
650
+ * // Watch all Transfer events
651
+ * const unwatch = contract.watch.Transfer((event) => {
652
+ * console.log('Transfer:', event);
653
+ * });
654
+ *
655
+ * // Stop watching
656
+ * unwatch();
657
+ */
658
+ get watch() {
659
+ return {
660
+ /**
661
+ * Watch Approval events
662
+ * @param callback Function to call when event is emitted
663
+ * @param filter Optional filter for indexed parameters
664
+ * @returns Unwatch function to stop listening
665
+ */
666
+ Approval: (callback: (event: { owner: `0x${string}`; spender: `0x${string}`; value: bigint }) => void, filter?: { owner: `0x${string}`; spender: `0x${string}` }) => {
667
+ return this.publicClient.watchContractEvent({
668
+ address: this.contractAddress,
669
+ abi: GoldOfSkulls_jsonAbi,
670
+ eventName: 'Approval',
671
+ args: filter,
672
+ onLogs: (logs: any[]) => {
673
+ logs.forEach((log: any) => {
674
+ callback(log.args as any);
675
+ });
676
+ },
677
+ }) as () => void;
678
+ },
679
+ /**
680
+ * Watch Transfer events
681
+ * @param callback Function to call when event is emitted
682
+ * @param filter Optional filter for indexed parameters
683
+ * @returns Unwatch function to stop listening
684
+ */
685
+ Transfer: (callback: (event: { from: `0x${string}`; to: `0x${string}`; value: bigint }) => void, filter?: { from: `0x${string}`; to: `0x${string}` }) => {
686
+ return this.publicClient.watchContractEvent({
687
+ address: this.contractAddress,
688
+ abi: GoldOfSkulls_jsonAbi,
689
+ eventName: 'Transfer',
690
+ args: filter,
691
+ onLogs: (logs: any[]) => {
692
+ logs.forEach((log: any) => {
693
+ callback(log.args as any);
694
+ });
695
+ },
696
+ }) as () => void;
697
+ }
698
+ };
699
+ }
700
+ }
@@ -0,0 +1,2 @@
1
+ export { GoldOfSkulls_jsonAbi, GoldOfSkulls_json } from './GoldOfSkulls_json';
2
+ export type { GoldOfSkulls_jsonAbi as GoldOfSkulls_jsonAbiType, GoldOfSkulls_jsonContract } from './GoldOfSkulls_json';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoldOfSkulls_json = exports.GoldOfSkulls_jsonAbi = void 0;
4
+ // Auto-generated exports for all contracts
5
+ var GoldOfSkulls_json_1 = require("./GoldOfSkulls_json");
6
+ Object.defineProperty(exports, "GoldOfSkulls_jsonAbi", { enumerable: true, get: function () { return GoldOfSkulls_json_1.GoldOfSkulls_jsonAbi; } });
7
+ Object.defineProperty(exports, "GoldOfSkulls_json", { enumerable: true, get: function () { return GoldOfSkulls_json_1.GoldOfSkulls_json; } });
@@ -0,0 +1,3 @@
1
+ // Auto-generated exports for all contracts
2
+ export { GoldOfSkulls_jsonAbi, GoldOfSkulls_json } from './GoldOfSkulls_json';
3
+ export type { GoldOfSkulls_jsonAbi as GoldOfSkulls_jsonAbiType, GoldOfSkulls_jsonContract } from './GoldOfSkulls_json';