Inspiration Our app’s innovation extends beyond creating TikTok ads; it intertwines the burgeoning world of NFTs with digital advertising. By linking ads to NFTs, users gain the ability to stake on these ads, creating an unprecedented fusion of digital assets and marketing. Imagine this: a user-generated ad gains traction, amassing a significant number of impressions. At this juncture, an NFT associated with the ad becomes activated. Staking on this NFT signifies confidence in the ad’s performance. As impressions soar, the NFT accrues value, translating to tangible rewards for the ad creator. Essentially, this incentivizes creators to craft engaging, high-impact ads, fostering a symbiotic relationship between content quality and profitability. This innovative concept capitalizes on the inherent potential of NFTs and leverages the evolving dynamics of digital advertising. It revolutionizes how we perceive ad value by transforming impressions into quantifiable assets. Through this fusion, our app not only pioneers a new era in advertising but also democratizes earning potential, empowering creators within the digital ecosystem. What it does AdNFT Creation Admins can create new AdNFTs, each representing an advertisement, using the createAdNFT function. The created AdNFTs store engagement data and the total staked amount. Staking and Rewards Users can stake their tokens on specific AdNFTs using the stakeOnAd function. Stakers earn rewards based on their stake and the engagement score of the associated AdNFT. Rewards can be claimed through the claimRewards function. Chain Compatibility The contract supports compatibility checks for different blockchain networks using the supported chain mapping. Admins can update chain compatibility using the updateChainCompatibility function. Cross-chain movement AdNFTs can be moved to compatible blockchains using the moveToChain function. This function triggers a CCIP message through the sendMessagePayNative function, enabling NFT transfer across chains. Oracle Integration The contract interacts with a Chainlink Oracle to fetch engagement data for AdNFTs. Admins can request engagement data using the requestEngagementData function. NFT Binding Admins can bind AdNFTs for staking using the bindAdNFT function. Users can check the binding status using the getBindingStatus function. Pause and Unpause The contract can be paused and unpaused by admins using the pause and unpause functions. How we are currently building it Tech stack: Scaffold-Eth2 Smart Contract: Chainlink CCIP, Polygon, Solidity, Foundry, chainlink functions, Javascript, Hardhat, Ethers AI Backend: Scaffold-Eth2, Dall-E, Chatgpt, IPFS Frontend: Typescript, Scaffold-Eth2