@medialane/sdk 0.68.0 → 0.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,17 +35,14 @@ var COORDINATES = {
35
35
  creatorCoinFactoryClassHash: "0x51765926b1344c9a20b8cd4b5abe7b7d47375ae97cf6804db3ea5d4b05a9b55",
36
36
  creatorCoinStartBlock: 10474544,
37
37
  ekuboCore: "0x00000005dd3d2f4429af886cd1a3b08289dbcea99a294197e9eb43b0e0325b4b",
38
- ipTicketsFactory: "0x059802639b41e9c6449c3d557703e610ef639a91866dc1dd44216f9f37111ac5",
39
- ipTicketCollectionClassHash: "0x047bd108881457c4f4db6c64671c1dd402f4d8c79fd9182f03a2dd841335a34b",
38
+ ipTicketsFactory: "0x0767bf5b57e1f812463159b5ed683183e1b0c3f942b74871b5c6cd6a93c15e99",
39
+ ipTicketCollectionClassHash: "0x0449e8eb7c117740d07cb8e0157d32c8ba3d19d1cfd2784ed5e139f5a1e04acc",
40
40
  ipTicketsFactoryClassHash: "0x04a739ac3a673ebd0db96bb24475600797c3ed34827e79517f9b2b1640276e6a",
41
- ipTicketsStartBlock: 11836622,
42
- ipClubRegistry: "0x00e189c619b6bb07d78973a149641c59c37eb0716f8584d7520bce12d303eede",
43
- ipClubNftClassHash: "0x02bc9b20cca21b04245e9215bf7121f4d7295b195890e449b472b573017fb889",
44
- ipClubStartBlock: 11404776,
45
- ipClubFactory: "0x05519705345ce225db666253a21cf89d1c675658f16cc6ae4320cefd1a1219a3",
46
- ipClubFactoryClassHash: "0x07197062578375d962b2d42d3e91560770b11b1c97a9defb74c706a2c5299473",
47
- ipClubCollectionClassHash: "0x35b8836a2269523ae9176077ec525451cce1053b2acd9fae3b05354aa4eded3",
48
- ipClubFactoryStartBlock: 11884796,
41
+ ipTicketsStartBlock: 11933694,
42
+ ipClubFactory: "0x06a0b0be16d70c78f2e18119dbf90e5911cbfd5d8d484bc555dc61d96f56a2b9",
43
+ ipClubFactoryClassHash: "0x05d9d431bd3532b1fa4d5bab572f49c5ad8034ee3cc83951aa41ae82c9cad266",
44
+ ipClubCollectionClassHash: "0x05b8477c72e6bf0cf64967d71155021fd4d77d9a57e8805c6b40709121c002c5",
45
+ ipClubFactoryStartBlock: 11928775,
49
46
  // v3 redesign (deployed 2026-07-15): single contract is both the
50
47
  // offer/bid/proposal registry and the license collection (embeds
51
48
  // ERC721Component directly) — no separate receipt contract, no
@@ -879,8 +876,6 @@ SN.dropCollectionClassHash;
879
876
  SN.nftComments;
880
877
  SN.ipTicketsFactory;
881
878
  SN.ipTicketCollectionClassHash;
882
- SN.ipClubRegistry;
883
- SN.ipClubNftClassHash;
884
879
  SN.ipClubFactory;
885
880
  SN.ipClubCollectionClassHash;
886
881
  SN.ipSponsorship;
@@ -5640,6 +5635,17 @@ var IPTicketCollectionABI = [
5640
5635
  ],
5641
5636
  "state_mutability": "view"
5642
5637
  },
5638
+ {
5639
+ "type": "function",
5640
+ "name": "ticket_count",
5641
+ "inputs": [],
5642
+ "outputs": [
5643
+ {
5644
+ "type": "core::integer::u256"
5645
+ }
5646
+ ],
5647
+ "state_mutability": "view"
5648
+ },
5643
5649
  {
5644
5650
  "type": "function",
5645
5651
  "name": "name",
@@ -6584,12 +6590,12 @@ var IPTicketCollectionFactoryABI = [
6584
6590
  }
6585
6591
  ];
6586
6592
 
6587
- // src/starknet/abis/ipClub.ts
6588
- var IPClubABI = [
6593
+ // src/starknet/abis/ipClubFactory.ts
6594
+ var IPClubFactoryABI = [
6589
6595
  {
6590
6596
  "type": "impl",
6591
- "name": "IPClubImpl",
6592
- "interface_name": "ip_club::interfaces::IIPClub::IIPClub"
6597
+ "name": "IPClubCollectionFactoryImpl",
6598
+ "interface_name": "ip_club::interface::IIPClubCollectionFactory"
6593
6599
  },
6594
6600
  {
6595
6601
  "type": "struct",
@@ -6609,20 +6615,168 @@ var IPClubABI = [
6609
6615
  }
6610
6616
  ]
6611
6617
  },
6618
+ {
6619
+ "type": "interface",
6620
+ "name": "ip_club::interface::IIPClubCollectionFactory",
6621
+ "items": [
6622
+ {
6623
+ "type": "function",
6624
+ "name": "collection_class_hash",
6625
+ "inputs": [],
6626
+ "outputs": [
6627
+ {
6628
+ "type": "core::starknet::class_hash::ClassHash"
6629
+ }
6630
+ ],
6631
+ "state_mutability": "view"
6632
+ },
6633
+ {
6634
+ "type": "function",
6635
+ "name": "version",
6636
+ "inputs": [],
6637
+ "outputs": [
6638
+ {
6639
+ "type": "core::byte_array::ByteArray"
6640
+ }
6641
+ ],
6642
+ "state_mutability": "view"
6643
+ },
6644
+ {
6645
+ "type": "function",
6646
+ "name": "deploy_collection",
6647
+ "inputs": [
6648
+ {
6649
+ "name": "name",
6650
+ "type": "core::byte_array::ByteArray"
6651
+ },
6652
+ {
6653
+ "name": "symbol",
6654
+ "type": "core::byte_array::ByteArray"
6655
+ },
6656
+ {
6657
+ "name": "base_uri",
6658
+ "type": "core::byte_array::ByteArray"
6659
+ }
6660
+ ],
6661
+ "outputs": [
6662
+ {
6663
+ "type": "core::starknet::contract_address::ContractAddress"
6664
+ }
6665
+ ],
6666
+ "state_mutability": "external"
6667
+ }
6668
+ ]
6669
+ },
6670
+ {
6671
+ "type": "impl",
6672
+ "name": "SRC5Impl",
6673
+ "interface_name": "openzeppelin_introspection::interface::ISRC5"
6674
+ },
6612
6675
  {
6613
6676
  "type": "enum",
6614
- "name": "core::option::Option::<core::integer::u32>",
6677
+ "name": "core::bool",
6615
6678
  "variants": [
6616
6679
  {
6617
- "name": "Some",
6618
- "type": "core::integer::u32"
6680
+ "name": "False",
6681
+ "type": "()"
6619
6682
  },
6620
6683
  {
6621
- "name": "None",
6684
+ "name": "True",
6622
6685
  "type": "()"
6623
6686
  }
6624
6687
  ]
6625
6688
  },
6689
+ {
6690
+ "type": "interface",
6691
+ "name": "openzeppelin_introspection::interface::ISRC5",
6692
+ "items": [
6693
+ {
6694
+ "type": "function",
6695
+ "name": "supports_interface",
6696
+ "inputs": [
6697
+ {
6698
+ "name": "interface_id",
6699
+ "type": "core::felt252"
6700
+ }
6701
+ ],
6702
+ "outputs": [
6703
+ {
6704
+ "type": "core::bool"
6705
+ }
6706
+ ],
6707
+ "state_mutability": "view"
6708
+ }
6709
+ ]
6710
+ },
6711
+ {
6712
+ "type": "constructor",
6713
+ "name": "constructor",
6714
+ "inputs": [
6715
+ {
6716
+ "name": "collection_class_hash",
6717
+ "type": "core::starknet::class_hash::ClassHash"
6718
+ }
6719
+ ]
6720
+ },
6721
+ {
6722
+ "type": "event",
6723
+ "name": "openzeppelin_introspection::src5::SRC5Component::Event",
6724
+ "kind": "enum",
6725
+ "variants": []
6726
+ },
6727
+ {
6728
+ "type": "event",
6729
+ "name": "ip_club::IPClubCollectionFactory::IPClubCollectionFactory::ClubDeployed",
6730
+ "kind": "struct",
6731
+ "members": [
6732
+ {
6733
+ "name": "collection_address",
6734
+ "type": "core::starknet::contract_address::ContractAddress",
6735
+ "kind": "key"
6736
+ },
6737
+ {
6738
+ "name": "owner",
6739
+ "type": "core::starknet::contract_address::ContractAddress",
6740
+ "kind": "key"
6741
+ },
6742
+ {
6743
+ "name": "name",
6744
+ "type": "core::byte_array::ByteArray",
6745
+ "kind": "data"
6746
+ },
6747
+ {
6748
+ "name": "symbol",
6749
+ "type": "core::byte_array::ByteArray",
6750
+ "kind": "data"
6751
+ }
6752
+ ]
6753
+ },
6754
+ {
6755
+ "type": "event",
6756
+ "name": "ip_club::IPClubCollectionFactory::IPClubCollectionFactory::Event",
6757
+ "kind": "enum",
6758
+ "variants": [
6759
+ {
6760
+ "name": "SRC5Event",
6761
+ "type": "openzeppelin_introspection::src5::SRC5Component::Event",
6762
+ "kind": "flat"
6763
+ },
6764
+ {
6765
+ "name": "ClubDeployed",
6766
+ "type": "ip_club::IPClubCollectionFactory::IPClubCollectionFactory::ClubDeployed",
6767
+ "kind": "nested"
6768
+ }
6769
+ ]
6770
+ }
6771
+ ];
6772
+
6773
+ // src/starknet/abis/ipClubCollection.ts
6774
+ var IPClubCollectionABI = [
6775
+ {
6776
+ "type": "impl",
6777
+ "name": "ERC1155MetadataURIImpl",
6778
+ "interface_name": "openzeppelin_token::erc1155::interface::IERC1155MetadataURI"
6779
+ },
6626
6780
  {
6627
6781
  "type": "struct",
6628
6782
  "name": "core::integer::u256",
@@ -6638,26 +6792,57 @@ var IPClubABI = [
6638
6792
  ]
6639
6793
  },
6640
6794
  {
6641
- "type": "enum",
6642
- "name": "core::option::Option::<core::integer::u256>",
6643
- "variants": [
6795
+ "type": "struct",
6796
+ "name": "core::byte_array::ByteArray",
6797
+ "members": [
6644
6798
  {
6645
- "name": "Some",
6646
- "type": "core::integer::u256"
6799
+ "name": "data",
6800
+ "type": "core::array::Array::<core::bytes_31::bytes31>"
6647
6801
  },
6648
6802
  {
6649
- "name": "None",
6650
- "type": "()"
6803
+ "name": "pending_word",
6804
+ "type": "core::felt252"
6805
+ },
6806
+ {
6807
+ "name": "pending_word_len",
6808
+ "type": "core::internal::bounded_int::BoundedInt::<0, 30>"
6809
+ }
6810
+ ]
6811
+ },
6812
+ {
6813
+ "type": "interface",
6814
+ "name": "openzeppelin_token::erc1155::interface::IERC1155MetadataURI",
6815
+ "items": [
6816
+ {
6817
+ "type": "function",
6818
+ "name": "uri",
6819
+ "inputs": [
6820
+ {
6821
+ "name": "token_id",
6822
+ "type": "core::integer::u256"
6823
+ }
6824
+ ],
6825
+ "outputs": [
6826
+ {
6827
+ "type": "core::byte_array::ByteArray"
6828
+ }
6829
+ ],
6830
+ "state_mutability": "view"
6651
6831
  }
6652
6832
  ]
6653
6833
  },
6834
+ {
6835
+ "type": "impl",
6836
+ "name": "IPClubCollectionImpl",
6837
+ "interface_name": "ip_club::interface::IIPClubCollection"
6838
+ },
6654
6839
  {
6655
6840
  "type": "enum",
6656
- "name": "core::option::Option::<core::starknet::contract_address::ContractAddress>",
6841
+ "name": "core::option::Option::<core::integer::u64>",
6657
6842
  "variants": [
6658
6843
  {
6659
6844
  "name": "Some",
6660
- "type": "core::starknet::contract_address::ContractAddress"
6845
+ "type": "core::integer::u64"
6661
6846
  },
6662
6847
  {
6663
6848
  "name": "None",
@@ -6681,69 +6866,61 @@ var IPClubABI = [
6681
6866
  },
6682
6867
  {
6683
6868
  "type": "struct",
6684
- "name": "ip_club::types::ClubRecord",
6869
+ "name": "ip_club::types::Membership",
6685
6870
  "members": [
6686
6871
  {
6687
- "name": "creator",
6688
- "type": "core::starknet::contract_address::ContractAddress"
6689
- },
6690
- {
6691
- "name": "club_nft",
6692
- "type": "core::starknet::contract_address::ContractAddress"
6872
+ "name": "max_supply",
6873
+ "type": "core::integer::u256"
6693
6874
  },
6694
6875
  {
6695
- "name": "open",
6696
- "type": "core::bool"
6876
+ "name": "minted",
6877
+ "type": "core::integer::u256"
6697
6878
  },
6698
6879
  {
6699
- "name": "num_members",
6700
- "type": "core::integer::u32"
6880
+ "name": "start_time",
6881
+ "type": "core::option::Option::<core::integer::u64>"
6701
6882
  },
6702
6883
  {
6703
- "name": "max_members",
6704
- "type": "core::option::Option::<core::integer::u32>"
6884
+ "name": "end_time",
6885
+ "type": "core::option::Option::<core::integer::u64>"
6705
6886
  },
6706
6887
  {
6707
- "name": "entry_fee",
6708
- "type": "core::option::Option::<core::integer::u256>"
6888
+ "name": "royalty_bps",
6889
+ "type": "core::integer::u16"
6709
6890
  },
6710
6891
  {
6711
- "name": "payment_token",
6712
- "type": "core::option::Option::<core::starknet::contract_address::ContractAddress>"
6892
+ "name": "metadata_uri",
6893
+ "type": "core::byte_array::ByteArray"
6713
6894
  }
6714
6895
  ]
6715
6896
  },
6716
6897
  {
6717
6898
  "type": "interface",
6718
- "name": "ip_club::interfaces::IIPClub::IIPClub",
6899
+ "name": "ip_club::interface::IIPClubCollection",
6719
6900
  "items": [
6720
6901
  {
6721
6902
  "type": "function",
6722
- "name": "create_club",
6903
+ "name": "create_membership",
6723
6904
  "inputs": [
6724
6905
  {
6725
- "name": "name",
6726
- "type": "core::byte_array::ByteArray"
6727
- },
6728
- {
6729
- "name": "symbol",
6730
- "type": "core::byte_array::ByteArray"
6906
+ "name": "max_supply",
6907
+ "type": "core::integer::u256"
6731
6908
  },
6732
6909
  {
6733
- "name": "metadata_uri",
6734
- "type": "core::byte_array::ByteArray"
6910
+ "name": "start_time",
6911
+ "type": "core::option::Option::<core::integer::u64>"
6735
6912
  },
6736
6913
  {
6737
- "name": "max_members",
6738
- "type": "core::option::Option::<core::integer::u32>"
6914
+ "name": "end_time",
6915
+ "type": "core::option::Option::<core::integer::u64>"
6739
6916
  },
6740
6917
  {
6741
- "name": "entry_fee",
6742
- "type": "core::option::Option::<core::integer::u256>"
6918
+ "name": "royalty_bps",
6919
+ "type": "core::integer::u16"
6743
6920
  },
6744
6921
  {
6745
- "name": "payment_token",
6746
- "type": "core::option::Option::<core::starknet::contract_address::ContractAddress>"
6922
+ "name": "metadata_uri",
6923
+ "type": "core::byte_array::ByteArray"
6747
6924
  }
6748
6925
  ],
6749
6926
  "outputs": [
@@ -6755,1290 +6932,105 @@ var IPClubABI = [
6755
6932
  },
6756
6933
  {
6757
6934
  "type": "function",
6758
- "name": "set_club_open",
6935
+ "name": "mint",
6759
6936
  "inputs": [
6760
6937
  {
6761
- "name": "club_id",
6762
- "type": "core::integer::u256"
6938
+ "name": "to",
6939
+ "type": "core::starknet::contract_address::ContractAddress"
6763
6940
  },
6764
- {
6765
- "name": "open",
6766
- "type": "core::bool"
6767
- }
6768
- ],
6769
- "outputs": [],
6770
- "state_mutability": "external"
6771
- },
6772
- {
6773
- "type": "function",
6774
- "name": "join_club",
6775
- "inputs": [
6776
- {
6777
- "name": "club_id",
6778
- "type": "core::integer::u256"
6779
- }
6780
- ],
6781
- "outputs": [],
6782
- "state_mutability": "external"
6783
- },
6784
- {
6785
- "type": "function",
6786
- "name": "leave_club",
6787
- "inputs": [
6788
- {
6789
- "name": "club_id",
6790
- "type": "core::integer::u256"
6791
- },
6792
- {
6793
- "name": "token_id",
6794
- "type": "core::integer::u256"
6795
- }
6796
- ],
6797
- "outputs": [],
6798
- "state_mutability": "external"
6799
- },
6800
- {
6801
- "type": "function",
6802
- "name": "get_club_record",
6803
- "inputs": [
6804
- {
6805
- "name": "club_id",
6806
- "type": "core::integer::u256"
6807
- }
6808
- ],
6809
- "outputs": [
6810
- {
6811
- "type": "ip_club::types::ClubRecord"
6812
- }
6813
- ],
6814
- "state_mutability": "view"
6815
- },
6816
- {
6817
- "type": "function",
6818
- "name": "is_member",
6819
- "inputs": [
6820
- {
6821
- "name": "club_id",
6822
- "type": "core::integer::u256"
6823
- },
6824
- {
6825
- "name": "user",
6826
- "type": "core::starknet::contract_address::ContractAddress"
6827
- }
6828
- ],
6829
- "outputs": [
6830
- {
6831
- "type": "core::bool"
6832
- }
6833
- ],
6834
- "state_mutability": "view"
6835
- },
6836
- {
6837
- "type": "function",
6838
- "name": "get_last_club_id",
6839
- "inputs": [],
6840
- "outputs": [
6841
- {
6842
- "type": "core::integer::u256"
6843
- }
6844
- ],
6845
- "state_mutability": "view"
6846
- }
6847
- ]
6848
- },
6849
- {
6850
- "type": "impl",
6851
- "name": "SRC5Impl",
6852
- "interface_name": "openzeppelin_introspection::interface::ISRC5"
6853
- },
6854
- {
6855
- "type": "interface",
6856
- "name": "openzeppelin_introspection::interface::ISRC5",
6857
- "items": [
6858
- {
6859
- "type": "function",
6860
- "name": "supports_interface",
6861
- "inputs": [
6862
- {
6863
- "name": "interface_id",
6864
- "type": "core::felt252"
6865
- }
6866
- ],
6867
- "outputs": [
6868
- {
6869
- "type": "core::bool"
6870
- }
6871
- ],
6872
- "state_mutability": "view"
6873
- }
6874
- ]
6875
- },
6876
- {
6877
- "type": "constructor",
6878
- "name": "constructor",
6879
- "inputs": [
6880
- {
6881
- "name": "ip_club_nft_class_hash",
6882
- "type": "core::starknet::class_hash::ClassHash"
6883
- }
6884
- ]
6885
- },
6886
- {
6887
- "type": "event",
6888
- "name": "openzeppelin_introspection::src5::SRC5Component::Event",
6889
- "kind": "enum",
6890
- "variants": []
6891
- },
6892
- {
6893
- "type": "event",
6894
- "name": "ip_club::events::NewClubCreated",
6895
- "kind": "struct",
6896
- "members": [
6897
- {
6898
- "name": "club_id",
6899
- "type": "core::integer::u256",
6900
- "kind": "key"
6901
- },
6902
- {
6903
- "name": "creator",
6904
- "type": "core::starknet::contract_address::ContractAddress",
6905
- "kind": "key"
6906
- },
6907
- {
6908
- "name": "club_nft",
6909
- "type": "core::starknet::contract_address::ContractAddress",
6910
- "kind": "data"
6911
- },
6912
- {
6913
- "name": "metadata_uri",
6914
- "type": "core::byte_array::ByteArray",
6915
- "kind": "data"
6916
- },
6917
- {
6918
- "name": "timestamp",
6919
- "type": "core::integer::u64",
6920
- "kind": "data"
6921
- }
6922
- ]
6923
- },
6924
- {
6925
- "type": "event",
6926
- "name": "ip_club::events::ClubStatusUpdated",
6927
- "kind": "struct",
6928
- "members": [
6929
- {
6930
- "name": "club_id",
6931
- "type": "core::integer::u256",
6932
- "kind": "key"
6933
- },
6934
- {
6935
- "name": "open",
6936
- "type": "core::bool",
6937
- "kind": "data"
6938
- },
6939
- {
6940
- "name": "timestamp",
6941
- "type": "core::integer::u64",
6942
- "kind": "data"
6943
- }
6944
- ]
6945
- },
6946
- {
6947
- "type": "event",
6948
- "name": "ip_club::events::NewMember",
6949
- "kind": "struct",
6950
- "members": [
6951
- {
6952
- "name": "club_id",
6953
- "type": "core::integer::u256",
6954
- "kind": "key"
6955
- },
6956
- {
6957
- "name": "member",
6958
- "type": "core::starknet::contract_address::ContractAddress",
6959
- "kind": "key"
6960
- },
6961
- {
6962
- "name": "timestamp",
6963
- "type": "core::integer::u64",
6964
- "kind": "data"
6965
- }
6966
- ]
6967
- },
6968
- {
6969
- "type": "event",
6970
- "name": "ip_club::events::MemberLeft",
6971
- "kind": "struct",
6972
- "members": [
6973
- {
6974
- "name": "club_id",
6975
- "type": "core::integer::u256",
6976
- "kind": "key"
6977
- },
6978
- {
6979
- "name": "member",
6980
- "type": "core::starknet::contract_address::ContractAddress",
6981
- "kind": "key"
6982
- },
6983
- {
6984
- "name": "timestamp",
6985
- "type": "core::integer::u64",
6986
- "kind": "data"
6987
- }
6988
- ]
6989
- },
6990
- {
6991
- "type": "event",
6992
- "name": "ip_club::IPClub::IPClub::Event",
6993
- "kind": "enum",
6994
- "variants": [
6995
- {
6996
- "name": "SRC5Event",
6997
- "type": "openzeppelin_introspection::src5::SRC5Component::Event",
6998
- "kind": "flat"
6999
- },
7000
- {
7001
- "name": "NewClubCreated",
7002
- "type": "ip_club::events::NewClubCreated",
7003
- "kind": "nested"
7004
- },
7005
- {
7006
- "name": "ClubStatusUpdated",
7007
- "type": "ip_club::events::ClubStatusUpdated",
7008
- "kind": "nested"
7009
- },
7010
- {
7011
- "name": "NewMember",
7012
- "type": "ip_club::events::NewMember",
7013
- "kind": "nested"
7014
- },
7015
- {
7016
- "name": "MemberLeft",
7017
- "type": "ip_club::events::MemberLeft",
7018
- "kind": "nested"
7019
- }
7020
- ]
7021
- }
7022
- ];
7023
-
7024
- // src/starknet/abis/ipClubNft.ts
7025
- var IPClubNFTABI = [
7026
- {
7027
- "type": "impl",
7028
- "name": "IIPClubNFTImpl",
7029
- "interface_name": "ip_club::interfaces::IIPClubNFT::IIPClubNFT"
7030
- },
7031
- {
7032
- "type": "struct",
7033
- "name": "core::integer::u256",
7034
- "members": [
7035
- {
7036
- "name": "low",
7037
- "type": "core::integer::u128"
7038
- },
7039
- {
7040
- "name": "high",
7041
- "type": "core::integer::u128"
7042
- }
7043
- ]
7044
- },
7045
- {
7046
- "type": "enum",
7047
- "name": "core::bool",
7048
- "variants": [
7049
- {
7050
- "name": "False",
7051
- "type": "()"
7052
- },
7053
- {
7054
- "name": "True",
7055
- "type": "()"
7056
- }
7057
- ]
7058
- },
7059
- {
7060
- "type": "interface",
7061
- "name": "ip_club::interfaces::IIPClubNFT::IIPClubNFT",
7062
- "items": [
7063
- {
7064
- "type": "function",
7065
- "name": "mint",
7066
- "inputs": [
7067
- {
7068
- "name": "recipient",
7069
- "type": "core::starknet::contract_address::ContractAddress"
7070
- }
7071
- ],
7072
- "outputs": [],
7073
- "state_mutability": "external"
7074
- },
7075
- {
7076
- "type": "function",
7077
- "name": "burn",
7078
- "inputs": [
7079
- {
7080
- "name": "member",
7081
- "type": "core::starknet::contract_address::ContractAddress"
7082
- },
7083
- {
7084
- "name": "token_id",
7085
- "type": "core::integer::u256"
7086
- }
7087
- ],
7088
- "outputs": [],
7089
- "state_mutability": "external"
7090
- },
7091
- {
7092
- "type": "function",
7093
- "name": "has_nft",
7094
- "inputs": [
7095
- {
7096
- "name": "user",
7097
- "type": "core::starknet::contract_address::ContractAddress"
7098
- }
7099
- ],
7100
- "outputs": [
7101
- {
7102
- "type": "core::bool"
7103
- }
7104
- ],
7105
- "state_mutability": "view"
7106
- },
7107
- {
7108
- "type": "function",
7109
- "name": "get_nft_creator",
7110
- "inputs": [],
7111
- "outputs": [
7112
- {
7113
- "type": "core::starknet::contract_address::ContractAddress"
7114
- }
7115
- ],
7116
- "state_mutability": "view"
7117
- },
7118
- {
7119
- "type": "function",
7120
- "name": "get_ip_club_manager",
7121
- "inputs": [],
7122
- "outputs": [
7123
- {
7124
- "type": "core::starknet::contract_address::ContractAddress"
7125
- }
7126
- ],
7127
- "state_mutability": "view"
7128
- },
7129
- {
7130
- "type": "function",
7131
- "name": "get_associated_club_id",
7132
- "inputs": [],
7133
- "outputs": [
7134
- {
7135
- "type": "core::integer::u256"
7136
- }
7137
- ],
7138
- "state_mutability": "view"
7139
- },
7140
- {
7141
- "type": "function",
7142
- "name": "get_last_minted_id",
7143
- "inputs": [],
7144
- "outputs": [
7145
- {
7146
- "type": "core::integer::u256"
7147
- }
7148
- ],
7149
- "state_mutability": "view"
7150
- }
7151
- ]
7152
- },
7153
- {
7154
- "type": "impl",
7155
- "name": "ERC721MixinImpl",
7156
- "interface_name": "openzeppelin_token::erc721::interface::ERC721ABI"
7157
- },
7158
- {
7159
- "type": "struct",
7160
- "name": "core::array::Span::<core::felt252>",
7161
- "members": [
7162
- {
7163
- "name": "snapshot",
7164
- "type": "@core::array::Array::<core::felt252>"
7165
- }
7166
- ]
7167
- },
7168
- {
7169
- "type": "struct",
7170
- "name": "core::byte_array::ByteArray",
7171
- "members": [
7172
- {
7173
- "name": "data",
7174
- "type": "core::array::Array::<core::bytes_31::bytes31>"
7175
- },
7176
- {
7177
- "name": "pending_word",
7178
- "type": "core::felt252"
7179
- },
7180
- {
7181
- "name": "pending_word_len",
7182
- "type": "core::internal::bounded_int::BoundedInt::<0, 30>"
7183
- }
7184
- ]
7185
- },
7186
- {
7187
- "type": "interface",
7188
- "name": "openzeppelin_token::erc721::interface::ERC721ABI",
7189
- "items": [
7190
- {
7191
- "type": "function",
7192
- "name": "balance_of",
7193
- "inputs": [
7194
- {
7195
- "name": "account",
7196
- "type": "core::starknet::contract_address::ContractAddress"
7197
- }
7198
- ],
7199
- "outputs": [
7200
- {
7201
- "type": "core::integer::u256"
7202
- }
7203
- ],
7204
- "state_mutability": "view"
7205
- },
7206
- {
7207
- "type": "function",
7208
- "name": "owner_of",
7209
- "inputs": [
7210
- {
7211
- "name": "token_id",
7212
- "type": "core::integer::u256"
7213
- }
7214
- ],
7215
- "outputs": [
7216
- {
7217
- "type": "core::starknet::contract_address::ContractAddress"
7218
- }
7219
- ],
7220
- "state_mutability": "view"
7221
- },
7222
- {
7223
- "type": "function",
7224
- "name": "safe_transfer_from",
7225
- "inputs": [
7226
- {
7227
- "name": "from",
7228
- "type": "core::starknet::contract_address::ContractAddress"
7229
- },
7230
- {
7231
- "name": "to",
7232
- "type": "core::starknet::contract_address::ContractAddress"
7233
- },
7234
- {
7235
- "name": "token_id",
7236
- "type": "core::integer::u256"
7237
- },
7238
- {
7239
- "name": "data",
7240
- "type": "core::array::Span::<core::felt252>"
7241
- }
7242
- ],
7243
- "outputs": [],
7244
- "state_mutability": "external"
7245
- },
7246
- {
7247
- "type": "function",
7248
- "name": "transfer_from",
7249
- "inputs": [
7250
- {
7251
- "name": "from",
7252
- "type": "core::starknet::contract_address::ContractAddress"
7253
- },
7254
- {
7255
- "name": "to",
7256
- "type": "core::starknet::contract_address::ContractAddress"
7257
- },
7258
- {
7259
- "name": "token_id",
7260
- "type": "core::integer::u256"
7261
- }
7262
- ],
7263
- "outputs": [],
7264
- "state_mutability": "external"
7265
- },
7266
- {
7267
- "type": "function",
7268
- "name": "approve",
7269
- "inputs": [
7270
- {
7271
- "name": "to",
7272
- "type": "core::starknet::contract_address::ContractAddress"
7273
- },
7274
- {
7275
- "name": "token_id",
7276
- "type": "core::integer::u256"
7277
- }
7278
- ],
7279
- "outputs": [],
7280
- "state_mutability": "external"
7281
- },
7282
- {
7283
- "type": "function",
7284
- "name": "set_approval_for_all",
7285
- "inputs": [
7286
- {
7287
- "name": "operator",
7288
- "type": "core::starknet::contract_address::ContractAddress"
7289
- },
7290
- {
7291
- "name": "approved",
7292
- "type": "core::bool"
7293
- }
7294
- ],
7295
- "outputs": [],
7296
- "state_mutability": "external"
7297
- },
7298
- {
7299
- "type": "function",
7300
- "name": "get_approved",
7301
- "inputs": [
7302
- {
7303
- "name": "token_id",
7304
- "type": "core::integer::u256"
7305
- }
7306
- ],
7307
- "outputs": [
7308
- {
7309
- "type": "core::starknet::contract_address::ContractAddress"
7310
- }
7311
- ],
7312
- "state_mutability": "view"
7313
- },
7314
- {
7315
- "type": "function",
7316
- "name": "is_approved_for_all",
7317
- "inputs": [
7318
- {
7319
- "name": "owner",
7320
- "type": "core::starknet::contract_address::ContractAddress"
7321
- },
7322
- {
7323
- "name": "operator",
7324
- "type": "core::starknet::contract_address::ContractAddress"
7325
- }
7326
- ],
7327
- "outputs": [
7328
- {
7329
- "type": "core::bool"
7330
- }
7331
- ],
7332
- "state_mutability": "view"
7333
- },
7334
- {
7335
- "type": "function",
7336
- "name": "supports_interface",
7337
- "inputs": [
7338
- {
7339
- "name": "interface_id",
7340
- "type": "core::felt252"
7341
- }
7342
- ],
7343
- "outputs": [
7344
- {
7345
- "type": "core::bool"
7346
- }
7347
- ],
7348
- "state_mutability": "view"
7349
- },
7350
- {
7351
- "type": "function",
7352
- "name": "name",
7353
- "inputs": [],
7354
- "outputs": [
7355
- {
7356
- "type": "core::byte_array::ByteArray"
7357
- }
7358
- ],
7359
- "state_mutability": "view"
7360
- },
7361
- {
7362
- "type": "function",
7363
- "name": "symbol",
7364
- "inputs": [],
7365
- "outputs": [
7366
- {
7367
- "type": "core::byte_array::ByteArray"
7368
- }
7369
- ],
7370
- "state_mutability": "view"
7371
- },
7372
- {
7373
- "type": "function",
7374
- "name": "token_uri",
7375
- "inputs": [
7376
- {
7377
- "name": "token_id",
7378
- "type": "core::integer::u256"
7379
- }
7380
- ],
7381
- "outputs": [
7382
- {
7383
- "type": "core::byte_array::ByteArray"
7384
- }
7385
- ],
7386
- "state_mutability": "view"
7387
- },
7388
- {
7389
- "type": "function",
7390
- "name": "balanceOf",
7391
- "inputs": [
7392
- {
7393
- "name": "account",
7394
- "type": "core::starknet::contract_address::ContractAddress"
7395
- }
7396
- ],
7397
- "outputs": [
7398
- {
7399
- "type": "core::integer::u256"
7400
- }
7401
- ],
7402
- "state_mutability": "view"
7403
- },
7404
- {
7405
- "type": "function",
7406
- "name": "ownerOf",
7407
- "inputs": [
7408
- {
7409
- "name": "tokenId",
7410
- "type": "core::integer::u256"
7411
- }
7412
- ],
7413
- "outputs": [
7414
- {
7415
- "type": "core::starknet::contract_address::ContractAddress"
7416
- }
7417
- ],
7418
- "state_mutability": "view"
7419
- },
7420
- {
7421
- "type": "function",
7422
- "name": "safeTransferFrom",
7423
- "inputs": [
7424
- {
7425
- "name": "from",
7426
- "type": "core::starknet::contract_address::ContractAddress"
7427
- },
7428
- {
7429
- "name": "to",
7430
- "type": "core::starknet::contract_address::ContractAddress"
7431
- },
7432
- {
7433
- "name": "tokenId",
7434
- "type": "core::integer::u256"
7435
- },
7436
- {
7437
- "name": "data",
7438
- "type": "core::array::Span::<core::felt252>"
7439
- }
7440
- ],
7441
- "outputs": [],
7442
- "state_mutability": "external"
7443
- },
7444
- {
7445
- "type": "function",
7446
- "name": "transferFrom",
7447
- "inputs": [
7448
- {
7449
- "name": "from",
7450
- "type": "core::starknet::contract_address::ContractAddress"
7451
- },
7452
- {
7453
- "name": "to",
7454
- "type": "core::starknet::contract_address::ContractAddress"
7455
- },
7456
- {
7457
- "name": "tokenId",
7458
- "type": "core::integer::u256"
7459
- }
7460
- ],
7461
- "outputs": [],
7462
- "state_mutability": "external"
7463
- },
7464
- {
7465
- "type": "function",
7466
- "name": "setApprovalForAll",
7467
- "inputs": [
7468
- {
7469
- "name": "operator",
7470
- "type": "core::starknet::contract_address::ContractAddress"
7471
- },
7472
- {
7473
- "name": "approved",
7474
- "type": "core::bool"
7475
- }
7476
- ],
7477
- "outputs": [],
7478
- "state_mutability": "external"
7479
- },
7480
- {
7481
- "type": "function",
7482
- "name": "getApproved",
7483
- "inputs": [
7484
- {
7485
- "name": "tokenId",
7486
- "type": "core::integer::u256"
7487
- }
7488
- ],
7489
- "outputs": [
7490
- {
7491
- "type": "core::starknet::contract_address::ContractAddress"
7492
- }
7493
- ],
7494
- "state_mutability": "view"
7495
- },
7496
- {
7497
- "type": "function",
7498
- "name": "isApprovedForAll",
7499
- "inputs": [
7500
- {
7501
- "name": "owner",
7502
- "type": "core::starknet::contract_address::ContractAddress"
7503
- },
7504
- {
7505
- "name": "operator",
7506
- "type": "core::starknet::contract_address::ContractAddress"
7507
- }
7508
- ],
7509
- "outputs": [
7510
- {
7511
- "type": "core::bool"
7512
- }
7513
- ],
7514
- "state_mutability": "view"
7515
- },
7516
- {
7517
- "type": "function",
7518
- "name": "tokenURI",
7519
- "inputs": [
7520
- {
7521
- "name": "tokenId",
7522
- "type": "core::integer::u256"
7523
- }
7524
- ],
7525
- "outputs": [
7526
- {
7527
- "type": "core::byte_array::ByteArray"
7528
- }
7529
- ],
7530
- "state_mutability": "view"
7531
- }
7532
- ]
7533
- },
7534
- {
7535
- "type": "constructor",
7536
- "name": "constructor",
7537
- "inputs": [
7538
- {
7539
- "name": "name",
7540
- "type": "core::byte_array::ByteArray"
7541
- },
7542
- {
7543
- "name": "symbol",
7544
- "type": "core::byte_array::ByteArray"
7545
- },
7546
- {
7547
- "name": "club_id",
7548
- "type": "core::integer::u256"
7549
- },
7550
- {
7551
- "name": "creator",
7552
- "type": "core::starknet::contract_address::ContractAddress"
7553
- },
7554
- {
7555
- "name": "ip_club_manager",
7556
- "type": "core::starknet::contract_address::ContractAddress"
7557
- },
7558
- {
7559
- "name": "metadata_uri",
7560
- "type": "core::byte_array::ByteArray"
7561
- }
7562
- ]
7563
- },
7564
- {
7565
- "type": "event",
7566
- "name": "openzeppelin_token::erc721::erc721::ERC721Component::Transfer",
7567
- "kind": "struct",
7568
- "members": [
7569
- {
7570
- "name": "from",
7571
- "type": "core::starknet::contract_address::ContractAddress",
7572
- "kind": "key"
7573
- },
7574
- {
7575
- "name": "to",
7576
- "type": "core::starknet::contract_address::ContractAddress",
7577
- "kind": "key"
7578
- },
7579
- {
7580
- "name": "token_id",
7581
- "type": "core::integer::u256",
7582
- "kind": "key"
7583
- }
7584
- ]
7585
- },
7586
- {
7587
- "type": "event",
7588
- "name": "openzeppelin_token::erc721::erc721::ERC721Component::Approval",
7589
- "kind": "struct",
7590
- "members": [
7591
- {
7592
- "name": "owner",
7593
- "type": "core::starknet::contract_address::ContractAddress",
7594
- "kind": "key"
7595
- },
7596
- {
7597
- "name": "approved",
7598
- "type": "core::starknet::contract_address::ContractAddress",
7599
- "kind": "key"
7600
- },
7601
- {
7602
- "name": "token_id",
7603
- "type": "core::integer::u256",
7604
- "kind": "key"
7605
- }
7606
- ]
7607
- },
7608
- {
7609
- "type": "event",
7610
- "name": "openzeppelin_token::erc721::erc721::ERC721Component::ApprovalForAll",
7611
- "kind": "struct",
7612
- "members": [
7613
- {
7614
- "name": "owner",
7615
- "type": "core::starknet::contract_address::ContractAddress",
7616
- "kind": "key"
7617
- },
7618
- {
7619
- "name": "operator",
7620
- "type": "core::starknet::contract_address::ContractAddress",
7621
- "kind": "key"
7622
- },
7623
- {
7624
- "name": "approved",
7625
- "type": "core::bool",
7626
- "kind": "data"
7627
- }
7628
- ]
7629
- },
7630
- {
7631
- "type": "event",
7632
- "name": "openzeppelin_token::erc721::erc721::ERC721Component::Event",
7633
- "kind": "enum",
7634
- "variants": [
7635
- {
7636
- "name": "Transfer",
7637
- "type": "openzeppelin_token::erc721::erc721::ERC721Component::Transfer",
7638
- "kind": "nested"
7639
- },
7640
- {
7641
- "name": "Approval",
7642
- "type": "openzeppelin_token::erc721::erc721::ERC721Component::Approval",
7643
- "kind": "nested"
7644
- },
7645
- {
7646
- "name": "ApprovalForAll",
7647
- "type": "openzeppelin_token::erc721::erc721::ERC721Component::ApprovalForAll",
7648
- "kind": "nested"
7649
- }
7650
- ]
7651
- },
7652
- {
7653
- "type": "event",
7654
- "name": "openzeppelin_introspection::src5::SRC5Component::Event",
7655
- "kind": "enum",
7656
- "variants": []
7657
- },
7658
- {
7659
- "type": "event",
7660
- "name": "ip_club::IPClubNFT::IPClubNFT::Event",
7661
- "kind": "enum",
7662
- "variants": [
7663
- {
7664
- "name": "ERC721Event",
7665
- "type": "openzeppelin_token::erc721::erc721::ERC721Component::Event",
7666
- "kind": "flat"
7667
- },
7668
- {
7669
- "name": "SRC5Event",
7670
- "type": "openzeppelin_introspection::src5::SRC5Component::Event",
7671
- "kind": "flat"
7672
- }
7673
- ]
7674
- }
7675
- ];
7676
-
7677
- // src/starknet/abis/ipClubFactory.ts
7678
- var IPClubFactoryABI = [
7679
- {
7680
- "type": "impl",
7681
- "name": "IPClubFactoryImpl",
7682
- "interface_name": "ip_club::interface::IIPClubFactory"
7683
- },
7684
- {
7685
- "type": "struct",
7686
- "name": "core::byte_array::ByteArray",
7687
- "members": [
7688
- { "name": "data", "type": "core::array::Array::<core::bytes_31::bytes31>" },
7689
- { "name": "pending_word", "type": "core::felt252" },
7690
- { "name": "pending_word_len", "type": "core::internal::bounded_int::BoundedInt::<0, 30>" }
7691
- ]
7692
- },
7693
- {
7694
- "type": "struct",
7695
- "name": "core::integer::u256",
7696
- "members": [
7697
- { "name": "low", "type": "core::integer::u128" },
7698
- { "name": "high", "type": "core::integer::u128" }
7699
- ]
7700
- },
7701
- {
7702
- "type": "enum",
7703
- "name": "core::option::Option::<core::starknet::contract_address::ContractAddress>",
7704
- "variants": [
7705
- { "name": "Some", "type": "core::starknet::contract_address::ContractAddress" },
7706
- { "name": "None", "type": "()" }
7707
- ]
7708
- },
7709
- {
7710
- "type": "interface",
7711
- "name": "ip_club::interface::IIPClubFactory",
7712
- "items": [
7713
- {
7714
- "type": "function",
7715
- "name": "collection_class_hash",
7716
- "inputs": [],
7717
- "outputs": [{ "type": "core::starknet::class_hash::ClassHash" }],
7718
- "state_mutability": "view"
7719
- },
7720
- {
7721
- "type": "function",
7722
- "name": "version",
7723
- "inputs": [],
7724
- "outputs": [{ "type": "core::byte_array::ByteArray" }],
7725
- "state_mutability": "view"
7726
- },
7727
- {
7728
- "type": "function",
7729
- "name": "deploy_club",
7730
- "inputs": [
7731
- { "name": "name", "type": "core::byte_array::ByteArray" },
7732
- { "name": "symbol", "type": "core::byte_array::ByteArray" },
7733
- { "name": "base_uri", "type": "core::byte_array::ByteArray" },
7734
- { "name": "max_supply", "type": "core::integer::u256" },
7735
- { "name": "entry_fee", "type": "core::integer::u256" },
7736
- { "name": "payment_token", "type": "core::option::Option::<core::starknet::contract_address::ContractAddress>" },
7737
- { "name": "royalty_bps", "type": "core::integer::u256" }
7738
- ],
7739
- "outputs": [{ "type": "core::starknet::contract_address::ContractAddress" }],
7740
- "state_mutability": "external"
7741
- }
7742
- ]
7743
- },
7744
- {
7745
- "type": "impl",
7746
- "name": "SRC5Impl",
7747
- "interface_name": "openzeppelin_introspection::interface::ISRC5"
7748
- },
7749
- {
7750
- "type": "enum",
7751
- "name": "core::bool",
7752
- "variants": [
7753
- { "name": "False", "type": "()" },
7754
- { "name": "True", "type": "()" }
7755
- ]
7756
- },
7757
- {
7758
- "type": "interface",
7759
- "name": "openzeppelin_introspection::interface::ISRC5",
7760
- "items": [
7761
- {
7762
- "type": "function",
7763
- "name": "supports_interface",
7764
- "inputs": [{ "name": "interface_id", "type": "core::felt252" }],
7765
- "outputs": [{ "type": "core::bool" }],
7766
- "state_mutability": "view"
7767
- }
7768
- ]
7769
- },
7770
- {
7771
- "type": "constructor",
7772
- "name": "constructor",
7773
- "inputs": [
7774
- { "name": "collection_class_hash", "type": "core::starknet::class_hash::ClassHash" }
7775
- ]
7776
- },
7777
- {
7778
- "type": "event",
7779
- "name": "openzeppelin_introspection::src5::SRC5Component::Event",
7780
- "kind": "enum",
7781
- "variants": []
7782
- },
7783
- {
7784
- "type": "event",
7785
- "name": "ip_club::IPClubFactory::IPClubFactory::ClubDeployed",
7786
- "kind": "struct",
7787
- "members": [
7788
- { "name": "collection_address", "type": "core::starknet::contract_address::ContractAddress", "kind": "key" },
7789
- { "name": "owner", "type": "core::starknet::contract_address::ContractAddress", "kind": "key" },
7790
- { "name": "name", "type": "core::byte_array::ByteArray", "kind": "data" },
7791
- { "name": "symbol", "type": "core::byte_array::ByteArray", "kind": "data" }
7792
- ]
7793
- },
7794
- {
7795
- "type": "event",
7796
- "name": "ip_club::IPClubFactory::IPClubFactory::Event",
7797
- "kind": "enum",
7798
- "variants": [
7799
- { "name": "SRC5Event", "type": "openzeppelin_introspection::src5::SRC5Component::Event", "kind": "flat" },
7800
- { "name": "ClubDeployed", "type": "ip_club::IPClubFactory::IPClubFactory::ClubDeployed", "kind": "nested" }
7801
- ]
7802
- }
7803
- ];
7804
-
7805
- // src/starknet/abis/ipClubCollection.ts
7806
- var IPClubCollectionABI = [
7807
- {
7808
- "type": "impl",
7809
- "name": "ERC721MetadataImpl",
7810
- "interface_name": "openzeppelin_token::erc721::interface::IERC721Metadata"
7811
- },
7812
- {
7813
- "type": "struct",
7814
- "name": "core::byte_array::ByteArray",
7815
- "members": [
7816
- {
7817
- "name": "data",
7818
- "type": "core::array::Array::<core::bytes_31::bytes31>"
7819
- },
7820
- {
7821
- "name": "pending_word",
7822
- "type": "core::felt252"
7823
- },
7824
- {
7825
- "name": "pending_word_len",
7826
- "type": "core::internal::bounded_int::BoundedInt::<0, 30>"
7827
- }
7828
- ]
7829
- },
7830
- {
7831
- "type": "struct",
7832
- "name": "core::integer::u256",
7833
- "members": [
7834
- {
7835
- "name": "low",
7836
- "type": "core::integer::u128"
7837
- },
7838
- {
7839
- "name": "high",
7840
- "type": "core::integer::u128"
7841
- }
7842
- ]
7843
- },
7844
- {
7845
- "type": "interface",
7846
- "name": "openzeppelin_token::erc721::interface::IERC721Metadata",
7847
- "items": [
7848
- {
7849
- "type": "function",
7850
- "name": "name",
7851
- "inputs": [],
7852
- "outputs": [
7853
- {
7854
- "type": "core::byte_array::ByteArray"
7855
- }
7856
- ],
7857
- "state_mutability": "view"
7858
- },
7859
- {
7860
- "type": "function",
7861
- "name": "symbol",
7862
- "inputs": [],
7863
- "outputs": [
7864
- {
7865
- "type": "core::byte_array::ByteArray"
7866
- }
7867
- ],
7868
- "state_mutability": "view"
7869
- },
7870
- {
7871
- "type": "function",
7872
- "name": "token_uri",
7873
- "inputs": [
7874
6941
  {
7875
6942
  "name": "token_id",
7876
6943
  "type": "core::integer::u256"
7877
- }
7878
- ],
7879
- "outputs": [
7880
- {
7881
- "type": "core::byte_array::ByteArray"
7882
- }
7883
- ],
7884
- "state_mutability": "view"
7885
- }
7886
- ]
7887
- },
7888
- {
7889
- "type": "impl",
7890
- "name": "ERC721MetadataCamelOnlyImpl",
7891
- "interface_name": "openzeppelin_token::erc721::interface::IERC721MetadataCamelOnly"
7892
- },
7893
- {
7894
- "type": "interface",
7895
- "name": "openzeppelin_token::erc721::interface::IERC721MetadataCamelOnly",
7896
- "items": [
7897
- {
7898
- "type": "function",
7899
- "name": "tokenURI",
7900
- "inputs": [
6944
+ },
7901
6945
  {
7902
- "name": "tokenId",
6946
+ "name": "amount",
7903
6947
  "type": "core::integer::u256"
7904
6948
  }
7905
6949
  ],
7906
- "outputs": [
7907
- {
7908
- "type": "core::byte_array::ByteArray"
7909
- }
7910
- ],
7911
- "state_mutability": "view"
7912
- }
7913
- ]
7914
- },
7915
- {
7916
- "type": "impl",
7917
- "name": "IPClubCollectionImpl",
7918
- "interface_name": "ip_club::interface::IIPClubCollection"
7919
- },
7920
- {
7921
- "type": "enum",
7922
- "name": "core::bool",
7923
- "variants": [
7924
- {
7925
- "name": "False",
7926
- "type": "()"
7927
- },
7928
- {
7929
- "name": "True",
7930
- "type": "()"
7931
- }
7932
- ]
7933
- },
7934
- {
7935
- "type": "enum",
7936
- "name": "core::option::Option::<core::starknet::contract_address::ContractAddress>",
7937
- "variants": [
7938
- {
7939
- "name": "Some",
7940
- "type": "core::starknet::contract_address::ContractAddress"
6950
+ "outputs": [],
6951
+ "state_mutability": "external"
7941
6952
  },
7942
- {
7943
- "name": "None",
7944
- "type": "()"
7945
- }
7946
- ]
7947
- },
7948
- {
7949
- "type": "interface",
7950
- "name": "ip_club::interface::IIPClubCollection",
7951
- "items": [
7952
6953
  {
7953
6954
  "type": "function",
7954
- "name": "mint",
6955
+ "name": "is_member",
7955
6956
  "inputs": [
7956
6957
  {
7957
- "name": "to",
6958
+ "name": "holder",
7958
6959
  "type": "core::starknet::contract_address::ContractAddress"
7959
6960
  }
7960
6961
  ],
7961
6962
  "outputs": [
7962
6963
  {
7963
- "type": "core::integer::u256"
6964
+ "type": "core::bool"
7964
6965
  }
7965
6966
  ],
7966
- "state_mutability": "external"
6967
+ "state_mutability": "view"
7967
6968
  },
7968
6969
  {
7969
6970
  "type": "function",
7970
- "name": "set_open",
6971
+ "name": "is_member_of",
7971
6972
  "inputs": [
7972
6973
  {
7973
- "name": "open",
7974
- "type": "core::bool"
6974
+ "name": "token_id",
6975
+ "type": "core::integer::u256"
6976
+ },
6977
+ {
6978
+ "name": "holder",
6979
+ "type": "core::starknet::contract_address::ContractAddress"
7975
6980
  }
7976
6981
  ],
7977
- "outputs": [],
7978
- "state_mutability": "external"
7979
- },
7980
- {
7981
- "type": "function",
7982
- "name": "base_uri",
7983
- "inputs": [],
7984
6982
  "outputs": [
7985
6983
  {
7986
- "type": "core::byte_array::ByteArray"
6984
+ "type": "core::bool"
7987
6985
  }
7988
6986
  ],
7989
6987
  "state_mutability": "view"
7990
6988
  },
7991
6989
  {
7992
6990
  "type": "function",
7993
- "name": "entry_fee",
7994
- "inputs": [],
7995
- "outputs": [
6991
+ "name": "get_membership",
6992
+ "inputs": [
7996
6993
  {
6994
+ "name": "token_id",
7997
6995
  "type": "core::integer::u256"
7998
6996
  }
7999
6997
  ],
8000
- "state_mutability": "view"
8001
- },
8002
- {
8003
- "type": "function",
8004
- "name": "payment_token",
8005
- "inputs": [],
8006
6998
  "outputs": [
8007
6999
  {
8008
- "type": "core::option::Option::<core::starknet::contract_address::ContractAddress>"
7000
+ "type": "ip_club::types::Membership"
8009
7001
  }
8010
7002
  ],
8011
7003
  "state_mutability": "view"
8012
7004
  },
8013
7005
  {
8014
7006
  "type": "function",
8015
- "name": "max_supply",
7007
+ "name": "name",
8016
7008
  "inputs": [],
8017
7009
  "outputs": [
8018
7010
  {
8019
- "type": "core::integer::u256"
7011
+ "type": "core::byte_array::ByteArray"
8020
7012
  }
8021
7013
  ],
8022
7014
  "state_mutability": "view"
8023
7015
  },
8024
7016
  {
8025
7017
  "type": "function",
8026
- "name": "total_minted",
7018
+ "name": "symbol",
8027
7019
  "inputs": [],
8028
7020
  "outputs": [
8029
7021
  {
8030
- "type": "core::integer::u256"
7022
+ "type": "core::byte_array::ByteArray"
8031
7023
  }
8032
7024
  ],
8033
7025
  "state_mutability": "view"
8034
7026
  },
8035
7027
  {
8036
7028
  "type": "function",
8037
- "name": "is_open",
7029
+ "name": "base_uri",
8038
7030
  "inputs": [],
8039
7031
  "outputs": [
8040
7032
  {
8041
- "type": "core::bool"
7033
+ "type": "core::byte_array::ByteArray"
8042
7034
  }
8043
7035
  ],
8044
7036
  "state_mutability": "view"
@@ -8098,8 +7090,28 @@ var IPClubCollectionABI = [
8098
7090
  },
8099
7091
  {
8100
7092
  "type": "impl",
8101
- "name": "ERC721Impl",
8102
- "interface_name": "openzeppelin_token::erc721::interface::IERC721"
7093
+ "name": "ERC1155Impl",
7094
+ "interface_name": "openzeppelin_token::erc1155::interface::IERC1155"
7095
+ },
7096
+ {
7097
+ "type": "struct",
7098
+ "name": "core::array::Span::<core::starknet::contract_address::ContractAddress>",
7099
+ "members": [
7100
+ {
7101
+ "name": "snapshot",
7102
+ "type": "@core::array::Array::<core::starknet::contract_address::ContractAddress>"
7103
+ }
7104
+ ]
7105
+ },
7106
+ {
7107
+ "type": "struct",
7108
+ "name": "core::array::Span::<core::integer::u256>",
7109
+ "members": [
7110
+ {
7111
+ "name": "snapshot",
7112
+ "type": "@core::array::Array::<core::integer::u256>"
7113
+ }
7114
+ ]
8103
7115
  },
8104
7116
  {
8105
7117
  "type": "struct",
@@ -8113,7 +7125,7 @@ var IPClubCollectionABI = [
8113
7125
  },
8114
7126
  {
8115
7127
  "type": "interface",
8116
- "name": "openzeppelin_token::erc721::interface::IERC721",
7128
+ "name": "openzeppelin_token::erc1155::interface::IERC1155",
8117
7129
  "items": [
8118
7130
  {
8119
7131
  "type": "function",
@@ -8122,6 +7134,10 @@ var IPClubCollectionABI = [
8122
7134
  {
8123
7135
  "name": "account",
8124
7136
  "type": "core::starknet::contract_address::ContractAddress"
7137
+ },
7138
+ {
7139
+ "name": "token_id",
7140
+ "type": "core::integer::u256"
8125
7141
  }
8126
7142
  ],
8127
7143
  "outputs": [
@@ -8133,16 +7149,20 @@ var IPClubCollectionABI = [
8133
7149
  },
8134
7150
  {
8135
7151
  "type": "function",
8136
- "name": "owner_of",
7152
+ "name": "balance_of_batch",
8137
7153
  "inputs": [
8138
7154
  {
8139
- "name": "token_id",
8140
- "type": "core::integer::u256"
7155
+ "name": "accounts",
7156
+ "type": "core::array::Span::<core::starknet::contract_address::ContractAddress>"
7157
+ },
7158
+ {
7159
+ "name": "token_ids",
7160
+ "type": "core::array::Span::<core::integer::u256>"
8141
7161
  }
8142
7162
  ],
8143
7163
  "outputs": [
8144
7164
  {
8145
- "type": "core::starknet::contract_address::ContractAddress"
7165
+ "type": "core::array::Span::<core::integer::u256>"
8146
7166
  }
8147
7167
  ],
8148
7168
  "state_mutability": "view"
@@ -8163,6 +7183,10 @@ var IPClubCollectionABI = [
8163
7183
  "name": "token_id",
8164
7184
  "type": "core::integer::u256"
8165
7185
  },
7186
+ {
7187
+ "name": "value",
7188
+ "type": "core::integer::u256"
7189
+ },
8166
7190
  {
8167
7191
  "name": "data",
8168
7192
  "type": "core::array::Span::<core::felt252>"
@@ -8173,7 +7197,7 @@ var IPClubCollectionABI = [
8173
7197
  },
8174
7198
  {
8175
7199
  "type": "function",
8176
- "name": "transfer_from",
7200
+ "name": "safe_batch_transfer_from",
8177
7201
  "inputs": [
8178
7202
  {
8179
7203
  "name": "from",
@@ -8184,24 +7208,16 @@ var IPClubCollectionABI = [
8184
7208
  "type": "core::starknet::contract_address::ContractAddress"
8185
7209
  },
8186
7210
  {
8187
- "name": "token_id",
8188
- "type": "core::integer::u256"
8189
- }
8190
- ],
8191
- "outputs": [],
8192
- "state_mutability": "external"
8193
- },
8194
- {
8195
- "type": "function",
8196
- "name": "approve",
8197
- "inputs": [
7211
+ "name": "token_ids",
7212
+ "type": "core::array::Span::<core::integer::u256>"
7213
+ },
8198
7214
  {
8199
- "name": "to",
8200
- "type": "core::starknet::contract_address::ContractAddress"
7215
+ "name": "values",
7216
+ "type": "core::array::Span::<core::integer::u256>"
8201
7217
  },
8202
7218
  {
8203
- "name": "token_id",
8204
- "type": "core::integer::u256"
7219
+ "name": "data",
7220
+ "type": "core::array::Span::<core::felt252>"
8205
7221
  }
8206
7222
  ],
8207
7223
  "outputs": [],
@@ -8209,66 +7225,50 @@ var IPClubCollectionABI = [
8209
7225
  },
8210
7226
  {
8211
7227
  "type": "function",
8212
- "name": "set_approval_for_all",
7228
+ "name": "is_approved_for_all",
8213
7229
  "inputs": [
8214
7230
  {
8215
- "name": "operator",
7231
+ "name": "owner",
8216
7232
  "type": "core::starknet::contract_address::ContractAddress"
8217
7233
  },
8218
7234
  {
8219
- "name": "approved",
8220
- "type": "core::bool"
8221
- }
8222
- ],
8223
- "outputs": [],
8224
- "state_mutability": "external"
8225
- },
8226
- {
8227
- "type": "function",
8228
- "name": "get_approved",
8229
- "inputs": [
8230
- {
8231
- "name": "token_id",
8232
- "type": "core::integer::u256"
7235
+ "name": "operator",
7236
+ "type": "core::starknet::contract_address::ContractAddress"
8233
7237
  }
8234
7238
  ],
8235
7239
  "outputs": [
8236
7240
  {
8237
- "type": "core::starknet::contract_address::ContractAddress"
7241
+ "type": "core::bool"
8238
7242
  }
8239
7243
  ],
8240
7244
  "state_mutability": "view"
8241
7245
  },
8242
7246
  {
8243
7247
  "type": "function",
8244
- "name": "is_approved_for_all",
7248
+ "name": "set_approval_for_all",
8245
7249
  "inputs": [
8246
- {
8247
- "name": "owner",
8248
- "type": "core::starknet::contract_address::ContractAddress"
8249
- },
8250
7250
  {
8251
7251
  "name": "operator",
8252
7252
  "type": "core::starknet::contract_address::ContractAddress"
8253
- }
8254
- ],
8255
- "outputs": [
7253
+ },
8256
7254
  {
7255
+ "name": "approved",
8257
7256
  "type": "core::bool"
8258
7257
  }
8259
7258
  ],
8260
- "state_mutability": "view"
7259
+ "outputs": [],
7260
+ "state_mutability": "external"
8261
7261
  }
8262
7262
  ]
8263
7263
  },
8264
7264
  {
8265
7265
  "type": "impl",
8266
- "name": "ERC721CamelOnly",
8267
- "interface_name": "openzeppelin_token::erc721::interface::IERC721CamelOnly"
7266
+ "name": "ERC1155CamelImpl",
7267
+ "interface_name": "openzeppelin_token::erc1155::interface::IERC1155Camel"
8268
7268
  },
8269
7269
  {
8270
7270
  "type": "interface",
8271
- "name": "openzeppelin_token::erc721::interface::IERC721CamelOnly",
7271
+ "name": "openzeppelin_token::erc1155::interface::IERC1155Camel",
8272
7272
  "items": [
8273
7273
  {
8274
7274
  "type": "function",
@@ -8277,6 +7277,10 @@ var IPClubCollectionABI = [
8277
7277
  {
8278
7278
  "name": "account",
8279
7279
  "type": "core::starknet::contract_address::ContractAddress"
7280
+ },
7281
+ {
7282
+ "name": "tokenId",
7283
+ "type": "core::integer::u256"
8280
7284
  }
8281
7285
  ],
8282
7286
  "outputs": [
@@ -8288,16 +7292,20 @@ var IPClubCollectionABI = [
8288
7292
  },
8289
7293
  {
8290
7294
  "type": "function",
8291
- "name": "ownerOf",
7295
+ "name": "balanceOfBatch",
8292
7296
  "inputs": [
8293
7297
  {
8294
- "name": "tokenId",
8295
- "type": "core::integer::u256"
7298
+ "name": "accounts",
7299
+ "type": "core::array::Span::<core::starknet::contract_address::ContractAddress>"
7300
+ },
7301
+ {
7302
+ "name": "tokenIds",
7303
+ "type": "core::array::Span::<core::integer::u256>"
8296
7304
  }
8297
7305
  ],
8298
7306
  "outputs": [
8299
7307
  {
8300
- "type": "core::starknet::contract_address::ContractAddress"
7308
+ "type": "core::array::Span::<core::integer::u256>"
8301
7309
  }
8302
7310
  ],
8303
7311
  "state_mutability": "view"
@@ -8318,6 +7326,10 @@ var IPClubCollectionABI = [
8318
7326
  "name": "tokenId",
8319
7327
  "type": "core::integer::u256"
8320
7328
  },
7329
+ {
7330
+ "name": "value",
7331
+ "type": "core::integer::u256"
7332
+ },
8321
7333
  {
8322
7334
  "name": "data",
8323
7335
  "type": "core::array::Span::<core::felt252>"
@@ -8328,7 +7340,7 @@ var IPClubCollectionABI = [
8328
7340
  },
8329
7341
  {
8330
7342
  "type": "function",
8331
- "name": "transferFrom",
7343
+ "name": "safeBatchTransferFrom",
8332
7344
  "inputs": [
8333
7345
  {
8334
7346
  "name": "from",
@@ -8339,24 +7351,16 @@ var IPClubCollectionABI = [
8339
7351
  "type": "core::starknet::contract_address::ContractAddress"
8340
7352
  },
8341
7353
  {
8342
- "name": "tokenId",
8343
- "type": "core::integer::u256"
8344
- }
8345
- ],
8346
- "outputs": [],
8347
- "state_mutability": "external"
8348
- },
8349
- {
8350
- "type": "function",
8351
- "name": "setApprovalForAll",
8352
- "inputs": [
7354
+ "name": "tokenIds",
7355
+ "type": "core::array::Span::<core::integer::u256>"
7356
+ },
8353
7357
  {
8354
- "name": "operator",
8355
- "type": "core::starknet::contract_address::ContractAddress"
7358
+ "name": "values",
7359
+ "type": "core::array::Span::<core::integer::u256>"
8356
7360
  },
8357
7361
  {
8358
- "name": "approved",
8359
- "type": "core::bool"
7362
+ "name": "data",
7363
+ "type": "core::array::Span::<core::felt252>"
8360
7364
  }
8361
7365
  ],
8362
7366
  "outputs": [],
@@ -8364,39 +7368,39 @@ var IPClubCollectionABI = [
8364
7368
  },
8365
7369
  {
8366
7370
  "type": "function",
8367
- "name": "getApproved",
7371
+ "name": "isApprovedForAll",
8368
7372
  "inputs": [
8369
7373
  {
8370
- "name": "tokenId",
8371
- "type": "core::integer::u256"
7374
+ "name": "owner",
7375
+ "type": "core::starknet::contract_address::ContractAddress"
7376
+ },
7377
+ {
7378
+ "name": "operator",
7379
+ "type": "core::starknet::contract_address::ContractAddress"
8372
7380
  }
8373
7381
  ],
8374
7382
  "outputs": [
8375
7383
  {
8376
- "type": "core::starknet::contract_address::ContractAddress"
7384
+ "type": "core::bool"
8377
7385
  }
8378
7386
  ],
8379
7387
  "state_mutability": "view"
8380
7388
  },
8381
7389
  {
8382
7390
  "type": "function",
8383
- "name": "isApprovedForAll",
7391
+ "name": "setApprovalForAll",
8384
7392
  "inputs": [
8385
- {
8386
- "name": "owner",
8387
- "type": "core::starknet::contract_address::ContractAddress"
8388
- },
8389
7393
  {
8390
7394
  "name": "operator",
8391
7395
  "type": "core::starknet::contract_address::ContractAddress"
8392
- }
8393
- ],
8394
- "outputs": [
7396
+ },
8395
7397
  {
7398
+ "name": "approved",
8396
7399
  "type": "core::bool"
8397
7400
  }
8398
7401
  ],
8399
- "state_mutability": "view"
7402
+ "outputs": [],
7403
+ "state_mutability": "external"
8400
7404
  }
8401
7405
  ]
8402
7406
  },
@@ -8503,22 +7507,6 @@ var IPClubCollectionABI = [
8503
7507
  "name": "base_uri",
8504
7508
  "type": "core::byte_array::ByteArray"
8505
7509
  },
8506
- {
8507
- "name": "max_supply",
8508
- "type": "core::integer::u256"
8509
- },
8510
- {
8511
- "name": "entry_fee",
8512
- "type": "core::integer::u256"
8513
- },
8514
- {
8515
- "name": "payment_token",
8516
- "type": "core::option::Option::<core::starknet::contract_address::ContractAddress>"
8517
- },
8518
- {
8519
- "name": "royalty_bps",
8520
- "type": "core::integer::u256"
8521
- },
8522
7510
  {
8523
7511
  "name": "owner",
8524
7512
  "type": "core::starknet::contract_address::ContractAddress"
@@ -8527,9 +7515,14 @@ var IPClubCollectionABI = [
8527
7515
  },
8528
7516
  {
8529
7517
  "type": "event",
8530
- "name": "openzeppelin_token::erc721::erc721::ERC721Component::Transfer",
7518
+ "name": "openzeppelin_token::erc1155::erc1155::ERC1155Component::TransferSingle",
8531
7519
  "kind": "struct",
8532
7520
  "members": [
7521
+ {
7522
+ "name": "operator",
7523
+ "type": "core::starknet::contract_address::ContractAddress",
7524
+ "kind": "key"
7525
+ },
8533
7526
  {
8534
7527
  "name": "from",
8535
7528
  "type": "core::starknet::contract_address::ContractAddress",
@@ -8541,37 +7534,52 @@ var IPClubCollectionABI = [
8541
7534
  "kind": "key"
8542
7535
  },
8543
7536
  {
8544
- "name": "token_id",
7537
+ "name": "id",
8545
7538
  "type": "core::integer::u256",
8546
- "kind": "key"
7539
+ "kind": "data"
7540
+ },
7541
+ {
7542
+ "name": "value",
7543
+ "type": "core::integer::u256",
7544
+ "kind": "data"
8547
7545
  }
8548
7546
  ]
8549
7547
  },
8550
7548
  {
8551
7549
  "type": "event",
8552
- "name": "openzeppelin_token::erc721::erc721::ERC721Component::Approval",
7550
+ "name": "openzeppelin_token::erc1155::erc1155::ERC1155Component::TransferBatch",
8553
7551
  "kind": "struct",
8554
7552
  "members": [
8555
7553
  {
8556
- "name": "owner",
7554
+ "name": "operator",
8557
7555
  "type": "core::starknet::contract_address::ContractAddress",
8558
7556
  "kind": "key"
8559
7557
  },
8560
7558
  {
8561
- "name": "approved",
7559
+ "name": "from",
8562
7560
  "type": "core::starknet::contract_address::ContractAddress",
8563
7561
  "kind": "key"
8564
7562
  },
8565
7563
  {
8566
- "name": "token_id",
8567
- "type": "core::integer::u256",
7564
+ "name": "to",
7565
+ "type": "core::starknet::contract_address::ContractAddress",
8568
7566
  "kind": "key"
7567
+ },
7568
+ {
7569
+ "name": "ids",
7570
+ "type": "core::array::Span::<core::integer::u256>",
7571
+ "kind": "data"
7572
+ },
7573
+ {
7574
+ "name": "values",
7575
+ "type": "core::array::Span::<core::integer::u256>",
7576
+ "kind": "data"
8569
7577
  }
8570
7578
  ]
8571
7579
  },
8572
7580
  {
8573
7581
  "type": "event",
8574
- "name": "openzeppelin_token::erc721::erc721::ERC721Component::ApprovalForAll",
7582
+ "name": "openzeppelin_token::erc1155::erc1155::ERC1155Component::ApprovalForAll",
8575
7583
  "kind": "struct",
8576
7584
  "members": [
8577
7585
  {
@@ -8593,22 +7601,44 @@ var IPClubCollectionABI = [
8593
7601
  },
8594
7602
  {
8595
7603
  "type": "event",
8596
- "name": "openzeppelin_token::erc721::erc721::ERC721Component::Event",
7604
+ "name": "openzeppelin_token::erc1155::erc1155::ERC1155Component::URI",
7605
+ "kind": "struct",
7606
+ "members": [
7607
+ {
7608
+ "name": "value",
7609
+ "type": "core::byte_array::ByteArray",
7610
+ "kind": "data"
7611
+ },
7612
+ {
7613
+ "name": "id",
7614
+ "type": "core::integer::u256",
7615
+ "kind": "key"
7616
+ }
7617
+ ]
7618
+ },
7619
+ {
7620
+ "type": "event",
7621
+ "name": "openzeppelin_token::erc1155::erc1155::ERC1155Component::Event",
8597
7622
  "kind": "enum",
8598
7623
  "variants": [
8599
7624
  {
8600
- "name": "Transfer",
8601
- "type": "openzeppelin_token::erc721::erc721::ERC721Component::Transfer",
7625
+ "name": "TransferSingle",
7626
+ "type": "openzeppelin_token::erc1155::erc1155::ERC1155Component::TransferSingle",
8602
7627
  "kind": "nested"
8603
7628
  },
8604
7629
  {
8605
- "name": "Approval",
8606
- "type": "openzeppelin_token::erc721::erc721::ERC721Component::Approval",
7630
+ "name": "TransferBatch",
7631
+ "type": "openzeppelin_token::erc1155::erc1155::ERC1155Component::TransferBatch",
8607
7632
  "kind": "nested"
8608
7633
  },
8609
7634
  {
8610
7635
  "name": "ApprovalForAll",
8611
- "type": "openzeppelin_token::erc721::erc721::ERC721Component::ApprovalForAll",
7636
+ "type": "openzeppelin_token::erc1155::erc1155::ERC1155Component::ApprovalForAll",
7637
+ "kind": "nested"
7638
+ },
7639
+ {
7640
+ "name": "URI",
7641
+ "type": "openzeppelin_token::erc1155::erc1155::ERC1155Component::URI",
8612
7642
  "kind": "nested"
8613
7643
  }
8614
7644
  ]
@@ -8672,7 +7702,7 @@ var IPClubCollectionABI = [
8672
7702
  },
8673
7703
  {
8674
7704
  "type": "event",
8675
- "name": "ip_club::IPClubCollection::IPClubCollection::MemberMinted",
7705
+ "name": "ip_club::IPClubCollection::IPClubCollection::MembershipCreated",
8676
7706
  "kind": "struct",
8677
7707
  "members": [
8678
7708
  {
@@ -8681,25 +7711,28 @@ var IPClubCollectionABI = [
8681
7711
  "kind": "key"
8682
7712
  },
8683
7713
  {
8684
- "name": "to",
8685
- "type": "core::starknet::contract_address::ContractAddress",
8686
- "kind": "key"
7714
+ "name": "max_supply",
7715
+ "type": "core::integer::u256",
7716
+ "kind": "data"
8687
7717
  },
8688
7718
  {
8689
- "name": "payer",
8690
- "type": "core::starknet::contract_address::ContractAddress",
7719
+ "name": "start_time",
7720
+ "type": "core::option::Option::<core::integer::u64>",
8691
7721
  "kind": "data"
8692
- }
8693
- ]
8694
- },
8695
- {
8696
- "type": "event",
8697
- "name": "ip_club::IPClubCollection::IPClubCollection::OpenStatusChanged",
8698
- "kind": "struct",
8699
- "members": [
7722
+ },
8700
7723
  {
8701
- "name": "open",
8702
- "type": "core::bool",
7724
+ "name": "end_time",
7725
+ "type": "core::option::Option::<core::integer::u64>",
7726
+ "kind": "data"
7727
+ },
7728
+ {
7729
+ "name": "metadata_uri",
7730
+ "type": "core::byte_array::ByteArray",
7731
+ "kind": "data"
7732
+ },
7733
+ {
7734
+ "name": "created_at",
7735
+ "type": "core::integer::u64",
8703
7736
  "kind": "data"
8704
7737
  }
8705
7738
  ]
@@ -8710,8 +7743,8 @@ var IPClubCollectionABI = [
8710
7743
  "kind": "enum",
8711
7744
  "variants": [
8712
7745
  {
8713
- "name": "ERC721Event",
8714
- "type": "openzeppelin_token::erc721::erc721::ERC721Component::Event",
7746
+ "name": "ERC1155Event",
7747
+ "type": "openzeppelin_token::erc1155::erc1155::ERC1155Component::Event",
8715
7748
  "kind": "flat"
8716
7749
  },
8717
7750
  {
@@ -8725,13 +7758,8 @@ var IPClubCollectionABI = [
8725
7758
  "kind": "flat"
8726
7759
  },
8727
7760
  {
8728
- "name": "MemberMinted",
8729
- "type": "ip_club::IPClubCollection::IPClubCollection::MemberMinted",
8730
- "kind": "nested"
8731
- },
8732
- {
8733
- "name": "OpenStatusChanged",
8734
- "type": "ip_club::IPClubCollection::IPClubCollection::OpenStatusChanged",
7761
+ "name": "MembershipCreated",
7762
+ "type": "ip_club::IPClubCollection::IPClubCollection::MembershipCreated",
8735
7763
  "kind": "nested"
8736
7764
  }
8737
7765
  ]
@@ -11516,6 +10544,11 @@ var TicketService = class {
11516
10544
  ]);
11517
10545
  return Boolean(result);
11518
10546
  }
10547
+ /** Read — number of tickets created so far (ids are sequential from 1). */
10548
+ async getTicketCount(params) {
10549
+ const result = await this._collectionRead(params.collection).call("ticket_count", []);
10550
+ return BigInt(result);
10551
+ }
11519
10552
  /** Read — returns the Ticket record for a token ID. */
11520
10553
  async getTicket(params) {
11521
10554
  const t = await this._collectionRead(params.collection).call("get_ticket", [
@@ -11533,121 +10566,90 @@ var TicketService = class {
11533
10566
  };
11534
10567
  var ClubService = class {
11535
10568
  constructor(config) {
11536
- const coords = getStarknetCoordinates(config.chain);
11537
- this.registryAddress = coords.ipClubRegistry;
11538
- this.factoryAddress = coords.ipClubFactory;
11539
- }
11540
- _registry(account, registryAddress) {
11541
- const address = registryAddress ?? this.registryAddress;
11542
- if (!address) throw new Error("IP-Club registry address not configured for this chain");
11543
- return newContract(IPClubABI, normalizeAddress("STARKNET", address), account);
10569
+ this.config = config;
10570
+ this.factoryAddress = getStarknetCoordinates(config.chain).ipClubFactory;
11544
10571
  }
11545
10572
  _factory(account, factoryAddress) {
11546
10573
  const address = factoryAddress ?? this.factoryAddress;
11547
10574
  if (!address) throw new Error("IP-Club factory address not configured for this chain");
11548
10575
  return newContract(IPClubFactoryABI, normalizeAddress("STARKNET", address), account);
11549
10576
  }
11550
- _collection(account, collectionAddress) {
11551
- return newContract(IPClubCollectionABI, normalizeAddress("STARKNET", collectionAddress), account);
10577
+ _collection(address, account) {
10578
+ return newContract(IPClubCollectionABI, normalizeAddress("STARKNET", address), account);
10579
+ }
10580
+ _collectionRead(address) {
10581
+ const provider = new RpcProvider({ nodeUrl: this.config.rpcUrl });
10582
+ return newContract(IPClubCollectionABI, normalizeAddress("STARKNET", address), provider);
11552
10583
  }
11553
- /** Deploy a new per-creator membership ERC-721 collection via the factory. */
11554
- async deployClub(account, params) {
11555
- const maxSupply = cairo.uint256(params.maxSupply ?? 0xffffffffffffffffn);
11556
- const entryFee = cairo.uint256(params.entryFee ?? 0n);
11557
- const paymentToken = params.paymentToken ? new CairoOption(CairoOptionVariant.Some, params.paymentToken) : new CairoOption(CairoOptionVariant.None);
11558
- const royaltyBps = cairo.uint256(params.royaltyBps ?? 0n);
11559
- const call = this._factory(account, params.factoryAddress).populate("deploy_club", [
10584
+ /**
10585
+ * Deploys a new IPClubCollection via the factory. Caller becomes owner.
10586
+ * `baseUri` is the collection-level metadata URI, embedded on-chain in the
10587
+ * deploy transaction.
10588
+ */
10589
+ async deployCollection(account, params) {
10590
+ const call = this._factory(account, params.factoryAddress).populate("deploy_collection", [
11560
10591
  params.name,
11561
10592
  params.symbol,
11562
- params.baseUri,
11563
- maxSupply,
11564
- entryFee,
11565
- paymentToken,
11566
- royaltyBps
10593
+ params.baseUri
11567
10594
  ]);
11568
10595
  const res = await account.execute([call]);
11569
10596
  return { txHash: res.transaction_hash };
11570
10597
  }
11571
- /** Owner-only pause or resume new mints on a club collection. */
11572
- async setOpen(account, params) {
11573
- const call = this._collection(account, params.collectionAddress).populate("set_open", [params.open]);
10598
+ /** Owner-only. Creates a new membership tier inside the caller's deployed collection. */
10599
+ async createMembership(account, params) {
10600
+ const startTime = params.startTime != null ? new CairoOption(CairoOptionVariant.Some, params.startTime) : new CairoOption(CairoOptionVariant.None);
10601
+ const endTime = params.endTime != null ? new CairoOption(CairoOptionVariant.Some, params.endTime) : new CairoOption(CairoOptionVariant.None);
10602
+ const call = this._collection(params.collection, account).populate("create_membership", [
10603
+ cairo.uint256(params.maxSupply),
10604
+ startTime,
10605
+ endTime,
10606
+ params.royaltyBps,
10607
+ params.metadataUri
10608
+ ]);
11574
10609
  const res = await account.execute([call]);
11575
10610
  return { txHash: res.transaction_hash };
11576
10611
  }
11577
- /** Public mint — caller pays entry fee (if any) and receives the membership NFT. */
11578
- async mintMembership(account, params) {
11579
- const calls = [];
11580
- if (params.entryFee && params.paymentToken && BigInt(params.entryFee) > 0n) {
11581
- const amount = cairo.uint256(params.entryFee);
11582
- calls.push({
11583
- contractAddress: params.paymentToken,
11584
- entrypoint: "approve",
11585
- calldata: [
11586
- normalizeAddress("STARKNET", params.collectionAddress),
11587
- amount.low.toString(),
11588
- amount.high.toString()
11589
- ]
11590
- });
11591
- }
11592
- calls.push(
11593
- this._collection(account, params.collectionAddress).populate("mint", [
11594
- params.to ?? account.address
11595
- ])
11596
- );
11597
- const res = await account.execute(calls);
11598
- return { txHash: res.transaction_hash };
11599
- }
11600
- // ── Legacy registry methods (retained for backward compatibility) ──────────────
11601
- /** @deprecated Use deployClub — the factory pattern replaced the registry. */
11602
- async createClub(account, params) {
11603
- const maxMembers = params.maxMembers != null ? new CairoOption(CairoOptionVariant.Some, params.maxMembers) : new CairoOption(CairoOptionVariant.None);
11604
- const entryFee = params.entryFee != null ? new CairoOption(CairoOptionVariant.Some, cairo.uint256(params.entryFee)) : new CairoOption(CairoOptionVariant.None);
11605
- const paymentToken = params.paymentToken ? new CairoOption(CairoOptionVariant.Some, params.paymentToken) : new CairoOption(CairoOptionVariant.None);
11606
- const call = this._registry(account, params.registryAddress).populate("create_club", [
11607
- params.name,
11608
- params.symbol,
11609
- params.metadataUri,
11610
- maxMembers,
11611
- entryFee,
11612
- paymentToken
10612
+ /**
10613
+ * Owner-only. Mints `amount` of `tokenId` to `to`. The validity window
10614
+ * gates membership, never minting — future-window tiers mint fine.
10615
+ */
10616
+ async mint(account, params) {
10617
+ const call = this._collection(params.collection, account).populate("mint", [
10618
+ params.to,
10619
+ cairo.uint256(params.tokenId),
10620
+ cairo.uint256(params.amount)
11613
10621
  ]);
11614
10622
  const res = await account.execute([call]);
11615
10623
  return { txHash: res.transaction_hash };
11616
10624
  }
11617
- /** @deprecated Legacy registry use factory-deployed collection methods. */
11618
- async setClubOpen(account, params) {
11619
- const call = this._registry(account, params.registryAddress).populate("set_club_open", [
11620
- cairo.uint256(params.clubId),
11621
- params.open
10625
+ /** Read true if holder holds any tier currently inside its validity window. */
10626
+ async isMember(params) {
10627
+ const result = await this._collectionRead(params.collection).call("is_member", [
10628
+ params.holder
11622
10629
  ]);
11623
- const res = await account.execute([call]);
11624
- return { txHash: res.transaction_hash };
10630
+ return Boolean(result);
11625
10631
  }
11626
- /** @deprecated Legacy registry use mintMembership with factory-deployed collections. */
11627
- async joinClub(account, params) {
11628
- const registryAddress = params.registryAddress ?? this.registryAddress;
11629
- if (!registryAddress) throw new Error("IP-Club registry address not configured for this chain");
11630
- const calls = [];
11631
- if (params.paymentToken && params.entryFee && BigInt(params.entryFee) > 0n) {
11632
- const amount = cairo.uint256(params.entryFee);
11633
- calls.push({
11634
- contractAddress: params.paymentToken,
11635
- entrypoint: "approve",
11636
- calldata: [normalizeAddress("STARKNET", registryAddress), amount.low.toString(), amount.high.toString()]
11637
- });
11638
- }
11639
- calls.push(this._registry(account, registryAddress).populate("join_club", [cairo.uint256(params.clubId)]));
11640
- const res = await account.execute(calls);
11641
- return { txHash: res.transaction_hash };
10632
+ /** Read true if holder holds `tokenId` and the current time is inside its window. */
10633
+ async isMemberOf(params) {
10634
+ const result = await this._collectionRead(params.collection).call("is_member_of", [
10635
+ cairo.uint256(params.tokenId),
10636
+ params.holder
10637
+ ]);
10638
+ return Boolean(result);
11642
10639
  }
11643
- /** @deprecated Legacy registry use factory-deployed collection burn. */
11644
- async leaveClub(account, params) {
11645
- const call = this._registry(account, params.registryAddress).populate("leave_club", [
11646
- cairo.uint256(params.clubId),
10640
+ /** Read returns the Membership record for a token ID. */
10641
+ async getMembership(params) {
10642
+ const m = await this._collectionRead(params.collection).call("get_membership", [
11647
10643
  cairo.uint256(params.tokenId)
11648
10644
  ]);
11649
- const res = await account.execute([call]);
11650
- return { txHash: res.transaction_hash };
10645
+ return {
10646
+ maxSupply: BigInt(m.max_supply),
10647
+ minted: BigInt(m.minted),
10648
+ startTime: m.start_time?.variant === "Some" ? Number(m.start_time.values[0] ?? m.start_time.value) : null,
10649
+ endTime: m.end_time?.variant === "Some" ? Number(m.end_time.values[0] ?? m.end_time.value) : null,
10650
+ royaltyBps: Number(m.royalty_bps),
10651
+ metadataUri: m.metadata_uri
10652
+ };
11651
10653
  }
11652
10654
  };
11653
10655
  var SponsorshipService = class {
@@ -12678,6 +11680,6 @@ function encodeByteArray(str) {
12678
11680
  ];
12679
11681
  }
12680
11682
 
12681
- export { ADMIN_HEADERS, ADMIN_SCOPE, MAX_SUPPLY as COIN_MAX_SUPPLY, MIN_SUPPLY as COIN_MIN_SUPPLY, ClubService, CreatorCoinFactoryABI, CreatorCoinService, DropCollectionABI, DropFactoryABI, DropService, ERC1155CollectionService, IPClubABI, IPClubCollectionABI, IPClubFactoryABI, IPClubNFTABI, IPCollection1155ABI, IPCollection1155FactoryABI, IPCollectionABI, IPGenesisABI, IPMarketplaceABI, IPNftABI, IPSponsorshipABI, IPTicketCollectionABI, IPTicketCollectionFactoryABI, LAUNCH_PRICE_QUOTE_PER_COIN, Medialane1155ABI, MedialaneClient, MedialaneError, POPCollectionABI, POPFactoryABI, PopService, SponsorshipService, StarknetVenue, TicketService, VALIDATED_EKUBO_PARAMS, adminRequestDigest, build1155CancellationTypedData, build1155OrderTypedData, buildAdminSessionTypedData, buildCancellationTypedData, buildCreateCreatorCoinCall, buildFeeCall, buildLaunchOnEkuboCalls, buildOrderTypedData, buybackQuoteRaw, toRaw as coinToRaw, createAdminSessionGrant, encodeAdminHeaders, encodeByteArray, fdvHuman, getCounter, getCounter1155, getCreatorCoinPrice, getOrderDetails, getOrderDetails1155, getSiwsStorageKey, getStoredSiwsToken, isSiwsTokenValid, normalizeSiwsSignature, parseAdminHeaders, parseCreatorCoinCreated, randomNonce, requestSiwsToken, sessionKeyHashOf, signAdminRequest, storeSiwsToken, teamCoinsRaw, validateName as validateCoinName, validateSupply as validateCoinSupply, validateSymbol as validateCoinSymbol, verifyAdminRequestSig };
11683
+ export { ADMIN_HEADERS, ADMIN_SCOPE, MAX_SUPPLY as COIN_MAX_SUPPLY, MIN_SUPPLY as COIN_MIN_SUPPLY, ClubService, CreatorCoinFactoryABI, CreatorCoinService, DropCollectionABI, DropFactoryABI, DropService, ERC1155CollectionService, IPClubCollectionABI, IPClubFactoryABI, IPCollection1155ABI, IPCollection1155FactoryABI, IPCollectionABI, IPGenesisABI, IPMarketplaceABI, IPNftABI, IPSponsorshipABI, IPTicketCollectionABI, IPTicketCollectionFactoryABI, LAUNCH_PRICE_QUOTE_PER_COIN, Medialane1155ABI, MedialaneClient, MedialaneError, POPCollectionABI, POPFactoryABI, PopService, SponsorshipService, StarknetVenue, TicketService, VALIDATED_EKUBO_PARAMS, adminRequestDigest, build1155CancellationTypedData, build1155OrderTypedData, buildAdminSessionTypedData, buildCancellationTypedData, buildCreateCreatorCoinCall, buildFeeCall, buildLaunchOnEkuboCalls, buildOrderTypedData, buybackQuoteRaw, toRaw as coinToRaw, createAdminSessionGrant, encodeAdminHeaders, encodeByteArray, fdvHuman, getCounter, getCounter1155, getCreatorCoinPrice, getOrderDetails, getOrderDetails1155, getSiwsStorageKey, getStoredSiwsToken, isSiwsTokenValid, normalizeSiwsSignature, parseAdminHeaders, parseCreatorCoinCreated, randomNonce, requestSiwsToken, sessionKeyHashOf, signAdminRequest, storeSiwsToken, teamCoinsRaw, validateName as validateCoinName, validateSupply as validateCoinSupply, validateSymbol as validateCoinSymbol, verifyAdminRequestSig };
12682
11684
  //# sourceMappingURL=index.js.map
12683
11685
  //# sourceMappingURL=index.js.map