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