@silvana-one/api 1.0.6 → 1.0.7

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.
@@ -684,33 +684,17 @@ export type NftMetadata = {
684
684
  * Optional banner image URL or IPFS hash. Required for Collection Master NFT.
685
685
  */
686
686
  banner?: string;
687
- traits?: Array<{
688
- /**
689
- * The trait key/name
690
- */
691
- key: string;
692
- /**
693
- * The type of the trait value
694
- */
695
- type: 'string' | 'text' | 'image' | 'url' | 'field' | 'number' | 'address' | 'map' | 'tree';
696
- /**
697
- * The trait value, can be a string or complex object depending on type
698
- */
699
- value: string | {
700
- [key: string]: unknown;
701
- };
702
- /**
703
- * Optional flag indicating if this trait is private
704
- */
705
- isPrivate?: boolean;
706
- }>;
687
+ /**
688
+ * Array of traits associated with the NFT
689
+ */
690
+ traits?: Array<Trait>;
707
691
  };
708
692
 
709
693
  export type NftData = {
710
694
  /**
711
695
  * The public key of the owner of the NFT
712
696
  */
713
- owner: string;
697
+ owner?: string;
714
698
  /**
715
699
  * The public key of the approved address of the NFT
716
700
  */
@@ -765,6 +749,82 @@ export type NftData = {
765
749
  requireOwnerAuthorizationToUpgrade?: boolean;
766
750
  };
767
751
 
752
+ export type Chain = {
753
+ /**
754
+ * The chain name
755
+ */
756
+ chain: 'mina' | 'zeko';
757
+ /**
758
+ * The network name
759
+ */
760
+ network: 'devnet' | 'mainnet';
761
+ };
762
+
763
+ export type Trait = {
764
+ /**
765
+ * The trait key/name
766
+ */
767
+ key: string;
768
+ /**
769
+ * The type of the trait value
770
+ */
771
+ type: 'string' | 'text' | 'image' | 'url' | 'field' | 'number' | 'address' | 'map' | 'tree';
772
+ /**
773
+ * The trait value, can be a string or complex object depending on type
774
+ */
775
+ value: string | {
776
+ [key: string]: unknown;
777
+ };
778
+ /**
779
+ * Optional flag indicating if this trait is private
780
+ */
781
+ isPrivate?: boolean;
782
+ };
783
+
784
+ export type CmsnftData = {
785
+ chain: Chain;
786
+ /**
787
+ * The address of the NFT collection
788
+ */
789
+ collectionAddress: string;
790
+ /**
791
+ * The symbol of the NFT
792
+ */
793
+ symbol?: string;
794
+ /**
795
+ * The name of the NFT
796
+ */
797
+ name: string;
798
+ /**
799
+ * Optional description of the NFT
800
+ */
801
+ description?: string;
802
+ /**
803
+ * URL to the NFT image
804
+ */
805
+ imageURL: string;
806
+ /**
807
+ * Array of traits associated with the NFT
808
+ */
809
+ traits?: Array<Trait>;
810
+ /**
811
+ * Data associated with the NFT
812
+ */
813
+ nftData?: NftData;
814
+ /**
815
+ * The price of the NFT
816
+ */
817
+ price?: number;
818
+ /**
819
+ * The start time of the minting period( unix timestamp in ms)
820
+ */
821
+ mintStart?: number;
822
+ /**
823
+ * The end time of the minting period( unix timestamp in ms)
824
+ */
825
+ mintEnd?: number;
826
+ };
827
+
768
828
  export type NftTransferParams = {
769
829
  /**
770
830
  * The address of the owner or approved
@@ -2529,6 +2589,211 @@ export type TransferNftResponses = {
2529
2589
 
2530
2590
  export type TransferNftResponse = TransferNftResponses[keyof TransferNftResponses];
2531
2591
 
2592
+ export type CmsStoreNftData = {
2593
+ body: {
2594
+ chain: Chain;
2595
+ /**
2596
+ * The expiry time of the request( unix timestamp in ms)
2597
+ */
2598
+ signatureExpiry: number;
2599
+ /**
2600
+ * The signature of the Collection creator
2601
+ */
2602
+ signature: string;
2603
+ nft: CmsnftData;
2604
+ };
2605
+ path?: never;
2606
+ query?: never;
2607
+ url: '/nft/cms/store';
2608
+ };
2609
+
2610
+ export type CmsStoreNftErrors = {
2611
+ /**
2612
+ * Bad request - invalid input parameters.
2613
+ */
2614
+ 400: ErrorResponse;
2615
+ /**
2616
+ * Unauthorized - user not authenticated.
2617
+ */
2618
+ 401: ErrorResponse;
2619
+ /**
2620
+ * Forbidden - user doesn't have permission.
2621
+ */
2622
+ 403: ErrorResponse;
2623
+ /**
2624
+ * Too many requests.
2625
+ */
2626
+ 429: ErrorResponse;
2627
+ /**
2628
+ * Internal server error - something went wrong during the request.
2629
+ */
2630
+ 500: ErrorResponse;
2631
+ /**
2632
+ * Service unavailable - blockchain or other external service is down.
2633
+ */
2634
+ 503: ErrorResponse;
2635
+ };
2636
+
2637
+ export type CmsStoreNftError = CmsStoreNftErrors[keyof CmsStoreNftErrors];
2638
+
2639
+ export type CmsStoreNftResponses = {
2640
+ /**
2641
+ * Successfully built transfer transaction.
2642
+ */
2643
+ 200: {
2644
+ /**
2645
+ * Indicates whether the NFT was successfully stored in CMS
2646
+ */
2647
+ success?: boolean;
2648
+ };
2649
+ };
2650
+
2651
+ export type CmsStoreNftResponse = CmsStoreNftResponses[keyof CmsStoreNftResponses];
2652
+
2653
+ export type CmsReadNftData = {
2654
+ body: {
2655
+ chain: Chain;
2656
+ /**
2657
+ * The address of the NFT collection
2658
+ */
2659
+ collectionAddress: string;
2660
+ /**
2661
+ * The name of the NFT. If not provided, all NFTs will be returned that can be minted now.
2662
+ */
2663
+ nftName?: string;
2664
+ /**
2665
+ * The expiry time of the request (unix timestamp in ms)
2666
+ */
2667
+ signatureExpiry?: number;
2668
+ /**
2669
+ * The signature of the Collection creator. Required to get NFTs that cannot be minted now.
2670
+ */
2671
+ signature?: string;
2672
+ };
2673
+ path?: never;
2674
+ query?: never;
2675
+ url: '/nft/cms/read';
2676
+ };
2677
+
2678
+ export type CmsReadNftErrors = {
2679
+ /**
2680
+ * Bad request - invalid input parameters.
2681
+ */
2682
+ 400: ErrorResponse;
2683
+ /**
2684
+ * Unauthorized - user not authenticated.
2685
+ */
2686
+ 401: ErrorResponse;
2687
+ /**
2688
+ * Forbidden - user doesn't have permission.
2689
+ */
2690
+ 403: ErrorResponse;
2691
+ /**
2692
+ * Too many requests.
2693
+ */
2694
+ 429: ErrorResponse;
2695
+ /**
2696
+ * Internal server error - something went wrong during the request.
2697
+ */
2698
+ 500: ErrorResponse;
2699
+ /**
2700
+ * Service unavailable - blockchain or other external service is down.
2701
+ */
2702
+ 503: ErrorResponse;
2703
+ };
2704
+
2705
+ export type CmsReadNftError = CmsReadNftErrors[keyof CmsReadNftErrors];
2706
+
2707
+ export type CmsReadNftResponses = {
2708
+ /**
2709
+ * Successfully retrieved NFTs from CMS.
2710
+ */
2711
+ 200: {
2712
+ /**
2713
+ * The NFTs data retrieved from CMS
2714
+ */
2715
+ nfts?: Array<CmsnftData>;
2716
+ };
2717
+ };
2718
+
2719
+ export type CmsReadNftResponse = CmsReadNftResponses[keyof CmsReadNftResponses];
2720
+
2721
+ export type CmsReserveNftData = {
2722
+ body: {
2723
+ chain: Chain;
2724
+ /**
2725
+ * The address of the NFT collection
2726
+ */
2727
+ collectionAddress: string;
2728
+ /**
2729
+ * The name of the NFT
2730
+ */
2731
+ nftName: string;
2732
+ /**
2733
+ * Indicates whether the NFT should be reserved in CMS or the reserve should be removed. Default is true.
2734
+ */
2735
+ reserve?: boolean;
2736
+ /**
2737
+ * The expiry time of the request( unix timestamp in ms). Required if reserve is false.
2738
+ */
2739
+ signatureExpiry?: number;
2740
+ /**
2741
+ * The signature of the Collection creator. Required if reserve is false.
2742
+ */
2743
+ signature?: string;
2744
+ };
2745
+ path?: never;
2746
+ query?: never;
2747
+ url: '/nft/cms/reserve';
2748
+ };
2749
+
2750
+ export type CmsReserveNftErrors = {
2751
+ /**
2752
+ * Bad request - invalid input parameters.
2753
+ */
2754
+ 400: ErrorResponse;
2755
+ /**
2756
+ * Unauthorized - user not authenticated.
2757
+ */
2758
+ 401: ErrorResponse;
2759
+ /**
2760
+ * Forbidden - user doesn't have permission.
2761
+ */
2762
+ 403: ErrorResponse;
2763
+ /**
2764
+ * Too many requests.
2765
+ */
2766
+ 429: ErrorResponse;
2767
+ /**
2768
+ * Internal server error - something went wrong during the request.
2769
+ */
2770
+ 500: ErrorResponse;
2771
+ /**
2772
+ * Service unavailable - blockchain or other external service is down.
2773
+ */
2774
+ 503: ErrorResponse;
2775
+ };
2776
+
2777
+ export type CmsReserveNftError = CmsReserveNftErrors[keyof CmsReserveNftErrors];
2778
+
2779
+ export type CmsReserveNftResponses = {
2780
+ /**
2781
+ * Successfully built transfer transaction.
2782
+ */
2783
+ 200: {
2784
+ /**
2785
+ * Indicates whether the NFT was successfully reserved in CMS
2786
+ */
2787
+ reserved?: boolean;
2788
+ /**
2789
+ * The NFT data retrieved from CMS
2790
+ */
2791
+ nft?: CmsnftData;
2792
+ };
2793
+ };
2794
+
2795
+ export type CmsReserveNftResponse = CmsReserveNftResponses[keyof CmsReserveNftResponses];
2796
+
2532
2797
  export type ApproveNftData = {
2533
2798
  body: NftApproveTransactionParams;
2534
2799
  path?: never;