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