Last active
May 30, 2024 09:49
-
-
Save OkoliEvans/04f0590a3af6afc8015b1f089390cbc0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#[starknet::contract] | |
mod NftBase { | |
// use openzeppelin::access::ownable::ownable::OwnableComponent::InternalTrait; | |
use openzeppelin::token::erc721::erc721::ERC721Component::InternalTrait; | |
use openzeppelin::token::erc721::erc721::ERC721Component; | |
use openzeppelin::access::ownable::OwnableComponent; | |
use starknet::{ContractAddress}; | |
component!(path: ERC721Component, storage: ERC721, event: ERC721Event); | |
component!(path: OwnableComponent, storage: ownable, event: OwnableEvent); | |
#[storage] | |
struct Storage { | |
#[substorage(v0)] | |
ERC721: ERC721Component::Storage, | |
#[substorage(v0)] | |
ownable: OwnableComponent::Storage | |
} | |
#[event] | |
#[derive(Drop, starknet::Event)] | |
enum Event { | |
#[flat] | |
ERC721Event: ERC721Component::Event, | |
#[flat] | |
OwnableEvent: OwnableComponent::Event, | |
} | |
#[constructor] | |
fn constructor(ref self: ContractState, owner: ContractAddress, name: ByteArray, symbol: ByteArray, base_uri: ByteArray) { | |
self.ERC721.initializer(name, symbol, base_uri); | |
// initializer() throws error: `Method `initializer` could not be called on type `openzeppelin::token::erc721::erc721::ERC721Component::ComponentState::<starkcon::nft::NftBase::ContractState>`. | |
//Candidate `InternalTrait::initializer` inference failed with: Trait has no implementation in context: openzeppelin::token::erc721::erc721::ERC721Component::InternalTrait::<starkcon::nft::NftBase::ContractState, ?0, ?1, ?2, ?3>` | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment