@cartridge/controller 0.7.7 → 0.7.8

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 (39) hide show
  1. package/.turbo/turbo-build$colon$deps.log +23 -23
  2. package/.turbo/turbo-build.log +31 -31
  3. package/dist/controller.cjs +472 -3
  4. package/dist/controller.cjs.map +1 -1
  5. package/dist/controller.d.cts +1 -1
  6. package/dist/controller.d.ts +1 -1
  7. package/dist/controller.js +472 -3
  8. package/dist/controller.js.map +1 -1
  9. package/dist/index.cjs +1908 -1214
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.cts +46 -3
  12. package/dist/index.d.ts +46 -3
  13. package/dist/index.js +1905 -1215
  14. package/dist/index.js.map +1 -1
  15. package/dist/node/index.cjs +1 -1
  16. package/dist/node/index.cjs.map +1 -1
  17. package/dist/node/index.d.cts +2 -2
  18. package/dist/node/index.d.ts +2 -2
  19. package/dist/node/index.js +1 -1
  20. package/dist/node/index.js.map +1 -1
  21. package/dist/{provider-CTDncg8U.d.cts → provider-BeCgS86X.d.cts} +64 -1
  22. package/dist/{provider-CTDncg8U.d.ts → provider-BeCgS86X.d.ts} +64 -1
  23. package/dist/session/index.cjs +1 -1
  24. package/dist/session/index.cjs.map +1 -1
  25. package/dist/session/index.d.cts +2 -2
  26. package/dist/session/index.d.ts +2 -2
  27. package/dist/session/index.js +1 -1
  28. package/dist/session/index.js.map +1 -1
  29. package/package.json +8 -5
  30. package/src/iframe/base.ts +1 -1
  31. package/src/iframe/keychain.ts +11 -0
  32. package/src/index.ts +1 -0
  33. package/src/types.ts +24 -0
  34. package/src/wallets/argent/index.ts +122 -0
  35. package/src/wallets/bridge.ts +165 -0
  36. package/src/wallets/index.ts +5 -0
  37. package/src/wallets/metamask/index.ts +210 -0
  38. package/src/wallets/phantom/index.ts +124 -0
  39. package/src/wallets/types.ts +32 -0
package/dist/index.cjs CHANGED
@@ -4,6 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var starknet = require('starknet');
6
6
  var penpal = require('@cartridge/penpal');
7
+ var sdk = require('@metamask/sdk');
8
+ var starknetkit = require('starknetkit');
9
+ var injected = require('starknetkit/injected');
7
10
  var typesJs = require('@starknet-io/types-js');
8
11
 
9
12
  // src/account.ts
@@ -284,7 +287,7 @@ var IFrame = class {
284
287
  this.container = container;
285
288
  penpal.connectToChild({
286
289
  iframe: this.iframe,
287
- methods: { close: () => this.close(), ...methods }
290
+ methods: { close: (_origin) => () => this.close(), ...methods }
288
291
  }).promise.then(onConnect);
289
292
  this.resize();
290
293
  window.addEventListener("resize", () => this.resize());
@@ -349,11 +352,472 @@ var IFrame = class {
349
352
  var KEYCHAIN_URL = "https://x.cartridge.gg";
350
353
  var PROFILE_URL = "https://profile.cartridge.gg";
351
354
  var API_URL = "https://api.cartridge.gg";
355
+ var MetaMaskWallet = class {
356
+ type = "metamask";
357
+ platform = "ethereum";
358
+ MMSDK;
359
+ account = void 0;
360
+ constructor() {
361
+ this.MMSDK = new sdk.MetaMaskSDK({
362
+ dappMetadata: {
363
+ name: "Cartridge Controller",
364
+ url: window.location.href
365
+ }
366
+ });
367
+ }
368
+ isAvailable() {
369
+ return typeof window !== "undefined" && !!window.ethereum?.isMetaMask;
370
+ }
371
+ getInfo() {
372
+ const available = this.isAvailable();
373
+ return {
374
+ type: this.type,
375
+ available,
376
+ version: available ? window.ethereum?.version || "Unknown" : void 0,
377
+ chainId: available ? window.ethereum?.chainId : void 0,
378
+ name: "MetaMask",
379
+ platform: this.platform
380
+ };
381
+ }
382
+ async connect() {
383
+ if (this.account) {
384
+ return { success: true, wallet: this.type, account: this.account };
385
+ }
386
+ try {
387
+ if (!this.isAvailable()) {
388
+ throw new Error("MetaMask is not available");
389
+ }
390
+ const accounts = await this.MMSDK.connect();
391
+ if (accounts && accounts.length > 0) {
392
+ this.account = accounts[0];
393
+ return { success: true, wallet: this.type, account: this.account };
394
+ }
395
+ throw new Error("No accounts found");
396
+ } catch (error) {
397
+ console.error(`Error connecting to MetaMask:`, error);
398
+ return {
399
+ success: false,
400
+ wallet: this.type,
401
+ error: error.message || "Unknown error"
402
+ };
403
+ }
404
+ }
405
+ async signTransaction(transaction) {
406
+ try {
407
+ if (!this.isAvailable() || !this.account) {
408
+ throw new Error("MetaMask is not connected");
409
+ }
410
+ const ethereum = this.MMSDK.getProvider();
411
+ if (!ethereum) {
412
+ throw new Error("MetaMask is not connected");
413
+ }
414
+ const result = await ethereum.request({
415
+ method: "eth_sendTransaction",
416
+ params: [transaction]
417
+ });
418
+ return { success: true, wallet: this.type, result };
419
+ } catch (error) {
420
+ console.error(`Error signing transaction with MetaMask:`, error);
421
+ return {
422
+ success: false,
423
+ wallet: this.type,
424
+ error: error.message || "Unknown error"
425
+ };
426
+ }
427
+ }
428
+ async signMessage(message) {
429
+ try {
430
+ if (!this.isAvailable() || !this.account) {
431
+ throw new Error("MetaMask is not connected");
432
+ }
433
+ const result = await this.MMSDK.connectAndSign({
434
+ msg: message
435
+ });
436
+ return { success: true, wallet: this.type, result };
437
+ } catch (error) {
438
+ console.error(`Error signing message with MetaMask:`, error);
439
+ return {
440
+ success: false,
441
+ wallet: this.type,
442
+ error: error.message || "Unknown error"
443
+ };
444
+ }
445
+ }
446
+ async signTypedData(data) {
447
+ try {
448
+ if (!this.isAvailable() || !this.account) {
449
+ throw new Error("MetaMask is not connected");
450
+ }
451
+ const ethereum = this.MMSDK.getProvider();
452
+ if (!ethereum) {
453
+ throw new Error("MetaMask is not connected");
454
+ }
455
+ const result = await ethereum.request({
456
+ method: "eth_signTypedData_v4",
457
+ params: [this.account, JSON.stringify(data)]
458
+ });
459
+ return { success: true, wallet: this.type, result };
460
+ } catch (error) {
461
+ console.error(`Error signing typed data with MetaMask:`, error);
462
+ return {
463
+ success: false,
464
+ wallet: this.type,
465
+ error: error.message || "Unknown error"
466
+ };
467
+ }
468
+ }
469
+ async switchChain(chainId) {
470
+ try {
471
+ if (!this.isAvailable()) {
472
+ throw new Error("MetaMask is not available");
473
+ }
474
+ const ethereum = this.MMSDK.getProvider();
475
+ if (!ethereum) {
476
+ throw new Error("MetaMask is not connected");
477
+ }
478
+ try {
479
+ await ethereum.request({
480
+ method: "wallet_switchEthereumChain",
481
+ params: [{ chainId }]
482
+ });
483
+ return true;
484
+ } catch (error) {
485
+ if (error.code === 4902) {
486
+ console.warn("Chain not added to MetaMask");
487
+ }
488
+ throw error;
489
+ }
490
+ } catch (error) {
491
+ console.error(`Error switching chain for MetaMask:`, error);
492
+ return false;
493
+ }
494
+ }
495
+ async getBalance(tokenAddress) {
496
+ try {
497
+ if (!this.isAvailable() || !this.account) {
498
+ throw new Error("MetaMask is not connected");
499
+ }
500
+ if (tokenAddress) {
501
+ return {
502
+ success: false,
503
+ wallet: this.type,
504
+ error: "Not implemented for ERC20"
505
+ };
506
+ } else {
507
+ const ethereum = this.MMSDK.getProvider();
508
+ if (!ethereum) {
509
+ throw new Error("MetaMask is not connected");
510
+ }
511
+ const balance = await ethereum.request({
512
+ method: "eth_getBalance",
513
+ params: [this.account, "latest"]
514
+ });
515
+ return { success: true, wallet: this.type, result: balance };
516
+ }
517
+ } catch (error) {
518
+ console.error(`Error getting balance from MetaMask:`, error);
519
+ return {
520
+ success: false,
521
+ wallet: this.type,
522
+ error: error.message || "Unknown error"
523
+ };
524
+ }
525
+ }
526
+ };
527
+
528
+ // src/wallets/phantom/index.ts
529
+ var PhantomWallet = class {
530
+ type = "phantom";
531
+ platform = "solana";
532
+ account = void 0;
533
+ isAvailable() {
534
+ return typeof window !== "undefined" && !!window.solana?.isPhantom;
535
+ }
536
+ getInfo() {
537
+ const available = this.isAvailable();
538
+ return {
539
+ type: this.type,
540
+ available,
541
+ version: "Unknown",
542
+ name: "Phantom",
543
+ platform: this.platform
544
+ };
545
+ }
546
+ async connect() {
547
+ if (this.account) {
548
+ return { success: true, wallet: this.type, account: this.account };
549
+ }
550
+ try {
551
+ if (!this.isAvailable()) {
552
+ throw new Error("Phantom is not available");
553
+ }
554
+ const response = await window.solana.connect();
555
+ if (response.publicKey) {
556
+ this.account = response.publicKey.toString();
557
+ return { success: true, wallet: this.type, account: this.account };
558
+ }
559
+ throw new Error("No accounts found");
560
+ } catch (error) {
561
+ console.error(`Error connecting to Phantom:`, error);
562
+ return {
563
+ success: false,
564
+ wallet: this.type,
565
+ error: error.message || "Unknown error"
566
+ };
567
+ }
568
+ }
569
+ async signTransaction(transaction) {
570
+ try {
571
+ if (!this.isAvailable() || !this.account) {
572
+ throw new Error("Phantom is not connected");
573
+ }
574
+ const result = await window.solana.signTransaction(transaction);
575
+ return { success: true, wallet: this.type, result };
576
+ } catch (error) {
577
+ console.error(`Error signing transaction with Phantom:`, error);
578
+ return {
579
+ success: false,
580
+ wallet: this.type,
581
+ error: error.message || "Unknown error"
582
+ };
583
+ }
584
+ }
585
+ async signMessage(message) {
586
+ try {
587
+ if (!this.isAvailable() || !this.account) {
588
+ throw new Error("Phantom is not connected");
589
+ }
590
+ const encodedMessage = new TextEncoder().encode(message);
591
+ const result = await window.solana.signMessage(encodedMessage, "utf8");
592
+ return { success: true, wallet: this.type, result };
593
+ } catch (error) {
594
+ console.error(`Error signing message with Phantom:`, error);
595
+ return {
596
+ success: false,
597
+ wallet: this.type,
598
+ error: error.message || "Unknown error"
599
+ };
600
+ }
601
+ }
602
+ async switchChain(_chainId) {
603
+ console.warn("Chain switching not supported for Phantom");
604
+ return false;
605
+ }
606
+ async getBalance(_tokenAddress) {
607
+ try {
608
+ if (!this.isAvailable() || !this.account) {
609
+ throw new Error("Phantom is not connected");
610
+ }
611
+ return {
612
+ success: true,
613
+ wallet: this.type,
614
+ result: "Implement based on Phantom API"
615
+ };
616
+ } catch (error) {
617
+ console.error(`Error getting balance from Phantom:`, error);
618
+ return {
619
+ success: false,
620
+ wallet: this.type,
621
+ error: error.message || "Unknown error"
622
+ };
623
+ }
624
+ }
625
+ };
626
+ var ArgentWallet = class {
627
+ type = "argent";
628
+ platform = "starknet";
629
+ wallet = void 0;
630
+ account = void 0;
631
+ isAvailable() {
632
+ return typeof window !== "undefined" && !!window.starknet_argentX;
633
+ }
634
+ getInfo() {
635
+ const available = this.isAvailable();
636
+ return {
637
+ type: this.type,
638
+ available,
639
+ version: available ? window.starknet_argentX?.version || "Unknown" : void 0,
640
+ chainId: available ? window.starknet_argentX?.chainId : void 0,
641
+ name: "Argent",
642
+ platform: this.platform
643
+ };
644
+ }
645
+ async connect() {
646
+ if (this.account) {
647
+ return { success: true, wallet: this.type, account: this.account };
648
+ }
649
+ try {
650
+ if (!this.isAvailable()) {
651
+ throw new Error("Argent is not available");
652
+ }
653
+ const { wallet, connectorData } = await starknetkit.connect({
654
+ connectors: [new injected.InjectedConnector({ options: { id: "argentX" } })]
655
+ });
656
+ if (!wallet) {
657
+ throw new Error("No wallet found");
658
+ }
659
+ this.wallet = wallet;
660
+ this.account = connectorData?.account;
661
+ return { success: true, wallet: this.type, account: this.account };
662
+ } catch (error) {
663
+ console.error(`Error connecting to Argent:`, error);
664
+ return {
665
+ success: false,
666
+ wallet: this.type,
667
+ error: error.message || "Unknown error"
668
+ };
669
+ }
670
+ }
671
+ async signTypedData(data) {
672
+ try {
673
+ if (!this.isAvailable() || !this.wallet) {
674
+ throw new Error("Argent is not connected");
675
+ }
676
+ console.log("signTypedData", data);
677
+ const sig = await this.wallet.request({
678
+ type: "wallet_signTypedData",
679
+ params: data
680
+ });
681
+ return { success: true, wallet: this.type, result: sig };
682
+ } catch (error) {
683
+ console.error(`Error signing typed data with Argent:`, error);
684
+ return {
685
+ success: false,
686
+ wallet: this.type,
687
+ error: error.message || "Unknown error"
688
+ };
689
+ }
690
+ }
691
+ async switchChain(_chainId) {
692
+ console.warn(
693
+ "Chain switching for Argent may require custom implementation"
694
+ );
695
+ return false;
696
+ }
697
+ async getBalance(_tokenAddress) {
698
+ try {
699
+ if (!this.isAvailable() || !this.wallet) {
700
+ throw new Error("Argent is not connected");
701
+ }
702
+ return {
703
+ success: true,
704
+ wallet: this.type,
705
+ result: "Implement based on Argent API"
706
+ };
707
+ } catch (error) {
708
+ console.error(`Error getting balance from Argent:`, error);
709
+ return {
710
+ success: false,
711
+ wallet: this.type,
712
+ error: error.message || "Unknown error"
713
+ };
714
+ }
715
+ }
716
+ };
717
+
718
+ // src/wallets/bridge.ts
719
+ var WalletBridge = class {
720
+ walletAdapters;
721
+ connectedWallets = /* @__PURE__ */ new Map();
722
+ constructor() {
723
+ this.walletAdapters = /* @__PURE__ */ new Map();
724
+ this.walletAdapters.set("metamask", new MetaMaskWallet());
725
+ this.walletAdapters.set("phantom", new PhantomWallet());
726
+ this.walletAdapters.set("argent", new ArgentWallet());
727
+ if (typeof window !== "undefined") {
728
+ window.wallet_bridge = this;
729
+ }
730
+ }
731
+ getIFrameMethods() {
732
+ return {
733
+ externalDetectWallets: (_origin) => () => this.detectWallets(),
734
+ externalConnectWallet: (_origin) => (type) => this.connectWallet(type),
735
+ externalSignMessage: (_origin) => (type, message) => this.signMessage(type, message),
736
+ externalSignTypedData: (_origin) => (type, data) => this.signTypedData(type, data),
737
+ externalGetBalance: (_origin) => (type, tokenAddress) => this.getBalance(type, tokenAddress)
738
+ };
739
+ }
740
+ async detectWallets() {
741
+ const wallets = Array.from(this.walletAdapters.values()).map(
742
+ (adapter) => adapter.getInfo()
743
+ );
744
+ return wallets;
745
+ }
746
+ getWalletAdapter(type) {
747
+ const adapter = this.walletAdapters.get(type);
748
+ if (!adapter) {
749
+ throw new Error(`Unsupported wallet type: ${type}`);
750
+ }
751
+ return adapter;
752
+ }
753
+ handleError(type, error, operation) {
754
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
755
+ console.error(`Error ${operation} with ${type} wallet:`, error);
756
+ return { success: false, wallet: type, error: errorMessage };
757
+ }
758
+ async connectWallet(type) {
759
+ try {
760
+ if (this.connectedWallets.has(type)) {
761
+ const wallet2 = this.connectedWallets.get(type);
762
+ return { success: true, wallet: type, account: wallet2.type };
763
+ }
764
+ const wallet = this.getWalletAdapter(type);
765
+ const response = await wallet.connect();
766
+ if (response.success) {
767
+ this.connectedWallets.set(type, wallet);
768
+ }
769
+ return response;
770
+ } catch (error) {
771
+ return this.handleError(type, error, "connecting to");
772
+ }
773
+ }
774
+ async signMessage(type, message) {
775
+ try {
776
+ if (!this.connectedWallets.has(type)) {
777
+ throw new Error(`Wallet ${type} is not connected`);
778
+ }
779
+ const wallet = this.connectedWallets.get(type);
780
+ if (!wallet.signMessage) {
781
+ throw new Error(`Wallet ${type} does not support signing messages`);
782
+ }
783
+ return await wallet.signMessage(message);
784
+ } catch (error) {
785
+ return this.handleError(type, error, "signing message with");
786
+ }
787
+ }
788
+ async signTypedData(type, data) {
789
+ try {
790
+ if (!this.connectedWallets.has(type)) {
791
+ throw new Error(`Wallet ${type} is not connected`);
792
+ }
793
+ const wallet = this.connectedWallets.get(type);
794
+ if (!wallet.signTypedData) {
795
+ throw new Error(`Wallet ${type} does not support signing typed data`);
796
+ }
797
+ return await wallet.signTypedData(data);
798
+ } catch (error) {
799
+ return this.handleError(type, error, "signing typed data with");
800
+ }
801
+ }
802
+ async getBalance(type, tokenAddress) {
803
+ try {
804
+ if (!this.connectedWallets.has(type)) {
805
+ throw new Error(`Wallet ${type} is not connected`);
806
+ }
807
+ const wallet = this.connectedWallets.get(type);
808
+ return await wallet.getBalance(tokenAddress);
809
+ } catch (error) {
810
+ return this.handleError(type, error, "getting balance from");
811
+ }
812
+ }
813
+ };
352
814
 
353
815
  // src/iframe/keychain.ts
354
816
  var KeychainIFrame = class extends IFrame {
817
+ walletBridge;
355
818
  constructor({ url, policies, ...iframeOptions }) {
356
819
  const _url = new URL(url ?? KEYCHAIN_URL);
820
+ const walletBridge = new WalletBridge();
357
821
  if (policies) {
358
822
  _url.searchParams.set(
359
823
  "policies",
@@ -363,8 +827,13 @@ var KeychainIFrame = class extends IFrame {
363
827
  super({
364
828
  ...iframeOptions,
365
829
  id: "controller-keychain",
366
- url: _url
830
+ url: _url,
831
+ methods: walletBridge.getIFrameMethods()
367
832
  });
833
+ this.walletBridge = walletBridge;
834
+ }
835
+ getWalletBridge() {
836
+ return this.walletBridge;
368
837
  }
369
838
  };
370
839
 
@@ -426,7 +895,7 @@ var NotReadyToConnect = class _NotReadyToConnect extends Error {
426
895
 
427
896
  // package.json
428
897
  var package_default = {
429
- version: "0.7.7"};
898
+ version: "0.7.8"};
430
899
 
431
900
  // src/icon.ts
432
901
  var icon = "data:image/png;base64,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";
@@ -951,7 +1420,7 @@ async function lookupAddresses(addresses) {
951
1420
  );
952
1421
  }
953
1422
 
954
- // ../../node_modules/.pnpm/@cartridge+presets@https+++codeload.github.com+cartridge-gg+presets+tar.gz+420887d/node_modules/@cartridge/presets/dist/index.js
1423
+ // ../../node_modules/.pnpm/@cartridge+presets@https+++codeload.github.com+cartridge-gg+presets+tar.gz+b7d379e/node_modules/@cartridge/presets/dist/index.js
955
1424
  var configs = {
956
1425
  "blob-arena": {
957
1426
  origin: "blobarena.xyz",
@@ -966,30 +1435,34 @@ var configs = {
966
1435
  },
967
1436
  budokan: {
968
1437
  origin: "budokan.gg",
969
- policies: {
970
- contracts: {
971
- "0x0530d9693304c79b5b506aa2fa09c27681373d71b69a839378ff5fd108aa5fc6": {
972
- name: "Budokan",
973
- methods: [
974
- {
975
- entrypoint: "create_tournament"
976
- },
977
- {
978
- entrypoint: "enter_tournament"
979
- },
980
- {
981
- entrypoint: "submit_score"
982
- },
983
- {
984
- entrypoint: "claim_prize"
985
- },
986
- {
987
- entrypoint: "add_prize"
988
- },
989
- {
990
- entrypoint: "register_token"
1438
+ chains: {
1439
+ SN_MAIN: {
1440
+ policies: {
1441
+ contracts: {
1442
+ "0x0530d9693304c79b5b506aa2fa09c27681373d71b69a839378ff5fd108aa5fc6": {
1443
+ name: "Budokan",
1444
+ methods: [
1445
+ {
1446
+ entrypoint: "create_tournament"
1447
+ },
1448
+ {
1449
+ entrypoint: "enter_tournament"
1450
+ },
1451
+ {
1452
+ entrypoint: "submit_score"
1453
+ },
1454
+ {
1455
+ entrypoint: "claim_prize"
1456
+ },
1457
+ {
1458
+ entrypoint: "add_prize"
1459
+ },
1460
+ {
1461
+ entrypoint: "register_token"
1462
+ }
1463
+ ]
991
1464
  }
992
- ]
1465
+ }
993
1466
  }
994
1467
  }
995
1468
  },
@@ -1013,6 +1486,14 @@ var configs = {
1013
1486
  }
1014
1487
  }
1015
1488
  },
1489
+ credit: {
1490
+ origin: "*",
1491
+ theme: {
1492
+ name: "Credit",
1493
+ icon: "https://static.cartridge.gg/presets/credit/icon.svg",
1494
+ cover: "https://static.cartridge.gg/presets/credit/cover.png"
1495
+ }
1496
+ },
1016
1497
  "dark-shuffle": {
1017
1498
  origin: ["darkshuffle.io", "darkshuffle.dev"],
1018
1499
  theme: {
@@ -1023,53 +1504,57 @@ var configs = {
1023
1504
  icon: "https://static.cartridge.gg/presets/dark-shuffle/icon.svg",
1024
1505
  name: "Dark Shuffle"
1025
1506
  },
1026
- policies: {
1027
- contracts: {
1028
- "0x020fc3c9efd0dde5f53642dac7f53638aeaae98ff9af5f1642546f389ce9dec5": {
1029
- name: "game_systems",
1030
- methods: [
1031
- {
1032
- entrypoint: "mint"
1033
- },
1034
- {
1035
- entrypoint: "start_game"
1036
- }
1037
- ]
1038
- },
1039
- "0x036d27fb8604302b7e4f747a73a84b7c9ae9106f3c5f65e51e934fac9f7c753f": {
1040
- name: "battle_systems",
1041
- methods: [
1042
- {
1043
- entrypoint: "battle_actions"
1507
+ chains: {
1508
+ SN_MAIN: {
1509
+ policies: {
1510
+ contracts: {
1511
+ "0x020fc3c9efd0dde5f53642dac7f53638aeaae98ff9af5f1642546f389ce9dec5": {
1512
+ name: "game_systems",
1513
+ methods: [
1514
+ {
1515
+ entrypoint: "mint"
1516
+ },
1517
+ {
1518
+ entrypoint: "start_game"
1519
+ }
1520
+ ]
1521
+ },
1522
+ "0x036d27fb8604302b7e4f747a73a84b7c9ae9106f3c5f65e51e934fac9f7c753f": {
1523
+ name: "battle_systems",
1524
+ methods: [
1525
+ {
1526
+ entrypoint: "battle_actions"
1527
+ }
1528
+ ]
1529
+ },
1530
+ "0x046f9c2f2f3144059f7332bd989151f782f462f4ea6e3755c2f7b3eac49be73d": {
1531
+ name: "draft_systems",
1532
+ methods: [
1533
+ {
1534
+ entrypoint: "pick_card"
1535
+ }
1536
+ ]
1537
+ },
1538
+ "0x045543452215a2b416d8c52e5a475e7e0eed2e7cbaf5a699ae5fc0599f4afae9": {
1539
+ name: "map_systems",
1540
+ methods: [
1541
+ {
1542
+ entrypoint: "generate_tree"
1543
+ },
1544
+ {
1545
+ entrypoint: "select_node"
1546
+ }
1547
+ ]
1548
+ },
1549
+ "0x0530d9693304c79b5b506aa2fa09c27681373d71b69a839378ff5fd108aa5fc6": {
1550
+ name: "tournament_component",
1551
+ methods: [
1552
+ {
1553
+ entrypoint: "enter_tournament"
1554
+ }
1555
+ ]
1044
1556
  }
1045
- ]
1046
- },
1047
- "0x046f9c2f2f3144059f7332bd989151f782f462f4ea6e3755c2f7b3eac49be73d": {
1048
- name: "draft_systems",
1049
- methods: [
1050
- {
1051
- entrypoint: "pick_card"
1052
- }
1053
- ]
1054
- },
1055
- "0x045543452215a2b416d8c52e5a475e7e0eed2e7cbaf5a699ae5fc0599f4afae9": {
1056
- name: "map_systems",
1057
- methods: [
1058
- {
1059
- entrypoint: "generate_tree"
1060
- },
1061
- {
1062
- entrypoint: "select_node"
1063
- }
1064
- ]
1065
- },
1066
- "0x0530d9693304c79b5b506aa2fa09c27681373d71b69a839378ff5fd108aa5fc6": {
1067
- name: "tournament_component",
1068
- methods: [
1069
- {
1070
- entrypoint: "enter_tournament"
1071
- }
1072
- ]
1557
+ }
1073
1558
  }
1074
1559
  }
1075
1560
  }
@@ -1087,76 +1572,80 @@ var configs = {
1087
1572
  },
1088
1573
  "dope-wars": {
1089
1574
  origin: "dopewars.game",
1090
- policies: {
1091
- contracts: {
1092
- "0x051Fea4450Da9D6aeE758BDEbA88B2f665bCbf549D2C61421AA724E9AC0Ced8F": {
1093
- name: "VRF Provider",
1094
- description: "Provides verifiable random functions",
1095
- methods: [
1096
- {
1097
- name: "Request Random",
1098
- description: "Request a random number",
1099
- entrypoint: "request_random"
1100
- }
1101
- ]
1102
- },
1103
- "0x0410466536b5ae074f7fea81e5533b8134a9fa08b3dd077dd9db08f64997d113": {
1104
- name: "Paper Token",
1105
- description: "Manages paper approvals",
1106
- methods: [
1107
- {
1108
- name: "Approve",
1109
- description: "Approve paper usage",
1110
- entrypoint: "approve"
1111
- }
1112
- ]
1113
- },
1114
- "0x044a23BbfE03FFe90D3C23Fb6e5A8AD0341036C039363DfA6F3513278Aa51fCA": {
1115
- name: "Game Contract",
1116
- description: "Core game mechanics",
1117
- methods: [
1118
- {
1119
- name: "Create Game",
1120
- description: "Start a new game",
1121
- entrypoint: "create_game"
1122
- },
1123
- {
1124
- name: "Travel",
1125
- description: "Travel to a new location",
1126
- entrypoint: "travel"
1127
- },
1128
- {
1129
- name: "Decide",
1130
- description: "Make a game decision",
1131
- entrypoint: "decide"
1132
- },
1133
- {
1134
- name: "End Game",
1135
- description: "End the current game",
1136
- entrypoint: "end_game"
1137
- }
1138
- ]
1139
- },
1140
- "0x0412445e644070C69fEa16b964cC81Cd6dEBF6A4DBf683E2E9686a45ad088de8": {
1141
- name: "Laundromat Contract",
1142
- description: "Manages game scoring and laundering",
1143
- methods: [
1144
- {
1145
- name: "Register Score",
1146
- description: "Register a game score",
1147
- entrypoint: "register_score"
1148
- },
1149
- {
1150
- name: "Claim",
1151
- description: "Claim rewards",
1152
- entrypoint: "claim"
1153
- },
1154
- {
1155
- name: "Launder",
1156
- description: "Launder resources",
1157
- entrypoint: "launder"
1575
+ chains: {
1576
+ SN_MAIN: {
1577
+ policies: {
1578
+ contracts: {
1579
+ "0x051Fea4450Da9D6aeE758BDEbA88B2f665bCbf549D2C61421AA724E9AC0Ced8F": {
1580
+ name: "VRF Provider",
1581
+ description: "Provides verifiable random functions",
1582
+ methods: [
1583
+ {
1584
+ name: "Request Random",
1585
+ description: "Request a random number",
1586
+ entrypoint: "request_random"
1587
+ }
1588
+ ]
1589
+ },
1590
+ "0x0410466536b5ae074f7fea81e5533b8134a9fa08b3dd077dd9db08f64997d113": {
1591
+ name: "Paper Token",
1592
+ description: "Manages paper approvals",
1593
+ methods: [
1594
+ {
1595
+ name: "Approve",
1596
+ description: "Approve paper usage",
1597
+ entrypoint: "approve"
1598
+ }
1599
+ ]
1600
+ },
1601
+ "0x044a23BbfE03FFe90D3C23Fb6e5A8AD0341036C039363DfA6F3513278Aa51fCA": {
1602
+ name: "Game Contract",
1603
+ description: "Core game mechanics",
1604
+ methods: [
1605
+ {
1606
+ name: "Create Game",
1607
+ description: "Start a new game",
1608
+ entrypoint: "create_game"
1609
+ },
1610
+ {
1611
+ name: "Travel",
1612
+ description: "Travel to a new location",
1613
+ entrypoint: "travel"
1614
+ },
1615
+ {
1616
+ name: "Decide",
1617
+ description: "Make a game decision",
1618
+ entrypoint: "decide"
1619
+ },
1620
+ {
1621
+ name: "End Game",
1622
+ description: "End the current game",
1623
+ entrypoint: "end_game"
1624
+ }
1625
+ ]
1626
+ },
1627
+ "0x0412445e644070C69fEa16b964cC81Cd6dEBF6A4DBf683E2E9686a45ad088de8": {
1628
+ name: "Laundromat Contract",
1629
+ description: "Manages game scoring and laundering",
1630
+ methods: [
1631
+ {
1632
+ name: "Register Score",
1633
+ description: "Register a game score",
1634
+ entrypoint: "register_score"
1635
+ },
1636
+ {
1637
+ name: "Claim",
1638
+ description: "Claim rewards",
1639
+ entrypoint: "claim"
1640
+ },
1641
+ {
1642
+ name: "Launder",
1643
+ description: "Launder resources",
1644
+ entrypoint: "launder"
1645
+ }
1646
+ ]
1158
1647
  }
1159
- ]
1648
+ }
1160
1649
  }
1161
1650
  }
1162
1651
  },
@@ -1171,668 +1660,676 @@ var configs = {
1171
1660
  },
1172
1661
  dragark: {
1173
1662
  origin: "dragark.net",
1174
- policies: {
1175
- contracts: {
1176
- "0x62525c1337037a6a50a61f12045630a271758a350e57616e79a6ed14004ce74": {
1177
- name: "Achievement Systems",
1178
- description: "Allows you to interact with achievement features.",
1179
- methods: [
1180
- {
1181
- name: "Claim Achievement Reward",
1182
- description: "A method to claim your achievement reward.",
1183
- entrypoint: "claim_achievement_reward"
1184
- }
1185
- ]
1186
- },
1187
- "0xa5a3284a1e3ce9887b50876acee14a1af9705659b3ad053deff80d84c5555a": {
1188
- name: "Dragon Systems",
1189
- description: "Allows you to interact with dragon features.",
1190
- methods: [
1191
- {
1192
- name: "Activate Dragon",
1193
- description: "A method to activate the Dragark NFT into the game.",
1194
- entrypoint: "activate_dragon"
1195
- },
1196
- {
1197
- name: "Deactivate Dragon",
1198
- description: "A method to deactivate Dragark NFT out of the game.",
1199
- entrypoint: "deactivate_dragon"
1200
- },
1201
- {
1202
- name: "Claim Default Dragon",
1203
- description: "A method to claim the default Dragark.",
1204
- entrypoint: "claim_default_dragon"
1205
- },
1206
- {
1207
- name: "Upgrade Dragon",
1208
- description: "A method to upgrade the Dragark's level.",
1209
- entrypoint: "upgrade_dragon"
1210
- }
1211
- ]
1212
- },
1213
- "0x456e9a70c1a8ce2e340592d1a885f2ac152349d785a6aef4d640d9a09f9a1bd": {
1214
- name: "Island Systems",
1215
- description: "Allows you to interact with island features.",
1216
- methods: [
1217
- {
1218
- name: "Claim Resources",
1219
- description: "A method to claim the island's rescources.",
1220
- entrypoint: "claim_resources"
1221
- },
1222
- {
1223
- name: "Claim Resources Islands",
1224
- description: "A method to claim rescources on multiple islands.",
1225
- entrypoint: "claim_resources_islands"
1226
- }
1227
- ]
1228
- },
1229
- "0x2f77a88ac64fd1473ea067ea176ae3805224a2ba5173c63c77d0f214c01ac5d": {
1230
- name: "Journey Systems",
1231
- description: "Allows you to interact with journey features.",
1232
- methods: [
1233
- {
1234
- name: "Start Journey",
1235
- description: "A method to start a new journey to other island.",
1236
- entrypoint: "start_journey"
1237
- },
1238
- {
1239
- name: "Finish Journey",
1240
- description: "A method to finish a started journey.",
1241
- entrypoint: "finish_journey"
1242
- }
1243
- ]
1244
- },
1245
- "0x1ca130b614f063a24dafad53db11cbb914fa7cff2eac23df1c32f5ff71a8ec2": {
1246
- name: "Map Systems",
1247
- description: "Allows you to interact with map features.",
1248
- methods: [
1249
- {
1250
- name: "Join Map",
1251
- description: "A method to join the map.",
1252
- entrypoint: "join_map"
1253
- },
1254
- {
1255
- name: "Rejoin Map",
1256
- description: "A method to rejoin the map.",
1257
- entrypoint: "re_join_map"
1258
- }
1259
- ]
1260
- },
1261
- "0x272741bbe4abc02c8be4b094ca642e1df573e99e06f85f649bc35dd26ae4543": {
1262
- name: "Mission Systems",
1263
- description: "Allows you to interact with mission features.",
1264
- methods: [
1265
- {
1266
- name: "Claim Mission Reward",
1267
- description: "A method to claim your mission reward.",
1268
- entrypoint: "claim_mission_reward"
1269
- }
1270
- ]
1271
- },
1272
- "0x54ad7af1fc62a786c9023d9f3ef8e8abf8cf332649b784188c1b25d2cb384b2": {
1273
- name: "Player Systems",
1274
- description: "Allows you to interact with player features.",
1275
- methods: [
1276
- {
1277
- name: "Buy Energy",
1278
- description: "A method to buy energy used in scouting the map.",
1279
- entrypoint: "buy_energy"
1280
- },
1281
- {
1282
- name: "Claim Reward",
1283
- description: "A method to claim your reward.",
1284
- entrypoint: "claim_reward"
1285
- },
1286
- {
1287
- name: "Upgrade Account Level",
1288
- description: "A method to upgrade your account level.",
1289
- entrypoint: "upgrade_account_level"
1290
- },
1291
- {
1292
- name: "Upgrade Invitation Level",
1293
- description: "A method to upgrade your invitation level.",
1294
- entrypoint: "upgrade_invitation_level"
1295
- },
1296
- {
1297
- name: "Redeem Invite Code",
1298
- description: "A method to redeem invite code.",
1299
- entrypoint: "redeem_invite_code"
1300
- },
1301
- {
1302
- name: "Buy Resources Pack",
1303
- description: "A method to buy resources pack.",
1304
- entrypoint: "buy_resources_pack"
1305
- },
1306
- {
1307
- name: "Activate Element NFT",
1308
- description: "A method to activate the Element NFT into the game.",
1309
- entrypoint: "activate_element_nft"
1310
- },
1311
- {
1312
- name: "Claim Pool Share Reward",
1313
- description: "A method to claim your Pool Share reward.",
1314
- entrypoint: "claim_pool_share_reward"
1315
- }
1316
- ]
1317
- },
1318
- "0x68717880bd76fda6790e895e937e2c638213e7b9aa07385231bbf17dfe8a78c": {
1319
- name: "Scout Systems",
1320
- description: "Allows you to interact with scout features.",
1321
- methods: [
1322
- {
1323
- name: "Scout",
1324
- description: "A method to scout the map.",
1325
- entrypoint: "scout"
1326
- }
1327
- ]
1328
- },
1329
- "0x14705481d28fab7bb37d6cb19d3392d39f838a1d5572b8c8f18e85e0c4b8918": {
1330
- name: "Shield Systems",
1331
- description: "Allows you to interact with shield features.",
1332
- methods: [
1333
- {
1334
- name: "Activate Shield",
1335
- description: "A method to activate a shield to protect your island.",
1336
- entrypoint: "activate_shield"
1337
- },
1338
- {
1339
- name: "Deactivate Shield",
1340
- description: "A method to deactivate a shield from your island.",
1341
- entrypoint: "deactivate_shield"
1342
- },
1343
- {
1344
- name: "Buy Shield",
1345
- description: "A method to buy a shield.",
1346
- entrypoint: "buy_shield"
1347
- }
1348
- ]
1349
- },
1350
- "0x23d6a41c06e2d7b60437ba4da3eca857cf9a0b94f3548396829365a0a299c63": {
1351
- name: "Star Shop Systems",
1352
- description: "Allows you to interact with star shop features.",
1353
- methods: [
1354
- {
1355
- name: "Buy Item Star Shop",
1356
- description: "A method to buy item from the Star Shop.",
1357
- entrypoint: "buy_item_star_shop"
1358
- }
1359
- ]
1360
- },
1361
- "0x511a78a1c4b33bedc4ff7d9b37eb7481bcdff77c5c2cb6f67390d43657749d0": {
1362
- name: "Treasure Hunt Systems",
1363
- description: "Allows you to interact with treasure hunt features.",
1364
- methods: [
1365
- {
1366
- name: "Insert Dragon Treasure Hunt",
1367
- description: "A method to insert your Dragarks to start a new treasure hunt.",
1368
- entrypoint: "insert_dragon_treasure_hunt"
1369
- },
1370
- {
1371
- name: "End Treasure Hunt",
1372
- description: "A method to end an existing treasure hunt and claim rewards.",
1373
- entrypoint: "end_treasure_hunt"
1663
+ chains: {
1664
+ SN_MAIN: {
1665
+ policies: {
1666
+ contracts: {
1667
+ "0x62525c1337037a6a50a61f12045630a271758a350e57616e79a6ed14004ce74": {
1668
+ name: "Achievement Systems",
1669
+ description: "Allows you to interact with achievement features.",
1670
+ methods: [
1671
+ {
1672
+ name: "Claim Achievement Reward",
1673
+ description: "A method to claim your achievement reward.",
1674
+ entrypoint: "claim_achievement_reward"
1675
+ }
1676
+ ]
1677
+ },
1678
+ "0xa5a3284a1e3ce9887b50876acee14a1af9705659b3ad053deff80d84c5555a": {
1679
+ name: "Dragon Systems",
1680
+ description: "Allows you to interact with dragon features.",
1681
+ methods: [
1682
+ {
1683
+ name: "Activate Dragon",
1684
+ description: "A method to activate the Dragark NFT into the game.",
1685
+ entrypoint: "activate_dragon"
1686
+ },
1687
+ {
1688
+ name: "Deactivate Dragon",
1689
+ description: "A method to deactivate Dragark NFT out of the game.",
1690
+ entrypoint: "deactivate_dragon"
1691
+ },
1692
+ {
1693
+ name: "Claim Default Dragon",
1694
+ description: "A method to claim the default Dragark.",
1695
+ entrypoint: "claim_default_dragon"
1696
+ },
1697
+ {
1698
+ name: "Upgrade Dragon",
1699
+ description: "A method to upgrade the Dragark's level.",
1700
+ entrypoint: "upgrade_dragon"
1701
+ }
1702
+ ]
1703
+ },
1704
+ "0x456e9a70c1a8ce2e340592d1a885f2ac152349d785a6aef4d640d9a09f9a1bd": {
1705
+ name: "Island Systems",
1706
+ description: "Allows you to interact with island features.",
1707
+ methods: [
1708
+ {
1709
+ name: "Claim Resources",
1710
+ description: "A method to claim the island's rescources.",
1711
+ entrypoint: "claim_resources"
1712
+ },
1713
+ {
1714
+ name: "Claim Resources Islands",
1715
+ description: "A method to claim rescources on multiple islands.",
1716
+ entrypoint: "claim_resources_islands"
1717
+ }
1718
+ ]
1719
+ },
1720
+ "0x2f77a88ac64fd1473ea067ea176ae3805224a2ba5173c63c77d0f214c01ac5d": {
1721
+ name: "Journey Systems",
1722
+ description: "Allows you to interact with journey features.",
1723
+ methods: [
1724
+ {
1725
+ name: "Start Journey",
1726
+ description: "A method to start a new journey to other island.",
1727
+ entrypoint: "start_journey"
1728
+ },
1729
+ {
1730
+ name: "Finish Journey",
1731
+ description: "A method to finish a started journey.",
1732
+ entrypoint: "finish_journey"
1733
+ }
1734
+ ]
1735
+ },
1736
+ "0x1ca130b614f063a24dafad53db11cbb914fa7cff2eac23df1c32f5ff71a8ec2": {
1737
+ name: "Map Systems",
1738
+ description: "Allows you to interact with map features.",
1739
+ methods: [
1740
+ {
1741
+ name: "Join Map",
1742
+ description: "A method to join the map.",
1743
+ entrypoint: "join_map"
1744
+ },
1745
+ {
1746
+ name: "Rejoin Map",
1747
+ description: "A method to rejoin the map.",
1748
+ entrypoint: "re_join_map"
1749
+ }
1750
+ ]
1751
+ },
1752
+ "0x272741bbe4abc02c8be4b094ca642e1df573e99e06f85f649bc35dd26ae4543": {
1753
+ name: "Mission Systems",
1754
+ description: "Allows you to interact with mission features.",
1755
+ methods: [
1756
+ {
1757
+ name: "Claim Mission Reward",
1758
+ description: "A method to claim your mission reward.",
1759
+ entrypoint: "claim_mission_reward"
1760
+ }
1761
+ ]
1762
+ },
1763
+ "0x54ad7af1fc62a786c9023d9f3ef8e8abf8cf332649b784188c1b25d2cb384b2": {
1764
+ name: "Player Systems",
1765
+ description: "Allows you to interact with player features.",
1766
+ methods: [
1767
+ {
1768
+ name: "Buy Energy",
1769
+ description: "A method to buy energy used in scouting the map.",
1770
+ entrypoint: "buy_energy"
1771
+ },
1772
+ {
1773
+ name: "Claim Reward",
1774
+ description: "A method to claim your reward.",
1775
+ entrypoint: "claim_reward"
1776
+ },
1777
+ {
1778
+ name: "Upgrade Account Level",
1779
+ description: "A method to upgrade your account level.",
1780
+ entrypoint: "upgrade_account_level"
1781
+ },
1782
+ {
1783
+ name: "Upgrade Invitation Level",
1784
+ description: "A method to upgrade your invitation level.",
1785
+ entrypoint: "upgrade_invitation_level"
1786
+ },
1787
+ {
1788
+ name: "Redeem Invite Code",
1789
+ description: "A method to redeem invite code.",
1790
+ entrypoint: "redeem_invite_code"
1791
+ },
1792
+ {
1793
+ name: "Buy Resources Pack",
1794
+ description: "A method to buy resources pack.",
1795
+ entrypoint: "buy_resources_pack"
1796
+ },
1797
+ {
1798
+ name: "Activate Element NFT",
1799
+ description: "A method to activate the Element NFT into the game.",
1800
+ entrypoint: "activate_element_nft"
1801
+ },
1802
+ {
1803
+ name: "Claim Pool Share Reward",
1804
+ description: "A method to claim your Pool Share reward.",
1805
+ entrypoint: "claim_pool_share_reward"
1806
+ }
1807
+ ]
1808
+ },
1809
+ "0x68717880bd76fda6790e895e937e2c638213e7b9aa07385231bbf17dfe8a78c": {
1810
+ name: "Scout Systems",
1811
+ description: "Allows you to interact with scout features.",
1812
+ methods: [
1813
+ {
1814
+ name: "Scout",
1815
+ description: "A method to scout the map.",
1816
+ entrypoint: "scout"
1817
+ }
1818
+ ]
1819
+ },
1820
+ "0x14705481d28fab7bb37d6cb19d3392d39f838a1d5572b8c8f18e85e0c4b8918": {
1821
+ name: "Shield Systems",
1822
+ description: "Allows you to interact with shield features.",
1823
+ methods: [
1824
+ {
1825
+ name: "Activate Shield",
1826
+ description: "A method to activate a shield to protect your island.",
1827
+ entrypoint: "activate_shield"
1828
+ },
1829
+ {
1830
+ name: "Deactivate Shield",
1831
+ description: "A method to deactivate a shield from your island.",
1832
+ entrypoint: "deactivate_shield"
1833
+ },
1834
+ {
1835
+ name: "Buy Shield",
1836
+ description: "A method to buy a shield.",
1837
+ entrypoint: "buy_shield"
1838
+ }
1839
+ ]
1840
+ },
1841
+ "0x23d6a41c06e2d7b60437ba4da3eca857cf9a0b94f3548396829365a0a299c63": {
1842
+ name: "Star Shop Systems",
1843
+ description: "Allows you to interact with star shop features.",
1844
+ methods: [
1845
+ {
1846
+ name: "Buy Item Star Shop",
1847
+ description: "A method to buy item from the Star Shop.",
1848
+ entrypoint: "buy_item_star_shop"
1849
+ }
1850
+ ]
1851
+ },
1852
+ "0x511a78a1c4b33bedc4ff7d9b37eb7481bcdff77c5c2cb6f67390d43657749d0": {
1853
+ name: "Treasure Hunt Systems",
1854
+ description: "Allows you to interact with treasure hunt features.",
1855
+ methods: [
1856
+ {
1857
+ name: "Insert Dragon Treasure Hunt",
1858
+ description: "A method to insert your Dragarks to start a new treasure hunt.",
1859
+ entrypoint: "insert_dragon_treasure_hunt"
1860
+ },
1861
+ {
1862
+ name: "End Treasure Hunt",
1863
+ description: "A method to end an existing treasure hunt and claim rewards.",
1864
+ entrypoint: "end_treasure_hunt"
1865
+ }
1866
+ ]
1867
+ }
1868
+ }
1869
+ }
1870
+ }
1871
+ },
1872
+ theme: {
1873
+ colors: {
1874
+ primary: "#71EB34"
1875
+ },
1876
+ cover: "https://static.cartridge.gg/presets/dragark/cover.png",
1877
+ icon: "https://static.cartridge.gg/presets/dragark/icon.png",
1878
+ name: "Dragark"
1879
+ }
1880
+ },
1881
+ eternum: {
1882
+ origin: ["eternum.realms.world", "empire.realms.world"],
1883
+ chains: {
1884
+ SN_MAIN: {
1885
+ policies: {
1886
+ contracts: {
1887
+ "0x4ed3a7c5f53c6e96186eaf1b670bd2e2a3699c08e070aedf4e5fc6ac246ddc1": {
1888
+ name: "Pillage",
1889
+ description: "Allows you to raid a structure and pillage resources",
1890
+ methods: [
1891
+ {
1892
+ name: "Battle Pillage",
1893
+ description: "Pillage a structure",
1894
+ entrypoint: "battle_pillage"
1895
+ }
1896
+ ]
1897
+ },
1898
+ "0x2620f65aa2fd72d705306ada1ee7410023a3df03da9291f1ccb744fabfebc0": {
1899
+ name: "Battle contract",
1900
+ description: "Required to engage in battles",
1901
+ methods: [
1902
+ {
1903
+ name: "Battle Start",
1904
+ description: "Start a battle",
1905
+ entrypoint: "battle_start"
1906
+ },
1907
+ {
1908
+ name: "Battle Force Start",
1909
+ description: "Force start a battle",
1910
+ entrypoint: "battle_force_start"
1911
+ },
1912
+ {
1913
+ name: "Battle Join",
1914
+ description: "Join a battle",
1915
+ entrypoint: "battle_join"
1916
+ },
1917
+ {
1918
+ name: "Battle Leave",
1919
+ description: "Leave a battle",
1920
+ entrypoint: "battle_leave"
1921
+ },
1922
+ {
1923
+ name: "Battle Claim",
1924
+ description: "Claim a structure after a battle",
1925
+ entrypoint: "battle_claim"
1926
+ },
1927
+ {
1928
+ name: "Battle Resolve",
1929
+ description: "Reopens the bank after battle",
1930
+ entrypoint: "battle_resolve"
1931
+ }
1932
+ ]
1933
+ },
1934
+ "0x6bf57710571fd159e71b1ed155bb0759027e416c88a06556f321c94c214e768": {
1935
+ name: "Leave battle contract",
1936
+ description: "Allows armies to leave a battle",
1937
+ methods: [
1938
+ {
1939
+ name: "Leave Battle",
1940
+ description: "Leave a battle",
1941
+ entrypoint: "leave_battle"
1942
+ },
1943
+ {
1944
+ name: "Leave Battle If Ended",
1945
+ description: "Leave a battle if its ended",
1946
+ entrypoint: "leave_battle_if_ended"
1947
+ }
1948
+ ]
1949
+ },
1950
+ "0x4b6a35c0c541467674ebb9640113a6d79c6f5a468796e9299b8e484a770032a": {
1951
+ name: "Building contract",
1952
+ description: "Allows to manage buildings",
1953
+ methods: [
1954
+ {
1955
+ name: "Create",
1956
+ description: "Create a building",
1957
+ entrypoint: "create"
1958
+ },
1959
+ {
1960
+ name: "Pause Production",
1961
+ description: "Pause the production of a building",
1962
+ entrypoint: "pause_production"
1963
+ },
1964
+ {
1965
+ name: "Resume Production",
1966
+ description: "Resume production of a building",
1967
+ entrypoint: "resume_production"
1968
+ },
1969
+ {
1970
+ name: "Destroy a building",
1971
+ description: "Destroy a building",
1972
+ entrypoint: "destroy"
1973
+ }
1974
+ ]
1975
+ },
1976
+ "0x57d514154bb4dc319539d4e338312a41c248fb6a5122f82b2f2e11ddd3e67e4": {
1977
+ name: "Guild contract",
1978
+ description: "Allows guild utilities",
1979
+ methods: [
1980
+ {
1981
+ name: "Create Guild",
1982
+ description: "Creates a new guild",
1983
+ entrypoint: "create_guild"
1984
+ },
1985
+ {
1986
+ name: "Join Guild",
1987
+ description: "Join an existing guild",
1988
+ entrypoint: "join_guild"
1989
+ },
1990
+ {
1991
+ name: "Whitelist Player",
1992
+ description: "Add a player to the guild's whitelist",
1993
+ entrypoint: "whitelist_player"
1994
+ },
1995
+ {
1996
+ name: "Transfer Guild Ownership",
1997
+ description: "Transfer ownership of the guild to another player",
1998
+ entrypoint: "transfer_guild_ownership"
1999
+ },
2000
+ {
2001
+ name: "Remove Guild Member",
2002
+ description: "Remove a member from the guild",
2003
+ entrypoint: "remove_guild_member"
2004
+ },
2005
+ {
2006
+ name: "Remove Player From Whitelist",
2007
+ description: "Remove a player from the guild's whitelist",
2008
+ entrypoint: "remove_player_from_whitelist"
2009
+ }
2010
+ ]
2011
+ },
2012
+ "0x2fcc3c1691387321c2f4d6310eda7a14365bd274c1a37ed3948d2e93a56f821": {
2013
+ name: "Hyperstructure contract",
2014
+ description: "Handles the creation and management of hyperstructures",
2015
+ methods: [
2016
+ {
2017
+ name: "Get Points",
2018
+ description: "Gets your total number of points",
2019
+ entrypoint: "get_points"
2020
+ },
2021
+ {
2022
+ name: "Create",
2023
+ description: "Create a new hyperstructure",
2024
+ entrypoint: "create"
2025
+ },
2026
+ {
2027
+ name: "Contribute To Construction",
2028
+ description: "Contribute resources to hyperstructure construction",
2029
+ entrypoint: "contribute_to_construction"
2030
+ },
2031
+ {
2032
+ name: "Set Co Owners",
2033
+ description: "Set additional owners for the hyperstructure",
2034
+ entrypoint: "set_co_owners"
2035
+ },
2036
+ {
2037
+ name: "End Game",
2038
+ description: "Terminates the current game season once you've reached enough points",
2039
+ entrypoint: "end_game"
2040
+ },
2041
+ {
2042
+ name: "Set Access",
2043
+ description: "Configure access permissions for contributions to the hyperstructure",
2044
+ entrypoint: "set_access"
2045
+ }
2046
+ ]
2047
+ },
2048
+ "0xa052c5ca082356bcc8457f0f805eaf18f97d0fdddde3f90f5b238923859ed4": {
2049
+ name: "AMM liquidity contract",
2050
+ description: "Manages liquidity for the Automated Market Maker",
2051
+ methods: [
2052
+ {
2053
+ name: "Add",
2054
+ description: "Add liquidity to the pool",
2055
+ entrypoint: "add"
2056
+ },
2057
+ {
2058
+ name: "Remove",
2059
+ description: "Remove liquidity from the pool",
2060
+ entrypoint: "remove"
2061
+ }
2062
+ ]
2063
+ },
2064
+ "0x4a212c52c4035bc9bd170125216604f406dcd75b41be11d3b4d89047366d84d": {
2065
+ name: "Exploration contract",
2066
+ description: "Allows you to move to unexplored hexes on the map",
2067
+ methods: [
2068
+ {
2069
+ name: "Explore",
2070
+ description: "Explore an uncharted hex on the game map",
2071
+ entrypoint: "explore"
2072
+ }
2073
+ ]
2074
+ },
2075
+ "0x7e3bae0e253a0131063b63ee4d7b27b50329c617ae88b82d529a70f1a11c63": {
2076
+ name: "Naming contract",
2077
+ description: "Manages entity naming in the game",
2078
+ methods: [
2079
+ {
2080
+ name: "Set Entity Name",
2081
+ description: "Assign a custom name to a game entity",
2082
+ entrypoint: "set_entity_name"
2083
+ },
2084
+ {
2085
+ name: "Set Address Name",
2086
+ description: "Assign a custom name to a user's address",
2087
+ entrypoint: "set_address_name"
2088
+ }
2089
+ ]
2090
+ },
2091
+ "0x1b480f620ea35431ab43dba634795b14f547ef3e77370db6f0a31f2fdc21d86": {
2092
+ name: "Realms contract",
2093
+ description: "Manages realm-related actions",
2094
+ methods: [
2095
+ {
2096
+ name: "Create a realm",
2097
+ description: "Create a new realm",
2098
+ entrypoint: "create"
2099
+ },
2100
+ {
2101
+ name: "Upgrade Level",
2102
+ description: "Upgrade the level of a realm",
2103
+ entrypoint: "upgrade_level"
2104
+ },
2105
+ {
2106
+ name: "Quest Claim",
2107
+ description: "Claim rewards from completed quests",
2108
+ entrypoint: "quest_claim"
2109
+ }
2110
+ ]
2111
+ },
2112
+ "0x691a60b709ca5c1c5ff86824831f84deb26f0f5d07d70c0f807eab48110d2f6": {
2113
+ name: "Resource bridge contract",
2114
+ description: "Manages bridge transfers between L2 and Eternum",
2115
+ methods: [
2116
+ {
2117
+ name: "Deposit Initial",
2118
+ description: "Initial deposit of resources for bridge transfer",
2119
+ entrypoint: "deposit_initial"
2120
+ },
2121
+ {
2122
+ name: "Deposit",
2123
+ description: "Deposit additional resources for bridge transfer",
2124
+ entrypoint: "deposit"
2125
+ },
2126
+ {
2127
+ name: "Start Withdraw",
2128
+ description: "Initiate a withdrawal process",
2129
+ entrypoint: "start_withdraw"
2130
+ },
2131
+ {
2132
+ name: "Finish Withdraw",
2133
+ description: "Finalize a withdrawal process",
2134
+ entrypoint: "finish_withdraw"
2135
+ }
2136
+ ]
2137
+ },
2138
+ "0x42c0303a2119a9e20daa60e83c48221cdf1bb2a4c009bab031d1cd3555a127e": {
2139
+ name: "Resource contract",
2140
+ description: "In-game resource management",
2141
+ methods: [
2142
+ {
2143
+ name: "Approve",
2144
+ description: "Approve resource transfer",
2145
+ entrypoint: "approve"
2146
+ },
2147
+ {
2148
+ name: "Send",
2149
+ description: "Send resources to another entity",
2150
+ entrypoint: "send"
2151
+ },
2152
+ {
2153
+ name: "Pickup",
2154
+ description: "Collect available resources after approval",
2155
+ entrypoint: "pickup"
2156
+ }
2157
+ ]
2158
+ },
2159
+ "0x4f92a1d00d3aec8cece60fc2d0fc236fe1d95c54ff0ceb2f393fbc7e0863d8e": {
2160
+ name: "AMM swap contract",
2161
+ description: "Handles token swaps in the Automated Market Maker",
2162
+ methods: [
2163
+ {
2164
+ name: "Buy",
2165
+ description: "Purchase tokens from the liquidity pool",
2166
+ entrypoint: "buy"
2167
+ },
2168
+ {
2169
+ name: "Sell",
2170
+ description: "Sell tokens to the liquidity pool",
2171
+ entrypoint: "sell"
2172
+ }
2173
+ ]
2174
+ },
2175
+ "0x7e2b1334398fafbe640f34bacae99b649d633417960ee397b6a8fb117fec819": {
2176
+ name: "Market contract",
2177
+ description: "Manages trading orders in the in-game market",
2178
+ methods: [
2179
+ {
2180
+ name: "Create Order",
2181
+ description: "Create a new trading order",
2182
+ entrypoint: "create_order"
2183
+ },
2184
+ {
2185
+ name: "Accept Order",
2186
+ description: "Accept a trading order",
2187
+ entrypoint: "accept_order"
2188
+ },
2189
+ {
2190
+ name: "Accept Partial Order",
2191
+ description: "Accept a partial trading order",
2192
+ entrypoint: "accept_partial_order"
2193
+ },
2194
+ {
2195
+ name: "Cancel Order",
2196
+ description: "Cancel a trading order",
2197
+ entrypoint: "cancel_order"
2198
+ }
2199
+ ]
2200
+ },
2201
+ "0x4069c2be57f08fef9f31afc85a5b4c03c208ebdb278b9d853606caa7a9cbee6": {
2202
+ name: "Map travel contract",
2203
+ description: "Manages player movement across the game map",
2204
+ methods: [
2205
+ {
2206
+ name: "Travel Hex",
2207
+ description: "Move to a specific hex on the map",
2208
+ entrypoint: "travel_hex"
2209
+ }
2210
+ ]
2211
+ },
2212
+ "0x26be0ed574aa9ee6f73b53b12f0a199ddbf4ac697470316cdb3d9d1f5680cab": {
2213
+ name: "Army contract",
2214
+ description: "Manages army-related actions",
2215
+ methods: [
2216
+ {
2217
+ name: "Army Create",
2218
+ description: "Create a new army",
2219
+ entrypoint: "army_create"
2220
+ },
2221
+ {
2222
+ name: "Army Delete",
2223
+ description: "Delete an existing army",
2224
+ entrypoint: "army_delete"
2225
+ },
2226
+ {
2227
+ name: "Army Buy Troops",
2228
+ description: "Buy troops for an army",
2229
+ entrypoint: "army_buy_troops"
2230
+ },
2231
+ {
2232
+ name: "Army Merge Troops",
2233
+ description: "Merge troops from multiple armies",
2234
+ entrypoint: "army_merge_troops"
2235
+ }
2236
+ ]
2237
+ },
2238
+ "0x051fea4450da9d6aee758bdeba88b2f665bcbf549d2c61421aa724e9ac0ced8f": {
2239
+ name: "VRF Provider",
2240
+ description: "Verifiable Random Function contract, allows randomness in the game",
2241
+ methods: [
2242
+ {
2243
+ name: "Request Random",
2244
+ description: "Allows requesting random numbers from the VRF provider",
2245
+ entrypoint: "request_random"
2246
+ }
2247
+ ]
2248
+ },
2249
+ "0x057675b9c0bd62b096a2e15502a37b290fa766ead21c33eda42993e48a714b80": {
2250
+ name: "Season pass ERC20 contract",
2251
+ description: "Manages the season passes",
2252
+ methods: [
2253
+ {
2254
+ name: "Approve for all",
2255
+ description: "Approves transfer of season pass",
2256
+ entrypoint: "set_approval_for_all"
2257
+ }
2258
+ ]
2259
+ },
2260
+ "0x4b5e65a9617c7ba3c7ea64324ff4338a400adb1a3cfe903b3f8b647cbb59fb7": {
2261
+ name: "Season Systems",
2262
+ description: "Register and claim",
2263
+ methods: [
2264
+ {
2265
+ name: "Register",
2266
+ description: "Registers to leaderboard",
2267
+ entrypoint: "register_to_leaderboard"
2268
+ },
2269
+ {
2270
+ name: "Claim",
2271
+ description: "Claim",
2272
+ entrypoint: "claim_leaderboard_rewards"
2273
+ }
2274
+ ]
2275
+ }
2276
+ },
2277
+ messages: [
2278
+ {
2279
+ types: {
2280
+ StarknetDomain: [
2281
+ {
2282
+ name: "name",
2283
+ type: "shortstring"
2284
+ },
2285
+ {
2286
+ name: "version",
2287
+ type: "shortstring"
2288
+ },
2289
+ {
2290
+ name: "chainId",
2291
+ type: "shortstring"
2292
+ },
2293
+ {
2294
+ name: "revision",
2295
+ type: "shortstring"
2296
+ }
2297
+ ],
2298
+ "s0_eternum-Message": [
2299
+ {
2300
+ name: "identity",
2301
+ type: "ContractAddress"
2302
+ },
2303
+ {
2304
+ name: "channel",
2305
+ type: "shortstring"
2306
+ },
2307
+ {
2308
+ name: "content",
2309
+ type: "string"
2310
+ },
2311
+ {
2312
+ name: "timestamp",
2313
+ type: "felt"
2314
+ },
2315
+ {
2316
+ name: "salt",
2317
+ type: "felt"
2318
+ }
2319
+ ]
2320
+ },
2321
+ primaryType: "s0_eternum-Message",
2322
+ domain: {
2323
+ name: "Eternum",
2324
+ version: "1",
2325
+ chainId: "SN_MAIN",
2326
+ revision: "1"
2327
+ }
1374
2328
  }
1375
2329
  ]
1376
2330
  }
1377
2331
  }
1378
2332
  },
1379
- theme: {
1380
- colors: {
1381
- primary: "#71EB34"
1382
- },
1383
- cover: "https://static.cartridge.gg/presets/dragark/cover.png",
1384
- icon: "https://static.cartridge.gg/presets/dragark/icon.png",
1385
- name: "Dragark"
1386
- }
1387
- },
1388
- eternum: {
1389
- origin: ["eternum.realms.world", "empire.realms.world"],
1390
- policies: {
1391
- contracts: {
1392
- "0x4ed3a7c5f53c6e96186eaf1b670bd2e2a3699c08e070aedf4e5fc6ac246ddc1": {
1393
- name: "Pillage",
1394
- description: "Allows you to raid a structure and pillage resources",
1395
- methods: [
1396
- {
1397
- name: "Battle Pillage",
1398
- description: "Pillage a structure",
1399
- entrypoint: "battle_pillage"
1400
- }
1401
- ]
1402
- },
1403
- "0x2620f65aa2fd72d705306ada1ee7410023a3df03da9291f1ccb744fabfebc0": {
1404
- name: "Battle contract",
1405
- description: "Required to engage in battles",
1406
- methods: [
1407
- {
1408
- name: "Battle Start",
1409
- description: "Start a battle",
1410
- entrypoint: "battle_start"
1411
- },
1412
- {
1413
- name: "Battle Force Start",
1414
- description: "Force start a battle",
1415
- entrypoint: "battle_force_start"
1416
- },
1417
- {
1418
- name: "Battle Join",
1419
- description: "Join a battle",
1420
- entrypoint: "battle_join"
1421
- },
1422
- {
1423
- name: "Battle Leave",
1424
- description: "Leave a battle",
1425
- entrypoint: "battle_leave"
1426
- },
1427
- {
1428
- name: "Battle Claim",
1429
- description: "Claim a structure after a battle",
1430
- entrypoint: "battle_claim"
1431
- },
1432
- {
1433
- name: "Battle Resolve",
1434
- description: "Reopens the bank after battle",
1435
- entrypoint: "battle_resolve"
1436
- }
1437
- ]
1438
- },
1439
- "0x6bf57710571fd159e71b1ed155bb0759027e416c88a06556f321c94c214e768": {
1440
- name: "Leave battle contract",
1441
- description: "Allows armies to leave a battle",
1442
- methods: [
1443
- {
1444
- name: "Leave Battle",
1445
- description: "Leave a battle",
1446
- entrypoint: "leave_battle"
1447
- },
1448
- {
1449
- name: "Leave Battle If Ended",
1450
- description: "Leave a battle if its ended",
1451
- entrypoint: "leave_battle_if_ended"
1452
- }
1453
- ]
1454
- },
1455
- "0x4b6a35c0c541467674ebb9640113a6d79c6f5a468796e9299b8e484a770032a": {
1456
- name: "Building contract",
1457
- description: "Allows to manage buildings",
1458
- methods: [
1459
- {
1460
- name: "Create",
1461
- description: "Create a building",
1462
- entrypoint: "create"
1463
- },
1464
- {
1465
- name: "Pause Production",
1466
- description: "Pause the production of a building",
1467
- entrypoint: "pause_production"
1468
- },
1469
- {
1470
- name: "Resume Production",
1471
- description: "Resume production of a building",
1472
- entrypoint: "resume_production"
1473
- },
1474
- {
1475
- name: "Destroy a building",
1476
- description: "Destroy a building",
1477
- entrypoint: "destroy"
1478
- }
1479
- ]
1480
- },
1481
- "0x57d514154bb4dc319539d4e338312a41c248fb6a5122f82b2f2e11ddd3e67e4": {
1482
- name: "Guild contract",
1483
- description: "Allows guild utilities",
1484
- methods: [
1485
- {
1486
- name: "Create Guild",
1487
- description: "Creates a new guild",
1488
- entrypoint: "create_guild"
1489
- },
1490
- {
1491
- name: "Join Guild",
1492
- description: "Join an existing guild",
1493
- entrypoint: "join_guild"
1494
- },
1495
- {
1496
- name: "Whitelist Player",
1497
- description: "Add a player to the guild's whitelist",
1498
- entrypoint: "whitelist_player"
1499
- },
1500
- {
1501
- name: "Transfer Guild Ownership",
1502
- description: "Transfer ownership of the guild to another player",
1503
- entrypoint: "transfer_guild_ownership"
1504
- },
1505
- {
1506
- name: "Remove Guild Member",
1507
- description: "Remove a member from the guild",
1508
- entrypoint: "remove_guild_member"
1509
- },
1510
- {
1511
- name: "Remove Player From Whitelist",
1512
- description: "Remove a player from the guild's whitelist",
1513
- entrypoint: "remove_player_from_whitelist"
1514
- }
1515
- ]
1516
- },
1517
- "0x2fcc3c1691387321c2f4d6310eda7a14365bd274c1a37ed3948d2e93a56f821": {
1518
- name: "Hyperstructure contract",
1519
- description: "Handles the creation and management of hyperstructures",
1520
- methods: [
1521
- {
1522
- name: "Get Points",
1523
- description: "Gets your total number of points",
1524
- entrypoint: "get_points"
1525
- },
1526
- {
1527
- name: "Create",
1528
- description: "Create a new hyperstructure",
1529
- entrypoint: "create"
1530
- },
1531
- {
1532
- name: "Contribute To Construction",
1533
- description: "Contribute resources to hyperstructure construction",
1534
- entrypoint: "contribute_to_construction"
1535
- },
1536
- {
1537
- name: "Set Co Owners",
1538
- description: "Set additional owners for the hyperstructure",
1539
- entrypoint: "set_co_owners"
1540
- },
1541
- {
1542
- name: "End Game",
1543
- description: "Terminates the current game season once you've reached enough points",
1544
- entrypoint: "end_game"
1545
- },
1546
- {
1547
- name: "Set Access",
1548
- description: "Configure access permissions for contributions to the hyperstructure",
1549
- entrypoint: "set_access"
1550
- }
1551
- ]
1552
- },
1553
- "0xa052c5ca082356bcc8457f0f805eaf18f97d0fdddde3f90f5b238923859ed4": {
1554
- name: "AMM liquidity contract",
1555
- description: "Manages liquidity for the Automated Market Maker",
1556
- methods: [
1557
- {
1558
- name: "Add",
1559
- description: "Add liquidity to the pool",
1560
- entrypoint: "add"
1561
- },
1562
- {
1563
- name: "Remove",
1564
- description: "Remove liquidity from the pool",
1565
- entrypoint: "remove"
1566
- }
1567
- ]
1568
- },
1569
- "0x4a212c52c4035bc9bd170125216604f406dcd75b41be11d3b4d89047366d84d": {
1570
- name: "Exploration contract",
1571
- description: "Allows you to move to unexplored hexes on the map",
1572
- methods: [
1573
- {
1574
- name: "Explore",
1575
- description: "Explore an uncharted hex on the game map",
1576
- entrypoint: "explore"
1577
- }
1578
- ]
1579
- },
1580
- "0x7e3bae0e253a0131063b63ee4d7b27b50329c617ae88b82d529a70f1a11c63": {
1581
- name: "Naming contract",
1582
- description: "Manages entity naming in the game",
1583
- methods: [
1584
- {
1585
- name: "Set Entity Name",
1586
- description: "Assign a custom name to a game entity",
1587
- entrypoint: "set_entity_name"
1588
- },
1589
- {
1590
- name: "Set Address Name",
1591
- description: "Assign a custom name to a user's address",
1592
- entrypoint: "set_address_name"
1593
- }
1594
- ]
1595
- },
1596
- "0x1b480f620ea35431ab43dba634795b14f547ef3e77370db6f0a31f2fdc21d86": {
1597
- name: "Realms contract",
1598
- description: "Manages realm-related actions",
1599
- methods: [
1600
- {
1601
- name: "Create a realm",
1602
- description: "Create a new realm",
1603
- entrypoint: "create"
1604
- },
1605
- {
1606
- name: "Upgrade Level",
1607
- description: "Upgrade the level of a realm",
1608
- entrypoint: "upgrade_level"
1609
- },
1610
- {
1611
- name: "Quest Claim",
1612
- description: "Claim rewards from completed quests",
1613
- entrypoint: "quest_claim"
1614
- }
1615
- ]
1616
- },
1617
- "0x691a60b709ca5c1c5ff86824831f84deb26f0f5d07d70c0f807eab48110d2f6": {
1618
- name: "Resource bridge contract",
1619
- description: "Manages bridge transfers between L2 and Eternum",
1620
- methods: [
1621
- {
1622
- name: "Deposit Initial",
1623
- description: "Initial deposit of resources for bridge transfer",
1624
- entrypoint: "deposit_initial"
1625
- },
1626
- {
1627
- name: "Deposit",
1628
- description: "Deposit additional resources for bridge transfer",
1629
- entrypoint: "deposit"
1630
- },
1631
- {
1632
- name: "Start Withdraw",
1633
- description: "Initiate a withdrawal process",
1634
- entrypoint: "start_withdraw"
1635
- },
1636
- {
1637
- name: "Finish Withdraw",
1638
- description: "Finalize a withdrawal process",
1639
- entrypoint: "finish_withdraw"
1640
- }
1641
- ]
1642
- },
1643
- "0x42c0303a2119a9e20daa60e83c48221cdf1bb2a4c009bab031d1cd3555a127e": {
1644
- name: "Resource contract",
1645
- description: "In-game resource management",
1646
- methods: [
1647
- {
1648
- name: "Approve",
1649
- description: "Approve resource transfer",
1650
- entrypoint: "approve"
1651
- },
1652
- {
1653
- name: "Send",
1654
- description: "Send resources to another entity",
1655
- entrypoint: "send"
1656
- },
1657
- {
1658
- name: "Pickup",
1659
- description: "Collect available resources after approval",
1660
- entrypoint: "pickup"
1661
- }
1662
- ]
1663
- },
1664
- "0x4f92a1d00d3aec8cece60fc2d0fc236fe1d95c54ff0ceb2f393fbc7e0863d8e": {
1665
- name: "AMM swap contract",
1666
- description: "Handles token swaps in the Automated Market Maker",
1667
- methods: [
1668
- {
1669
- name: "Buy",
1670
- description: "Purchase tokens from the liquidity pool",
1671
- entrypoint: "buy"
1672
- },
1673
- {
1674
- name: "Sell",
1675
- description: "Sell tokens to the liquidity pool",
1676
- entrypoint: "sell"
1677
- }
1678
- ]
1679
- },
1680
- "0x7e2b1334398fafbe640f34bacae99b649d633417960ee397b6a8fb117fec819": {
1681
- name: "Market contract",
1682
- description: "Manages trading orders in the in-game market",
1683
- methods: [
1684
- {
1685
- name: "Create Order",
1686
- description: "Create a new trading order",
1687
- entrypoint: "create_order"
1688
- },
1689
- {
1690
- name: "Accept Order",
1691
- description: "Accept a trading order",
1692
- entrypoint: "accept_order"
1693
- },
1694
- {
1695
- name: "Accept Partial Order",
1696
- description: "Accept a partial trading order",
1697
- entrypoint: "accept_partial_order"
1698
- },
1699
- {
1700
- name: "Cancel Order",
1701
- description: "Cancel a trading order",
1702
- entrypoint: "cancel_order"
1703
- }
1704
- ]
1705
- },
1706
- "0x4069c2be57f08fef9f31afc85a5b4c03c208ebdb278b9d853606caa7a9cbee6": {
1707
- name: "Map travel contract",
1708
- description: "Manages player movement across the game map",
1709
- methods: [
1710
- {
1711
- name: "Travel Hex",
1712
- description: "Move to a specific hex on the map",
1713
- entrypoint: "travel_hex"
1714
- }
1715
- ]
1716
- },
1717
- "0x26be0ed574aa9ee6f73b53b12f0a199ddbf4ac697470316cdb3d9d1f5680cab": {
1718
- name: "Army contract",
1719
- description: "Manages army-related actions",
1720
- methods: [
1721
- {
1722
- name: "Army Create",
1723
- description: "Create a new army",
1724
- entrypoint: "army_create"
1725
- },
1726
- {
1727
- name: "Army Delete",
1728
- description: "Delete an existing army",
1729
- entrypoint: "army_delete"
1730
- },
1731
- {
1732
- name: "Army Buy Troops",
1733
- description: "Buy troops for an army",
1734
- entrypoint: "army_buy_troops"
1735
- },
1736
- {
1737
- name: "Army Merge Troops",
1738
- description: "Merge troops from multiple armies",
1739
- entrypoint: "army_merge_troops"
1740
- }
1741
- ]
1742
- },
1743
- "0x051fea4450da9d6aee758bdeba88b2f665bcbf549d2c61421aa724e9ac0ced8f": {
1744
- name: "VRF Provider",
1745
- description: "Verifiable Random Function contract, allows randomness in the game",
1746
- methods: [
1747
- {
1748
- name: "Request Random",
1749
- description: "Allows requesting random numbers from the VRF provider",
1750
- entrypoint: "request_random"
1751
- }
1752
- ]
1753
- },
1754
- "0x057675b9c0bd62b096a2e15502a37b290fa766ead21c33eda42993e48a714b80": {
1755
- name: "Season pass ERC20 contract",
1756
- description: "Manages the season passes",
1757
- methods: [
1758
- {
1759
- name: "Approve for all",
1760
- description: "Approves transfer of season pass",
1761
- entrypoint: "set_approval_for_all"
1762
- }
1763
- ]
1764
- },
1765
- "0x4b5e65a9617c7ba3c7ea64324ff4338a400adb1a3cfe903b3f8b647cbb59fb7": {
1766
- name: "Season Systems",
1767
- description: "Register and claim",
1768
- methods: [
1769
- {
1770
- name: "Register",
1771
- description: "Registers to leaderboard",
1772
- entrypoint: "register_to_leaderboard"
1773
- },
1774
- {
1775
- name: "Claim",
1776
- description: "Claim",
1777
- entrypoint: "claim_leaderboard_rewards"
1778
- }
1779
- ]
1780
- }
1781
- },
1782
- messages: [
1783
- {
1784
- types: {
1785
- StarknetDomain: [
1786
- {
1787
- name: "name",
1788
- type: "shortstring"
1789
- },
1790
- {
1791
- name: "version",
1792
- type: "shortstring"
1793
- },
1794
- {
1795
- name: "chainId",
1796
- type: "shortstring"
1797
- },
1798
- {
1799
- name: "revision",
1800
- type: "shortstring"
1801
- }
1802
- ],
1803
- "s0_eternum-Message": [
1804
- {
1805
- name: "identity",
1806
- type: "ContractAddress"
1807
- },
1808
- {
1809
- name: "channel",
1810
- type: "shortstring"
1811
- },
1812
- {
1813
- name: "content",
1814
- type: "string"
1815
- },
1816
- {
1817
- name: "timestamp",
1818
- type: "felt"
1819
- },
1820
- {
1821
- name: "salt",
1822
- type: "felt"
1823
- }
1824
- ]
1825
- },
1826
- primaryType: "s0_eternum-Message",
1827
- domain: {
1828
- name: "Eternum",
1829
- version: "1",
1830
- chainId: "SN_MAIN",
1831
- revision: "1"
1832
- }
1833
- }
1834
- ]
1835
- },
1836
2333
  theme: {
1837
2334
  name: "Eternum",
1838
2335
  icon: "https://static.cartridge.gg/presets/eternum/icon.svg",
@@ -1877,45 +2374,49 @@ var configs = {
1877
2374
  },
1878
2375
  "loot-survivor": {
1879
2376
  origin: "lootsurvivor.io",
1880
- policies: {
1881
- contracts: {
1882
- "0x0305f26ad19e0a10715d9f3137573d3a543de7b707967cd85d11234d6ec0fb7e": {
1883
- methods: [
1884
- {
1885
- entrypoint: "attack"
1886
- },
1887
- {
1888
- entrypoint: "drop"
1889
- },
1890
- {
1891
- entrypoint: "equip"
1892
- },
1893
- {
1894
- entrypoint: "explore"
1895
- },
1896
- {
1897
- entrypoint: "flee"
1898
- },
1899
- {
1900
- entrypoint: "new_game"
1901
- },
1902
- {
1903
- entrypoint: "transfer_from"
1904
- },
1905
- {
1906
- entrypoint: "upgrade"
2377
+ chains: {
2378
+ SN_MAIN: {
2379
+ policies: {
2380
+ contracts: {
2381
+ "0x0305f26ad19e0a10715d9f3137573d3a543de7b707967cd85d11234d6ec0fb7e": {
2382
+ methods: [
2383
+ {
2384
+ entrypoint: "attack"
2385
+ },
2386
+ {
2387
+ entrypoint: "drop"
2388
+ },
2389
+ {
2390
+ entrypoint: "equip"
2391
+ },
2392
+ {
2393
+ entrypoint: "explore"
2394
+ },
2395
+ {
2396
+ entrypoint: "flee"
2397
+ },
2398
+ {
2399
+ entrypoint: "new_game"
2400
+ },
2401
+ {
2402
+ entrypoint: "transfer_from"
2403
+ },
2404
+ {
2405
+ entrypoint: "upgrade"
2406
+ }
2407
+ ]
2408
+ },
2409
+ "0x3347382d530ff6acb9283ac1d78471187aae8a4690e9316bb4e3c3365ff7a86": {
2410
+ methods: [
2411
+ {
2412
+ entrypoint: "enter_tournament"
2413
+ },
2414
+ {
2415
+ entrypoint: "start_tournament"
2416
+ }
2417
+ ]
1907
2418
  }
1908
- ]
1909
- },
1910
- "0x3347382d530ff6acb9283ac1d78471187aae8a4690e9316bb4e3c3365ff7a86": {
1911
- methods: [
1912
- {
1913
- entrypoint: "enter_tournament"
1914
- },
1915
- {
1916
- entrypoint: "start_tournament"
1917
- }
1918
- ]
2419
+ }
1919
2420
  }
1920
2421
  }
1921
2422
  },
@@ -1925,73 +2426,77 @@ var configs = {
1925
2426
  },
1926
2427
  cover: "https://static.cartridge.gg/presets/loot-survivor/cover.png",
1927
2428
  icon: "https://static.cartridge.gg/presets/loot-survivor/icon.png",
1928
- name: "Loot Survivor"
1929
- }
1930
- },
1931
- nums: {
1932
- origin: ["nums.gg", "www.nums.gg"],
1933
- policies: {
1934
- contracts: {
1935
- "0x07ccfbc43c109efd466638defa52702382ace922051d35a0554b5ccd02a8f155": {
1936
- name: "Game Actions",
1937
- methods: [
1938
- {
1939
- name: "Create Game",
1940
- entrypoint: "create_game",
1941
- description: "Creates a new game"
1942
- },
1943
- {
1944
- name: "Set Slot",
1945
- entrypoint: "set_slot",
1946
- description: "Sets one slot for the game"
1947
- }
1948
- ]
1949
- },
1950
- "0x00ea44dd8e971d3af9f99568577bf14b0a80a7f7763fa6281840ab68a8a53ba9": {
1951
- name: "Claim Actions",
1952
- methods: [
1953
- {
1954
- name: "Claim Appchain Reward",
1955
- entrypoint: "claim_reward",
1956
- description: "Claims token rewards on Appchain"
1957
- }
1958
- ]
1959
- },
1960
- "0x03ee42961dc151d740df95c44b929abe85cf66e8444e0279252dd99b055c64b0": {
1961
- name: "Rewards Claim",
1962
- methods: [
1963
- {
1964
- name: "Consume Reward on Starknet",
1965
- entrypoint: "consume_claim_reward",
1966
- description: "Consumes a claim reward message on Starknet"
1967
- }
1968
- ]
1969
- },
1970
- "0x7ed472bdde3b19a5cf2334ad0f368426272f477938270b1b04259f159bdc0e2": {
1971
- name: "VRF Provider",
1972
- methods: [
1973
- {
1974
- name: "Request Random",
1975
- entrypoint: "request_random",
1976
- description: "Requests a random number from the VRF contract"
1977
- }
1978
- ]
1979
- },
1980
- "0x4d776373427434a22f7d60d0f7fe0e336fd830edf4294acec33d9f2e1275327": {
1981
- name: "Social",
1982
- description: "Social contract to manage your social activities",
1983
- methods: [
1984
- {
1985
- name: "pin",
1986
- entrypoint: "pin",
1987
- description: "Pin an achievement."
1988
- },
1989
- {
1990
- name: "unpin",
1991
- entrypoint: "unpin",
1992
- description: "Unpin an achievement."
2429
+ name: "Loot Survivor"
2430
+ }
2431
+ },
2432
+ nums: {
2433
+ origin: ["nums.gg", "www.nums.gg"],
2434
+ chains: {
2435
+ SN_MAIN: {
2436
+ policies: {
2437
+ contracts: {
2438
+ "0x07ccfbc43c109efd466638defa52702382ace922051d35a0554b5ccd02a8f155": {
2439
+ name: "Game Actions",
2440
+ methods: [
2441
+ {
2442
+ name: "Create Game",
2443
+ entrypoint: "create_game",
2444
+ description: "Creates a new game"
2445
+ },
2446
+ {
2447
+ name: "Set Slot",
2448
+ entrypoint: "set_slot",
2449
+ description: "Sets one slot for the game"
2450
+ }
2451
+ ]
2452
+ },
2453
+ "0x00ea44dd8e971d3af9f99568577bf14b0a80a7f7763fa6281840ab68a8a53ba9": {
2454
+ name: "Claim Actions",
2455
+ methods: [
2456
+ {
2457
+ name: "Claim Appchain Reward",
2458
+ entrypoint: "claim_reward",
2459
+ description: "Claims token rewards on Appchain"
2460
+ }
2461
+ ]
2462
+ },
2463
+ "0x03ee42961dc151d740df95c44b929abe85cf66e8444e0279252dd99b055c64b0": {
2464
+ name: "Rewards Claim",
2465
+ methods: [
2466
+ {
2467
+ name: "Consume Reward on Starknet",
2468
+ entrypoint: "consume_claim_reward",
2469
+ description: "Consumes a claim reward message on Starknet"
2470
+ }
2471
+ ]
2472
+ },
2473
+ "0x7ed472bdde3b19a5cf2334ad0f368426272f477938270b1b04259f159bdc0e2": {
2474
+ name: "VRF Provider",
2475
+ methods: [
2476
+ {
2477
+ name: "Request Random",
2478
+ entrypoint: "request_random",
2479
+ description: "Requests a random number from the VRF contract"
2480
+ }
2481
+ ]
2482
+ },
2483
+ "0x4d776373427434a22f7d60d0f7fe0e336fd830edf4294acec33d9f2e1275327": {
2484
+ name: "Social",
2485
+ description: "Social contract to manage your social activities",
2486
+ methods: [
2487
+ {
2488
+ name: "pin",
2489
+ entrypoint: "pin",
2490
+ description: "Pin an achievement."
2491
+ },
2492
+ {
2493
+ name: "unpin",
2494
+ entrypoint: "unpin",
2495
+ description: "Unpin an achievement."
2496
+ }
2497
+ ]
1993
2498
  }
1994
- ]
2499
+ }
1995
2500
  }
1996
2501
  }
1997
2502
  },
@@ -2019,7 +2524,11 @@ var configs = {
2019
2524
  origin: [
2020
2525
  "pistols.underware.gg",
2021
2526
  "pistols.stage.underware.gg",
2022
- "play.pistols.gg"
2527
+ "play.pistols.gg",
2528
+ "stage.pistols.gg",
2529
+ "alpha.pistols.gg",
2530
+ "beta.pistols.gg",
2531
+ "prerelease.pistols.gg"
2023
2532
  ],
2024
2533
  theme: {
2025
2534
  colors: {
@@ -2029,161 +2538,203 @@ var configs = {
2029
2538
  icon: "https://static.cartridge.gg/presets/pistols/icon.png",
2030
2539
  name: "Pistols at Dawn"
2031
2540
  },
2032
- policies: {
2033
- contracts: {
2034
- "0x01445d46f1ba32c4f91eb61e161ffcb7ce70598649ad72e5405eaee5a2afba71": {
2035
- name: "Game",
2036
- description: "Game loop contract",
2037
- methods: [
2038
- {
2039
- entrypoint: "commit_moves"
2040
- },
2041
- {
2042
- entrypoint: "reveal_moves"
2043
- },
2044
- {
2045
- entrypoint: "collect"
2046
- }
2047
- ]
2048
- },
2049
- "0x042b5966ef49614c78ca1577f617634ff3dbfee1cb811f1386cd9518b2cedd9e": {
2050
- name: "Tutorial",
2051
- description: "Tutorial game contract",
2052
- methods: [
2053
- {
2054
- entrypoint: "create_tutorial"
2055
- },
2056
- {
2057
- entrypoint: "commit_moves"
2058
- },
2059
- {
2060
- entrypoint: "reveal_moves"
2061
- }
2062
- ]
2063
- },
2064
- "0x05f3df8d2895ab76f21f13114ee33292356a009900ed32e2ab5f280ac932546a": {
2065
- name: "Pack token",
2066
- description: "Packs ERC721 contract",
2067
- methods: [
2068
- {
2069
- entrypoint: "claim_welcome_pack"
2070
- },
2071
- {
2072
- entrypoint: "purchase"
2073
- },
2074
- {
2075
- entrypoint: "open"
2076
- }
2077
- ]
2078
- },
2079
- "0x06afa7f3d4ddce0426572b0c2a91df17399997e2f44cc3586535ae9639939e67": {
2080
- name: "Duel token",
2081
- description: "Duel ERC721 contract",
2082
- methods: [
2083
- {
2084
- entrypoint: "create_duel"
2085
- },
2086
- {
2087
- entrypoint: "reply_duel"
2088
- },
2089
- {
2090
- entrypoint: "transfer_to_winner"
2541
+ chains: {
2542
+ SN_MAIN: {
2543
+ policies: {
2544
+ contracts: {
2545
+ "0x0619c7bd5d5d635e010ef3bf9a59ecc49fa055f19bb2202e530554cfda655b59": {
2546
+ description: "Game loop contract",
2547
+ methods: [
2548
+ {
2549
+ entrypoint: "commit_moves",
2550
+ description: "Commit moves of a Duelist in a Duel"
2551
+ },
2552
+ {
2553
+ entrypoint: "reveal_moves",
2554
+ description: "Reveal moves of a Duelist in a Duel"
2555
+ },
2556
+ {
2557
+ entrypoint: "clear_required_action",
2558
+ description: "Clear the required action call for a duelist"
2559
+ },
2560
+ {
2561
+ entrypoint: "collect_duel",
2562
+ description: "Close expired duels"
2563
+ },
2564
+ {
2565
+ entrypoint: "collect_season",
2566
+ description: "Close the current season and start the next one"
2567
+ }
2568
+ ]
2569
+ },
2570
+ "0x07b04bc75c3d4ba5b37d2dfc91501424dd23f517a820aee89adeeef4ececb391": {
2571
+ description: "Packs ERC721 contract",
2572
+ methods: [
2573
+ {
2574
+ entrypoint: "claim_starter_pack",
2575
+ description: "Claim the starter pack, mint Duelists"
2576
+ },
2577
+ {
2578
+ entrypoint: "purchase",
2579
+ description: "Purchase a closed pack"
2580
+ },
2581
+ {
2582
+ entrypoint: "open",
2583
+ description: "Open a pack, mint its contents"
2584
+ }
2585
+ ]
2586
+ },
2587
+ "0x00899524b10391115869ab095fe4385e17dd3dfd27b3a01bcc579ed939552e4c": {
2588
+ description: "Duel ERC721 contract",
2589
+ methods: [
2590
+ {
2591
+ entrypoint: "create_duel",
2592
+ description: "Create a Duel, mint its token"
2593
+ },
2594
+ {
2595
+ entrypoint: "reply_duel",
2596
+ description: "Reply to a Duel (accept or reject)"
2597
+ }
2598
+ ]
2599
+ },
2600
+ "0x0611b5c48d17de65d8015d48d491e0d120361a85099e28f3630600b3a91a98b0": {
2601
+ description: "Duelist ERC721 contract",
2602
+ methods: [
2603
+ {
2604
+ entrypoint: "poke",
2605
+ description: "Reactivates an inactive Duelist"
2606
+ },
2607
+ {
2608
+ entrypoint: "sacrifice",
2609
+ description: "Sacrifices a Duelist"
2610
+ },
2611
+ {
2612
+ entrypoint: "memorialize",
2613
+ description: "Memorializes a Duelist"
2614
+ }
2615
+ ]
2616
+ },
2617
+ "0x05c3c66f68bf24a4f61263d18622f97769ef62497f07a0ce9b07c7f02d6aa435": {
2618
+ description: "Bank contract",
2619
+ methods: [
2620
+ {
2621
+ entrypoint: "sponsor_duelists",
2622
+ description: "Sponsor duelist starter packs with $LORDS"
2623
+ },
2624
+ {
2625
+ entrypoint: "sponsor_season",
2626
+ description: "Sponsor the current season with $LORDS"
2627
+ },
2628
+ {
2629
+ entrypoint: "sponsor_tournament",
2630
+ description: "Sponsor a tournament with $LORDS"
2631
+ }
2632
+ ]
2633
+ },
2634
+ "0x05355768013cba6f96d985d189c0a69362d1a79a962e0d595ba7ea114ead720c": {
2635
+ description: "Cartridge VRF Provider",
2636
+ methods: [
2637
+ {
2638
+ entrypoint: "request_random",
2639
+ description: "Request a random number"
2640
+ }
2641
+ ]
2091
2642
  }
2092
- ]
2093
- }
2094
- },
2095
- messages: [
2096
- {
2097
- types: {
2098
- StarknetDomain: [
2099
- {
2100
- name: "name",
2101
- type: "shortstring"
2102
- },
2103
- {
2104
- name: "version",
2105
- type: "shortstring"
2106
- },
2107
- {
2108
- name: "chainId",
2109
- type: "shortstring"
2110
- },
2111
- {
2112
- name: "revision",
2113
- type: "shortstring"
2114
- }
2115
- ],
2116
- "pistols-PlayerOnline": [
2117
- {
2118
- name: "identity",
2119
- type: "ContractAddress"
2120
- },
2121
- {
2122
- name: "timestamp",
2123
- type: "felt"
2124
- }
2125
- ]
2126
- },
2127
- primaryType: "pistols-PlayerOnline",
2128
- domain: {
2129
- name: "Underware_gg",
2130
- version: "1.0.0",
2131
- chainId: "SN_MAIN",
2132
- revision: "1"
2133
2643
  },
2134
- name: "PlayerOnline",
2135
- description: "Notify the server that a player is online"
2136
- },
2137
- {
2138
- types: {
2139
- StarknetDomain: [
2140
- {
2141
- name: "name",
2142
- type: "shortstring"
2143
- },
2144
- {
2145
- name: "version",
2146
- type: "shortstring"
2644
+ messages: [
2645
+ {
2646
+ types: {
2647
+ StarknetDomain: [
2648
+ {
2649
+ name: "name",
2650
+ type: "shortstring"
2651
+ },
2652
+ {
2653
+ name: "version",
2654
+ type: "shortstring"
2655
+ },
2656
+ {
2657
+ name: "chainId",
2658
+ type: "shortstring"
2659
+ },
2660
+ {
2661
+ name: "revision",
2662
+ type: "shortstring"
2663
+ }
2664
+ ],
2665
+ "pistols-PlayerOnline": [
2666
+ {
2667
+ name: "identity",
2668
+ type: "ContractAddress"
2669
+ },
2670
+ {
2671
+ name: "timestamp",
2672
+ type: "felt"
2673
+ }
2674
+ ]
2147
2675
  },
2148
- {
2149
- name: "chainId",
2150
- type: "shortstring"
2676
+ primaryType: "pistols-PlayerOnline",
2677
+ domain: {
2678
+ name: "Underware_gg",
2679
+ version: "1.0.0",
2680
+ chainId: "SN_MAIN",
2681
+ revision: "1"
2151
2682
  },
2152
- {
2153
- name: "revision",
2154
- type: "shortstring"
2155
- }
2156
- ],
2157
- "pistols-PlayerBookmark": [
2158
- {
2159
- name: "identity",
2160
- type: "ContractAddress"
2161
- },
2162
- {
2163
- name: "target_address",
2164
- type: "ContractAddress"
2683
+ name: "PlayerOnline",
2684
+ description: "Notify the server that a player is online"
2685
+ },
2686
+ {
2687
+ types: {
2688
+ StarknetDomain: [
2689
+ {
2690
+ name: "name",
2691
+ type: "shortstring"
2692
+ },
2693
+ {
2694
+ name: "version",
2695
+ type: "shortstring"
2696
+ },
2697
+ {
2698
+ name: "chainId",
2699
+ type: "shortstring"
2700
+ },
2701
+ {
2702
+ name: "revision",
2703
+ type: "shortstring"
2704
+ }
2705
+ ],
2706
+ "pistols-PlayerBookmark": [
2707
+ {
2708
+ name: "identity",
2709
+ type: "ContractAddress"
2710
+ },
2711
+ {
2712
+ name: "target_address",
2713
+ type: "ContractAddress"
2714
+ },
2715
+ {
2716
+ name: "target_id",
2717
+ type: "u128"
2718
+ },
2719
+ {
2720
+ name: "enabled",
2721
+ type: "bool"
2722
+ }
2723
+ ]
2165
2724
  },
2166
- {
2167
- name: "target_id",
2168
- type: "u128"
2725
+ primaryType: "pistols-PlayerBookmark",
2726
+ domain: {
2727
+ name: "Underware_gg",
2728
+ version: "1.0.0",
2729
+ chainId: "SN_MAIN",
2730
+ revision: "1"
2169
2731
  },
2170
- {
2171
- name: "enabled",
2172
- type: "bool"
2173
- }
2174
- ]
2175
- },
2176
- primaryType: "pistols-PlayerBookmark",
2177
- domain: {
2178
- name: "Underware_gg",
2179
- version: "1.0.0",
2180
- chainId: "SN_MAIN",
2181
- revision: "1"
2182
- },
2183
- name: "PlayerBookmark",
2184
- description: "Notify the server that a player follows another player or token"
2732
+ name: "PlayerBookmark",
2733
+ description: "Notify the server that a player follows another player or token"
2734
+ }
2735
+ ]
2185
2736
  }
2186
- ]
2737
+ }
2187
2738
  }
2188
2739
  },
2189
2740
  pixelaw: {
@@ -2284,6 +2835,16 @@ var metadata = [
2284
2835
  total_supply: null,
2285
2836
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/e5aaa970-a998-47e8-bd43-4a3b56b87200/logo"
2286
2837
  },
2838
+ {
2839
+ name: "LUSD Stablecoin",
2840
+ symbol: "LUSD",
2841
+ decimals: 18,
2842
+ l2_token_address: "0x070a76fd48ca0ef910631754d77dd822147fe98a569b826ec85e3c33fde586ac",
2843
+ sort_order: 3,
2844
+ total_supply: null,
2845
+ hidden: true,
2846
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/dc0ae733-5498-4afa-f475-48dba677aa00/logo"
2847
+ },
2287
2848
  {
2288
2849
  name: "Tether USD",
2289
2850
  symbol: "USDT",
@@ -2302,6 +2863,16 @@ var metadata = [
2302
2863
  total_supply: null,
2303
2864
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/e07829b7-0382-4e03-7ecd-a478c5aa9f00/logo"
2304
2865
  },
2866
+ {
2867
+ name: "Dai Stablecoin",
2868
+ symbol: "DAIv0",
2869
+ decimals: 18,
2870
+ l2_token_address: "0x00da114221cb83fa859dbdb4c44beeaa0bb37c7537ad5ae66fe5e0efd20e6eb3",
2871
+ sort_order: 4,
2872
+ total_supply: null,
2873
+ hidden: true,
2874
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/919e761b-56f7-4f53-32aa-5e066f7f6200/logo"
2875
+ },
2305
2876
  {
2306
2877
  name: "Dai Stablecoin",
2307
2878
  symbol: "DAI",
@@ -2312,12 +2883,21 @@ var metadata = [
2312
2883
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/919e761b-56f7-4f53-32aa-5e066f7f6200/logo"
2313
2884
  },
2314
2885
  {
2315
- name: "Wrapped liquid staked Ether 2.0",
2316
- symbol: "wstETH",
2886
+ name: "Legacy Starknet Wrapped Staked Ether",
2887
+ symbol: "wstETH-legacy",
2317
2888
  decimals: 18,
2318
2889
  l2_token_address: "0x042b8f0484674ca266ac5d08e4ac6a3fe65bd3129795def2dca5c34ecc5f96d2",
2319
2890
  sort_order: 1,
2320
2891
  total_supply: null,
2892
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/26162dcc-29c2-4f5e-3acd-5e6be1f07a00/logo"
2893
+ },
2894
+ {
2895
+ name: "Wrapped Staked Ether",
2896
+ symbol: "wstETH",
2897
+ decimals: 18,
2898
+ l2_token_address: "0x0057912720381af14b0e5c87aa4718ed5e527eab60b3801ebf702ab09139e38b",
2899
+ sort_order: 1,
2900
+ total_supply: null,
2321
2901
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/dbbcbdea-1a92-437d-3701-4a5ee129d000/logo"
2322
2902
  },
2323
2903
  {
@@ -2330,14 +2910,53 @@ var metadata = [
2330
2910
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/c9f2d6fe-fbc6-4384-0990-923dfcb7a200/logo"
2331
2911
  },
2332
2912
  {
2333
- name: "Paper",
2334
- symbol: "PAPER",
2913
+ name: "LORDS",
2914
+ symbol: "LORDS",
2335
2915
  decimals: 18,
2336
- l2_token_address: "0x0410466536b5ae074f7fea81e5533b8134a9fa08b3dd077dd9db08f64997d113",
2916
+ l2_token_address: "0x0124aeb495b947201f5fac96fd1138e326ad86195b98df6dec9009158a533b49",
2337
2917
  sort_order: 1,
2918
+ total_supply: 509e5,
2919
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/a3bfe959-50c4-4f89-0aef-b19207d82a00/logo"
2920
+ },
2921
+ {
2922
+ name: "R Stablecoin",
2923
+ symbol: "R",
2924
+ decimals: 18,
2925
+ l2_token_address: "0x01fa2fb85f624600112040e1f3a848f53a37ed5a7385810063d5fe6887280333",
2926
+ sort_order: 3,
2338
2927
  total_supply: null,
2339
2928
  hidden: true,
2340
- logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/811f019a-0461-4cff-6c1e-442102863f00/logo"
2929
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/77612e4e-f7ee-4dba-2066-af321843ef00/logo"
2930
+ },
2931
+ {
2932
+ name: "Frax",
2933
+ symbol: "FRAX",
2934
+ decimals: 18,
2935
+ l2_token_address: "0x009c6b4fb13dfaa025c1383ed6190af8ed8cbb09d9588a3bb020feb152442406",
2936
+ sort_order: 1,
2937
+ total_supply: 649462235,
2938
+ hidden: true,
2939
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/eeaf0779-e492-474c-ef19-b27843525600/logo"
2940
+ },
2941
+ {
2942
+ name: "Frax Share",
2943
+ symbol: "FXS",
2944
+ decimals: 18,
2945
+ l2_token_address: "0x0058efd0e73c33a848ffaa88738d128ebf0af98ea78cf3c14dc757bb02d39ffb",
2946
+ sort_order: 1,
2947
+ total_supply: null,
2948
+ hidden: true,
2949
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/98bea621-1e4f-4d63-9689-bdaef0d56500/logo"
2950
+ },
2951
+ {
2952
+ name: "Staked Frax Ether",
2953
+ symbol: "sfrxETH",
2954
+ decimals: 18,
2955
+ l2_token_address: "0x04578fffc279e61b5cb0267a5f8e24b6089d40f93158fbbad2cb23b8622c9233",
2956
+ sort_order: 1,
2957
+ total_supply: null,
2958
+ hidden: true,
2959
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/cd6fe18a-25db-4de9-758a-daf3b364ea00/logo"
2341
2960
  },
2342
2961
  {
2343
2962
  name: "Uniswap",
@@ -2349,7 +2968,27 @@ var metadata = [
2349
2968
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/361b018e-bd53-4019-27c8-7cf8d9031b00/logo"
2350
2969
  },
2351
2970
  {
2352
- name: "Starknet",
2971
+ name: "Paper",
2972
+ symbol: "PAPER",
2973
+ decimals: 18,
2974
+ l2_token_address: "0x0410466536b5ae074f7fea81e5533b8134a9fa08b3dd077dd9db08f64997d113",
2975
+ sort_order: 1,
2976
+ total_supply: null,
2977
+ hidden: true,
2978
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/811f019a-0461-4cff-6c1e-442102863f00/logo"
2979
+ },
2980
+ {
2981
+ name: "StarkPepe",
2982
+ symbol: "xSPEPE",
2983
+ decimals: 18,
2984
+ l2_token_address: "0x06f15ec4b6ff0b7f7a216c4b2ccdefc96cbf114d6242292ca82971592f62273b",
2985
+ sort_order: 1,
2986
+ total_supply: null,
2987
+ hidden: true,
2988
+ disabled: true
2989
+ },
2990
+ {
2991
+ name: "StarkNet Token",
2353
2992
  symbol: "STRK",
2354
2993
  decimals: 18,
2355
2994
  l2_token_address: "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",
@@ -2357,6 +2996,15 @@ var metadata = [
2357
2996
  total_supply: 1e10,
2358
2997
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/1b126320-367c-48ed-cf5a-ba7580e49600/logo"
2359
2998
  },
2999
+ {
3000
+ name: "zkLend Token",
3001
+ symbol: "ZEND",
3002
+ decimals: 18,
3003
+ l2_token_address: "0x00585c32b625999e6e5e78645ff8df7a9001cf5cf3eb6b80ccdd16cb64bd3a34",
3004
+ sort_order: 1,
3005
+ total_supply: null,
3006
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/95515b0e-1230-4158-10f1-56888f613c00/logo"
3007
+ },
2360
3008
  {
2361
3009
  name: "Ekubo Protocol",
2362
3010
  symbol: "EKUBO",
@@ -2366,6 +3014,16 @@ var metadata = [
2366
3014
  total_supply: 1e7,
2367
3015
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/634d9c36-2f0b-4781-93e6-72d701b5af00/logo"
2368
3016
  },
3017
+ {
3018
+ name: "SOCKS",
3019
+ symbol: "SOCKS",
3020
+ decimals: 18,
3021
+ l2_token_address: "0x023ed2ba4fb5709302c5dfd739fa7613359042f143286c115b6c7f7dc2601015",
3022
+ sort_order: 1,
3023
+ total_supply: 1e11,
3024
+ hidden: true,
3025
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/2db5a2a6-c98e-4b80-35e0-31b489132100/logo"
3026
+ },
2369
3027
  {
2370
3028
  name: "Nostra",
2371
3029
  symbol: "NSTR",
@@ -2391,294 +3049,330 @@ var metadata = [
2391
3049
  l2_token_address: "0x498edfaf50ca5855666a700c25dd629d577eb9afccdf3b5977aec79aee55ada",
2392
3050
  sort_order: 3,
2393
3051
  total_supply: null,
3052
+ hidden: false,
2394
3053
  logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/6bd6d156-f509-4b51-5dfc-3ee566143600/logo"
2395
3054
  },
2396
3055
  {
2397
- name: "Lords",
2398
- symbol: "LORDS",
3056
+ name: "Nums",
3057
+ symbol: "NUMS",
2399
3058
  decimals: 18,
2400
- l2_token_address: "0x0124aeb495b947201f5fac96fd1138e326ad86195b98df6dec9009158a533b49",
3059
+ l2_token_address: "0xe5f10eddc01699dc899a30dbc3c9858148fa4aa0a47c0ffd85f887ffc4653e",
2401
3060
  sort_order: 1,
2402
- total_supply: null,
2403
- logo_url: "https://empire.realms.world/images/resources/coin.png"
3061
+ total_supply: 1,
3062
+ hidden: true,
3063
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/90868d05-cb75-4c42-278c-5a540db2cf00/logo"
2404
3064
  },
2405
3065
  {
2406
- name: "Ancien Fragments",
2407
- symbol: "ANCIENT_FRAGMENT",
3066
+ name: "Flip",
3067
+ symbol: "FLIP",
2408
3068
  decimals: 18,
2409
- l2_token_address: "0x0695b08ecdfdd828c2e6267da62f59e6d7543e690ef56a484df25c8566b332a5",
2410
- sort_order: 2,
3069
+ l2_token_address: "0x01bfe97d729138fc7c2d93c77d6d1d8a24708d5060608017d9b384adf38f04c7",
3070
+ sort_order: 1,
2411
3071
  total_supply: null,
2412
- logo_url: "https://empire.realms.world/images/resources/29.png"
3072
+ hidden: true,
3073
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/275f0fa8-a691-471c-ace6-0eb0315dde00/logo"
2413
3074
  },
2414
3075
  {
2415
- name: "Knight",
2416
- symbol: "KNIGHT",
3076
+ name: "Eternum Stone",
3077
+ symbol: "STONE",
2417
3078
  decimals: 18,
2418
- l2_token_address: "0x00ac965f9e67164723c16735a9da8dbc9eb8e43b1bd0323591e87c056badf606",
2419
- sort_order: 3,
3079
+ l2_token_address: "0x439a1c010e3e1bb2d43d43411000893c0042bd88f6c701611a0ea914d426da4",
3080
+ sort_order: 1,
2420
3081
  total_supply: null,
2421
- logo_url: "https://empire.realms.world/images/icons/250.png"
3082
+ hidden: true,
3083
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/932e7f83-a4c2-40f0-3048-35af3b194100/logo"
2422
3084
  },
2423
3085
  {
2424
- name: "Crossbowman",
2425
- symbol: "CROSSBOWMAN",
3086
+ name: "Eternum Coal",
3087
+ symbol: "COAL",
2426
3088
  decimals: 18,
2427
- l2_token_address: "0x067e4ac00a241be06ba6afc11fa2715ec7da0c42c05a67ef6ecfcfeda725aaa8",
2428
- sort_order: 4,
3089
+ l2_token_address: "0xce635e3f241b0ae78c46a929d84a9101910188f9c4024eaa7559556503c31a",
3090
+ sort_order: 1,
2429
3091
  total_supply: null,
2430
- logo_url: "https://empire.realms.world/images/icons/251.png"
3092
+ hidden: true,
3093
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/cf2ee180-06bf-4443-e3aa-724d7c28e800/logo"
2431
3094
  },
2432
3095
  {
2433
- name: "Paladin",
2434
- symbol: "PALADIN",
3096
+ name: "Eternum Wood",
3097
+ symbol: "WOOD",
2435
3098
  decimals: 18,
2436
- l2_token_address: "0x03bc86299bee061c7c8d7546ccb62b9daf9bffc653b1508facb722c6593874bc",
2437
- sort_order: 5,
3099
+ l2_token_address: "0x40d8907cec0f7ae9c364dfb12485a1314d84c129bf1898d2f3d4b7fcc7d44f4",
3100
+ sort_order: 1,
2438
3101
  total_supply: null,
2439
- logo_url: "https://empire.realms.world/images/icons/252.png"
3102
+ hidden: true,
3103
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/1db5f954-c1ef-447e-9f8f-05bd9f3b2b00/logo"
2440
3104
  },
2441
3105
  {
2442
- name: "Donkey",
2443
- symbol: "DONKEY",
3106
+ name: "Eternum Copper",
3107
+ symbol: "COPPER",
2444
3108
  decimals: 18,
2445
- l2_token_address: "0x0264be95a4a2ace20add68cb321acdccd2f9f8440ee1c7abd85da44ddab01085",
2446
- sort_order: 6,
3109
+ l2_token_address: "0x66ed5c928ee027a9419ace1cbea8389885161db5572a7c5c4fef2310e9bf494",
3110
+ sort_order: 1,
2447
3111
  total_supply: null,
2448
- logo_url: "https://empire.realms.world/images/buildings/thumb/trade.png"
3112
+ hidden: true,
3113
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/6bbcdcc9-6146-404d-9501-92a664cf3100/logo"
2449
3114
  },
2450
3115
  {
2451
- name: "Wheat",
2452
- symbol: "WHEAT",
3116
+ name: "Eternum Ironwood",
3117
+ symbol: "IRONWOOD",
2453
3118
  decimals: 18,
2454
- l2_token_address: "0x057a3f1ee475e072ce3be41785c0e889b7295d7a0dcc22b992c5b9408dbeb280",
2455
- sort_order: 7,
3119
+ l2_token_address: "0x1720cf6318bff45e62acc588680ae3cd4d5f8465b1d52cb710533c9299b031a",
3120
+ sort_order: 1,
2456
3121
  total_supply: null,
2457
- logo_url: "https://empire.realms.world/images/resources/254.png"
3122
+ hidden: true,
3123
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/5af7c03b-e4ae-4aee-eba4-a4e2160a1d00/logo"
2458
3124
  },
2459
3125
  {
2460
- name: "Fish",
2461
- symbol: "FISH",
3126
+ name: "Eternum Obsidian",
3127
+ symbol: "OBSIDIAN",
2462
3128
  decimals: 18,
2463
- l2_token_address: "0x027719173cfe10f1aa38d2aaed0a075b6077290f1e817aa3485d2b828394f4d9",
2464
- sort_order: 8,
3129
+ l2_token_address: "0x3b6448d09dcd023507376402686261f5d6739455fa02f804907b066e488da66",
3130
+ sort_order: 1,
2465
3131
  total_supply: null,
2466
- logo_url: "https://empire.realms.world/images/resources/255.png"
3132
+ hidden: true,
3133
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/8be9bc66-486b-4181-6804-725a1db8ad00/logo"
2467
3134
  },
2468
3135
  {
2469
- name: "Wood",
2470
- symbol: "WOOD",
3136
+ name: "Eternum Gold",
3137
+ symbol: "GOLD",
2471
3138
  decimals: 18,
2472
- l2_token_address: "0x040d8907cec0f7ae9c364dfb12485a1314d84c129bf1898d2f3d4b7fcc7d44f4",
2473
- sort_order: 9,
3139
+ l2_token_address: "0xdff9dca192609c4e86ab3be22c7ec1e968876c992d21986f3c542be97fa2f",
3140
+ sort_order: 1,
2474
3141
  total_supply: null,
2475
- logo_url: "https://empire.realms.world/images/resources/1.png"
3142
+ hidden: true,
3143
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/fb9e90f7-3c2f-4c64-7e43-c3f694f35e00/logo"
2476
3144
  },
2477
3145
  {
2478
- name: "Stone",
2479
- symbol: "STONE",
3146
+ name: "Eternum Silver",
3147
+ symbol: "SILVER",
2480
3148
  decimals: 18,
2481
- l2_token_address: "0x0439a1c010e3e1bb2d43d43411000893c0042bd88f6c701611a0ea914d426da4",
2482
- sort_order: 10,
3149
+ l2_token_address: "0x6fe21d2d4a8a05bdb70f09c9250af9870020d5dcc35f410b4a39d6605c3e353",
3150
+ sort_order: 1,
2483
3151
  total_supply: null,
2484
- logo_url: "https://empire.realms.world/images/resources/2.png"
3152
+ hidden: true,
3153
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/e443afeb-850b-46a0-a7ba-a473306d6b00/logo"
2485
3154
  },
2486
3155
  {
2487
- name: "Coal",
2488
- symbol: "COAL",
3156
+ name: "Eternum Mithral",
3157
+ symbol: "MITHRAL",
2489
3158
  decimals: 18,
2490
- l2_token_address: "0x00ce635e3f241b0ae78c46a929d84a9101910188f9c4024eaa7559556503c31a",
2491
- sort_order: 11,
3159
+ l2_token_address: "0x67ba235c569c23877064b2ac6ebd4d79f32d3c00f5fab8e28a3b5700b957f6",
3160
+ sort_order: 1,
2492
3161
  total_supply: null,
2493
- logo_url: "https://empire.realms.world/images/resources/3.png"
3162
+ hidden: true,
3163
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/33dc517f-8a66-45eb-f2c5-de5388e47500/logo"
2494
3164
  },
2495
3165
  {
2496
- name: "Copper",
2497
- symbol: "COPPER",
3166
+ name: "Eternum Alchemical Silver",
3167
+ symbol: "ALCHEMICALSILVER",
2498
3168
  decimals: 18,
2499
- l2_token_address: "0x066ed5c928ee027a9419ace1cbea8389885161db5572a7c5c4fef2310e9bf494",
2500
- sort_order: 12,
3169
+ l2_token_address: "0x3956a5301e99522038a2e7dcb9c2a89bf087ffa79310ee0a508b5538efd8ddd",
3170
+ sort_order: 1,
2501
3171
  total_supply: null,
2502
- logo_url: "https://empire.realms.world/images/resources/4.png"
3172
+ hidden: true,
3173
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/3d2e0fd8-4af8-49a0-4bdb-691a4d6ef800/logo"
2503
3174
  },
2504
3175
  {
2505
- name: "Obsidian",
2506
- symbol: "OBSIDIAN",
3176
+ name: "Eternum Cold Iron",
3177
+ symbol: "COLDIRON",
2507
3178
  decimals: 18,
2508
- l2_token_address: "0x03b6448d09dcd023507376402686261f5d6739455fa02f804907b066e488da66",
2509
- sort_order: 13,
3179
+ l2_token_address: "0x555d713e59d4ff96b7960447e9bc9e79bfdeab5b0eea74e3df81bce61cfbc77",
3180
+ sort_order: 1,
2510
3181
  total_supply: null,
2511
- logo_url: "https://empire.realms.world/images/resources/5.png"
3182
+ hidden: true,
3183
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/878c0d8a-8e2c-4281-0896-9cbbb2ef9400/logo"
2512
3184
  },
2513
3185
  {
2514
- name: "Silver",
2515
- symbol: "SILVER",
3186
+ name: "Eternum Deep Crystal",
3187
+ symbol: "DEEPCRYSTAL",
2516
3188
  decimals: 18,
2517
- l2_token_address: "0x06fe21d2d4a8a05bdb70f09c9250af9870020d5dcc35f410b4a39d6605c3e353",
2518
- sort_order: 14,
3189
+ l2_token_address: "0x1d655ac834d38df7921074fc1588411e202b1af83307cbd996983aff52db3a8",
3190
+ sort_order: 1,
2519
3191
  total_supply: null,
2520
- logo_url: "https://empire.realms.world/images/resources/6.png"
3192
+ hidden: true,
3193
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/1c2c954f-448c-476b-a4a6-19b52efe3e00/logo"
2521
3194
  },
2522
3195
  {
2523
- name: "Ironwood",
2524
- symbol: "IRONWOOD",
3196
+ name: "Eternum Ruby",
3197
+ symbol: "RUBY",
2525
3198
  decimals: 18,
2526
- l2_token_address: "0x01720cf6318bff45e62acc588680ae3cd4d5f8465b1d52cb710533c9299b031a",
2527
- sort_order: 15,
3199
+ l2_token_address: "0x3d9b66720959d0e7687b898292c10e62e78626f2dba5e1909961a2ce3f86612",
3200
+ sort_order: 1,
2528
3201
  total_supply: null,
2529
- logo_url: "https://empire.realms.world/images/resources/7.png"
3202
+ hidden: true,
3203
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/6a45b34d-3bfe-4994-45b0-f2bee8abac00/logo"
2530
3204
  },
2531
3205
  {
2532
- name: "Cold Iron",
2533
- symbol: "COLDIRON",
3206
+ name: "Eternum Diamonds",
3207
+ symbol: "DIAMONDS",
2534
3208
  decimals: 18,
2535
- l2_token_address: "0x0555d713e59d4ff96b7960447e9bc9e79bfdeab5b0eea74e3df81bce61cfbc77",
2536
- sort_order: 16,
3209
+ l2_token_address: "0xe03ea8ae385f64754820af5c01c36abf1b8130dd6797d3fd9d430e4114e876",
3210
+ sort_order: 1,
2537
3211
  total_supply: null,
2538
- logo_url: "https://empire.realms.world/images/resources/8.png"
3212
+ hidden: true,
3213
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/b1fa609d-8799-4754-cdea-ab69514ca700/logo"
2539
3214
  },
2540
3215
  {
2541
- name: "Gold",
2542
- symbol: "GOLD",
3216
+ name: "Eternum Hartwood",
3217
+ symbol: "HARTWOOD",
2543
3218
  decimals: 18,
2544
- l2_token_address: "0x000dff9dca192609c4e86ab3be22c7ec1e968876c992d21986f3c542be97fa2f",
2545
- sort_order: 17,
3219
+ l2_token_address: "0x5620aa7170cd66dbcbc37d03087bfe4633ffef91d3e4d97b501de906004f79b",
3220
+ sort_order: 1,
2546
3221
  total_supply: null,
2547
- logo_url: "https://empire.realms.world/images/resources/9.png"
3222
+ hidden: true,
3223
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/27e37e85-91bd-4ee1-0552-1e0795077400/logo"
2548
3224
  },
2549
3225
  {
2550
- name: "Hartwood",
2551
- symbol: "HARTWOOD",
3226
+ name: "Eternum Ignium",
3227
+ symbol: "IGNIUM",
2552
3228
  decimals: 18,
2553
- l2_token_address: "0x05620aa7170cd66dbcbc37d03087bfe4633ffef91d3e4d97b501de906004f79b",
2554
- sort_order: 18,
3229
+ l2_token_address: "0x625c1f789b03ebebc7a9322366f38ebad1f693b84b2abd8cb8f5b2748b0cdd5",
3230
+ sort_order: 1,
2555
3231
  total_supply: null,
2556
- logo_url: "https://empire.realms.world/images/resources/10.png"
3232
+ hidden: true,
3233
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/58591e20-24fb-4353-417a-81d877a5a200/logo"
2557
3234
  },
2558
3235
  {
2559
- name: "Diamonds",
2560
- symbol: "DIAMONDS",
3236
+ name: "Eternum Twilight Quartz",
3237
+ symbol: "TWILIGHTQUARTZ",
2561
3238
  decimals: 18,
2562
- l2_token_address: "0x00e03ea8ae385f64754820af5c01c36abf1b8130dd6797d3fd9d430e4114e876",
2563
- sort_order: 19,
3239
+ l2_token_address: "0x35e24c02409c3cfe8d5646399a62c4d102bb782938d5f5180e92c9c62d3faf7",
3240
+ sort_order: 1,
2564
3241
  total_supply: null,
2565
- logo_url: "https://empire.realms.world/images/resources/11.png"
3242
+ hidden: true,
3243
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/2f8cb892-e82a-4af3-bd09-316061faec00/logo"
2566
3244
  },
2567
3245
  {
2568
- name: "Sapphire",
2569
- symbol: "SAPPHIRE",
3246
+ name: "Eternum True Ice",
3247
+ symbol: "TRUEICE",
2570
3248
  decimals: 18,
2571
- l2_token_address: "0x02f8dd022568af8f9f718aa37707a9b858529db56910633a160456838b6cbcbc",
2572
- sort_order: 20,
3249
+ l2_token_address: "0x4485f5a6e16562e1c761cd348e63256d00389e3ddf4f5d98afe7ab44c57c481",
3250
+ sort_order: 1,
2573
3251
  total_supply: null,
2574
- logo_url: "https://empire.realms.world/images/resources/12.png"
3252
+ hidden: true,
3253
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/fe4bfc17-6553-4dc5-58d2-f452b4aa8a00/logo"
2575
3254
  },
2576
3255
  {
2577
- name: "Ruby",
2578
- symbol: "RUBY",
3256
+ name: "Eternum Adamantine",
3257
+ symbol: "ADAMANTINE",
2579
3258
  decimals: 18,
2580
- l2_token_address: "0x03d9b66720959d0e7687b898292c10e62e78626f2dba5e1909961a2ce3f86612",
2581
- sort_order: 21,
3259
+ l2_token_address: "0x367f838f85a2f5e1580d6f011e4476f581083314cff8721ba3dda9706076eed",
3260
+ sort_order: 1,
2582
3261
  total_supply: null,
2583
- logo_url: "https://empire.realms.world/images/resources/13.png"
3262
+ hidden: true,
3263
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/13bd026b-3612-480e-0119-04cf4c505a00/logo"
2584
3264
  },
2585
3265
  {
2586
- name: "Deep Crystal",
2587
- symbol: "DEEPCRYSTAL",
3266
+ name: "Eternum Sapphire",
3267
+ symbol: "SAPPHIRE",
2588
3268
  decimals: 18,
2589
- l2_token_address: "0x01d655ac834d38df7921074fc1588411e202b1af83307cbd996983aff52db3a8",
2590
- sort_order: 22,
3269
+ l2_token_address: "0x2f8dd022568af8f9f718aa37707a9b858529db56910633a160456838b6cbcbc",
3270
+ sort_order: 1,
2591
3271
  total_supply: null,
2592
- logo_url: "https://empire.realms.world/images/resources/14.png"
3272
+ hidden: true,
3273
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/0ebf555f-e732-4054-f8e5-55b2ed49ba00/logo"
2593
3274
  },
2594
3275
  {
2595
- name: "Ignium",
2596
- symbol: "IGNIUM",
3276
+ name: "Eternum Ethereal Silica",
3277
+ symbol: "ETHEREALSILICA",
2597
3278
  decimals: 18,
2598
- l2_token_address: "0x0625c1f789b03ebebc7a9322366f38ebad1f693b84b2abd8cb8f5b2748b0cdd5",
2599
- sort_order: 23,
3279
+ l2_token_address: "0x68b6e23cbbd58a644700f55e96c83580921e9f521b6e5175396b53ba7910e7d",
3280
+ sort_order: 1,
2600
3281
  total_supply: null,
2601
- logo_url: "https://empire.realms.world/images/resources/15.png"
3282
+ hidden: true,
3283
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/f02a5b43-bfcf-408c-7d1b-fcfe68b02d00/logo"
2602
3284
  },
2603
3285
  {
2604
- name: "Ethereal Silica",
2605
- symbol: "ETHEREALSILICA",
3286
+ name: "Eternum Dragon Hide",
3287
+ symbol: "DRAGONHIDE",
2606
3288
  decimals: 18,
2607
- l2_token_address: "0x068b6e23cbbd58a644700f55e96c83580921e9f521b6e5175396b53ba7910e7d",
2608
- sort_order: 24,
3289
+ l2_token_address: "0x3bf856515bece3c93f5061b7941b8645f817a0acab93c758b8c7b4bc0afa3c6",
3290
+ sort_order: 1,
2609
3291
  total_supply: null,
2610
- logo_url: "https://empire.realms.world/images/resources/16.png"
3292
+ hidden: true,
3293
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/e74955fc-5c8a-4dff-4882-a49a46a5a800/logo"
2611
3294
  },
2612
3295
  {
2613
- name: "True Ice",
2614
- symbol: "TRUEICE",
3296
+ name: "Eternum Ancient Fragment",
3297
+ symbol: "ANCIENTFRAGMENT",
2615
3298
  decimals: 18,
2616
- l2_token_address: "0x04485f5a6e16562e1c761cd348e63256d00389e3ddf4f5d98afe7ab44c57c481",
2617
- sort_order: 25,
3299
+ l2_token_address: "0x0695b08ecdfdd828c2e6267da62f59e6d7543e690ef56a484df25c8566b332a5",
3300
+ sort_order: 1,
2618
3301
  total_supply: null,
2619
- logo_url: "https://empire.realms.world/images/resources/17.png"
3302
+ hidden: true,
3303
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/9af855b7-4790-4390-9466-6bed4481ab00/logo"
2620
3304
  },
2621
3305
  {
2622
- name: "Twilight Quartz",
2623
- symbol: "TWILIGHTQUARTZ",
3306
+ name: "Eternum Donkey",
3307
+ symbol: "DONKEY",
2624
3308
  decimals: 18,
2625
- l2_token_address: "0x035e24c02409c3cfe8d5646399a62c4d102bb782938d5f5180e92c9c62d3faf7",
2626
- sort_order: 26,
3309
+ l2_token_address: "0x264be95a4a2ace20add68cb321acdccd2f9f8440ee1c7abd85da44ddab01085",
3310
+ sort_order: 1,
2627
3311
  total_supply: null,
2628
- logo_url: "https://empire.realms.world/images/resources/18.png"
3312
+ hidden: true,
3313
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/20817378-a45e-4521-f464-10f6dd13c500/logo"
2629
3314
  },
2630
3315
  {
2631
- name: "Alchemical Silver",
2632
- symbol: "ALCHEMICALSILVER",
3316
+ name: "Eternum Knight",
3317
+ symbol: "KNIGHT",
2633
3318
  decimals: 18,
2634
- l2_token_address: "0x03956a5301e99522038a2e7dcb9c2a89bf087ffa79310ee0a508b5538efd8ddd",
2635
- sort_order: 27,
3319
+ l2_token_address: "0xac965f9e67164723c16735a9da8dbc9eb8e43b1bd0323591e87c056badf606",
3320
+ sort_order: 1,
2636
3321
  total_supply: null,
2637
- logo_url: "https://empire.realms.world/images/resources/19.png"
3322
+ hidden: true,
3323
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/8787ed1f-af5c-4873-c01a-55f05e999a00/logo"
2638
3324
  },
2639
3325
  {
2640
- name: "Adamantine",
2641
- symbol: "ADAMANTINE",
3326
+ name: "Eternum Crossbowman",
3327
+ symbol: "CROSSBOWMAN",
2642
3328
  decimals: 18,
2643
- l2_token_address: "0x0367f838f85a2f5e1580d6f011e4476f581083314cff8721ba3dda9706076eed",
2644
- sort_order: 28,
3329
+ l2_token_address: "0x67e4ac00a241be06ba6afc11fa2715ec7da0c42c05a67ef6ecfcfeda725aaa8",
3330
+ sort_order: 1,
2645
3331
  total_supply: null,
2646
- logo_url: "https://empire.realms.world/images/resources/20.png"
3332
+ hidden: true,
3333
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/dec7f31b-4b1d-46bb-4fca-c0253cf55a00/logo"
2647
3334
  },
2648
3335
  {
2649
- name: "Mithral",
2650
- symbol: "MITHRAL",
3336
+ name: "Eternum Paladin",
3337
+ symbol: "PALADIN",
2651
3338
  decimals: 18,
2652
- l2_token_address: "0x0067ba235c569c23877064b2ac6ebd4d79f32d3c00f5fab8e28a3b5700b957f6",
2653
- sort_order: 29,
3339
+ l2_token_address: "0x3bc86299bee061c7c8d7546ccb62b9daf9bffc653b1508facb722c6593874bc",
3340
+ sort_order: 1,
2654
3341
  total_supply: null,
2655
- logo_url: "https://empire.realms.world/images/resources/21.png"
3342
+ hidden: true,
3343
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/7d2cd5a5-f38a-49f6-11f8-ba3b59a59e00/logo"
2656
3344
  },
2657
3345
  {
2658
- name: "Dragon Hide",
2659
- symbol: "DRAGONHIDE",
3346
+ name: "Eternum Wheat",
3347
+ symbol: "WHEAT",
2660
3348
  decimals: 18,
2661
- l2_token_address: "0x03bf856515bece3c93f5061b7941b8645f817a0acab93c758b8c7b4bc0afa3c6",
2662
- sort_order: 30,
3349
+ l2_token_address: "0x57a3f1ee475e072ce3be41785c0e889b7295d7a0dcc22b992c5b9408dbeb280",
3350
+ sort_order: 1,
2663
3351
  total_supply: null,
2664
- logo_url: "https://empire.realms.world/images/resources/22.png"
3352
+ hidden: true,
3353
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/c338b6a8-77c4-4dd6-34f5-1af0d3fb1e00/logo"
2665
3354
  },
2666
3355
  {
2667
- name: "Demon Hide",
2668
- symbol: "DEMONHIDE",
3356
+ name: "Eternum Fish",
3357
+ symbol: "FISH",
2669
3358
  decimals: 18,
2670
- l2_token_address: "0x03b847fbef9d344ba968edc945100e6ab0258a4b1b91f8665f85a3d814c3e4d4",
2671
- sort_order: 31,
3359
+ l2_token_address: "0x27719173cfe10f1aa38d2aaed0a075b6077290f1e817aa3485d2b828394f4d9",
3360
+ sort_order: 1,
2672
3361
  total_supply: null,
2673
- logo_url: "https://empire.realms.world/images/resources/22.png"
3362
+ hidden: true,
3363
+ logo_url: "https://imagedelivery.net/0xPAQaDtnQhBs8IzYRIlNg/6deef27f-df40-4248-4e1b-ed1d79a3f000/logo"
2674
3364
  }
2675
3365
  ];
2676
3366
  var controllerConfigs = configs;
2677
3367
  var erc20Metadata = metadata;
2678
3368
  var defaultTheme = configs["cartridge"].theme;
2679
3369
 
3370
+ exports.ArgentWallet = ArgentWallet;
3371
+ exports.MetaMaskWallet = MetaMaskWallet;
2680
3372
  exports.NotReadyToConnect = NotReadyToConnect;
3373
+ exports.PhantomWallet = PhantomWallet;
2681
3374
  exports.ResponseCodes = ResponseCodes;
3375
+ exports.WalletBridge = WalletBridge;
2682
3376
  exports.controllerConfigs = controllerConfigs;
2683
3377
  exports.default = ControllerProvider;
2684
3378
  exports.defaultTheme = defaultTheme;