{"version":3,"sources":["js/title1.png","js/img/guide/smartcontract/03mintnft11.png","js/img/guide/smartcontract/03mintnft12.png","js/img/guide/dapp/00dappoverview6.png","js/img/guide/dapp/04example7.png","js/img/guide/components/00column1.png","js/img/template/2.png","js/img/template/3.png","js/img/template/4.png","js/img/template/5.png","js/img/template/7.png","js/img/template/8.png","js/img/logo/binancefull.png","js/img/logo/ethereumfull.png","js/img/logo/polygonfull.png","js/img/logo/fantomfull.png","js/img/logo/avalanchefull.png","js/img/logo/cronosfull.png","js/img/logo/dogechainfull.png","js/img/logo/hecofull.png","js/img/logo/loopfull.png","js/img/logo/arbitrumfull.png","js/img/logo/confluxfull.png","js/img/templatescroll/1.jpeg","js/img/templatescroll/2.jpeg","js/img/templatescroll/3.jpeg","js/img/templatescroll/4.jpeg","js/img/templatescroll/5.jpeg","js/img/templatescroll/6.jpeg","js/img/contractpreview/4.png","js/img/contractpreview/6.png","js/img/demo/dapp/1.png","js/img/demo/dapp/2.png","js/img/demo/dapp/3.png","js/img/demo/dapp/4.png","js/img/demo/dapp/5.png","js/img/demo/dapp/6.png","js/img/demo/smartcontract/1.png","js/img/demo/smartcontract/2.png","js/img/demo/smartcontract/3.jpeg","js/img/guide/smartcontract/00basic1.png","js/img/guide/smartcontract/00basic2.png","js/img/guide/smartcontract/00basic3.png","js/img/guide/smartcontract/00basic4.png","js/img/guide/smartcontract/01deploy1.png","js/img/guide/smartcontract/01deploy2.png","js/img/guide/smartcontract/01deploy3.png","js/img/guide/smartcontract/01deploy4.png","js/img/guide/smartcontract/01deploy5.png","js/img/guide/smartcontract/02minttoken1.png","js/img/guide/smartcontract/02minttoken2.png","js/img/guide/smartcontract/02minttoken3.png","js/img/guide/smartcontract/02minttoken4.png","js/img/guide/smartcontract/02minttoken5.png","js/img/guide/smartcontract/02minttoken6.png","js/img/guide/smartcontract/02minttoken7.png","js/img/guide/smartcontract/02minttoken8.png","js/img/guide/smartcontract/02minttoken9.png","js/img/guide/smartcontract/03mintnft1.png","js/img/guide/smartcontract/03mintnft2.png","js/img/guide/smartcontract/03mintnft3.png","js/img/guide/smartcontract/03mintnft4.png","js/img/guide/smartcontract/03mintnft4a.png","js/img/guide/smartcontract/03mintnft4b.png","js/img/guide/smartcontract/03mintnft4c.png","js/img/guide/smartcontract/03mintnft4d.png","js/img/guide/smartcontract/03mintnft5.png","js/img/guide/smartcontract/03mintnft6.png","js/img/guide/smartcontract/03mintnft7.png","js/img/guide/smartcontract/03mintnft8.png","js/img/guide/smartcontract/03mintnft9.png","js/img/guide/smartcontract/03mintnft10.png","js/img/guide/smartcontract/03mintnft13.png","js/img/guide/smartcontract/03mintnft14.png","js/img/guide/smartcontract/04exchange1.png","js/img/guide/smartcontract/04exchange2.png","js/img/guide/smartcontract/04exchange3.png","js/img/guide/smartcontract/05staking1.png","js/img/guide/smartcontract/05staking2.png","js/img/guide/smartcontract/05staking3.png","js/img/guide/smartcontract/05staking4.png","js/img/guide/smartcontract/05staking5.png","js/img/guide/smartcontract/06reward1.png","js/img/guide/smartcontract/06reward2.png","js/img/guide/smartcontract/06reward3.png","js/img/guide/smartcontract/06reward4.png","js/img/guide/smartcontract/07escrow1.png","js/img/guide/smartcontract/08voting1.png","js/img/guide/smartcontract/08voting2.png","js/img/guide/smartcontract/08voting3.png","js/img/guide/smartcontract/08voting4.png","js/img/guide/smartcontract/09ownership1.png","js/img/guide/smartcontract/09ownership2.png","js/img/guide/dapp/00dappoverview1.png","js/img/guide/dapp/00dappoverview2.png","js/img/guide/dapp/00dappoverview3.png","js/img/guide/dapp/00dappoverview4.png","js/img/guide/dapp/00dappoverview5.png","js/img/guide/dapp/00dappoverview7.png","js/img/guide/dapp/01basicfn1.png","js/img/guide/dapp/01basicfn2.png","js/img/guide/dapp/01basicfn3.png","js/img/guide/dapp/01basicfn4.png","js/img/guide/dapp/01basicfn5.png","js/img/guide/dapp/02deploydapp1.png","js/img/guide/dapp/02deploydapp2.png","js/img/guide/dapp/02deploydapp3.png","js/img/guide/dapp/02deploydapp4.png","js/img/guide/dapp/03action1.png","js/img/guide/dapp/03action2.png","js/img/guide/dapp/04example1.png","js/img/guide/dapp/04example2.png","js/img/guide/dapp/04example3.png","js/img/guide/dapp/04example4.png","js/img/guide/dapp/04example5.png","js/img/guide/dapp/04example6.png","js/img/guide/dapp/04example8.png","js/img/guide/dapp/04example9.png","js/img/template/9.jpeg","js/img/template/10.jpeg","js/img/template/11.jpeg","js/img/template/12.jpeg","js/img/template/13.jpeg","js/img/template/14.jpeg","js/img/template/15.jpeg","js/img/template/16.jpeg","js/img/template/17.png","js/img/template/18.png","js/img/template/19.png","js/img/userdapps/user1.png","js/img/userdapps/user2.png","js/img/userdapps/user3.png","js/img/contractpreview/3.png","js/ServerComms.js","js/modal.js","js/footer.js","js/navbar.js","js/home.js","js/product.js","js/pricing.js","js/guidesmartcontract.js","js/guidebasics.js","js/guidedapp.js","js/guidecomponents.js","js/guide.js","js/gallery.js","js/usergallery.js","App.js","index.js"],"names":["module","exports","__webpack_require__","p","fetchSomething","passObject","postFunction","failFunction","filesSetArray","fn","data","FormData","i","append","JSON","stringify","name","fetch","method","body","contentType","then","response","ok","text","converted","objectString","stack","pieces","split","currentMode","lastPiece","isEscaped","length","aPiece","push","t","v","isNumber","length3","j3","p3","splice","length4","j4","p4","j","length2","j2","p2","lastInt","stringSet","k","p1","map","aP","index","utf8_to_str","erlangDecode","catch","error","err","n","isNaN","parseFloat","isFinite","a","s","h","toString","decodeURIComponent","Modal","_ref","handleClose","show","showHideclassNameName","children","_useState","useState","_useState2","Object","slicedToArray","elaboration","setEleboration","_useState3","_useState4","email","setEmail","react_default","createElement","className","iconify","height","icon","onClick","style","textDecoration","window","location","assign","type","placeholder","value","onChange","e","target","width","email1","trim","elaboration1","ServerComms","u","selectedTab","responseIn","console","log","alert","Attribute","_ref2","PhotoZoom","_ref4","src","color","Footer","_this","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","showModal","setState","hideModal","showAttribute","attribute","hideAttribute","clickTwitter","state","modal_Modal","modal_Attribute","id","Component","MainNavbar","props","toggleMenu","menu","logo","alt","role","aria-haspopup","aria-expanded","aria-labelledby","react_router_dom","to","Statistics","nosContractLaunches","setNosContractLaunches","nosDappLaunches","setNosDappLaunches","useEffect","MainHome","startNow","changePage","changeCheck","temp","toConsumableArray","dataForm","findIndex","x","p_id","isChecked","changeSuggestion","suggestion","clickSurvey","surveyID","voteID","handleSubmit","p_name","_this2","clickSmartContract","clickDapp","smartcontractlist","smartcontracttypes","templatelist","template1","template2","template3","template4","template5","template6","templatesshow","loading","logolist","ethereum","binance","polygon","avalanche","fantom","dogechain","heco","loop","cronos","conflux","arbitrum","logoshow","home_Statistics","contract2","dapp1","li","key","checked","viewBox","points","SecondHome","_this3","Home","_this4","showPage","page","home","home_MainHome","home_SecondHome","navbar_MainNavbar","footer","DappProduct","stepslist","step1","step2","step3","step4","step5","step6","stepsitems","SmartContractProduct","smartstep1","smartstep2","smartstep3","DAppPricing","SmartContractPricing","Pricing","showThisTab","tabnum","showtab","parseInt","sliderstyle","itemshown","pricing_SmartContractPricing","pricing_DAppPricing","tabmenu","tabitems","Basics","element","img","basic1","basic2","basic3","basic4","modal_PhotoZoom","DeployContract","deploy1","deploy2","deploy3","deploy4","href","deploy5","MintToken","_this5","_this6","token1","token2","token3","token4","token5","token6","nft11","nft12","token7","token8","token9","MintNFT","_this7","_this8","nft1","nft2","nft3","nft4","nft4a","nft4b","nft4c","nft4d","nft5","nft6","nft7","nft8","nft9","nft10","nft13","nft14","ExchangeCoin","_this9","_this10","exchange1","exchange2","exchange3","Staking","_this11","_this12","staking1","staking2","staking3","staking4","staking5","RewardNFT","_this13","_this14","reward1","reward2","reward3","reward4","Escrow","_this15","_this16","escrow1","Voting","_this17","_this18","voting1","voting2","voting3","voting4","Ownership","_this19","_this20","ownership1","ownership2","Main","Payment","BlockchainOverview","SmartContractOverview","DAppOverview","DappProcess","dappoverview1","dappoverview2","dappoverview3","dappoverview4","dappoverview5","dappoverview6","dappoverview7","Dappbuilderfunctions","basicfn1","basicfn2","basicfn3","basicfn4","basicfn5","Dappbuilderactions","action1","action2","Dappbuilderexamples","youtubeRefer","youtubeStaking","example1","example2","example3","example4","example5","example6","example7","example8","example9","DeployDapp","Dappvideos","Types","Containers","column1","Guide","nextProps","clickHome","showContent","guidebasics_Main","guidebasics_Payment","guidebasics_BlockchainOverview","guidebasics_SmartContractOverview","guidebasics_DAppOverview","guidesmartcontract_Basics","guidesmartcontract_DeployContract","guidesmartcontract_MintToken","guidesmartcontract_MintNFT","guidesmartcontract_ExchangeCoin","guidesmartcontract_Staking","guidesmartcontract_RewardNFT","guidesmartcontract_Escrow","guidesmartcontract_Voting","guidesmartcontract_Ownership","guidedapp_DappProcess","guidedapp_Dappbuilderfunctions","guidedapp_Dappbuilderactions","guidedapp_Dappbuilderexamples","guidedapp_DeployDapp","guidedapp_Dappvideos","guidecomponents_Types","guidecomponents_Containers","smartContractList","main","learn","smartContract","dapp","dappcomponents","linkname","replace","toLowerCase","class","GalleryPics","imagelist","images","Gallery","defi1","sr5","cs3","sr4","cs5","cs2","cw1","sr6","cs4","sr2","sr3","cw2","sr1","cs1","UserGallery","detailist","user1","user2","user3","usergallery","TagManager","initialize","gtmId","App","guideList","guideroutelist","react_router","path","guide_Guide","js_home","product_DappProduct","product_SmartContractProduct","pricing_Pricing","gallery_Gallery","usergallery_UserGallery","ReactDOM","react","src_App","document","getElementById"],"mappings":"oFAAAA,EAAAC,QAAiBC,EAAAC,EAAuB,4HCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAA,0sUCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+CCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAi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","file":"static/js/main.5288eef7.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/title1.6d26867d.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft11.3ba493ee.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft12.105df807.png\";","module.exports = __webpack_public_path__ + \"static/media/00dappoverview6.e526f5ce.png\";","module.exports = __webpack_public_path__ + \"static/media/04example7.ea9bac7d.png\";","module.exports = __webpack_public_path__ + \"static/media/00column1.68d52286.png\";","module.exports = __webpack_public_path__ + \"static/media/2.d9421592.png\";","module.exports = __webpack_public_path__ + \"static/media/3.077edb5e.png\";","module.exports = __webpack_public_path__ + \"static/media/4.fa029b44.png\";","module.exports = __webpack_public_path__ + \"static/media/5.930f06dd.png\";","module.exports = __webpack_public_path__ + \"static/media/7.130d845d.png\";","module.exports = __webpack_public_path__ + \"static/media/8.ca9e686f.png\";","module.exports = __webpack_public_path__ + \"static/media/binancefull.ea1e3b12.png\";","module.exports = __webpack_public_path__ + \"static/media/ethereumfull.f4058bf2.png\";","module.exports = __webpack_public_path__ + \"static/media/polygonfull.6da4a587.png\";","module.exports = __webpack_public_path__ + \"static/media/fantomfull.8b908df8.png\";","module.exports = __webpack_public_path__ + \"static/media/avalanchefull.1fa2126f.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/dogechainfull.003a521a.png\";","module.exports = __webpack_public_path__ + \"static/media/hecofull.1a62f64b.png\";","module.exports = __webpack_public_path__ + \"static/media/loopfull.b6aa95b9.png\";","module.exports = __webpack_public_path__ + \"static/media/arbitrumfull.a9bad3ff.png\";","module.exports = __webpack_public_path__ + \"static/media/confluxfull.d01f5c84.png\";","module.exports = __webpack_public_path__ + \"static/media/1.a2e2fe37.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/2.99e9a03e.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/3.d31b9f88.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/4.8f3f9727.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/5.0261f781.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/6.1b61f4c0.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/4.26e875e0.png\";","module.exports = __webpack_public_path__ + \"static/media/6.4bf93172.png\";","module.exports = __webpack_public_path__ + \"static/media/1.52be3e3f.png\";","module.exports = __webpack_public_path__ + \"static/media/2.9969a86f.png\";","module.exports = __webpack_public_path__ + \"static/media/3.be3a16d3.png\";","module.exports = __webpack_public_path__ + \"static/media/4.4ad236a3.png\";","module.exports = __webpack_public_path__ + \"static/media/5.3abb0d45.png\";","module.exports = __webpack_public_path__ + \"static/media/6.d645fca9.png\";","module.exports = __webpack_public_path__ + \"static/media/1.5f331c7e.png\";","module.exports = __webpack_public_path__ + \"static/media/2.9f0e5d26.png\";","module.exports = __webpack_public_path__ + \"static/media/3.6754385c.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/00basic1.0cd38519.png\";","module.exports = __webpack_public_path__ + \"static/media/00basic2.04fde810.png\";","module.exports = __webpack_public_path__ + \"static/media/00basic3.3624a941.png\";","module.exports = __webpack_public_path__ + \"static/media/00basic4.01a1103e.png\";","module.exports = __webpack_public_path__ + \"static/media/01deploy1.b20c8d50.png\";","module.exports = __webpack_public_path__ + \"static/media/01deploy2.b2aa0e60.png\";","module.exports = __webpack_public_path__ + \"static/media/01deploy3.1f5bd38a.png\";","module.exports = __webpack_public_path__ + \"static/media/01deploy4.a0802164.png\";","module.exports = __webpack_public_path__ + \"static/media/01deploy5.94ce39fe.png\";","module.exports = __webpack_public_path__ + \"static/media/02minttoken1.075cccea.png\";","module.exports = __webpack_public_path__ + \"static/media/02minttoken2.c13de258.png\";","module.exports = __webpack_public_path__ + \"static/media/02minttoken3.7c73c1ac.png\";","module.exports = __webpack_public_path__ + \"static/media/02minttoken4.e5ec5f29.png\";","module.exports = __webpack_public_path__ + \"static/media/02minttoken5.727074fa.png\";","module.exports = __webpack_public_path__ + \"static/media/02minttoken6.19d5707c.png\";","module.exports = __webpack_public_path__ + \"static/media/02minttoken7.983938ab.png\";","module.exports = __webpack_public_path__ + \"static/media/02minttoken8.0c0ed859.png\";","module.exports = __webpack_public_path__ + \"static/media/02minttoken9.6a34a202.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft1.a070de88.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft2.7c121f58.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft3.3d35f63c.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft4.bc2fae14.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft4a.991de022.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft4b.91706efd.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft4c.90a9d82a.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft4d.d3166f67.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft5.0a11a869.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft6.0c12c17e.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft7.f2013594.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft8.e080c57c.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft9.e3e7fed8.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft10.e39bbe83.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft13.94e4f94a.png\";","module.exports = __webpack_public_path__ + \"static/media/03mintnft14.ca4217cd.png\";","module.exports = __webpack_public_path__ + \"static/media/04exchange1.132744e8.png\";","module.exports = __webpack_public_path__ + \"static/media/04exchange2.05715e8e.png\";","module.exports = __webpack_public_path__ + \"static/media/04exchange3.2572d281.png\";","module.exports = __webpack_public_path__ + \"static/media/05staking1.25220a3d.png\";","module.exports = __webpack_public_path__ + \"static/media/05staking2.29a99491.png\";","module.exports = __webpack_public_path__ + \"static/media/05staking3.353dced1.png\";","module.exports = __webpack_public_path__ + \"static/media/05staking4.9adc21c2.png\";","module.exports = __webpack_public_path__ + \"static/media/05staking5.52e0e591.png\";","module.exports = __webpack_public_path__ + \"static/media/06reward1.e9bef0be.png\";","module.exports = __webpack_public_path__ + \"static/media/06reward2.845dba6a.png\";","module.exports = __webpack_public_path__ + \"static/media/06reward3.d687e336.png\";","module.exports = __webpack_public_path__ + \"static/media/06reward4.ddf8f1ef.png\";","module.exports = __webpack_public_path__ + \"static/media/07escrow1.b331a654.png\";","module.exports = __webpack_public_path__ + \"static/media/08voting1.ec04366a.png\";","module.exports = __webpack_public_path__ + \"static/media/08voting2.eafb446b.png\";","module.exports = __webpack_public_path__ + \"static/media/08voting3.b0d90040.png\";","module.exports = __webpack_public_path__ + \"static/media/08voting4.48973926.png\";","module.exports = __webpack_public_path__ + \"static/media/09ownership1.4325777d.png\";","module.exports = __webpack_public_path__ + \"static/media/09ownership2.5baf8ee2.png\";","module.exports = __webpack_public_path__ + \"static/media/00dappoverview1.d527d82f.png\";","module.exports = __webpack_public_path__ + \"static/media/00dappoverview2.895845ba.png\";","module.exports = __webpack_public_path__ + \"static/media/00dappoverview3.f416f8be.png\";","module.exports = __webpack_public_path__ + \"static/media/00dappoverview4.bb7e55b1.png\";","module.exports = __webpack_public_path__ + \"static/media/00dappoverview5.b73b40f8.png\";","module.exports = __webpack_public_path__ + \"static/media/00dappoverview7.9b8ef92c.png\";","module.exports = __webpack_public_path__ + \"static/media/01basicfn1.4afde69c.png\";","module.exports = __webpack_public_path__ + \"static/media/01basicfn2.ef73faea.png\";","module.exports = __webpack_public_path__ + \"static/media/01basicfn3.c6a8b5ff.png\";","module.exports = __webpack_public_path__ + \"static/media/01basicfn4.82e65c7a.png\";","module.exports = __webpack_public_path__ + \"static/media/01basicfn5.efa9509d.png\";","module.exports = __webpack_public_path__ + \"static/media/02deploydapp1.0028aa93.png\";","module.exports = __webpack_public_path__ + \"static/media/02deploydapp2.e4cd66ba.png\";","module.exports = __webpack_public_path__ + \"static/media/02deploydapp3.6bf13ab2.png\";","module.exports = __webpack_public_path__ + \"static/media/02deploydapp4.c66c1a54.png\";","module.exports = __webpack_public_path__ + \"static/media/03action1.e3854b10.png\";","module.exports = __webpack_public_path__ + \"static/media/03action2.8e9a8994.png\";","module.exports = __webpack_public_path__ + \"static/media/04example1.9e0c98fe.png\";","module.exports = __webpack_public_path__ + \"static/media/04example2.67e706b7.png\";","module.exports = __webpack_public_path__ + \"static/media/04example3.df1c2e21.png\";","module.exports = __webpack_public_path__ + \"static/media/04example4.774fcca0.png\";","module.exports = __webpack_public_path__ + \"static/media/04example5.b713aac7.png\";","module.exports = __webpack_public_path__ + \"static/media/04example6.bfa5ba37.png\";","module.exports = __webpack_public_path__ + \"static/media/04example8.51c2c356.png\";","module.exports = __webpack_public_path__ + \"static/media/04example9.08ec6a3e.png\";","module.exports = __webpack_public_path__ + \"static/media/9.a2e2fe37.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/10.99e9a03e.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/11.d31b9f88.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/12.8f3f9727.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/13.0261f781.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/14.1b61f4c0.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/15.27cdf9a0.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/16.9fd61c22.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/17.024c69b0.png\";","module.exports = __webpack_public_path__ + \"static/media/18.47c0090a.png\";","module.exports = __webpack_public_path__ + \"static/media/19.40af47af.png\";","module.exports = __webpack_public_path__ + \"static/media/user1.5184f9fb.png\";","module.exports = __webpack_public_path__ + \"static/media/user2.986745e5.png\";","module.exports = __webpack_public_path__ + \"static/media/user3.56f562d6.png\";","module.exports = __webpack_public_path__ + \"static/media/3.5073c6e0.png\";","import 'whatwg-fetch';\n\nexport function fetchSomething(passObject, postFunction, failFunction, filesSetArray){\n try{\n passObject.fn = 'introPage';\n var data = new FormData();\n data.append('passObject', JSON.stringify(passObject));\n if (!filesSetArray){\n filesSetArray = [];\n }\n for (var i in filesSetArray){\n data.append('files'+filesSetArray[i].name, filesSetArray[i]);\n }\n var loc = '/uploadFiles.yaws';\n fetch(loc, { \n method: 'POST',\n body: data,\n contentType: 'multipart/form-data',\n // cache: false,\n // processData: false, \n })\n .then(function(response) {\n if (!response.ok) {\n return 'fail';\n }else{\n return response.text();\n }\n })\n .then(function(data) {\n if (data === 'fail'){\n if (failFunction){\n failFunction();\n }\n }else{ \n var converted = erlangDecode(data);\n postFunction(converted);\n }\n }).catch(error => {\n if (failFunction){\n failFunction(error);\n }\n })\n\n ;\n return null;\n }catch(err) {\n if (failFunction){\n failFunction(err);\n }\n return [];\n } \n}\n\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\n\nfunction utf8_to_str(a) {\n for(var i=0, s=''; i +i + 1){\n if (pieces[+i+1] === 'n'){\n lastPiece += '\\n';\n i++;\n }else if (pieces[+i+1] === 'r'){\n lastPiece += '\\r';\n i++;\n }else if (pieces[+i+1] === 'e'){\n lastPiece += 'e';\n i++;\n }else if (pieces[+i+1] === 't'){\n lastPiece += '\\t';\n i++;\n }else if (pieces[+i+1] === 'f'){\n lastPiece += '\\f';\n i++;\n }else{\n isEscaped = true;\n }\n }else{\n isEscaped = true;\n }\n }else{\n lastPiece += aPiece;\n }\n }\n }else if (currentMode === 'binary'){\n if (isEscaped){\n lastPiece += aPiece;\n isEscaped = false;\n }else{\n if (aPiece === '\"'){\n if (pieces.length > +i+2){\n if (pieces[+i+1] === '>' && pieces[+i+2] === '>'){\n stack.push({'t':'binary', 'v':lastPiece});\n lastPiece = '';\n currentMode = '';\n i = +i+2;\n }\n }\n }else if (aPiece === '\\\\'){\n if (pieces.length > +i + 1){\n if (pieces[+i+1] === 'n'){\n lastPiece += '\\n';\n i++;\n }else if (pieces[+i+1] === 'r'){\n lastPiece += '\\r';\n i++;\n }else if (pieces[+i+1] === 't'){\n lastPiece += '\\t';\n i++;\n }else{\n isEscaped = true;\n }\n }else{\n isEscaped = true;\n }\n }else{\n lastPiece += aPiece;\n }\n }\n }else if (currentMode === 'enclosedAtom'){\n if (isEscaped){\n lastPiece += aPiece;\n isEscaped = false;\n }else{\n if (aPiece === '\"'){\n stack.push({'t':'atom', 'v':lastPiece});\n lastPiece = '';\n currentMode = '';\n }else if (aPiece === '\\\\'){\n isEscaped = true;\n }else{\n lastPiece += aPiece;\n }\n }\n }else if (currentMode === 'nakedAtomOrNumber'){\n if (aPiece === ','){\n if (isNumber(lastPiece)){\n stack.push({'t':'number', 'v':+lastPiece});\n }else{\n stack.push({'t':'atom', 'v':lastPiece});\n }\n lastPiece = '';\n currentMode = '';\n }else if (aPiece === '}'){\n if (isNumber(lastPiece)){\n stack.push({'t':'number', 'v':+lastPiece});\n }else{\n stack.push({'t':'atom', 'v':lastPiece});\n }\n lastPiece = '';\n currentMode = '';\n var length3 = stack.length;\n for (var j3 = length3 - 1; j3 > -1; j3--){\n if (stack[j3] === 'tupleStart'){\n var p3 = stack.splice(+j3, length3-j3);\n p3.splice(0,1);\n stack.push({'t':'tuple', 'v':p3});\n break;\n }\n }\n }else if (aPiece === ']'){\n if (isNumber(lastPiece)){\n stack.push({'t':'number', 'v':+lastPiece});\n }else{\n stack.push({'t':'atom', 'v':lastPiece});\n }\n lastPiece = '';\n currentMode = '';\n var length4 = stack.length;\n for (var j4 = length4 - 1; j4 > -1; j4--){\n if (stack[j4] === 'listStart'){\n var p4 = stack.splice(+j4, length4-j4);\n p4.splice(0,1);\n stack.push({'t':'list', 'v':p4});\n break;\n }\n }\n }else{\n lastPiece += aPiece;\n }\n }else{\n if (aPiece === '{'){\n stack.push('tupleStart');\n }else if (aPiece === '}'){\n var length = stack.length;\n for (var j = length - 1; j > -1; j--){\n if (stack[j] === 'tupleStart'){\n var p = stack.splice(+j, length-j);\n p.splice(0,1);\n stack.push({'t':'tuple', 'v':p});\n break;\n }\n }\n }else if (aPiece === '['){\n stack.push('listStart');\n }else if (aPiece === ']'){\n var length2 = stack.length;\n for (var j2 = length2 - 1; j2 > -1; j2--){\n if (stack[j2] === 'listStart'){\n var p2 = stack.splice(+j2, length2-j2);\n p2.splice(0,1);\n stack.push({'t':'list', 'v':p2});\n break;\n }\n }\n }else if (aPiece === '\"'){\n currentMode = 'string';\n lastPiece = '';\n }else if (aPiece === '\"'){\n currentMode = 'enclosedAtom';\n lastPiece = '';\n }else if (aPiece === '<'){\n if (pieces.length > +i+4){\n if (pieces[+i+1] === '<' && pieces[+i+2] === '\"'){\n currentMode = 'binary';\n lastPiece = '';\n i = +i+2;\n }else if (pieces[+i+1] === '<' && pieces[+i+2] === '>' && pieces[+i+3] === '>'){\n stack.push({'t':'binary', v:''});\n lastPiece = '';\n i = +i+3; \n }else if (pieces[+i+1] === '<'){\n var lastInt = '';\n var stringSet = '';\n for (var k = +i+2; k < pieces.length; k++){\n if (pieces[k] === '>'){\n i = +k+1;\n var p1 = lastInt.split(',').map((aP, index)=>{\n return +aP;\n })\n stringSet = utf8_to_str(p1);\n k = pieces.length;\n break;\n }else{\n lastInt += pieces[k];\n }\n }\n stack.push({'t':'binary', v:stringSet});\n currentMode = '';\n lastPiece = '';\n }\n }\n }else if (aPiece === ' '){\n }else if (aPiece === '\\r'){\n }else if (aPiece === '\\n'){\n }else if (aPiece === ','){\n }else{\n currentMode = 'nakedAtomOrNumber';\n lastPiece = aPiece;\n }\n\n }\n }\n if (lastPiece === ''){\n }else if (currentMode === 'nakedAtomOrNumber'){\n if (isNumber(lastPiece)){\n stack.push({'t':'number', 'v':+lastPiece});\n }else{\n stack.push({'t':'atom', 'v':lastPiece});\n }\n }\n \n return stack[0]; \n }else{\n return {'t':'list', 'v':[]};\n }\n\n}\n\n","import React, {Component, useState} from 'react';\nimport './css/modal.css';\nimport * as ServerComms from './ServerComms';\nimport './css/home.css';\nimport { Icon } from '@iconify/react';\n\nconst Modal = ({ handleClose, show, children }) => {\n const showHideclassNameName = show ? \"modal display-block\" : \"modal display-none\";\n\n const [elaboration, setEleboration] = useState('');\n const [email, setEmail] = useState(\"\");\n\n function onElaborate(e){\n setEleboration(e.target.value);\n }\n function onEmail(e){\n setEmail(e.target.value);\n }\n\t\n\tfunction clickLink(){\n window.location.assign('https://t.me/+yK9fP_1z27Q2NzVl');\n }\n\t\n function clickSubmit(e){\n var postFunction = function(responseIn){\n setEleboration(\"\");\n setEmail(\"\");\n }\n\n var failFunction = function(){\n console.log(\"Fail\");\n }\n\n var email1 = email.trim();\n var elaboration1 = elaboration.trim();\n\n if (email1.length === 0 || elaboration1.length === 0){\n window.alert(\"Empty fields not allowed\");\n return;\n }\n\n var passObject = {\n u:'submitElab',\n elaboration:elaboration1,\n email:email1,\n selectedTab:-1,\n };\n \n ServerComms.fetchSomething(passObject, postFunction, failFunction, [], 1); \n }\n\n//\n return (\n
\n
\n
\n\t \t\t\t
\n\t \t\t\t\n\t \n\t \t\t\t
\n\t \n
\n\t \t\t
\n\t \t\t\t\n\t \n\t \t\t
\n\t \n\t \t\t
\n
\n

Feedback/Suggestions

\n\t \t\t\t
Please contact us via Telegram @cuessg and we will get back to you as soon as possible.\n\nAlternatively, you can use the following form or ask in our community chat by clicking here.
\n
\n
\n
\n \n
\n
\n\t \t\t\t\t\t\t
\n \n
\n \n
\n
\n
\n\t \t\t\t\t\t
Send Message
\n\t \n
\n\t \n
\n
\n\t \t\t
\n
\n
\n );\n};\n\nconst Attribute = ({ handleClose, show, children }) => {\n const showHideclassNameName = show ? \"modal display-block\" : \"modal display-none\";\n\n return (\n
\n
\n
\n\t \t\t\t
\n\t \t\t\t\n\t \n\t \t\t\t
\n\t \n
\n\t \t\t
\n\t \t\t\t\n\t \n\t \t\t
\n\t \n\t \t\t
\n
\n

Attributes

\n\t \t\t\tUpload Icon made from Icon Fonts is licensed by CC BY 3.0.\n\t \t\t\t\n
\n\t \t\t
\n
\n
\n );\n};\n\nconst WarningWallet = ({ handleClose, show, changeTab, children }) => {\n const showHideclassNameName = show ? \"modal display-block\" : \"modal display-none\";\n\n return (\n
\n
\n\t \n\t \t\t\t\n\t \t\t\t
\n\t \t\t\t\t\n\t \t\t\t
\n\t \t\t\t
\n\t \t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tYou will only be able to save your work, and launch a Dapp, when you connect to your Wallet. Click Proceed if you would like to continue for a preview without signing in.\n\t\t\t\t\t
\n\t \t\t\t
\n\t \t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\tCancel\n\t\t\t\t
\n\t \t\t\t\n\t \t\t
\n
\n );\n};\n\n\nconst PhotoZoom = ({ handleClose, show, children }) => {\n const showHideclassNameName = show ? \"modal2 display-block\" : \"modal2 display-none\";\n\n return (\n
\n\t\t\t
\n\t\t\t\t\t\n\t \t\t
\n\t \t\t\n\t
\n );\n};\n\n\nexport {Modal};\nexport {Attribute};\nexport {WarningWallet};\nexport {PhotoZoom};\n","// App.js\nimport React, {Component} from 'react';\nimport { Routes, Route, Link } from \"react-router-dom\";\n\nimport logo from './title1.png';\nimport { Icon } from '@iconify/react';\nimport './css/bootstrap.css';\nimport './css/home.css';\nimport {Modal, Attribute} from './modal.js';\n\n\nclass Footer extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t attribute: false,\n\t show: false,\n };\n\t\n }\n\t\n showModal = () => {\n this.setState({ show: true });\n };\n\n hideModal = () => {\n this.setState({ show: false });\n };\n\n showAttribute = () => {\n this.setState({ attribute: true });\n };\n\n hideAttribute = () => {\n this.setState({ attribute: false });\n };\n\n\tclickTwitter = () =>{\n\t\t\n// e.preventDefault(); \n\twindow.location.assign('https://twitter.com/Cues_Sg');\n}\n\trender(){ \n\t\t//References.\n\t\t\n return (\n\t
\n\t\t
\n\t\t \n\t\t\t

Modal

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t \n\t\t\t

Attribute

\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\n\t\t\t Copyright ©CUES.SG . Patent Pending .    \n\t\t\n\t\t\t
\n\t\t
\n\t\t\n
\n );\n}}\n\nexport default Footer;","// App.js\nimport React, {Component} from 'react';\nimport { Routes, Route, Link } from \"react-router-dom\";\nimport logo from './title1.png';\nimport { Icon } from '@iconify/react';\nimport './css/bootstrap.css';\nimport './css/home.css';\nimport {Modal} from './modal.js';\n\n\n\nclass Navbar extends Component {\n\t\n\t\n\trender(){ \n\t\tfunction clickHome(){\n\t\t\twindow.location.assign(\"https://www.cues.sg/\");\n\t\t}\n\n return (\n\t
\n\t \n\t \n \t
\n );\n}}\n\nclass MainNavbar extends Component {\n\t constructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t menu: false,\n\t\t show: false,\n\t\t};\n\t\t\n\t }\n\n\t toggleMenu= () => {\n\t\tthis.setState({ menu: !this.state.menu })\n\t }\n\t\n\t showModal = () => {\n\t\tthis.setState({ show: true });\n\t };\n\n\t hideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\n\trender(){ \n\t\tfunction clickTelegram(){\n\t\t\twindow.location.assign('https://t.me/+yK9fP_1z27Q2NzVl');\n\t\t}\n\t\t\n\t\tfunction clickHome(){\n\t\t\twindow.location.assign(\"https://www.cues.sg/\");\n\t\t}\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n/*\n\t\t\t\n\t\t\n
\n \n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n
\n\t\t\t*/\n return (\n\t\t\n\t
\n\t \n\t
\n\t\t \n\t\t\t

Modal

\n\t\t\t
\n\t\t
\n \t
\n );\n}}\n\nexport {Navbar};\nexport {MainNavbar};","// App.js\nimport React, {Component, useState, useEffect} from 'react';\nimport { Routes, Route, Link } from \"react-router-dom\";\nimport {fetchSomething} from './ServerComms';\n\nimport logo from './title1.png';\nimport { Icon } from '@iconify/react';\nimport './css/bootstrap.css';\nimport './css/home.css';\nimport Footer from './footer.js';\nimport {MainNavbar} from './navbar.js';\nimport {Modal} from './modal.js';\n\nimport binance from './img/logo/binancefull.png';\nimport ethereum from './img/logo/ethereumfull.png';\nimport polygon from './img/logo/polygonfull.png';\nimport fantom from './img/logo/fantomfull.png';\nimport avalanche from './img/logo/avalanchefull.png';\nimport cronos from './img/logo/cronosfull.png';\nimport dogechain from './img/logo/dogechainfull.png';\nimport heco from './img/logo/hecofull.png';\nimport loop from './img/logo/loopfull.png';\nimport arbitrum from './img/logo/arbitrumfull.png';\nimport conflux from './img/logo/confluxfull.png';\n\n\n\nimport template1 from './img/templatescroll/1.jpeg';\nimport template2 from './img/templatescroll/2.jpeg';\nimport template3 from './img/templatescroll/3.jpeg';\nimport template4 from './img/templatescroll/4.jpeg';\nimport template5 from './img/templatescroll/5.jpeg';\nimport template6 from './img/templatescroll/6.jpeg';\n\nimport contract1 from './img/contractpreview/3.png';\nimport contract2 from './img/contractpreview/4.png';\nimport dapp1 from './img/contractpreview/6.png';\n\n\nconst Statistics = (): Node => {\n\n const [nosContractLaunches, setNosContractLaunches] = useState(1596);\n const [nosDappLaunches, setNosDappLaunches] = useState(1746);\n\n function getData(){\n\n function postGetLaunches(response){\n setNosContractLaunches(response.v[0].v);\n setNosDappLaunches(response.v[1].v);\n }\n\n fetchSomething({u:'getNosLaunches'}, postGetLaunches);\n\n }\n useEffect(()=>{\n getData();\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n return
\n\t \t\t
\n\t\t\t\t
38
\n\t\t\t\t
Free Templates
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
{nosContractLaunches}
\n\t\t\t\t
Contracts Launched
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
{nosDappLaunches}
\n\t\t\t\t
DApps Launched
\n\t\t\t
\n\t\t
\n}\n\n\n\nclass MainHome extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tdataForm: [{p_id: 1,p_name: \"Cross-Chain Bridge Development\", isChecked: false}, {p_id: 2, p_name: \"Update Whitelisted Addresses\", isChecked: false}],\n\t\tsuggestion: \"\"\n \n };\n }\n\tstartNow = () => {\n this.props.changePage(1);\n };\n\tshowModal = () => {\n\t\tthis.setState({ show: true });\n\t};\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t};\n\tchangeCheck = (id) => {\n\t\tlet temp = [...this.state.dataForm];\n\t\tconst index = temp.findIndex((x) => x.p_id === id);\n\t\tif (index === -1) return;\n\t\ttemp[index].isChecked = !temp[index].isChecked;\n\t\tthis.setState({ dataForm: temp });\n\t};\n\n\tchangeSuggestion = (e) => {\n\t\tthis.setState({ suggestion: e.target.value });\n\t}\n\n\tclickSurvey = (surveyID, voteID)=> {\n\t\tconsole.log('eh')\n\t\tfunction postGetLaunches(response){\n\t\t\t\t\n\t\t}\n\t\tfetchSomething({u:'submitVote', surveyID, voteID}, postGetLaunches);\n\t}\n\thandleSubmit = () => {\n\t\tfunction postGetLaunches(response){\n\t\t\t\tconsole.log(response);\n\t\t\t\twindow.alert('Voted');\n\t\t}\n\t\tif (this.state.suggestion.length != 0) {\n\t\t\tthis.clickSurvey(1,this.state.suggestion)\n\t\t}\n\t\tfor (var i = 0; i < this.state.dataForm.length; i++) {\n\t\t\tif (this.state.dataForm[i].isChecked) {\n\t\t\t\tthis.clickSurvey(1,this.state.dataForm[i].p_name)\n\t\t\t}\n\t\t}\n\t\t\n\t\twindow.alert('Voted');\n\t};\n\n\t\n\t\n\trender(){ \n\t\t\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\tfunction clickSmartContract(){\n\t\t\twindow.location.assign(\"https://www.cues.sg/contracts\");\n\t\t}\n\t\tfunction clickDapp(){\n\t\t\twindow.location.assign(\"https://www.cues.sg/dapps\");\n\t\t}\n\t\t\n\t\t\n\t\tfunction clickTwitter(){\n\t\t\twindow.location.assign('https://twitter.com/Cues_Sg');\n\t\t}\n\t\tfunction clickTelegram(){\n\t\t\twindow.location.assign('https://t.me/+yK9fP_1z27Q2NzVl');\n\t\t}\n\t\t\n\t\t\n\t\tvar smartcontractlist = [[\"Mint your own Coin\", \"icomoon-free:coin-dollar\"], [\"Have your own NFT Collection\", \"mdi:alpha-n-circle-outline\"], [\"Interact with other Contracts\",\"carbon:ibm-cloud-pak-manta-automated-data-lineage\"], [\"Create Swap Contracts\",\"ic:baseline-currency-exchange\"], [\"Stake your Tokens\",\"cryptocurrency:safe\"], [\"Airdrop/Reward Token Holders\", \"fluent:reward-16-regular\"], [\"Hold Tokens in Escrow\", \"carbon:piggy-bank\"], [\"Create Voting System for NFT Holders\", \"fluent:vote-20-regular\"], [\"Split Ownership of your NFT\", \"mdi:fraction-one-half\"], [\"Create Message Board\", \"tabler:messages\"], [\"Split Payments\", \"vaadin:money-exchange\"]];\n\t\tvar smartcontracttypes = [];\n\t\tfor (var i = 0; i < smartcontractlist.length; i++) {\n\t\t\tsmartcontracttypes.push(
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t \t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{smartcontractlist[i][0]}\n\t\t\t\t \t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t )\n\t\t\t\n\t\t}\n\t\t\n\t\tvar templatelist = [[template1, \"Coming Soon DApp Template\"], [template2, \"NFT DApp Template\"], [template3, \"Coming Soon DApp Template\"], [template4, \"Staking Rewards DeFi DApp Template\"], [template5, \"Staking Rewards DeFi DApp Template\"], [template6, \"Coming Soon DApp Template\"]];\n\t\tvar templatesshow = [];\n\t\tfor (var i = 0; i < templatelist.length; i++) {\n\t\t\ttemplatesshow.push(
\n\t\t\t\t\t\t\t\t\t{templatelist[i][1]}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t )\n\t\t}\n\t\t\n\t\tvar logolist = [[ethereum, \"Ethereum Logo\"], [binance, \"Binance Logo\"], [polygon, \"Polygon Logo\"], [avalanche, \"Avalanche Logo\"], [fantom, \"Fantom Logo\"], [dogechain, \"Dogechain Logo\"], [heco, \"Heco Logo\"], [loop, \"Loop Logo\"],[cronos, \"Cronos Logo\"],[conflux, \"Conflux Logo\"], [arbitrum, \"Arbitrum Logo\"]];\n\t\t\n\t\tvar logoshow = [];\n\t\tfor (var i = 0; i < logolist.length; i++) {\n\t\t\tlogoshow.push(
\n\t\t\t\t\t\t\t\t\t{logolist[i][1]}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t )\n\t\t}\n\t\t\n\t\t//
Start Smart Contract
\n\t\t//
Launch dApp
\n\t\t\n\t\t\n\t\t\n\t\t\n return (\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Make Technology Accessible

\n\t\t\t\t\t\t\t

Smart contracts and DApps the easy way.

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
Start Now
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Easy

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t \n\t\t\t\t
\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t

Smart Contracts: Create your customised smart contract by filling up a multiple-choice form. You can easily upload your smart contracts to the blockchain within Cues, and submit the code we provide you for verification, all with the press of one button.

\n\t\t\t\t

dApps: Choose from a wide variety of templates to begin designing your dApp. Drag and drop to customize it further. Launch your dApp within Cues and let us take care of your hosting needs. If you wish, you can take the code with you!

\n\t\t\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Dynamic

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t \n\t\t\t\t
\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t

Smart Contracts: Our smart contract generator provides you unparalleled customisability for the specifications and design of your smart contract This allows you to bring to life any contract you have in mind, without poring over the nitty-gritties of coding it out. Remove the risk of making mistakes.

\n\t\t\t\t

dApps: Make your dApps stand out with dynamic content and user engagement not easily available on other no-code platforms. This includes accessing values and interactions with your smart contracts, which are all natively available via the platform. All without code or external plug-ins.

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Accurate

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t \n\t\t\t\t
\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t

Our code for Smart contracts and dApps have been extensively tested before release.

\n\t\t\t\t

Smart Contracts: Our internal checks ensure that all contract code produced is compilable before we release them. The code is well-commented so that the functions in the code.

\n\t\t\t\t

dApps: The code we generate for you is the same code we use when we host your dApp on Cues, so your code produces exactly the same dApp as what you see on Cues.

\n\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\n\t\t\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

Our Solutions

\n\t\t\t
\n\t\t\t
\n\t\t\t\t{smartcontracttypes}\n\t\t\t
\n\t\t\n\t\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

The Process

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\"CUES\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\tFor Smart Contracts
\n\t\t\t\t\t  Choose Your Contract: Find the smart contract solution that best suits your needs.

\n\t\t\t\t\t  Answer Easy Questions: Fill up the fields in our form and we will turn it to a customized smart contract.

\n\t\t\t\t\t  Deploy Instantaneously: Deploy your smart contract using our system, or download the code as shown here and deploy it yourself.\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\"CUES\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\tFor DApps
\n\t\t\t\t\t  Choose Your Template: Find a template that best suits your needs and customise with our no-code dApp builder to create your dream dApp.

\n\t\t\t\t\t  Interact with Smart Contract: Add your smart contract address and incorporate your smart contract functions easily into the dApp with instructions provided.

\n\t\t\t\t\t  Deploy Instantaneously: Go live using our hosting platform, or download the dApp template code and deploy it yourself. Instructions given.\n\t\t\t\t
\n\t\t\t\t\n\n\t\t\t
\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

DApp Templates

\n\t\t\t
\n\t\t\t
\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{templatesshow}\n\t\t\t\t\t\t\t{templatesshow}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

Supported Blockchains

\n\t\t\t
\n\t\t\t
\n\t\t\t\t{logoshow}\t\n\t\t\t
\n\t\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

Testimonials

\n\t\t\t
\n\t\t\t
\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Since I started to use Cues.sg, I have had excellent experience from their team. They are responsive, supportive and absolutely professional. They worked with me tirelessly every day to develop 3 complex dApps linked to 4 contracts. I will definitely recommend them hands down. They are the best I have worked with.

\n\t\t\t\t\t\tTaqniyat LLC\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

Keep In Touch

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Follow us on Twitter
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Join us on Telegram
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
Send us a mail
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t

FAQ

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tHow Do I Try Out Cues?\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tWe provide log ins via Google.
For smart contracts, choose the testnet of the blockchain you want to deply on and fill in the form fields.
For dApps, choose a template and edit it according to your needs. There will be a tutorial at the start and placeholder actions to guide you. We only charge for payment at the last step, so try as many times as you like!\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tHow Do I Deploy Contracts?\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tWe instantly deploy your contracts onto the blockchain for you. The IPFS process is done during the deployment stage and the IPFS link will automatically be included in your smart contract. This will require you to connect via your wallet. Alternatively, we provide the code and you may download and deploy it yourself. \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\tLearn more with our guide.\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tHow Do I Integrate My Smart Contracts Into Cues?\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tYou can add any existing contract via inputting your smart contract address when creating a new dApp. Multiple contracts can be added as long as they are all on the same blockchain. The functions in your smart contracts will then be made available when you are building your dApp.\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\tLearn more with our guide.\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\n\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Poll

\n\t\t\t\t

Choose the service(s) that you would like us to add!

\n\t\t\t
\n\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{this.state.dataForm.map((li, index) => (\n\t\t\t\t\t\t \t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t this.changeSuggestion(e)} />\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
Submit
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\n\t\t\n\t\t\n\t\t
\n\t\t\t \n\t\t\t\t

Modal

\n\t\t\t\t
\n \t\t
\n
\n );\n}}\n\n\nclass SecondHome extends Component {\n\tconstructor() {\n super();\n this.state = {\n \n };\n }\n\t\n\trender(){ \n\t\tfunction clickSmartContract(){\n\t\t\t//
Start Smart Contract
\n\t\t\t//
Start Smart Contract
\n\t\t\twindow.location.assign(\"https://www.cues.sg/contracts\");\n\t\t}\n\t\tfunction clickDapp(){\n\t\t\twindow.location.assign(\"https://www.cues.sg/dapps\");\n\t\t\t//
Launch dApp
\n\t\t\t//
Launch dApp
\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\t\n return (\n\t\t
\n \t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
I need a smart contract
\n\t\t\t\t\t

\n\t\t\t\t\t
Start Smart Contract
\n\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
I need a dApp for my smart contracts
\n\t\t\t\t\t

\n\t\t\t\t\t
Launch dApp
\n\t\t\t\t\t
\n\n\t\t\t\t
\n\n\n\t\t
\n\t\t
\n\t\t\n\t\t \t\n );\n}}\n\n\nclass Home extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tpage : 0,\n };\n }\n\n showPage = (page) => {\n this.setState({ page: page });\n };\n\n\t\n\t\n\trender(){\n\t\tvar home = \n\t\tif (this.state.page ===1){\n\t\t\thome = \n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t\n return (\n\t
\n\t\t\n\t\t {home}\n\t\t\n\t\t
\n\t\n\t\t\n
\n );\n}}\n\nexport default Home;","// App.js\nimport React, {Component} from 'react';\nimport { Routes, Route, Link } from \"react-router-dom\";\n\nimport { Icon } from '@iconify/react';\nimport './css/bootstrap.css';\nimport './css/product.css';\nimport Footer from './footer.js';\nimport {MainNavbar} from './navbar.js'\nimport step1 from './img/demo/dapp/1.png';\nimport step2 from './img/demo/dapp/2.png';\nimport step3 from './img/demo/dapp/3.png';\nimport step4 from './img/demo/dapp/4.png';\nimport step5 from './img/demo/dapp/5.png';\nimport step6 from './img/demo/dapp/6.png';\n\nimport smartstep1 from './img/demo/smartcontract/1.png';\nimport smartstep2 from './img/demo/smartcontract/2.png';\nimport smartstep3 from './img/demo/smartcontract/3.jpeg';\n\nclass DappProduct extends Component {\n\tconstructor() {\n super();\n this.state = {\n \n };\n }\n\t\n\trender(){\n\t\t//var stepslist = [[\"1\", step1, \"Choose the blockchain your smart contract resides on.\"], [\"2\", step2, \"Fill in your smart contract address(es) to incorporate your smart contract.\"], [\"3a\", step3a, \"Use our available templates OR start with a blank screen.\"],[\"3b\", step3, \"Customize your dApp with our dApp builder.\"], [\"4\", step4, \"Preview your dApp.\"], [\"5\", step5, \"Click to launch your dApp.\"]];\n\t\t\n\t\t\n\t\tvar stepslist = [[\"1\", step1, \"Choose from our available templates OR start with a blank screen.\"], [\"2\", step2, \"Customize your dApp with our dApp builder. Add elements based on your needs.\"], [\"3\", step3, \"Choose the blockchain your smart contract resides on. Add actions based on your smart contract (e.g. Mint, Add to Whitelist). The smart contract does not need to be generated from our website, but it has to already be deployed.\"], [\"4\", step4, \"Preview your dApp on different screen sizes.\"], [\"5\", step5, \"Choose the appropriate plan to launch your dApp.\"], [\"6\", step6, \"Your dApp is ready! See https://www.cues.sg/dapps/example as an example of a launched dApp.\"]];\n\t\tvar stepsitems = [];\n\t\tfor (var i = 0; i < stepslist.length; i++) {\n\t\t\tstepsitems.push(\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\"alternative\"\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    {stepslist[i][2]}
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\tStep {stepslist[i][0]}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t\t\t\t );\n\t\t}\n\t\t\n\t\t\n return (\n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t

    Steps to Create your dApp

    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\n\t\t\t
    \n\t\t\t\t
      \n\t\t\t\t\t{stepsitems}\n\t\t\t\t
    \n\n\n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n
    \n\t\t\n\t\t \t\n );\n}}\n\nclass SmartContractProduct extends Component {\n\tconstructor() {\n super();\n this.state = {\n \n };\n }\n\t\n\trender(){\n\t\tvar stepslist = [[smartstep1, \"Choose the contract type you need.\"], [smartstep2, \"Customize your options. Hover about the question mark for more information.\"], [smartstep3, \"Click 'Deploy' to launch your smart contract.\"]];\n\t\tvar stepsitems = [];\n\t\tfor (var i = 0; i < stepslist.length; i++) {\n\t\t\tstepsitems.push(
  • \n\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\"alternative\"\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    {stepslist[i][1]}
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\tStep {i+1}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t\t\t\t );\n\t\t}\n\t\t\n\t\t\n return (\n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t

    Steps to Create your Smart Contract

    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t \t\t\t\n\t\t\n\t\t\t
    \n\t\t\t\t
      \n\t\t\t\t\t{stepsitems}\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n
    \n\t\t\n\t\t \t\n );\n}}\n\n\n\nexport {DappProduct};\nexport {SmartContractProduct};","// App.js\nimport React, {Component} from 'react';\nimport { Routes, Route, Link } from \"react-router-dom\";\n\nimport { Icon } from '@iconify/react';\nimport './css/bootstrap.css';\nimport './css/product.css';\nimport Footer from './footer.js';\nimport {MainNavbar} from './navbar.js'\n\nclass DAppPricing extends Component {\n\tconstructor() {\n super();\n this.state = {\n \n };\n }\n\t\n\trender(){\n\t\t//25 Credits\n\t\t//\n\t\t//\n\t\t//\n\t\t//\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    10
    \n\t\t\t\t
    \n\t\t\t\t

    USD

    \n\t\t\t\t
    \n\t\t\t\t
    30 Days
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    20
    \n\t\t\t\t
    \n\t\t\t\t

    USD

    \n\t\t\t\t
    \n\t\t\t\t
    60 Days
    \n\t\t\t\t
    Dedicated Support
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    28
    \n\t\t\t\t
    \n\t\t\t\t

    USD

    \n\t\t\t\t
    \n\t\t\t\t
    90 Days
    \n\t\t\t\t
    Dedicated Support
    \n\t\t\t\t
    Custom Page Name
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\n\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    50
    \n\t\t\t\t
    \n\t\t\t\t

    USD

    \n\t\t\t\t
    \n\t\t\t\t
    180 Days
    \n\t\t\t\t
    Dedicated Support
    \n\t\t\t\t
    Custom Page Name
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\n\t\t\t
    \n\t\t\t
    \n\t\t\t
    We charge an additional US$20 for each page of the dApp if users want to download the dApp code. No other costs involved.
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass SmartContractPricing extends Component {\n\tconstructor() {\n super();\n this.state = {\n \n };\n }\n\t\n\trender(){\n\t\t//25 Credits\n\t\t\n return (\n\t\t
    \t\n\t\t\t
    \n\t\t\t
    Flat rate of US$20, instant deployment to blockchain of choice. Excludes gas costs.
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\n\nclass Pricing extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshowtab:0\n \n };\n }\n\tshowThisTab = (tabnum) => {\n\t var check = !isNaN(tabnum.target.id) && (function(x) { return (x | 0) === x; })(parseFloat(tabnum.target.id))\n\t if (check === true){\n\t\t this.setState({ showtab: parseInt(tabnum.target.id) });\n\t\t \n\t }\n\t \n };\n\t\n\trender(){\n\t\tvar sliderstyle = \"slider slidertab0\";\n\t\tif (this.state.showtab ===0){\n\t\t\tvar itemshown = ;\t\t\n\t\t} else {\n\t\t\tsliderstyle = \"slider slidertab1\";\n\t\t\tvar itemshown = ;\n\t\t}\n\t\tvar tabmenu = [];\n\t\tvar tabitems = [\"Smart Contracts\", \"DApps\"]\n\t\tfor (var i = 0; i < tabitems.length; i++) {\n\t\t\tlet style = \"\"\n\t\t\tif (i===this.state.showtab) {\n\t\t\t\tstyle = \"pricingtabchosen\"\n\t\t\t}\n\t\t\ttabmenu.push(
  • this.showThisTab(e)} className = {style}>
  • \n\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t\n return (\n\t\t
    \n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t

    The only
    Smart Contract and DApp builder
    that is powerful and easy to use

    \n\t\t\t\t

    Our platform offers differentiated plans for different needs, and we are designed to grow with you.

    \n\t\t\t
    \n\t\t\t

    \n\t\t\t
    \n\t\t\t
      \n\t\t\t\t{tabmenu}\n\t\t\t
    \n \n\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t {itemshown}\n\t\t\t
    \n\t\t\t
    \n\t\t\n\t\t\t \n\t\t
    \n\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\n\nexport {Pricing};\n","// App.js\nimport React, {Component} from 'react';\n\nimport { Icon } from '@iconify/react';\nimport './css/guide.css';\nimport {PhotoZoom} from './modal.js';\n\nimport basic1 from './img/guide/smartcontract/00basic1.png';\nimport basic2 from './img/guide/smartcontract/00basic2.png';\nimport basic3 from './img/guide/smartcontract/00basic3.png';\nimport basic4 from './img/guide/smartcontract/00basic4.png';\n\nimport deploy1 from './img/guide/smartcontract/01deploy1.png';\nimport deploy2 from './img/guide/smartcontract/01deploy2.png';\nimport deploy3 from './img/guide/smartcontract/01deploy3.png';\nimport deploy4 from './img/guide/smartcontract/01deploy4.png';\nimport deploy5 from './img/guide/smartcontract/01deploy5.png';\n\nimport token1 from './img/guide/smartcontract/02minttoken1.png';\nimport token2 from './img/guide/smartcontract/02minttoken2.png';\nimport token3 from './img/guide/smartcontract/02minttoken3.png';\nimport token4 from './img/guide/smartcontract/02minttoken4.png';\nimport token5 from './img/guide/smartcontract/02minttoken5.png';\nimport token6 from './img/guide/smartcontract/02minttoken6.png';\nimport token7 from './img/guide/smartcontract/02minttoken7.png';\nimport token8 from './img/guide/smartcontract/02minttoken8.png';\nimport token9 from './img/guide/smartcontract/02minttoken9.png';\n\nimport nft1 from './img/guide/smartcontract/03mintnft1.png';\nimport nft2 from './img/guide/smartcontract/03mintnft2.png';\nimport nft3 from './img/guide/smartcontract/03mintnft3.png';\nimport nft4 from './img/guide/smartcontract/03mintnft4.png';\nimport nft4a from './img/guide/smartcontract/03mintnft4a.png';\nimport nft4b from './img/guide/smartcontract/03mintnft4b.png';\nimport nft4c from './img/guide/smartcontract/03mintnft4c.png';\nimport nft4d from './img/guide/smartcontract/03mintnft4d.png';\nimport nft5 from './img/guide/smartcontract/03mintnft5.png';\nimport nft6 from './img/guide/smartcontract/03mintnft6.png';\nimport nft7 from './img/guide/smartcontract/03mintnft7.png';\nimport nft8 from './img/guide/smartcontract/03mintnft8.png';\nimport nft9 from './img/guide/smartcontract/03mintnft9.png';\nimport nft10 from './img/guide/smartcontract/03mintnft10.png';\nimport nft11 from './img/guide/smartcontract/03mintnft11.png';\nimport nft12 from './img/guide/smartcontract/03mintnft12.png';\nimport nft13 from './img/guide/smartcontract/03mintnft13.png';\nimport nft14 from './img/guide/smartcontract/03mintnft14.png';\n\nimport exchange1 from './img/guide/smartcontract/04exchange1.png';\nimport exchange2 from './img/guide/smartcontract/04exchange2.png';\nimport exchange3 from './img/guide/smartcontract/04exchange3.png';\n\nimport staking1 from './img/guide/smartcontract/05staking1.png';\nimport staking2 from './img/guide/smartcontract/05staking2.png';\nimport staking3 from './img/guide/smartcontract/05staking3.png';\nimport staking4 from './img/guide/smartcontract/05staking4.png';\nimport staking5 from './img/guide/smartcontract/05staking5.png';\n\nimport reward1 from './img/guide/smartcontract/06reward1.png';\nimport reward2 from './img/guide/smartcontract/06reward2.png';\nimport reward3 from './img/guide/smartcontract/06reward3.png';\nimport reward4 from './img/guide/smartcontract/06reward4.png';\n\nimport escrow1 from './img/guide/smartcontract/07escrow1.png';\n\nimport voting1 from './img/guide/smartcontract/08voting1.png';\nimport voting2 from './img/guide/smartcontract/08voting2.png';\nimport voting3 from './img/guide/smartcontract/08voting3.png';\nimport voting4 from './img/guide/smartcontract/08voting4.png';\n\nimport ownership1 from './img/guide/smartcontract/09ownership1.png';\nimport ownership2 from './img/guide/smartcontract/09ownership2.png';\n\nfunction clickSmartContract(){\n\t\t\twindow.location.assign(\"https://www.cues.sg/contracts\");\n}\nfunction clickDapp(){\n\twindow.location.assign(\"https://www.cues.sg/dapps\");\n}\n\nclass Basics extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    Common Functions

    \n\t\t\t this.showModal(e)} src={basic1} className=\"galleryImg\" alt = \"Cues Smart Contract Header\" />\n\t\t\t

    1. Header Functions

    \n\t\t\t
      \n\t\t\t\t
    • < Icon width=\"20\" className = \"guideListIcon\" icon=\"bi:pencil\" />: Edit project name. This is not the token name.
    • \n\t\t\t\t
    • < Icon width=\"20\" className = \"guideListIcon\" icon=\"ph:coin\" />: Top up credits. This will be used only if you launch a smart contract or dApp with us. Trying is free.
    • \n\t\t\t\t
    • < Icon width=\"20\" className = \"guideListIcon\" icon=\"ant-design:share-alt-outlined\" />: Share project with other collaborators. They will be able to edit the project with you.
    • \n\t\t\t\t
    • < Icon width=\"20\" className = \"guideListIcon\" icon=\"bx:rocket\" />: Launch project after filling in the form fields.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={basic2} className=\"galleryImg\" alt = \"Cues Form Field\" />\n\t\t\t

    2. Form Fields: While you do not need to complete the sections in the current order, we recommend you choose the blockchain you want to deploy on first as it may affect future questions. You can jump to any section by clicking on the corresponding circle. After completing the form, ensure that all parts have a green tick. If there are red crosses, this indicates that a mistake has been made.

    \n\t\t\t this.showModal(e)} src={basic3} className=\"galleryImg\" alt = \"Cues Start Page for Smart Contracts\" />\n\t\t\t

    3a. Accessing previous contracts: Once logged in, you can click See Previous Contracts to see previous work. If you are in the midst of creating a smart contract, you can click the Home button to see previous smart contracts. \n\t\t\t
    \n\t\t\tEverything is auto-saved, including unfinished contracts, so don't worry about losing your progress!

    \n\t\t\t this.showModal(e)} src={basic4} className=\"galleryImg\" alt = \"Cues Previous Smart Contracts\" />\n\t\t\t

    3b. Accessing previous contracts: Here, you can view the details of smart contracts, whether unfinished or launched. You can also duplicate previous smart contracts and edit them to launch on a different blockchain, or delete unfinished smart contracts that you do not wish to continue.

    \n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \t \t\n );\n}}\n\nclass DeployContract extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    Deploying Your Contract

    \n\t\t\t

    Using CUES Auto-Deployment Service

    \n\t\t\t this.showModal(e)} src={deploy1} className=\"galleryImg\" alt = \"Cues Auto Deployment\" />\n\t\t\t

    1. Connect Wallet

    \n\t\t\t this.showModal(e)} src={deploy2} className=\"galleryImg\" alt = \"Cues Choose Wallet\" />\n\t\t\t

    2. Choose Wallet: Choose the crypto wallet and link to the account of the contract owner. The following steps will be done based on Metamask.

    \n\t\t\t this.showModal(e)} src={deploy3} className=\"galleryImg\" alt = \"Cues Deploy Smart Contract Instructions\" />\n\t\t\t

    3a. Connect to Network: If you see this message, this means that the current network your wallet is in is not the blockchain you indicated on your contract. In this case, the blockchain chosen was Ethereum Mainnet.

    \n\t\t\t this.showModal(e)} src={deploy4} className=\"galleryImg\" alt = \"Cues Connect to Network\" />\n\t\t\t

    3b. Connect to Network: You will see this image if you are in the correct network. Click the Deploy button to add your contract to the blockchain. The only thing you would need to worry about is having enough crypto to cover your gas fees. :D

    \n\t\t\t

    The IPFS process is embedded in the website, meaning that the IPFS links will automatically be included in your smart contract.

    \n\t\t\t

    4. After deployment: Head over to our no-code dApp builder at https://www.cues.sg/dapps to create your own dApp for your newly minted smart contract.

    \n\t\t\t\n\t\t\t

    Manual Deployment

    \n\t\t\t this.showModal(e)} src={deploy5} className=\"galleryImg\" alt = \"Cues Manual Deployment\" />\n\t\t\t

    1. Download or Copy Code: Code is written in Solidity.

    \n\t\t\t

    2. Deploy using an IDE: The most common IDE used is REMIX.

    \n\t\t\t

    3. Connect Wallet: Remember to go to your wallet and ensure that the mainnet or testnet you want to deploy on is the active one.

    \n\t\t\t

    4. Get Dummy Tokens (Optional): Obtain testnet tokens for free by entering your address on Testnet faucets. Do note that this is for testing and development purposes.

    \n\t\t\t

    5. After deployment: Head over to our no-code dApp builder at https://www.cues.sg/dapps to create your own dApp for your newly minted smart contract.

    \n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \t \t\n );\n}}\n\nclass MintToken extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t

    Creating Your Own ERC-20 Token

    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\n\t\t\t

    1. Go to https://www.cues.sg/contracts and select \"Mint Coin\".

    \n\t\t\t

    2. Default values and tooltips (question mark symbols) are there to guide you.

    \n\t\t\t this.showModal(e)} src={token1} className=\"galleryImg\" alt = \"Cues Mint Token Basic Details\" />\n\t\t\t

    3. Basic Details:

    \n\t\t\t
      \n\t\t\t\t
    • Select which blockchain your smart contract will be on.
    • \n\t\t\t\t
    • Enter coin name. An example would be Ether.
    • \n\t\t\t\t
    • Input coin symbol. This is usually an abbreviation, like ETH. Check that your symbol is unique by clicking on the link.
    • \n\t\t\t\t
    • Enter contract owner's address if you want the ownership of the contract to be linked to another wallet address and not yours. This affects who has admin rights over the contract.
    • \n\t\t\t\t
    • Specify the number of decimal places after the decimal point. The default value will always be the common practice for the blockchain selected, so there is no need to change.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={token2} className=\"galleryImg\" alt = \"Cues Mint Token Pre Mint Allocation\" />\n\t\t\t

    4a. Pre-Mint Allocation (Optional):

    \n\t\t\t

    This refers to tokens being minted and distributed before the official launch date of the token. It is usually done to reward investors, developers or contributors who took part in the creation of the token. You can also indicate if the owner of the contract is able to mint for free at any time.\n\t\t\t
    Click the button if you want to add pre-mint allocation.

    \n\t\t\t this.showModal(e)} src={token3} className=\"galleryImg\" alt = \"Cues Mint Token Pre Mint Allocation\" />\n\t\t\t

    4b. Pre-Mint Allocation (Optional):

    \n\t\t\t
      \n\t\t\t\t
    • Input the number of coins you would like to give to the wallet address.
    • \n\t\t\t\t
    • Add as many addresses as you want by clicking the button +Pre-Mint Allocation.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={token4} className=\"galleryImg\" alt = \"Cues Mint Token Mint Allocation\" />\n\t\t\t

    5a. Mint Allocation:

    \n\t\t\t

    This section allows you to mint tokens in phases (and/or with conditions). An example would be stating the numbers to mint for presales (available for whitelist members only) vs public sales (available for all). The owner of the contract will be able to toggle the phases. \n\t\t\t
    Click the button if you want to add another phase.

    \n\t\t\t

    5b. Mint Allocation:

    \n\t\t\t

    Specify the number of tokens. This could be a fixed or variable number of tokens. The process is the same for both, except that you would have to state how many tokens will be minted each time for the fixed one.

    \n\t\t\t this.showModal(e)} src={token5} className=\"galleryLargerImg\" alt = \"Cues Mint Token Mint Allocation\" />\n\t\t\t

    Allocation:

    \n\t\t\t
      \n\t\t\t\t
    • Specify the number of tokens.
    • \n\t\t\t\t
    • Decide if the wallet address calling the function will be the one receiving the token or they can send it to another address.
    • \n\t\t\t\t
    • Choose whether the tokens can only be minted by those listed in the whitelist. If so, upload a txt file with the addresses.
    • \n\t\t\t\t
    • To prevent whales, each user can be limited to a certain number of mints.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={token6} className=\"galleryLargerImg\" alt = \"Cues Mint Token Mint Allocation Fees\" />\n\t\t\t

    Fees:

    \n\t\t\t
      \n\t\t\t\t
    • Decide the payment type. This can be done in native coins, other coins or NFTs.
    • \n\t\t\t\t
    • Decide the number of cryptocurrency required to pay for your coin. For coins, you can choose if you would like the flexibility to adjust the price. This could be useful when there are huge price fluctuations.
    • \n\t\t\t\t
    • For coin/NFT payments, list the address of the coin/NFT payment accepted.
    • \n\t\t\t\t
    • Burning here means that the crypto payment will be removed from circulation instead of going to the wallet specified. Do note that you may want to add another fee payment so that you receive payment in exchange for the coin.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={nft11} className=\"galleryImg\" alt = \"Cues Mint Token Mint Allocation Condition\" />\n\t\t\t

    Mint Condition:

    \n\t\t\t

    Over here, you can add mint conditions for the phases.

    \n\t\t\t this.showModal(e)} src={nft12} className=\"galleryLargerImg\" alt = \"Cues Mint Token Mint Allocation Condition\" />\n\t\t\t

    Here is an example of how you might want to limit your presales to the whole month of June.

    \n\t\t\n\t\t\n\t\t\n\t\t\t this.showModal(e)} src={token7} className=\"galleryImg\" alt = \"Cues Mint Token Burning\" />\n\t\t\t

    6. Burning:

    \n\t\t\t

    Burning means that the network would remove a specified number of tokens from circulation. Burning a small portion can help the token uphold its value. Tokens will be sent to the 0 address, where nobody can access it.

    \n\t\t\t
      \n\t\t\t\t
    • Option to burn a percentage of the transacted tokens. Here, you can decide the % of tokens being burned.
    • \n\t\t\t
    \n\t\t\n\t\t\t this.showModal(e)} src={token8} className=\"galleryImg\" alt = \"Cues Mint Token Pause\" />\n\t\t\t

    7. Pause:

    \n\t\t\t

    Pausing can be useful when you might want to pause the ability of token holders to mint/trade them on an exchange while the initial sale is still underway. One reason could be to stop speculative trading as buyers who purchase your token with the intent of immediately selling it can hurt your token’s value. On the flip side, this can reduce confidence as buyers will not like any pauses which limits their ability to trade or purchase the token.

    \n\t\t\t this.showModal(e)} src={token9} className=\"galleryImg\" alt = \"Cues Mint Token Constraints\" />\n\t\t\t\t\n\t\t\t

    8. Constraints:

    \n\t\t\t
      \n\t\t\t\t
    • Option to add limit to number of coins minted. Setting a steady issuance rate along with a supply cap is good for controlling the inflation rate of your token and potentially result in long-term appreciation.
    • \n\t\t\t\t
    • Option to add limit to number of tokens that can be held by an account. This can help prevent whales who can use their token stash to manipulate the price of your cryptocurrency. Heavy volume selling might create panic and lead to huge fluctuations in the price of your token.
    • \n\t\t\t
    \n\t\t\n\t\t\t

    9. Review your answers in the Summary tab. After checking that you have filled in all the required fields in the form, click the Launch button.

    \n\t\t\t

    10. Congrats! You now have a smart contract without coding! \n\t\t\t
    \n\t\t\tClick on How to Deploy Contract if you have any questions about the deployment of your contract.

    \n\t\t\t
    \n\t\t\t\t
    < Icon width=\"30\" icon=\"ant-design:rocket-outlined\" /> Start Now
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass MintNFT extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t

    Creating Your Own (ERC-721) NFT

    \n\t\t\t

    1. Go to https://www.cues.sg/contracts and select \"Mint NFT\".

    \n\t\t\t

    2. Default values and tooltips (question mark symbols) are there to guide you.

    \n\t\t\t this.showModal(e)} src={nft1} className=\"galleryLargerImg\" alt = \"Cues Mint NFT Basic Details\" />\n\t\t\t

    3. Basic Details:

    \n\t\t\t
      \n\t\t\t\t
    • Select which blockchain your smart contract will be on.
    • \n\t\t\t\t
    • Enter NFT name.
    • \n\t\t\t\t
    • Input NFT symbol. This is usually an abbreviation. Check that your symbol is unique by clicking on the link.
    • \n\t\t\t\t
    • Enter contract owner's address if you want the ownership of the contract to be linked to another wallet address and not yours. This affects who has admin rights over the contract.
    • \n\t\t\t\t
    • Choose token type. ERC721 is the standard, while ERC721A is an extension and optimization of ERC721. ERC721A can help save gas as it enables the minting of multiple NFTs for almost the same cost as minting one. However, if your users do not mint in bulk, the gas costs might be higher as transfer costs for an ERC721A token are higher than am ERC721 token.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={nft2} className=\"galleryImg\" alt = \"Cues Mint NFT Multimedia\" />\n\t\t\t

    4. Multimedia:

    \n\t\t\t

    Here is where you add all the assets like images/videos/audio that your NFT token is attached to. \n\t\t\t
    \n\t\t\tIf you just require unique tokens and not have a video/image/audio attached to it, leave the \"Any multimedia\" option as No. You can then indicate the maximum number of unique tokens if you wish to cap the supply.

    \n\t\t\t\t\n\t\t\t this.showModal(e)} src={nft3} className=\"galleryLargerImg\" alt = \"Cues Mint NFT Multimedia\" />\n\t\t\t

    If you have multimedia:

    \n\t\t\t
      \n\t\t\t\t
    • Choose the type of multimedia.
    • \n\t\t\t\t
    • Click the \"+ Add Image\" button. You can either upload NFTs one by one, or do a bulk upload by going to the NFT folder, select all and click Open.
    • \n\t\t\n\t\t\t\t this.showModal(e)} src={nft4} className=\"galleryImg\" alt = \"Cues Mint NFT Uploaded Multimedia\" />\n\t\t\t\t
    • Once uploaded, the assets will be sorted in ascending alphabetical/numerical order. Sort in the order you like using the arrows within the hovered assets.
    • \n\t\t\t\t
    • Add any names, descriptions and attributes to your multimedia. There are 2 ways to do so.
    • \n\t\t\t\t
    • Click the \"Set Attributes\" button.
    • \n\t\t\t\t this.showModal(e)} src={nft4a} className=\"galleryImg\" alt = \"Cues Mint NFT Uploaded Multimedia\" />\n\t\t\t\t
    • The first way to add multimedia details is to download the sample CSV file and fill up the missing fields. The sample CSV file has already been populated with the asset urls that you have uploaded and the column names.
    • \n\t\t\t\t
    • After filling up the file, upload the edited CSV file by clicking the \"Upload\" button.
    • \n\t\t\t\t
    • If you would like to add attributes, click the \"Specify Attributes\" button.
    • \n\t\t\t\t this.showModal(e)} src={nft4b} className=\"galleryImg\" alt = \"Cues Mint NFT Uploaded Multimedia\" />\t\n\t\t\t\t
    • Click the \"+ Add Attribute\" button and enter the attribute name in the popup box. Keep doing so for the rest of the attributes. Once done, click the \"+ Exit Specify Attributes\" button.
    • \n\t\t\t\t
    • Download the sample CSV file, you can see that the column names are populated with the attributes you have just entered.
    • \n\t\t\t\t this.showModal(e)} src={nft4c} className=\"galleryImg\" alt = \"Cues Mint NFT Uploaded Multimedia\" />\t\n\t\t\t\t
    • The second way to input your multimedia details is to hover on the asset and click on the text you want to change. For example, if you want to change the name, click on the \"Missing Name\" text and a popup box would appear for you to key in the name. To key in the attribute value, click the \"Not Set\" text of the attribute you want to change and the popup box will appear for you to key in the attribute value.
    • \n\t\t\t\t this.showModal(e)} src={nft4d} className=\"galleryImg\" alt = \"Cues Mint NFT Uploaded Multimedia\" />\t\n\t\t\t\t
    • Once our system detects that there are no missing details for your multimedia, the \"Upload to IPFS\" button will appear.
    • \n\t\t\t\t
    • Click the button to upload to IPFS and create the json file. This part may take a few seconds. The json IPFS links will show up once completed. The IPFS process is done automatically and embedded in the smart contract, so you don't need to worry about it.
    • \n\t\t\t\t
    • Decide if you would want to enable your items to be listed and tradeable on OpenSea. This is only available for Polygon networks. Contact us if you would like to have OpenSea access on other networks.
    • \n\t\t\t\t this.showModal(e)} src={nft5} className=\"galleryImg\" alt = \"Cues Mint NFT Pre-Reveal Multimedia\" />\n\t\t\t\t
    • You might want to have a pre-reveal placeholder so that your NFTs and metadata are hidden upon initial mint and hence, protected from sniping. Pre-reveal only affects the image shown, it does not affect ownership. For this to happen, you may not want to submit your contract for verification as the url of the actual mint is inside the contract. However, potential buyers might not have trust in an unverified contract. Having a good reveal plan can affect the success of the NFT. The pre-reveal process is the same as the uploading of NFT process.
    • \n\t\t\t
    \n\t\t\n\t\t\t this.showModal(e)} src={nft6} className=\"galleryImg\" alt = \"Cues Mint NFT Pre Mint Allocation\" />\n\t\t\t

    5a. Pre-Mint Allocation (Optional):

    \n\t\t\t

    This refers to tokens being mined and distributed before the official launch date of the token. It is usually done to reward investors, developers or contributors who took part in the creation of the token. You can also indicate if the owner of the contract is able to mint for free at any time.\n\t\t\t
    Click the button if you want to add pre-mint allocation.

    \n\t\t\t this.showModal(e)} src={nft7} className=\"galleryImg\" alt = \"Cues Mint NFT Pre Mint Allocation\" />\n\t\t\t

    5b. Pre-Mint Allocation (Optional):

    \n\t\t\t
      \n\t\t\t\t
    • Input the number of NFTs you would like to give to the wallet address.
    • \n\t\t\t\t
    • Add as many addresses as you want by clicking the button +Pre-Mint Allocation.
    • \n\t\t\t
    \n\t\t\n\t\t\t this.showModal(e)} src={nft8} className=\"galleryImg\" alt = \"Cues Mint NFT Mint Allocation\" />\n\t\t\t

    6a. Mint Allocation:

    \n\t\t\t

    This section allows you to mint NFTs in phases (and/or with conditions). An example would be stating the numbers to mint for presales (available for whitelist members only) vs public sales (available for all). The owner of the contract will be able to toggle the phases. \n\t\t\t
    Click the button if you want to add another phase.

    \n\t\t\t

    6b. Mint Allocation:

    \n\t\t\t

    Specify the number of tokens. This could be a fixed or variable number of tokens. The process is the same for both, except that you would have to state how many tokens will be minted each time for the fixed one.

    \n\t\t\t this.showModal(e)} src={nft9} className=\"galleryLargerImg\" alt = \"Cues Mint NFT Mint Allocation\" />\n\t\t\t

    Allocation:

    \n\t\t\t
      \n\t\t\t\t
    • Specify the number of tokens.
    • \n\t\t\t\t
    • Decide if the wallet address calling the function will be the one receiving the token or they can send it to another address.
    • \n\t\t\t\t
    • Choose whether the tokens can only be opened to those in the whitelist. If so, upload a txt file with the addresses.
    • \n\t\t\t\t
    • To prevent whales, each user can be limited to a certain number of mints.
    • \n\t\t\t
    \n\t\t\n\t\t\t this.showModal(e)} src={nft10} className=\"galleryLargerImg\" alt = \"Cues Mint NFT Mint Allocation Fees\" />\n\t\t\t

    Fees:

    \n\t\t\t
      \n\t\t\t\t
    • Decide the payment type. This can be done in native coins, other coins or NFTs.
    • \n\t\t\t\t
    • Decide the number of cryptocurrency required to pay for your NFT. For coins, you can choose if you would like the flexibility to adjust the price. This could be useful when there are huge price fluctuations.
    • \n\t\t\t\t
    • For coin/NFT payments, list the address of the coin/NFT payment accepted.
    • \n\t\t\t\t
    • Burning here means that the crypto payment will be removed from circulation instead of going to the wallet specified. Do note that you may want to add another fee payment so that you receive payment in exchange for the NFT.
    • \n\t\t\t
    \n\t\t\n\t\t\t this.showModal(e)} src={nft11} className=\"galleryImg\" alt = \"Cues Mint NFT Mint Allocation Condition\" />\n\t\t\t

    Mint Condition:

    \n\t\t\t

    Over here, you can add mint conditions for the phases.

    \n\t\t\t this.showModal(e)} src={nft12} className=\"galleryLargerImg\" alt = \"Cues Mint NFT Mint Allocation Condition\" />\n\t\t\t

    Here is an example of how you might want to limit your presales for the whole month of June.

    \n\t\t\t\n\t\t\t this.showModal(e)} src={nft13} className=\"galleryImg\" alt = \"Cues Mint NFT Pause\" />\n\t\t\t

    7. Pause:

    \n\t\t\t

    Pausing can be useful when you might want to pause the ability of token holders to trade them on an exchange while the initial sale is still underway. One reason could be to stop speculative trading as buyers who purchase your token with the intent of immediately selling it can hurt your token’s value. On the flip side, this can reduce confidence as buyers will not like the pause to continue indefinitely or happen repeatedly without prior notice.

    \n\t\t\n\t\t\t this.showModal(e)} src={nft14} className=\"galleryImg\" alt = \"Cues Mint NFT Constraints\" />\n\t\t\t

    8. Constraints:

    \n\t\t\t
      \n\t\t\t\t
    • Option to add limit to number of NFTs that can be held by an account. If the ownership of your NFT comes with an exclusive option to buy limited merchandise, limiting NFTs per account would be useful to help level the playing field and make a larger number of your NFT holders happy.
    • \n\t\t\t
    \n\t\t\t

    9. Review your answers in the Summary tab. After checking that you have filled in all the required fields in the form, click the Launch button.

    \n\t\t\t

    10. Congrats! You now have a smart contract without coding! \n\t\t\t
    \n\t\t\tClick on How to Deploy Contract if you have any questions about the deployment of your contract.

    \n\t\t\t
    \n\t\t\t\t
    < Icon width=\"30\" icon=\"ant-design:rocket-outlined\" /> Start Now
    \n\t\t\t
    \n\t\t\n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass ExchangeCoin extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t

    Creating Your Own Swap Contract

    \n\t\t\t

    1. Go to https://www.cues.sg/contracts and select \"Exchange Coins\".

    \n\t\t\t

    2. Default values and tooltips (question mark symbols) are there to guide you.

    \n\t\t\t this.showModal(e)} src={exchange1} className=\"galleryLargerImg\" alt = \"Cues Exchange Coins Basic Details\" />\n\t\t\t

    3. Basic Details:

    \n\t\t\t
      \n\t\t\t\t
    • Select which blockchain your smart contract will be on.
    • \n\t\t\t\t
    • Enter contract owner's address if you want the ownership of the contract to be linked to another wallet address and not yours. This affects who has admin rights over the contract.
    • \n\t\t\t\t
    • Choose the two crypto currencies that you would like to exchange. The native token displayed is dependant on the blockchain chosen. Enter the coin address and the number of decimals of the coin chosen. If you only need a one-sided exchange contract, ensure that the 1st currency is the one you want to swap from and the 2nd currency the one you want to swap to.
    • \n\t\t\t
    \n\t\t\n\t\t\t this.showModal(e)} src={exchange2} className=\"galleryImg\" alt = \"Cues Exchange Coins 1st to 2nd Conversion\" />\n\t\t\t

    4. 1st to 2nd Conversion:

    \n\t\t\t

    The swap contract here will be based on a fixed exchange rate set by the owner.

    \n\t\t\t
      \n\t\t\t\t
    • State the number of 2nd currency tokens you get for every 1 token of the 1st currency chosen.
    • \n\t\t\t\t
    • Decide if the smart contract owner should have the ability to change the swap rate in the future.
    • \n\t\t\t\t
    • Set the minimum transfer amount.
    • \n\t\t\t\t
    • Decide if the smart contract owner should have the ability to change the minimum transfer amount in the future.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={exchange3} className=\"galleryImg\" alt = \"Cues Exchange Coins 2nd to 1st Conversion\" />\n\t\t\t

    5. 2nd to 1st Conversion:

    \n\t\t\t

    Choose \"Yes\" if you would like be able to swap the 2nd currency for the 1st currency (reverse exchange). If so, the process is the same as the 1st to 2nd Conversion.

    \n\n\t\t\t

    6. Review your answers in the Summary tab. After checking that you have filled in all the required fields in the form, click the Launch button.

    \n\t\t\t

    7. Congrats! You now have a smart contract without coding! \n\t\t\t
    \n\t\t\tClick on How to Deploy Contract if you have any questions about the deployment of your contract.

    \n\t\t\t
    \n\t\t\t\t
    < Icon width=\"30\" icon=\"ant-design:rocket-outlined\" /> Start Now
    \n\t\t\t
    \n\t\t\n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass Staking extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t

    Creating Your Own Staking Contract

    \n\t\t\t

    1. Go to https://www.cues.sg/contracts and select \"Stake Coins/NFTs\".

    \n\t\t\t

    2. Default values and tooltips (question mark symbols) are there to guide you.

    \n\t\t\t this.showModal(e)} src={staking1} className=\"galleryImg\" alt = \"Cues Staking Basic Details\" />\n\t\t\t

    3. Basic Details:

    \n\t\t\t
      \n\t\t\t\t
    • Select which blockchain your smart contract will be on.
    • \n\t\t\t\t
    • Enter contract owner's address if you want the ownership of the contract to be linked to another wallet address and not yours. This affects who has admin rights over the contract.
    • \n\t\t\t\t
    • Choose the type of crypto that you want to stake. Enter coin or NFT address if needed.
    • \n\t\t\t\t
    • Choose the type of crypto that staker will be rewarded with.
    • \n\t\t\t\t
    • Decide which reward mechanism you prefer. For drip over time, stakers will periodically receive a reward based on an interest rate. For distribute an injection proportionately, stakers will share tokens transferred by the owner depending on their stake proportion.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={staking2} className=\"galleryImg\" alt = \"Cues Staking Basic Details\" />\n\t\t\t

    Distribute an Injection Proportionately:

    \n\t\t\t
      \n\t\t\t\t
    • Decide the number of days the period of consideration will be. If the period of consideration is 3 days, someone who has staked for 3 days will receive 3 times as much as someone who has staked for 1 day; while someone who has staked for 4 days will receive as much as someone who has staked for 3 days, as only the last 3 days are counted.
    • \n\t\t\t\t
    • Choose if you want to set a cool down period where the distributed token rewards can only be withdrawn after a certain number of days
    • \n\t\t\t
    \n\t\t\n\t\t\n\t\t\t this.showModal(e)} src={staking3} className=\"galleryLargerImg\" alt = \"Cues Staking Schemes\" />\n\t\t\t

    4. Schemes:

    \n\t\t\t

    This section states the conditions of the staking contract. Add more schemes if you want to have different staking plans that depend on interest rate/durations/staking amount. For example, you might want to provide a higher interest rate for schemes where the minimum staking period is higher or where the minimum staking amount is higher. \n\t\t\t
    \n\t\t\tThe questions shown here will depend on the choice of interest mechanism chosen in the previous page. All the choices for the questions can be amended by the contract owner in the future if you toggle that option for each question, although doing so may affect the credibility of the staking contract compared to a contract where these values are fixed. It is possible to set an option as 0 and allow amendments in the future. \n\t\t\t
    Click the + Scheme button if you want to add more staking schemes.

    \n\t\t\t
      \n\t\t\t\t
    • Choose type of interest rate. Simple interest is only based on the principal amount that stakers put in, while compound interest is based on the principal amount and the accumulated interest. (Drip over time). If you choose to stake NFTs, you can also have differential interest rates depending on token ID. Simply click the + Modification button to add modifications to the baseline interest rate.\n\t\t\t\t
    • \n\t\t\t\t
    • Enter the daily interest rate. (Drip over time)
    • \n\t\t\t\t
    • Set minimum stake period if needed.
    • \n\t\t\t\t
    • Enter tax percentage on withdrawal of interest if needed.
    • \n\t\t\t\t
    • Enter tax percentage on withdrawal of principal if needed.
    • \n\t\t\t\t
    • Set minimum stake amount if needed.
    • \n\t\t\t\t
    • Set maximum stake amount if needed. Ensure that this number is bigger than the minimum stake amount.
    • \n\t\t\t
    \n\n\t\t\n\t\t\t this.showModal(e)} src={staking4} className=\"galleryImg\" alt = \"Cues Staking Profit Allocation\" />\n\t\t\t

    5. Profit Allocation:

    \n\t\t\t

    This section allows you to decide how you would want to distribute profits. If you want the contract owner to collect all the profits, select \"No\" and carry on.

    \n\t\t\t

    If distributing to addresses:

    \n\t\t\t
      \n\t\t\t\t
    • Add wallet address of the receiver.
    • \n\t\t\t\t
    • Add how much the receiver will get in proportion to the total profit amount.
    • \n\t\t\t\t
    • If you would like to add more shareholders, click the \"+ Assignment\" button.
    • \n\t\t\t
    \n\t\t\n\t\t\t this.showModal(e)} src={staking5} className=\"galleryImg\" alt = \"Cues Staking Profit Allocation\" />\n\t\t\t

    6. Referrals:

    \n\t\t\t

    This section allows you to decide if you would like to reward stakers who referred other users to stake. If you do not want to, select \"No\" and carry on.

    \n\t\t\t

    If rewarding referral fees:

    \n\t\t\t
      \n\t\t\t\t
    • Add how much the receiver will get in interest bearing coin for each currency staked.
    • \n\t\t\t\t
    • If you would like to add more referral levels, click the \"+ Level\" button. Use the arrow signs to order your referral levels from the earliest to the latest.
    • \n\t\t\t
    \n\t\n\t\t\t

    7. Review your answers in the Summary tab. After checking that you have filled in all the required fields in the form, click the Launch button.

    \n\t\t\t

    8. Congrats! You now have a smart contract without coding! \n\t\t\t
    \n\t\t\tClick on How to Deploy Contract if you have any questions about the deployment of your contract.

    \n\t\t\t
    \n\t\t\t\t
    < Icon width=\"30\" icon=\"ant-design:rocket-outlined\" /> Start Now
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass RewardNFT extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t

    Reward Your NFT Holders

    \n\t\t\t

    1. Go to https://www.cues.sg/contracts and select \"Stake Coins/NFTs\".

    \n\t\t\t

    2. Default values and tooltips (question mark symbols) are there to guide you.

    \n\t\t\t this.showModal(e)} src={reward1} className=\"galleryLargerImg\" alt = \"Cues Reward NFT Holders Details\" />\n\t\t\t

    3. Basic Details:

    \n\t\t\t
      \n\t\t\t\t
    • Select which blockchain your smart contract will be on. This must be the same as your NFT contract.
    • \n\t\t\t\t
    • Enter contract owner's address if you want the ownership of the contract to be linked to another wallet address and not yours. This affects who has admin rights over the contract.
    • \n\t\t\t\t
    • Enter the address of the NFT. Click the Verify button and our system will check that it is a published smart contract on the blockchain that you chose.
    • \n\t\t\t\t
    • Choose the type of crypto that NFT holders will be rewarded with. Add the coin address if required.
    • \n\t\t\t\t
    • Enter the smallest and largest collection ID of the NFT collection whose owners you would like to reward.
    • \n\t\t\t
    \n\t\t\t\n\t\t\n\t\t\t this.showModal(e)} src={reward2} className=\"galleryImg\" alt = \"Cues Reward NFT Holders Exclusions\" />\n\t\t\t

    4. Exclusions (Optional):

    \n\t\t\t

    You may want to reward only a fraction of the NFT holders. For example, you may wish to exclude token ids between 50 and 100.

    \n\t\t\t
      \n\t\t\t\t
    • Choose the condition most suitable and input the value.
    • \n\t\t\t\t
    • If you would like to add more conditions, click the \"+ Condition\" button.
    • \n\t\t\t
    \n\t\t\t\n\t\t\n\t\t\t this.showModal(e)} src={reward3} className=\"galleryImg\" alt = \"Cues Reward NFT Holders Weights\" />\n\t\t\t

    5. Additional Weights (Optional):

    \n\t\t\t

    Given a baseline of 1, set varying reward amounts to different groups of NFT holders by using weights.

    \n\t\t\t
      \n\t\t\t\t
    • Enter the additional weight of your reward.
    • \n\t\t\t\t
    • Add conditions if it does not apply to every NFT holder. The process to add is the same as the previous tab.
    • \n\t\t\t
    \n\t\t\n\t\t\t this.showModal(e)} src={reward4} className=\"galleryImg\" alt = \"Cues Reward NFT Holders Additional Details\" />\n\t\t\t

    6. Additional Details:

    \n\t\t\t
      \n\t\t\t\t
    • Decide if you want to allow contract owner to drain unclaimed tokens. Choosing \"Yes\" prevents wastage.
    • \n\t\t\t\t
    • Decide if the NFT owner needs to call the Unlock function in order to be allocated their reward. This would depend on the way you distribute your reward to your holders.
    • \n\t\t\t
    \n\t\n\t\t\t

    7. Review your answers in the Summary tab. After checking that you have filled in all the required fields in the form, click the Launch button.

    \n\t\t\t

    8. Congrats! You now have a smart contract without coding! \n\t\t\t
    \n\t\t\tClick on How to Deploy Contract if you have any questions about the deployment of your contract.

    \n\t\t\t
    \n\t\t\t\t
    < Icon width=\"30\" icon=\"ant-design:rocket-outlined\" /> Start Now
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass Escrow extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t

    Creating Your Own Escrow Contract

    \n\t\t\t

    1. Go to https://www.cues.sg/contracts and select \"Escrow\".

    \n\t\t\t

    2. Default values and tooltips (question mark symbols) are there to guide you.

    \n\t\t\t this.showModal(e)} src={escrow1} className=\"galleryLargerImg\" alt = \"Cues Escrow Basic Details\" />\n\t\t\t

    3. Basic Details:

    \n\t\t\t
      \n\t\t\t\t
    • Select which blockchain your smart contract will be on.
    • \n\t\t\t\t
    • Enter contract owner's address if you want the ownership of the contract to be linked to another wallet address and not yours. This affects who has admin rights over the contract.
    • \n\t\t\t\t
    • State who would be the buyer in this contract. Add buyer's wallet address if it is not the person deploying the contract.
    • \n\t\t\t\t
    • State who would be the seller in this contract. Add sellers's wallet address if it is not the person deploying the contract.
    • \n\t\t\t\t
    • Choose the type of crypto that staker will be rewarded with at the end of the staking period.
    • \n\t\t\t\t
    • Decide if escrow amount is fixed or variable. If fixed, specify the amount of crypto coins.
    • \n\t\t\t
    \n\t\t\n\t\t\t

    4. Review your answers in the Summary tab. After checking that you have filled in all the required fields in the form, click the Launch button.

    \n\t\t\t

    5. Congrats! You now have a smart contract without coding! \n\t\t\t
    \n\t\t\tClick on How to Deploy Contract if you have any questions about the deployment of your contract.

    \n\t\t\t
    \n\t\t\t\t
    Start Now
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass Voting extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t

    Creating Your Own Voting Contract

    \n\t\t\t

    1. Go to https://www.cues.sg/contracts and select \"Voting\".

    \n\t\t\t

    2. Default values and tooltips (question mark symbols) are there to guide you.

    \n\t\t\t this.showModal(e)} src={voting1} className=\"galleryImg\" alt = \"Cues Voting Basic Details\" />\n\t\t\t

    3. Basic Details:

    \n\t\t\t
      \n\t\t\t\t
    • Select which blockchain your smart contract will be on. This must be the same as your NFT contract.
    • \n\t\t\t\t
    • Enter contract owner's address if you want the ownership of the contract to be linked to another wallet address and not yours. This affects who has admin rights over the contract.
    • \n\t\t\t\t
    • Enter the address of the NFT. Click the Verify button and our system will check that it is a published smart contract on the blockchain that you chose.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={voting2} className=\"galleryImg\" alt = \"Cues Voting Proposal\" />\n\t\t\t

    4. Proposal:

    \n\t\t\t
      \n\t\t\t\t
    • Enter the proposal name that you want your NFT holders to vote on.
    • \n\t\t\t\t
    • Add options by clicking the \"+ Option\" button and entering the option names. You have to add at least two options so that your NFT holders have a choice. For example, the options could be \"Yes\" and \"No\".
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={voting3} className=\"galleryImg\" alt = \"Cues Voting Power\" />\n\t\t\t

    5. Voting Power:

    \n\t\t\t

    A wallet address might hold multiple NFTs. Decide if those with multiple NFTs should have more voting power or have the same voting power as the rest of your NFT holders. One NFT one vote may be more democratic, but in this case, whales (those with multiple NFTs) may have too much voting power, and hence can rig votes.

    \n\t\t\n\t\t\t this.showModal(e)} src={voting4} className=\"galleryImg\" alt = \"Cues Voting Limits\" />\n\t\t\t

    6. Limits:

    \n\t\t\t

    Decide if you would want to set a time limit (in days) before voting closes. It will start from the initiation of the contract.

    \n\t\t\t\t\n\t\t\n\t\t\t

    7. Review your answers in the Summary tab. After checking that you have filled in all the required fields in the form, click the Launch button.

    \n\t\t\t

    8. Congrats! You now have a smart contract without coding! \n\t\t\t
    \n\t\t\tClick on How to Deploy Contract if you have any questions about the deployment of your contract.

    \n\t\t\t
    \n\t\t\t\t
    Start Now
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass Ownership extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t

    Split Ownership of an NFT

    \n\t\t\t

    1. Go to https://www.cues.sg/contracts and select \"Fractionalize NFT\".

    \n\t\t\t

    2. Default values and tooltips (question mark symbols) are there to guide you.

    \n\t\t\t this.showModal(e)} src={ownership1} className=\"galleryImg\" alt = \"Cues Split NFT Ownership Basic Details\" />\n\t\t\t

    3. Basic Details:

    \n\t\t\t
      \n\t\t\t\t
    • Select which blockchain your smart contract will be on. This must be the same as your NFT contract.
    • \n\t\t\t\t
    • Enter contract owner's address if you want the ownership of the contract to be linked to another wallet address and not yours. This affects who has admin rights over the contract. The owner must be the owner of the NFT.
    • \n\t\t\t\t
    • Input token symbol. This is usually an abbreviation. Check that your symbol is unique by clicking on the link. This is because the contract will create the token for you when you transfer the NFT to the contract.
    • \n\t\t\t\t
    • Enter the address of the NFT collection your NFT is in. The token id of your NFT will be called in the mint function so that you can specify which token you are fractionalizing. Click the Verify button and our system will check that it is a published smart contract on the blockchain that you chose.
    • \n\t\t\t\t
    • Input the number of coins per NFT. When a NFT is fractionalized, the original NFT is locked up in a vault, and a supply of fungible tokens (whose symbol you just came up with) that represent ownership over that NFT is issued.
    • \n\t\t\t
    \n\t\t\t this.showModal(e)} src={ownership2} className=\"galleryImg\" alt = \"Cues Split NFT Ownership Math\" />\n\t\t\t

    4. Math:

    \n\t\t\t

    Decide the minimum percentage needed to reclaim the NFT.

    \n\t\t\n\t\t\t

    5. Review your answers in the Summary tab. After checking that you have filled in all the required fields in the form, click the Launch button.

    \n\t\t\t

    6. Congrats! You now have a smart contract without coding! \n\t\t\t
    \n\t\t\tClick on How to Deploy Contract if you have any questions about the deployment of your contract.

    \n\t\t\t
    \n\t\t\t\t
    Start Now
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \t\n );\n}}\n\n\nexport {Basics, DeployContract, MintToken, MintNFT, ExchangeCoin, Staking, RewardNFT, Escrow, Voting, Ownership};\n","// App.js\nimport React, {Component} from 'react';\nimport { Routes, Route, Link } from \"react-router-dom\";\n\nimport { Icon } from '@iconify/react';\nimport './css/guide.css';\nimport {PhotoZoom} from './modal.js';\n\nfunction clickSmartContract(){\n\t\t\twindow.location.assign(\"https://www.cues.sg/contracts\");\n}\nfunction clickDapp(){\n\twindow.location.assign(\"https://www.cues.sg/dapps\");\n}\n\n\nclass Main extends Component {\n\tconstructor() {\n super();\n this.state = {\n \n };\n }\n\t\n\trender(){\n\t\t\n\t\t\n return (\n\t\t
    \t\t \n\t\t\t

    Cues

    \n\t\t\t

    We are a No-Code Smart Contracts Generator and DApp Builder.

    \n

    Launch Smart Contracts and deploy DApps with our No-Code Smart Contracts Generator and DApp Builder.
    Create and instantly deploy your own tokens and NFTs on Ethereum, Binance, Polygon, Avalanche, Fantom, Dogechain, Heco and many more.

    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass Payment extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n };\n }\n\t\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \n\t\t\t

    Adding Credits

    \n\t\t\t\n\t\t\t

    We offer Stripe as a secure and reliable payment service on our website. It's important to note that Stripe only accepts payments in USD currency.

    \n\t\t\tHowever, we also offer the option to transfer funds to our wallet address at 0x04CbF2f31BAFe46cbE919C9E71b02622E9A4115b using BUSD or USDT tokens. Do note that the amount of BUSD or BUST tokens transferred must be equivalent in value to the USD currency stated in our payment plans. Contact us on Telegram and we will credit the amount to your account on our website.

    \n\t\t\tThank you for choosing CUES, and we look forward to serving you!

    \n\t\t\t\n\t\t
    \t \t\n );\n}}\n\n\nclass BlockchainOverview extends Component {\n\tconstructor() {\n super();\n this.state = {\n \n };\n }\n\t\n\trender(){\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    Blockchain Overview

    \n\t\t\t

    \n\t\t\t\tYou’ve heard all about Blockchain and how it’s going to revolutionize the way we work, play, and stay connected. But what is blockchain, really?\n\t\t\t\t

    \n\t\t\t\tTo simplify things, you only need to remember 3 words to understand blockchain. A blockchain is an immutable, distributed ledger. At its core, blockchain is simply a form of record keeping, by documenting the history of a lot of transactions.\n\t\t\t\t

    \n\t\t\t\t

    Immutable: Once a piece of code is published on the blockchain network, it is unalterable. Records cannot be edited, deleted, or destroyed. It’s pretty hard to change what’s been written, and digital information that resides on the blockchain stays there forever.
    \n\n\t\t\t\t
    Distributed: No one computer owns or stores the information on the blockchain. Instead, blockchain is a decentralized platform that can be accessed by anyone with an internet connection, and is simultaneously run on millions of nodes across the world, consisting of a system of computers that verify and contribute to the network.
    \n\n\t\t\t\t
    Ledger: Much like an excel sheet you use to monitor or track your expenditure, or your monthly statements stating the inflows and outflows of your bank account, blockchain serves as a peer-to-peer distributed digital clipboard of a list of time-stamped transactions.
    \n\t\t\t\t

    \n\t\t\t\tThe underlying premise of blockchain is cryptography, a form of technology involving a lot of maths. A blockchain aggregates information together in blocks, and every time a new transaction occurs, a record of that transaction is added to the block. When the capacity of a block is reached, it is completed and linked to a previous block. This process then reiterates.\n\t\t\t\t

    \n\t\t\t\tBockchain has been heralded as the next frontier for Web 3.0. Web 3.0 promotes decentralization where information is built, operated, and owned by users instead of providers. This is opposed to our current version of Web 2.0, which is based on the internet and monopolized by large tech companies like Google, Amazon, and Facebook, among others. The ethos of blockchain-powered cryptocurrencies is to direct power away from central banks, government authorities, and private corporations, making technology the driving force behind democracy and a decentralized world.\n\t\t\t\t

    \n\t\t\t\tSince blockchain was first envisioned as a research project by two researchers in 1991, and then popularized and monetised as Bitcoin by Satoshi Nakamoto in 2008, blockchain has found widespread application in the 21st century with cryptocurrencies, smart contracts, and dApps.\n\t\t\t

    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\t\t\nclass SmartContractOverview extends Component {\n\tconstructor() {\n super();\n this.state = {\n \n };\n }\n\t\n\trender(){\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    Smart Contract Overview

    \n\t\t\t

    \n\t\t\t\tContrary to what its name might suggest, smart contracts are neither very intelligent (in the sense that you probably won’t be able to immediately understand them) nor are they legally binding like the contracts you’re familiar with (think about endless TnC clauses, or that doomed marriage certificate). Turns out smart contracts are not the most user-friendly or intuitive things in the world either, and that’s where we’re here to help.\n\t\t\t\t

    \n\t\t\t\tSmart contracts are pieces of code, or computer programmes, powered by blockchain platforms, like Ethereum, Polygon, and Binance, among others. At their core, they facilitate three key functions: \n\n\t\t\t\t

    \n\t\t\t\t  Store rules
    \n\t\t\t\t  Verify rules
    \n\t\t\t\t  Self-execute rules\n\n\t\t\t\t

    \n\t\t\t\tSmart contracts work by following simple “if/when…then…” statements written into code on a blockchain. They function as digital agreements that are executed when predetermined terms and conditions are met and verified. These actions could include releasing funds to a bank account, sending out a notification, or uploading files to a database. The blockchain is constantly updated in real time for every transaction that has been completed.\n\t\t\t\t

    \n\t\t\t\tThink of smart contracts as very secure vending machines: every vending machine operates by a set of predefined rules and produces a definitive outcome - to buy a packet of M&Ms, you need to insert coins into the machine. The machine automatically releases the packet of M&Ms (fixed outcome) from its holder once it verifies the correct amount is paid (predetermined condition), and returns you some coins if there’s excess (extra functions you can specify and add into the smart contract to customize it).\n\t\t\t\t

    \n\t\t\t\tSmart contracts are trustless transactions where all participants can be immediately certain of the outcome. Because smart contracts exist on a blockchain, there are no intermediaries: no dishonest brokers, no bureaucratic and inefficient corporations, no authoritarian governments and not even a lawyer.\n\t\t\t\t

    \n\t\t\t\tSmart contracts simply self-execute when predetermined conditions are met. Workflows are automated and the next actions for a contract are triggered instantaneously. This results in savings in both cost and time, boosting efficiency. \n\t\t\t\t

    \n\t\t\t\tIn addition, since they are stored on a decentralized platform, they are extremely secure, and incredibly difficult to alter or hack.\n\t\t\t\t

    \n\t\t\t\tSmart contracts have the potential to solve problems our traditional technologies have historically struggled with, and can be applied in fields as diverse as finance, supply chains, healthcare, and gaming. And we are only just getting started.\n\t\t\t\t

    \n\t\t\t\tBack in the old days, smart contracts used to be the sole purview of the developers and coders. But at Cues.sg, they can be leveraged on and harnessed by anyone, including you, with our online platform to simplify the structuring of smart contracts.\n\t\t\t\t

    \n\t\t\t\tCreate your smart contract with us today to unleash the power of blockchain.\n\t\t\t\t

    \n\t\t\t\t

    \n\t\t\t\t
    Start Now
    \n\t\t\t

    \n\t\t
    \t \t\n );\n}}\n\nclass DAppOverview extends Component {\n\tconstructor() {\n super();\n this.state = {\n \n };\n }\n\t\n\trender(){\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    DApp Overview

    \n\t\t\t

    \n\t\t\t\tDApps stand for decentralized applications, which are applications fueled by the technology of smart contracts.\n\t\t\t\t

    \n\t\t\t\tAt the core of dApps are smart contracts, which function as their backend code, running on a decentralized blockchain network such as Ethereum, Polygon, and Binance, among others. The blockchain is used for data storage, while the smart contracts feed into the application’s logic. The other aspect of dApps is the front-end code, which gives rise to the user interface consumers engage with, much like any other application you download from the Apple Store or Google Play. The front-end code makes calls to the backend code to execute its functions when consumers interact with the dApp.\n\t\t\t\t

    \n\t\t\t\tSince most smart contracts are accessible once published, similar to open APIs, your dApp could include a combination of your own smart contracts, or even a smart contract someone else has written.\n\t\t\t\t

    \n\t\t\t\tIt is important to get smart contracts and dApps right the first time round, since once smart contracts or dApps are deployed on the blockchain network, you can’t change them anymore.\n\t\t\t\t

    \n\t\t\t\tWe want to make things simple for you. With our online platform streamlining the creation process and removing the need for coding, we’ll have your smart contracts and dApps ready in minutes.\n\t\t\t\t

    \n\t\t\t\tDon’t believe us? Try it for yourself.\n\t\t\t\t

    \n\t\t\t\tCreate your dApp with us today.\n\t\t\t\t

    \n\t\t\t\t

    \n\t\t\t\t
    Start Now
    \n\t\t\t\t

    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass Unfinished extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\t\n \n };\n }\n\n\t\n\trender(){\n return (\n\t\t
    \t\t \n\t\t\t

    To Be Written

    \n\t\t\t\n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n \n \n\nexport {Main, Payment, BlockchainOverview, SmartContractOverview, DAppOverview, Unfinished};\n","// App.js\nimport React, {Component} from 'react';\nimport logo from './title1.png';\n\nimport { Icon } from '@iconify/react';\nimport './css/guide.css';\nimport {PhotoZoom} from './modal.js';\n\nimport dappoverview1 from './img/guide/dapp/00dappoverview1.png';\nimport dappoverview2 from './img/guide/dapp/00dappoverview2.png';\nimport dappoverview3 from './img/guide/dapp/00dappoverview3.png';\nimport dappoverview4 from './img/guide/dapp/00dappoverview4.png';\nimport dappoverview5 from './img/guide/dapp/00dappoverview5.png';\nimport dappoverview6 from './img/guide/dapp/00dappoverview6.png';\nimport dappoverview7 from './img/guide/dapp/00dappoverview7.png';\n\nimport basicfn1 from './img/guide/dapp/01basicfn1.png';\nimport basicfn2 from './img/guide/dapp/01basicfn2.png';\nimport basicfn3 from './img/guide/dapp/01basicfn3.png';\nimport basicfn4 from './img/guide/dapp/01basicfn4.png';\nimport basicfn5 from './img/guide/dapp/01basicfn5.png';\n\nimport deploy1 from './img/guide/dapp/02deploydapp1.png';\nimport deploy2 from './img/guide/dapp/02deploydapp2.png';\nimport deploy3 from './img/guide/dapp/02deploydapp3.png';\nimport deploy4 from './img/guide/dapp/02deploydapp4.png';\n\nimport action1 from './img/guide/dapp/03action1.png';\nimport action2 from './img/guide/dapp/03action2.png';\n\nimport example1 from './img/guide/dapp/04example1.png';\nimport example2 from './img/guide/dapp/04example2.png';\nimport example3 from './img/guide/dapp/04example3.png';\nimport example4 from './img/guide/dapp/04example4.png';\nimport example5 from './img/guide/dapp/04example5.png';\nimport example6 from './img/guide/dapp/04example6.png';\nimport example7 from './img/guide/dapp/04example7.png';\nimport example8 from './img/guide/dapp/04example8.png';\nimport example9 from './img/guide/dapp/04example9.png';\n\nfunction clickDapp(){\n\twindow.location.assign(\"https://www.cues.sg/dapps\");\n}\n\n\nclass DappProcess extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    Quick Overview of DApp Process

    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\n\t\t\t this.showModal(e)} src={dappoverview1} className=\"galleryLargerImg\" alt = \"Cues Start Page for DApp Choose Blockchain\" />\n\t\t\t

    1. Choose blockchain: This is the page you will see when you are logged in. Click on the blockchain that your smart contract is deployed on/going to be deployed on.

    \n\t\t\t this.showModal(e)} src={dappoverview2} className=\"galleryImg\" alt = \"Cues Start Page for DApp Add Contract\" />\n\t\t\t

    2. Add contract: To add an already deployed contract, click Load Existing Contract to add the contract address. You may add multiple contracts. If you do not have a smart contract, click Create New Contract to go to our smart contracts generator to create one. Otherwise, click Next if you wish to design your dApp without having a smart contract.

    \n\t\t\t this.showModal(e)} src={dappoverview3} className=\"galleryLargerImg\" alt = \"Cues Start Page for DApp Choose Template\" />\n\t\t\t

    3. Choose template: Our AI system recommends templates based on the contracts that you have uploaded. Choose from our available templates or start with a blank screen. Use the filter button to find templates that best suit your needs. Click on any template to preview the template before making your selection. You will then be brought to our dApp Builder where you can customize your dApp with our dApp builder

    \n\t\t\t this.showModal(e)} src={dappoverview4} className=\"galleryImg\" alt = \"Cues Dapp Builder\" />\n\t\t\t

    4. DApp Builder: Customize your dApp with our dApp builder. Add elements based on your needs. Here, you can add actions based on your smart contract (e.g. Mint, Add to Whitelist). The smart contract does not need to be generated from our smart contract generator, although doing so increases the range of templates that you have access to. However, it has needs to be deployed and published. For more information about the functions, please click on the other dApp articles.

    \n\t\t\t this.showModal(e)} src={dappoverview5} className=\"galleryImg\" alt = \"Cues Dapp Builder Launch Website\" />\n\t\t\t

    5. Launch website: Choose the appropriate plan to launch your dApp. You may also download the code and deploy the website on your own server.
    Go to the How to Deploy DApp guide if you have any questions about the deployment of your dApp.

    \n\t\t\t this.showModal(e)} src={dappoverview6} className=\"galleryLargerImg\" alt = \"Cues Dapp Builder Launch Website\" />\n\t\t\t

    6. Finished: Your dApp is ready! We also provide simple statistics and a database view for you to optimize your website. See https://www.cues.sg/dapps/example as an example of a launched dApp.

    \n\t\t\t\t\n\t\t\t

    7a. Accessing previous contracts: Once logged in, you can click See Previous dApps to see previous work. If you are in the midst of creating a dApp, you can click the Home button to see previous dApps.\n\t\t\t
    \n\t\t\tEverything is auto-saved, including unfinished contracts, so don't worry about losing your progress!

    \n\t\t\t this.showModal(e)} src={dappoverview7} className=\"galleryImg\" alt = \"Cues Dapp Builder Previous DApps\" />\n\t\t\t

    7b. Accessing previous contracts: Here, you can view the details of your dApps, whether unfinished or launched. You can also duplicate previous dApps and edit them to launch a different dApp, or delete unfinished dApps that you do not wish to continue. Click the edit button of a dApp to update the dApp, access the statistics or add more time to the website.

    \n\t\t\t
    \n\t\t\t\t
    Start Now
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \t \t\n );\n}}\n\nclass Dappbuilderfunctions extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    DApp Builder: Introduction to DApp Functions

    \n\t\t\t this.showModal(e)} src={basicfn1} className=\"galleryLargerImg\" alt = \"Cues DApp Blank Template\" />\n\t\t\t

    1. Starting Out: Here is a blank template. At the start, there is a simple tutorial you can follow to get a quick understanding of how to add elements to your website.
    We will be going through the various features that we have in order for you to be able to fully maximize our website.

    \n\t\t\t this.showModal(e)} src={basicfn2} className=\"galleryImg row mx-auto\" alt = \"Cues DApp Hints Hover\" />\n\t\t\t

    2. Hints: Hover on any of the icons to know what they do.

    \n\n\t\t\t this.showModal(e)} src={basicfn3} className=\"galleryImg\" alt = \"Cues DApp Header\" />\n\t\t\t

    3. Main Header Functions

    \n\t\t\t
      \n\t\t\t\t
    • : Edit program name.
    • \n\t\t\t\t
    • : Screen sizes. Toggle between the different screen size icons to see how your dApp will look on them. You may also add custom values for styles depending on the screen size you are working on.
    • \n\t\t\t\t
    • : Use the undo and redo signs when needed.
    • \n\t\t\t\t
    • : Send us any feedback if anything is not working, if you are unsure about something or if you want a new function or element for your dApp.
    • \n\t\t\t\t
    • : Top up credits. This will be used only if you launch a smart contract or dApp with us. Trying is free.
    • \n\t\t\t\t
    • : Share project with other collaborators. They will be able to edit the project with you.
    • \n\t\t\t\t
    • : Preview. See how your dApp will look like in different screen sizes and interact with it.
    • \n\t\t\t\t
    • : Launch project once you are done.
    • \n\t\t\t
    \n\n\t\t\t this.showModal(e)} src={basicfn4} className=\"galleryLargerImg row mx-auto\" alt = \"Cues DApp Side Menu\" />\n\t\t\t

    4. Side Menu Functions

    \n\t\t\t
      \n\t\t\t\t
    • Overall: Set the overall styles of your dApp here. You can also add actions that execute once users start the dApp, e.g. pop up to inform users of discounts.
    • \n\t\t\t\t
    • Navigator: See the overall structure of your dApp. Click to edit the element, or drag and drop them to another part of your dApp.
    • \n\t\t\t\t
    • Pages: See all the pages of your dApp. You can add new pages, duplicate current pages or delete them here. If there are more than one page, you can set which page will be the starting page of the dApp
    • \n\t\t\t\t
    • Pop Ups: See all the pop ups. You can add new pop ups, duplicate current pop ups or delete them here. Show pop ups in your dApp by selecting the \"Open a Pop Up Window\" action via the On Click action icon in elements such as the button.
    • \n\t\t\t\t
    • Elements: Add elements from here. The elements shown will differ depending on the current element you are working on. Click on the gray area around the dApp design screen to add Nav Bar and Footer. Click on the element to add it relative to other elements in the panel, and drag the element into the panel to add it in a fixed position in the panel.
    • \n\t\t\t\t
    • Definitions: Add variables here. The initial value can only be a constant and not a value of an input as these are variables that are created from the start. You may then change these variables through On Click or On Change actions.
    • \n\t\t\t\t
    • Contracts: Load or add your contracts here. Contracts can be called as actions (e.g. On Click or On Change), or as components when you specify a formula.
    • \n\t\t\t\t
    • Colors: We have some color palettes that you might want to consider using. Click on the color palettes to access them later in when editing the styles of the elements.
    • \n\t\t\t
    \n\n\t\t\t this.showModal(e)} src={basicfn5} className=\"galleryImg row mx-auto\" alt = \"Cues DApp Element Functions Menu\" />\n\t\t\t

    5. Element Header Functions

    \n\t\t\t

    Click the underlined text to change the name of the element. This would be helpful in identifying the element you want the value from or you want changed when adding actions/functions to your dApp.
    Here is a list of element functions that you will encounter while editing the elements.

    \n\t\t\t
      \n\t\t\t\t\n\t\t\t\t
    • Style: Specify styles here. The options listed here will differ depending on the element, where the element is placed in and what screen size you are currently working on. For example, the option to have custom styles will appear when you are working on screen sizes that are bigger than extra small devices.
    • \n\t\t\t\t
    • Dimensions: Specify height and width here.
    • \n\t\t\t\t
    • Background: Change background colors. For panels, there will be 2 additional options where you could have a liner gradient background or an image as the background.
    • \n\t\t\t\t
    • Border: Style borders here. This includes border width, border radius, border style and border color.
    • \n\t\t\t\t
    • Label: Change text label here. This option will appear for buttons and rich text where it is not possible for the text to be changed on the design screen. The label can be static or dynamic. For example, if you want the button label to change depending on whether a user is logged in, choose the Dynamic option and use If Then Else to list out what you want the text to be in the different scenarios. We will be coming up with a detailed actions guide so that you understand how to use them.
    • \n\t\t\t\t
    • Icon: Choose your icons here from a list of open source icons. You can also change the icon color, icon height or rotate the icon.
    • \n\t\t\t\t
    • Font: Choose font family here. This is if you want the element to have a different font family from the overall font family that you have set under overall styles.
    • \n\t\t\t\t
    • Text Color: Change text color. For elements like tabs, please choose the text colors for both scenarios when a tab is selected and when a tab is not selected.
    • \n\t\t\t\t
      \n\t\t\t\t\n\t\t\t\t
    • Amend Parent: Go back to the parent element to edit it.
    • \n\t\t\t\t
    • Duplicate: Duplicate the element that you have selected.
    • \n\t\t\t\t
    • Delete: Delete the element that you currently selected.
    • \n\t\t\t\t
    • Shift Right: Shift the position of your element to the right (within its parent element).
    • \n\t\t\t\t
    • Shift Left: Shift the position of your element to the left (within its parent element).
    • \n\t\t\t\t
    • Common: Save style here. After styling the element, you can save the style with a name of your choice and use the style again when styling another element of the same type.
    • \n\t\t\t\t
      \n\t\t\t\t\t\n\t\t\t\t
    • On Click: Add actions here. Actions include both smart contract and non-smart contract functions. Refer to the DApp Builder-How to Use Actions article to understand how to use actions.
    • \n\t\t\t\t
    • On Change: This option will appear for inputs, where you decide what will happen every time the user inputs or edit their answer. For example, if you want to sell your cryptocurrency, OWNCOIN, in exchange for Ethereum (ETH), you might have two inputs for OWNCOIN and ETH where ETH amount changes when the user inputs how much OWNCOIN they want and vice versa.
    • \n\t\t\t\t
    • Modifiers: This option helps you see if the current element is being modified by actions from other elements.
    • \n\t\t\t\t
    • Data: This option is for charts. This is where you add the data source that will appear on your charts.
    • \n\t\t\t\t
      \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t\t
    Start Now
    \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \t \t\n );\n}}\n\n\nclass Dappbuilderactions extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    DApp Builder: Using DApp Functions

    \n\t\t\t

    A dApp is an application that combines a smart contract and a front end user interface. Without actions, it is just a normal web app.

    \n\t\t\t

    In this section, we will be going through the actions to help you better understand how to utilize them. The list of actions here is not a comprehensive list. These actions are accessible through the On Click and On Change in the element header bar and Actions On Start in the Overall tab in the side menu.

    \n\t\t\t

    For the smart contract actions, those listed are the possible functions in the contracts produced by our no-code smart contract generator. We also accept smart contracts that are not generated by our platform. However, their inputs and conditions might differ from ours. To better help our users, our dApp Builder will show the comments within the code.

    \n\t\t\n\t\t\t

    Main Actions

    \n\t\t\t
      \n\t\t\t\t
    • Connect Wallet: Allows website users to sign in using their wallets in order to execute transactions. Wallets include MetaMask, WalletConnect and Fortmatic.
    • \n\t\t\t\t
    • Placeholder Action: This is used during the design process when you would want to replace this action with another action in the future. There will be a constant reminder in the element header bar until you replace it with another action. For example, you might want to design your dApp before having a smart contract and would like to insert your smart contract functions later.
    • \n\t\t\t\t
    • Pop Up Alert: A simple pop up containing a text message. The input is a text, where it could be a static message like \"Hello\" or a dynamic message that depends on whether the website user has signed in on his/her wallet.
    • \n\t\t\t\t this.showModal(e)} src={action1} className=\"galleryImg row mx-auto\" alt = \"Cues DApp Pop Up\" />\n\t\t\t\t
    • Open Pop Up: A pop up that the user can design via the Pop Ups tab in the side menu. The design process is the same as designing a panel, except with an addition of a close button. The input is the pop up name, which is 5e6 in the example above.
    • \n\t\t\t\t
    • Prompt User for Input: A simple pop up asking a question the user will answer. The inputs are the question text and a default answer, which can be set to blank. This input can then be accessed through adding another action after it.
    • \n\t\t\t\t
    • Ask User for Confirmation: A simple pop up where a user will click OK or Cancel in response to the text message. The inputs are the question text and the actions in response to the two possible responses. For example, it can be used to confirm if the user wants to continue with a transaction.
    • \n\n\t\t\t\t
    • Copy Text to Clipboard: Allows users to copy a text with a click of the button. The input is the text that you want the user to copy. For example, you might want users to copy their referral link immediately instead of having to highlight the text and copying it themselves.
    • \n\t\t\t\t
    • Open Window with URL: The link will open in a new tab. This is useful in cases where you want to direct users to your social media channels.
    • \n\t\t\t\t
    • Scroll to a Specific Panel: Our dApp builder is such that a page can have multiple panels. You might want to direct your users to a specific panel when they click a button.
    • \n\t\t\t\t
    • Scroll to Top of Page: This is usually when a user has reached the bottom of the page and you want to provide them an easy way to go back to the top.
    • \n\t\t\t\t
    • Toggle Visibility of a Banner: Click to make a banner visible or invisible.
    • \n\n\t\t\t\t
    • Delay Action: Wait for a certain amount of time before executing an action. The inputs are the number of seconds you want to delay by and the action that follows after the delay.
    • \n\t\t\t\t
    • If Then Else: Execute actions depending on a condition. One of the statements will execute when the specified condition is true, and the other one will execute when false. For example, if a user has already logged in, you might want to direct them to their dashboard, but if the user is not logged in, then you might prompt them to connect their wallet instead.
    • \n\t\t\t\t
    • Write Value to Database: Collect information from users. For example, you might want to collect email addresses from users in order to notify them of upcoming events/news.
    • \n\t\t\t\t
    • Update Variable: This is for any information that you want to update and store before acting on it. The variable must be created in the Variables tab. For example, you might want to ask for a user's risk tolerance at the start, store that preference and change the recommended plan based on that.
    • \n\t\t\t\t
    • Change Value of Input xxxx: This will only appear if you have added inputs in your dApp. For example, you might have an input box for users to put their referrer address but you want to change the value of it from the start if they have typed in before.
    • \n\t\t\t
    \n\n\n\n\t\t\t

    House Functions

    \n\t\t\t

    These are usually intermediate functions to fulfil your main intention.

    \n\t\t\t
      \n\t\t\t\t
    • Unsigned Integer to Decimal: There are 3 inputs: the unsigned integer, the number of digits to cut and the number of decimal places. The number of digits to cut indicates where to cut the integer. For example, if you indicate 12345 as your integer, 3 as the number of digits to cut and 2 as the number of decimal places, then the output would be 12.34. Note that the decimal is truncated and not rounded to the nearest decimal place.
    • \n\t\t\t
    \n\n\t\t\t

    Combo Functions

    \n\t\t\t

    These are common multi-step functions that are combined into one function to make your job easier. The function tree will then be populated and you may change any of the variables or functions used. The combo functions you can access will depend on the type of smart contracts that you have loaded.

    \n\t\t\t
      \n\t\t\t\t
    • Connect Wallet Text: Changes text shown depending on whether the user has connected to their wallet and whether they are on the correct chain. If both hold true, it will show the user's shortened wallet address; else it will show \"Connect Wallet\" or \"Connect to the [Correct] Chain\"
    • \n\t\t\t\t
    • Display Native Currency owned by Signed In User: Shows the amount of native currency in the user's wallet.
    • \n\t\t\t\t
    • Token IDs of NFTs owned by the current user in the [NFT Contract Name]: (For Mint NFT Contracts) Shows the list of NFTs owned by the user. Can be used in a dropdown, which can be found under the Input component, so that users can filter for a particular NFT and see the details. Go to Style and click on Use Formula Instead under Options to use this combo function.
    • \n\t\t\t\t
    • Images of NFTs owned by the current user in the [NFT Contract Name]: (For Mint NFT Contracts) Shows the list of images of the NFTs owned by the user. Recommended to be used in a Gallery component, so that users can see the NFTs they own. Go to Style and click on Use Formula Instead under Options to use this combo function.
    • \n\t\t\t
    \n\n\n\n\t\t\t

    Smart Contract Actions (General for All Contracts)

    \n\t\t\t
      \n\t\t\t\t
    • Amount of native currency owned by address: Will show the amount of native currency for the wallet signed in. The user would have to be on the same blockchain network as the deployed smart contract. The output unit is the smallest unit of the currency. Hence, you may want to consider dividing your output with 10number of decimals of native currency in order to display the correct amount.
    • \n\t\t\t\t
    • Current User: Wallet address of the current user. It is used as an input for functions like Amount of native currency owned by address.
    • \n\t\t\t
    \n\n\n\n\n\n\t\t\t

    Smart Contract Actions (Staking Edition)

    \n\t\t\t

    For contracts generated by us, there will be the word Staking in the functions name to indicate that it is a function from your staking contract. This helps you to differentiate between contracts.

    \n\t\t\t
      \n\t\t\t\t
    • changeOwner: Input an address that will take over the ownership rights of the contract. Only the owner of the contract is able to execute this function and no changes can be made once executed.
    • \n\n\t\t\t\t
    • changeValueOf_minStakePeriod0: Input the new minimum stake period. The input should be the number of days multiplied by 86400 (number of seconds in a day). Only the owner of the contract is able to execute this function. This will apply for new and currently staked tokens. This function will only appear if you allow the contract owner to amend the minimum stake period when crafting the contract.
    • \n\n\t\t\t\t
    • changeValueOf_minStakeAmt0: Input the new minimum stake amount. The input unit is the smallest unit of the crypto currency/token. For example, if you are staking MATIC and you want to change the minimum stake amount to 8, then the input should be 8*1000000000000000000 (18 zeros). Only the owner of the contract is able to execute this function. This function will only appear if you allow the contract owner to amend the minimum stake amount when crafting the contract.
    • \n\n\t\t\t\t
    • changeValueOf_maxStakeAmt0: Input the new maximum stake amount. The input unit is the smallest unit of the crypto currency/token. For example, if you are staking MATIC and you want to change the maximum stake amount to 8, then the input should be 8*1000000000000000000 (18 zeros). Only the owner of the contract is able to execute this function. This function will only appear if you allow the contract owner to amend the maximum stake amount when crafting the contract.
    • \n\n\t\t\t\t
    • changeValueOf_principalTaxWhere10000IsOnePercent1: Input the new principal tax percentage (on withdrawals). 1% corresponds to 10 000 in our contract. For example, if you want to change the principal tax percentage to 8%, please input 80000 into the function. Only the owner of the contract is able to execute this function. Changes will apply for new and currently staked tokens. This function will only appear if you allow the contract owner to amend the principal tax when crafting the contract.
    • \n\n\t\t\t\t
    • changeValueOf_interestTaxWhere10000IsOnePercent1: Input the new interest tax percentage (on withdrawals). 1% corresponds to 10 000 in our contract. For example, if you want to change the interest tax percentage to 8%, please input 80000 into the function. Only the owner of the contract is able to execute this function. Changes will apply for new and currently staked tokens. This function will only appear if you allow the contract owner to amend the interest tax when crafting the contract.
    • \n\n\t\t\t\t
    • modifyDailyInterestRate0: Input the new daily interest rate that will be used to calculate payouts. 1% corresponds to 10 000 in our contract. For example, if you want to change the daily interest rate to 8%, please input 80000 into the function. Only the owner of the contract is able to execute this function. The contract will calculate all the staked amounts with the old daily interest rate up to that point and then update the daily interest rate. This function will only appear if you allow the contract owner to amend the daily interest rate when crafting the contract.
    • \n\n\t\t\t\t
    • stake0: This is where the staking happens. Input the crypto amount that the user want to stake.
    • \n\n\t\t\t\t this.showModal(e)} src={action2} className=\"galleryImg row mx-auto\" alt = \"Cues DApp Auto Deployment Choose\" />\n\t\t\t\t\t\n\t\t\t\t
    • unstake0: Input the crypto amount that the user wants to unstake. As the input only takes in unsigned integers, pad your decimal input with the number of 0s as the decimal place of the cryptocurrency. An example would be the function in the image above as your input to the unstake function. The unstake function will check that the user has fulfilled all the conditions before the user can unstake that amount. When a user unstakes a token, the crypto earned is automatically transferred to their wallet.
    • \n\n\n\t\t\t\t
    • addReferralAddress: Input the referrer address provided by the user. The function will check that the referrer address has made a deposit and that the user has not added other referrer addresses previously. It is possible to add a null address like 0x0000000000000000000000000000000000000000 if the user does not want to add any referrer address.
    • \n\n\t\t\t\t
    • withdrawReferral: Input the crypto amount that the user wants to withdraw from their referral rewards. The function will check that the user has already earned a minimum of the crypto amount stated before releasing the rewards.
    • \n\n\t\t\t\t
    • withdrawInterestTax0: There are no inputs as all the profits from charging an interest tax will go into the account. Only contract owners or specified wallet addresses can execute functions of this name. Each withdrawInterestTax function corresponds to a specific wallet address as profits would have been divided and stored before any claims are made.
    • \n\t\t\t\t
    • withdrawPrincipalTax0: There are no inputs as all the profits from charging a principal tax will go into the account. Only contract owners or specified wallet addresses can execute functions of this name. Each withdrawPrincipalTax function corresponds to a specific wallet address as profits would have been divided and stored before any claims are made.
    • \n\t\t\t\t
    • withdrawToken: Input the crypto amount that will be transferred to the owner. Only the owner of the contract is able to execute this function.
    • \t\n\t\t\t
    \n\n\t\t\t

    Smart Contract Actions (Mint Coin Edition)

    \n\t\t\t

    For contracts generated by us, there will be the word Coin_<Name of Coin> in the functions name to indicate that it is a function from your minting contract. This helps you to differentiate between contracts.

    \n\t\t\t
      \n\t\t\t\t
    • changeOwner: Input an address that will take over the ownership rights of the contract. Only the owner of the contract is able to execute this function and no changes can be made once executed.
    • \t\n\t\t\t\t
    • approve: There are two inputs: the spender address and the amount. This allows the spender to withdraw from the account of the person calling this function, multiple times, up to the input amount stated. Calling this function will overwrite the current amount with the new input amount. The function will then return a boolean to tell you if the change was successful. Do note that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this rare condition is to first reduce the spender's allowance to 0 and set the desired value afterwards. Alternatively, use the decreaseAllowance/increaseAllowance functions.
    • \t\n\t\t\t\t
    • decreaseAllowance: There are two inputs: the spender address and the amount to reduce by. This is similiar to the approve function, except without the risk as mentioned in the approve function.
    • \n\t\t\t\t
    • increaseAllowance: There are two inputs: the spender address and the amount to increase by. This is similiar to the approve function, except without the risk as mentioned in the approve function.
    • \n\t\t\t\t
    • burn: Input amount to burn.
    • \t\n\t\t\t\t
    • changeMintPhase: Input the mint phase number that you want to change to. Check the specification of your contract for the mint phases. Only the owner of the contract is able to execute this function.
    • \t\n\t\t\t\t
    • changeValueOf_merkleRoot1: Merkle Tree is how we ensure the whitelist is secure. This is the root hash of the Merkle Tree. Input the new root hash to update your whitelist. This function appears only if a whitelist is used for the mint phase.
    • \t\n\t\t\t\t
    • mint1: This is where the minting happens. The inputs would differ depending on the conditions set.
    • \n\t\t\t\t
    • ownerMint: Input amount that owner wants to receive. Only the owner of the contract is able to execute this function.
    • \t\n\t\t\t\t
    • pause: Pause sales of coin. Only the owner of the contract is able to execute this function.
    • \n\t\t\t\t
    • unpause: Continue sales of coin. Only the owner of the contract is able to execute this function.
    • \n\t\t\t\t
    • transfer: There are two inputs: the recipient address and the amount. This allows the transfer of tokens from the user who called this function to the recipient.
    • \n\t\t\t\t
    • transferFrom: There are three inputs: the sender address, the recipient address and the amount. This allows the transfer of tokens from the sender to the recipient. This function allows a third-party (who had authorisation by using the approve function) to send tokens to the recipient address.
    • \n\t\t\t\t
    • withdrawNativeCurrency: Input the crypto amount that will be transferred to the owner. Only the owner of the contract is able to execute this function.
    • \n\t\t\t
    \n\n\t\t\t

    Smart Contract Actions (Mint NFT Edition)

    \n\t\t\t

    For contracts generated by us, there will be the word Nft_<Name of NFT> in the functions name to indicate that it is a function from your minting contract. This helps you to differentiate between contracts.

    \n\t\t\t
      \n\t\t\t\t
    • changeOwner: Input an address that will take over the ownership rights of the contract. Only the owner of the contract is able to execute this function and no changes can be made once executed.
    • \t\n\t\t\t\t
    • approve: There are two inputs: the approved address and the token ID. The owner of an NFT (with that token ID) can give approval to another account (approved address), so that the approved account can transfer the approved NFT from the owner's account. This is if you want another address to spend your NFTs, or if you want to spend NFTs belonging to another owner.\n\t\t\t\t
    • \n\t\t\t\t
    • setApprovalForAll: Similiar to approve, except that it is granting an approved address (operator) permission to transfer all the NFTs from the owner's account.
    • \n\t\t\t\t
    • changeValueOf_reveal: Changing this value affects whether the public can see the pre-reveal images or the actual images.
    • \t\n\t\t\t\t
    • mint: This is where the minting happens. The inputs would differ depending on the conditions set. The function will check that the inputs satisfy all the conditions required. The set of conditions can be found if you click the Details button after choosing this function.
    • \n\t\t\t\t
    • ownerMint: Input amount that owner wants to receive. Only the owner of the contract is able to execute this function.
    • \t\n\t\t\t\t
    • pause: Pause sales of NFT. Only the owner of the contract is able to execute this function.
    • \n\t\t\t\t
    • unpause: Continue sales of NFT. Only the owner of the contract is able to execute this function.
    • \n\t\t\t\t
    • transferFrom: Usage of this function is discouraged, use safeTransferFrom instead. There are three inputs: the sender address, the recipient address and the token ID. This allows the transfer of NFTs from the sender to the recipient.
    • \n\t\t\t\t
    • safeTransferFrom: There are three inputs: the sender address, the recipient address and the token ID. This allows the transfer of NFTs from the sender to the recipient. The sender address must own the NFT with that token ID and be the one calling this function, or not own the NFT but have approval.
    • \n\t\t\t\t
    • withdrawNativeCurrency: Input the crypto amount that will be transferred to the owner. Only the owner of the contract is able to execute this function.
    • \n\t\t\t\t
    • totalSupply: Total number of NFTs already minted.
    • \n\n\t\t\t
    \n\n\t\t\t

    Smart Contract Actions (Lottery Edition)

    \n\t\t\t

    For contracts generated by us, there will be the word Lottery in the functions name to indicate that it is a function from your lottery contract. This helps you to differentiate between contracts.

    \n\t\t\t
      \n\t\t\t\t
    • deposit: Function to deposit the rewards. If you have multiple winners, ensure that the reward value is divisible by the lowest common denominator. For example, if you have 2 winners where the winnings are to be split 75-50, then you have to ensure that the deposited reward value is divisible by 5. This function appears only if you did not want to conduct lottery immediately after depositing rewards into contract.
    • \t\n\t\t\t\t
    • runLottery: Function to choose the winners. If you chose to conduct lottery immediately after depositing rewards into contract, then the input will be the token amount you want to deposit. Otherwise, there is no input. If you have multiple winners, ensure that the reward value is divisible by the lowest common denominator. For example, if you have 2 winners where the winnings are to be split 75-50, then you have to ensure that the deposited reward value is divisible by 5. It will also send prizes directly to winners if you choose to send prizes directly to winners.
    • \t\n\t\t\t\t
    • claimWinnings: Function for winners to claim their reward. This function appears only if you choose to not send prizes directly to winners.
    • \n\t\t\t
    \n\n\t\t\t

    Smart Contract Actions (Jackpot Edition)

    \n\t\t\t

    For contracts generated by us, there will be the word Jackpot in the functions name to indicate that it is a function from your jackpot contract. This helps you to differentiate between contracts.

    \n\t\t\t
      \n\t\t\t\t
    • changeOwner: Input an address that will take over the ownership rights of the contract. Only the owner of the contract is able to execute this function and no changes can be made once executed.
    • \t\n\t\t\t\t
    • changeValueOf_paused: Input true or false. Will prevent users from participating in the jackpot contract if value is true.
    • \t\n\t\t\t\t
    • changeValueOf_playerLimit: Input number. The jackpot will pick a winner for the existing loot once the player limit is reached. This can only be changed if the current jackpot has 0 tokens (ie 0 players) in it to ensure fairness.
    • \t\n\t\t\t\t
    • changeValueOf_taxRate: Input the new tax percentage. 1% corresponds to 10 000 in our contract. For example, if you want to change the tax percentage to 8%, please input 80000 into the function. Only the owner of the contract is able to execute this function. This can only be changed if the current jackpot has 0 tokens (ie 0 players) in it to ensure fairness.
    • \n\t\t\t\t
    • jackpotCoinPrice0SourceTaxWithdrawAmt: Withdraws the current tax profits from the contract to the person calling this function. Only the owner of the contract is able to execute this function.
    • \n\t\t\t\t
    • playJackpot: This is how users enter the jackpot. There will be an input for the native token if you choose to play in native token. There is no input for non-native tokens as it will transfer the fee amount stated from the user's wallet. Remember to add the approval or increaseAllowance function of the token contract before adding this action as users need to give permission to the jackpot smart contract to access their tokens.\n\t\t\t\t
    • \n\t\t\t
    \n\n\t\t\t\n\t\t\t
    \n\t\t\t\t
    Start Now
    \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \t \t\n );\n}}\n\nclass Dappbuilderexamples extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\n\tyoutubeRefer = () =>{\n\t\twindow.location.assign('https://www.youtube.com/watch?v=Id-xmhBcuMM');\n\t}\n\t\n\tyoutubeStaking= () =>{\n\t\twindow.location.assign('https://www.youtube.com/watch?v=-Oo83ND8XwQ&t=88s');\n\t}\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    DApp Builder: Examples of Actions

    \n\t\t\t

    In this section, we will be going through some scenarios so that you understand how to insert a multi-step function in our dApp Builder.

    \n\t\t\n\n\t\t\t

    I want to change value of another input field B which should show the amount of COIN1 a user will get when they input the amount of ETH in input field A.

    \n\t\t\t
      \n\t\t\t\t
    • Ensure both input fields have Decimal as the input type.
    • \n\t\t\t\t
    • Go to input field A. Click On Change -> Change value of input B.
    • \t\n\t\t\t\t
    • Select Use Formula Instead. Click on the value and a popup for formula will appear.
    • \t\n\t\t\t\t this.showModal(e)} src={example1} className=\"galleryImg row mx-auto\" alt = \"Cues DApp Example Exchange\" />\n\t\t\t\t
    • Multiply the current input field A with exchange1To2rate or the equivalent in your contract as above. As the contract uses unsigned integers, you have to convert it to a decimal.
    • \n\t\t\t\t
    • Remember to set your desired number of decimal places.
    • \n\t\t\t
    \n\n\t\t\t

    I want to display coin balance from user wallets when they are connected.

    \n\t\t\t
      \n\t\t\t\t
    • Click Rich Dynamic Text after creating a textbox.
    • \n\t\t\t\t
    • Under Label, click Use Formula Instead.
    • \t\n\t\t\t\t
    • Click on Combos under Options and choose Display Native Currency owned by Signed In User.
    • \t\n\t\t\t\t
    • Leave it as it is if you want to display the native currency that your coin is on.
    • \n\t\t\t\t
    • Otherwise, if you want to show your own coin, click on the line \"Unsigned Integer: Amount of native currency owned by address\". Go to Contract Functions and find [Coin Smart Contract Name].balanceOf.
    • \n\t\t\t
    \n\n\t\t\t

    I want to exchange from my coin (ABCoin) to native currency.

    \n\t\t\t
      \n\t\t\t\t
    • Create an input field that has input type Decimal. This will be where users will input their desired amount of ABCoin to swap.
    • \n\t\t\t\t
    • Create another button that users will click to confirm their intent.
    • \t\n\t\t\t\t
    • Go to On Click and find [Coin Smart Contract Name].increaseAllowance. This allows the contract address to transfer native currency from the user address to the contract address.
    • \t\n\t\t\t\t this.showModal(e)} src={example2} className=\"galleryImg row mx-auto\" alt = \"Cues DApp Example addedValue\" />\n\t\t\t\t
    • increaseAllowance has two inputs: Spender and addedValue. The spender will be the exchange contract address and the addedValue is the ABCoin amount the user keyed into the input field (see pic above).
    • \n\t\t\t\t this.showModal(e)} src={example3} className=\"galleryLargerImg row mx-auto\" alt = \"Cues DApp Example Trigger\" />\n\t\t\t\t
    • Click If Succeed. Under Trigger, choose Approval.
    • \n\t\t\t\t
    • For owner, click Use Formula Instead. It will automatically change to Current User, which is what we want.
    • \n\t\t\t\t
    • For spender, input the exchange contract address.
    • \n\t\t\t\t
    • In the last dropdown box, find your exchange contract function. For smart contracts created using our platform, it will be [Exchange Smart Contract Name].exchange1to2 or [Exchange Smart Contract Name].exchange2to1.
    • \n\t\t\t\t
    • For its input, it will be the ABCoin amount the user keyed into the input field.
    • \n\t\t\t\t\n\t\t\t
    \n\t\t\t

    The process will be the same for exchanging from native currency to ABCoin. Do note that the user's wallet will pop out twice to confirm the increase in allowance and to execute the exchange.

    \n\n\t\t\t

    I want to add referrals links.

    \n\t\t\t
      \n\t\t\t\t this.showModal(e)} src={example4} className=\"galleryImg row mx-auto\" alt = \"Cues DApp Example Referral Text\" />\n\t\t\t\t
    • Add rich text or a button to display the referral link. It should be in the format like above: https://www.cues.sg/dapps/{choiceOfDappName}/?{urlParameterText}={currentUserAddress}. The choiceOfDappName is the url you choose if you launch on our site. urlParameterText can be any character or text string. currentUserAddress is the user's wallet address so we know who to credit.
    • \n\t\t\t\t
    • Utilize the Copy Text To Clipboard function so that users can just click to copy the text.
    • \t\n\t\t\t\t
    • Add an input box. The input type should be text. This will be for users to key in the wallet address of the user who referred them. To make things easier for users, you may add Url Parameter(urlParameterText) to the default value of the input. This will auto fill the input box.
    • \t\n\t\t\t\t
    • Create a button and find [Smart Contract Name].addReferralAddress with the input coming from the input box. Users will then click on the button to confirm the wallet address of the user who referred them.
    • \n\t\t\t
    \n\t\t\t

    Refer to our youtube video here for a more in-depth explanation.

    \n\t\t\t\n\t\t\t

    I want to get the daily returns of each NFT in my staking contract.

    \n\t\t\t
      \n\t\t\t\t
    • Create a container or row depending on how you want to display the returns. Within the element, go to General Styles and choose Dynamic for Number of Instances. This helps to repeat the container or row for each of the NFT owned by current user.
    • \n\t\t\t\t this.showModal(e)} src={example5} className=\"galleryLargerImg row mx-auto\" alt = \"Cues DApp Example NFT Owned By User\" />\n\t\t\t\t
    • Follow the formula above to obtain the token IDs of the logged in user. If you require an in-depth explanation, watch this section of our video.
    • \t\n\t\t\t\t this.showModal(e)} src={example6} className=\"galleryLargerImg row mx-auto\" alt = \"Cues DApp Example NFT Owned By User\" />\n\t\t\t\t
    • Add a rich text within the element with the dynamic instance. Follow the formula above, where you use the [Staking Contract Name].consolidatedInterestRate with the value of the dynamic function as the input. This can be found under parental value as the container is the parent of the rich text. You will then get the number of coins per token, given as a reward for staking, per day.
    • \t\n\t\t\t
    \n\t\t\t

    I want to get the accumulated returns of each staked NFT.

    \n\t\t\t
      \n\t\t\t\t
    • Create a container or row depending on how you want to display the returns. Within the element, go to General Styles and choose Dynamic for Number of Instances. This helps to repeat the container or row for each of the NFT owned by current user.
    • \n\t\t\t\t this.showModal(e)} src={example7} className=\"galleryImg row mx-auto\" alt = \"Cues DApp Example Staked NFTs\" />\n\t\t\t\t
    • Follow the formula above to obtain the list of staked token IDs of the logged in user.
    • \t\n\t\t\t\t this.showModal(e)} src={example8} className=\"galleryLargerImg row mx-auto\" alt = \"Cues DApp Example NFT Owned By User\" />\n\t\t\t\t
    • Add a rich text within the element with the dynamic instance. Follow the formula above, where you use the [Staking Contract Name].interestEarnedUpToNowBeforeTaxesAndNotYetWithdrawn with the value of the dynamic function as the input. This can be found under parental value as the container is the parent of the rich text. You will then get the accumulated interest. Do note to cut by 18 so that it displays in the correct units.
    • \t\n\t\t\t
    \n\n\t\t\t

    I want a timer to show the remaining time until the reward stops for staking.

    \n\t\t\t
      \n\t\t\t\t
    • Create a container or row depending on how you want to display the returns. Within the element, go to General Styles and choose Dynamic for Number of Instances. This helps to repeat the container or row for each of the NFT owned by current user.
    • \n\t\t\t\t this.showModal(e)} src={example7} className=\"galleryImg row mx-auto\" alt = \"Cues DApp Example Staked NFTs\" />\n\t\t\t\t
    • Follow the formula above to obtain the list of staked token IDs of the logged in user.
    • \t\n\t\t\t\t this.showModal(e)} src={example9} className=\"galleryLargerImg row mx-auto\" alt = \"Cues DApp Example Timer Countdown of Staked NFT\" />\n\t\t\t\t
    • Add a timer within the element with the dynamic instance. Follow the formula above. The number of seconds here is the max period number of days multiplied by 24 (for days)*60(for hours)*60(for seconds). The stake time gives the date time when the token was staked. Hence, if you want the date time where the interest stops accumulating, you add the max period time to the date the user started staking from.
    • \t\n\t\t\t\t
    • Since we are counting down, choose yes for the option for time to reference. We also do not want to show a negative time, hence, choose yes for the option, stop at 0 for the timer.
    • \t\n\n\n\n\t\t\t
    \n\n\n\t\t\t\n\t\t\t
    \n\t\t\t\t
    Start Now
    \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \t \t\n );\n}}\n\nclass DeployDapp extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \n\t\t\t

    Deploying Your DApp

    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t

    Using CUES Auto-Deployment Service

    \n\t\t\t this.showModal(e)} src={deploy1} className=\"galleryImg\" alt = \"Cues DApp Auto Deployment Choose\" />\n\t\t\t

    1. Click the Launch button.

    \n\t\t\t this.showModal(e)} src={deploy2} className=\"galleryImg\" alt = \"Cues DApp Auto Deployment Choose Plan\" />\n\t\t\t

    2. Choose Plan: Choose the plan that best suits your needs. If you choose a plan that is 90 days and more, we offer the ability to customize your url link.

    \n\t\t\t this.showModal(e)} src={dappoverview6} className=\"galleryLargerImg\" alt = \"Cues Dapp Builder Launch Website\" />\n\t\t\t

    3. Launched: Your dApp is ready! Your URL link is randomized. Change your URL link (if your plan allows) and start advertising your dApp on your social media!

    \n\t\t\t\t\n\t\t\t

    Manual Deployment

    \n\t\t\t this.showModal(e)} src={deploy3} className=\"galleryImg\" alt = \"Cues DApp Manual Deployment Choose\" />\n\t\t\t

    1. Click the Get Code button.

    \n\t\t\t this.showModal(e)} src={deploy4} className=\"galleryLargerImg\" alt = \"Cues DApp Manual Deployment Instructions\" />\n\t\t\t

    2. Download or Copy Code: Code is written in React. React is one of the most popular JavaScript libraries. Instructions can be seen here as well as in the downloaded zip file.

    \n\t\t\t

    3. Installation: If you do not have Node.js, go to https://nodejs.org/en/ to download and install Node. This will also include Node Package Manager (NPM).

    \n\t\t\t

    4. Create dApp: Create your dApp by typing \"npx create-react-app [NameOfApp]\".

    \n\t\t\t

    5. Replace Files: Depending on the complexity of your dApp, our instructions include commands to install the packages your dApp needs. Replace the App.js and App.css files with the ones in the zip file and insert the lines in the file \"index.html\" into index.html.

    \n\t\t\t

    6. See dApp: Type \"npm start\" into your Terminal to see your dApp live on localhost.

    \n\t\t\t

    7. Production Build: Type \"npm run build\" to create a build directory with a production build of your dApp.

    \n\t\t\t

    8. Deployment: There are many ways to deploy your dApp. One way is to transfer the files in the build directory into your HTTP server through a FTP application like FileZilla.

    \n\t\t\t

    9. Launched: Your dApp is ready! Start advertising your dApp on your social media!

    \n\t\t\t\n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \t \t\n );\n}}\n\nclass Dappvideos extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \n\t\t\t

    Commonly Asked Questions (Videos)

    \n\t\t\t
    \n\t\t\t

    We are frequently asked these questions, so we decided to create videos and explain the steps so that we can help even more users.

    \n\t\t\t
    \n\t\t\t

    How Do I Display My Crypto Balances?

    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t

    How Do I Stake My Token?

    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t

    How Do I Add Referrals?

    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t

    How Do I Stake NFTs?

    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
    \t \t\n );\n}}\n\n \n\nexport {DappProcess, Dappbuilderfunctions, Dappbuilderactions, Dappbuilderexamples, DeployDapp, Dappvideos};\n","// App.js\nimport React, {Component} from 'react';\nimport logo from './title1.png';\n\nimport { Icon } from '@iconify/react';\nimport './css/guide.css';\nimport {PhotoZoom} from './modal.js';\n\nimport column1 from './img/guide/components/00column1.png';\n\n\n\nfunction clickDapp(){\n\twindow.location.assign(\"https://www.cues.sg/dapps\");\n}\n\nclass Types extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    Types

    \n\t\t\t

    You will encounter types when you define a variable, require the use of a function or if you want users to input something. It is important to make sure that you choose the correct type or convert your values to the correct type so that our DApp Builder will provide you the relevant actions or functions.

    \n\t\t\t

    Basic Types

    \n\t\t\t
      \n\t\t\t\t
    • Blockchain Address: Unique sequence of numbers and letters.
    • \n\t\t\t\t
    • Boolean: Only has two possible values: True or False.
    • \n\t\t\t\t
    • Date Time: Comprising of year, month, day and time. Date set here will be in local time.
    • \n\t\t\t\t
    • Decimal: Decimal includes both a whole and a fractional part (e.g. 3.14).
    • \n\t\t\t\t
    • Integer: Whole numbers that can either be positive or negative (e.g. -1 and 1).
    • \n\t\t\t\t
    • List: Sequence of multiple elements that is changeable.
    • \n\t\t\t\t
    • Positive Integer: Whole numbers that can only be positive, including 0.
    • \n\t\t\t\t
    • Test/String: Sequence of characters (e.g. AB#120)
    • \n\t\t\t\t
    • Unsigned Integer: Same as Positive Integer. You will encounter this quite often for smart contract variables.
    • \n\t\t\t
    \n\t\t\t

    Tips

    \n\t\t\t
      \n\t\t\t\t
    • Textboxes only take in text, so you would have to convert your variables by using functions like Decimal to Text or Integer to Text.
    • \n\t\t\t\t
    • Contract functions usually take in unsigned integers, so you would have to convert your inputs by using functions like Text to Unsigned Integer or Decimal to Unsigned Integer.
    • \n\t\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t\t
    Create DApp
    \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \t \t\n );\n}}\n\nclass Containers extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    Containers

    \n\t\t\t

    CUES uses the Bootstrap framework to create mobile-first dApps.

    \n\t\t\t

    Containers are the most basic layout element in Bootstrap. We have made it such that only containers can be directly added as the base to panels so that you can make full use of the Bootstrap grid system with its responsive breakpoints. We only allow rows to be added into containers.

    \n\t\t\t

    Under style, you will see there is an option for Styled Container.

    \n\t\t\t
      \n\t\t\t\t
    • Choosing Yes would set a max-width at each breakpoint. The breakpoints are the device screen sizes on the main tab.
    • \n\t\t\t\t
    • Choosing No would set the width as 100% at all breakpoints and the default styles for container will not be used.
    • \n\t\t\t
    \n\t\t\n\t\t\n\t\t\t

    Rows

    \n\t\t\t

    Rows are wrappers for columns. Each row should include a set of elements where the sum of their column widths add up to 12 or fewer. The column widths do not have to add up to exactly 12. If their column widths add up to more than 12, then those exceeding will wrap onto the next line.

    \n\t\t\t

    However, there are cases where this might not apply, especially for shorter rows. In a 12 column layout, one column will be 8.333% (100%/12) of the total width. The minimum width of a 12 column layout is then 360px due to default left and right padding of 15px per column. Remove this padding between your columns by choosing None for Spaces between Columns under Row Styles.

    \n\t\t\t

    Column Wrapping Example

    \n\t\t\t
      \n\t\t\t\t
    • You might want to have 6 textboxes with column widths of 5 for extra small devices, column widths of 3 for medium devices and column widths of 2 for extra large devices.
    • \n\t\t\t\t
    • For extra small devices, the overall sum of the column widths is 6*5=30 (>12), so they cannot all be on one line. Since every 2 textboxes add up to 10 (<12), but every 3 textboxes add up to 15(>12), then every 2 textboxes will get wrapped onto a new line as one unit, resulting in 3 lines overall.
    • \n\t\t\t\t
    • For medium devices, the overall sum of the column widths is 6*3=18 (>12), so they cannot all be on one line. Since every 4 textboxes add up to exactly 12, then every 4 textboxes will get wrapped onto a new line as one unit, resulting in 2 lines overall where the first line will have an overall column width of 12 and the second line will have 6.
    • \n\t\t\t\t
    • For extra large devices, the overall sum of the column widths is 6*2=12, so all the textboxes will be on one line.
    • \n\t\t\t
    \n\t\t\t

    Under style, you will see there is an option for Justify, which affects the horizontal alignment of the elements within the row.

    \n\t\t\t
      \n\t\t\t\t
    • If you want a button to be in the center of the row, select Center under Justify and set the column width to your desired length.
    • \n\t\t\t
    \n\t\t\n\t\t\t

    Columns

    \n\t\t\t

    All content goes in columns. In our dApp builder, we automatically incorporate each element into a column when you add them into a row. This is why you do not see column as a component choice under the Elements tab when you are working on a row.

    \n\t\t\t this.showModal(e)} src={column1} className=\"gallerySmallerImg row mx-auto\" alt = \"Cues DApp Builder Custom Values Screen Size\" />\n\t\t\t

    Under style, you will see that some options allow for custom values for each breakpoint if youa are working on a screen size that is larger than extra small devices. The custom value will take effect for screen widths greater than the screen size you chose. You may change the baseline values by selecting the Extra Small Device icon on the top bar.

    \n\t\t\n\t\t\t\n\t\t\t
    \n\t\t\t\t
    Create DApp
    \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \t \t\n );\n}}\n\nclass Navbar extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshow: false,\n\t\timg: false\n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\t\n return (\n\t\t
    \t \n\t\t\t

    Nav Bars

    \n\t\t\t

    This is the navigation header.

    \n\t\t\t

    Under style, you can customize the look of your Nav Bars. We will explain some of the options here.

    \n\t\t\t
      \n\t\t\t\t
    • Collapse items for narrow screens: Choosing Yes means that your elements will be hidden within a dropdown menu. The exception would be the leftmost element on the Nav Bar
    • \n\t\t\t\t
    • Cluster items into left/center/right: Choosing Yes provides you the ability to group your components and place them where you want them. The default would result in your components being spaced equally apart.
    • \n\t\t\t\t
    • Stick Bar to the top of the screen: Choosing Yes means that the Nav Bar will stay at the top of the page while scrolling.
    • \n\t\t\t
    \n\t\t\t\n\t\t\t

    There are 5 types of components that you can add into the Nav Bars.

    \n\t\t\t
      \n\t\t\t\t
    • Brand: This will be your company/project logo. You may add an On Click function, which would typically be the Change Page action so that users can click on the logo to go to the home page.
    • \n\t\t\t\t
    • Button:
    • \n\t\t\t
    \n\t\t\n\t\t\n\t\t\t

    Rows

    \n\t\t\t

    Rows are wrappers for columns. Each row should include a set of elements where the sum of their column widths add up to 12 or fewer. The column widths do not have to add up to exactly 12. If their column widths add up to more than 12, then those exceeding will wrap onto the next line.

    \n\t\t\t

    However, there are cases where this might not apply, especially for shorter rows. In a 12 column layout, one column will be 8.333% (100%/12) of the total width. The minimum width of a 12 column layout is then 360px due to default left and right padding of 15px per column. Remove this padding between your columns by choosing None for Spaces between Columns under Row Styles.

    \n\t\t\t

    Column Wrapping Example

    \n\t\t\t
      \n\t\t\t\t
    • You might want to have 6 textboxes with column widths of 5 for extra small devices, column widths of 3 for medium devices and column widths of 2 for extra large devices.
    • \n\t\t\t\t
    • For extra small devices, the overall sum of the column widths is 6*5=30 (>12), so they cannot all be on one line. Since every 2 textboxes add up to 10 (<12), but every 3 textboxes add up to 15(>12), then every 2 textboxes will get wrapped onto a new line as one unit, resulting in 3 lines overall.
    • \n\t\t\t\t
    • For medium devices, the overall sum of the column widths is 6*3=18 (>12), so they cannot all be on one line. Since every 4 textboxes add up to exactly 12, then every 4 textboxes will get wrapped onto a new line as one unit, resulting in 2 lines overall where the first line will have an overall column width of 12 and the second line will have 6.
    • \n\t\t\t\t
    • For extra large devices, the overall sum of the column widths is 6*2=12, so all the textboxes will be on one line.
    • \n\t\t\t
    \n\t\t\t

    Under style, you will see there is an option for Justify, which affects the horizontal alignment of the elements within the row.

    \n\t\t\t
      \n\t\t\t\t
    • If you want a button to be in the center of the row, select Center under Justify and set the column width to your desired length.
    • \n\t\t\t
    \n\t\t\n\t\t\t

    Columns

    \n\t\t\t

    All content goes in columns. In our dApp builder, we automatically incorporate each element into a column when you add them into a row. This is why you do not see column as a component choice under the Elements tab when you are working on a row.

    \n\t\t\t this.showModal(e)} src={column1} className=\"gallerySmallerImg row mx-auto\" alt = \"Cues DApp Builder Custom Values Screen Size\" />\n\t\t\t

    Under style, you will see that some options allow for custom values for each breakpoint if youa are working on a screen size that is larger than extra small devices. The custom value will take effect for screen widths greater than the screen size you chose. You may change the baseline values by selecting the Extra Small Device icon on the top bar.

    \n\t\t\n\t\t\t\n\t\t\t
    \n\t\t\t\t
    Create DApp
    \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t \n\t\t\t \n \t\t\t
    \n\t\t
    \t \t\n );\n}}\n\n\n\n\nexport {Containers, Types, Navbar};\n","// App.js\nimport React, {Component} from 'react';\nimport { Routes, Route, Link } from \"react-router-dom\";\nimport logo from './title1.png';\n\nimport { Icon } from '@iconify/react';\nimport './css/guide.css';\nimport {PhotoZoom} from './modal.js';\nimport {Basics, DeployContract, MintToken, MintNFT, ExchangeCoin, Staking, RewardNFT, Escrow, Voting, Ownership} from './guidesmartcontract.js';\nimport {Main, Payment, BlockchainOverview, SmartContractOverview, DAppOverview, Unfinished} from './guidebasics.js';\nimport {DappProcess, Dappbuilderfunctions, Dappbuilderactions, Dappbuilderexamples, DeployDapp, Dappvideos} from './guidedapp.js';\nimport {Containers, Types, Navbar} from './guidecomponents.js';\n\n\n\nclass Guide extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tmenu: false,\n\t\tshowtab:0\n };\n }\n\tcomponentWillMount() {\n\t if (this.props.tabnum) {\n\t\t\tthis.setState({ showtab: this.props.tabnum});\n\t\t} \n\t \n }\n\t\n\tcomponentWillReceiveProps(nextProps) {\n\t\tif (nextProps.tabnum !== this.state.showtab) {\n\t\t\tthis.setState({ showtab: nextProps.tabnum });\n\t\t}\n\t}\n\t\n\tcomponentDidChange() {\n\t\tconsole.log('eh')\n\t if (this.props.tabnum) {\n\t\t\tthis.setState({ showtab: this.props.tabnum});\n\t\t} \n\t \n }\n\t\n\ttoggleMenu= () => {\n\t\tthis.setState({ menu: !this.state.menu })\n\t }\n\tshowThisTab = (tabnum) => {\n\t var check = !isNaN(tabnum.target.id) && (function(x) { return (x | 0) === x; })(parseFloat(tabnum.target.id))\n\t if (check === true){\n\t\t this.setState({ showtab: parseInt(tabnum.target.id) });\n\t\t \n\t }\n\t \n };\n\t\n\trender(){\n\t\tfunction clickHome(){\n\t\t\twindow.location.assign(\"https://www.cues.sg/\");\n\t\t}\n\t\tconst show = (this.state.menu) ? \"active\" : \"\" ;\n\t\tvar showitems = [
    , , , , ,, , , , , , , , , , , , , , , ,, ];\n\t\t//\n\t\tvar showContent = showitems[this.state.showtab];\n\t\tvar smartContractList = [\"About Us\",\"Adding Credits\",\"What is Blockchain\", \"What is a Smart Contract\", \"What is a DApp\", \"Basic Form Notes\", \"How to Deploy Contract\",\"How to Mint a Coin\", \"How to Mint a NFT\", \"How to Create a Swap Contract\", \"How to Create a Staking Contract\", \"How to Reward NFT Holders\", \"How to Create an Escrow Contract\", \"How to Create a Voting Contract\", \"How to Split Ownership of NFT\", \"DApp Process\", \"DApp Builder-Functions Overview\", \"DApp Builder-How to Use Actions\", \"DApp Builder-Examples of Actions\", \"How to Deploy DApp\", \"Commonly Asked Questions (Videos)\",\"Types\", \"Containers and Rows\"];\n\t\t//\"Nav Bars and Footers\"\n\t\tvar main = [];\n\t\tvar learn = [];\n\t\tvar smartContract = [];\n\t\tvar dapp = [];\n\t\tvar dappcomponents = [];\n\t\t\n\t\tfor (var i = 0; i < smartContractList.length; i++) {\n\t\t\tlet style = \"\"\n\t\t\tif (i===this.state.showtab) {\n\t\t\t\tstyle = \"sidemenuListActive\"\n\t\t\t}\n\t\t\tvar linkname = '/guide/'+smartContractList[i].replace(/\\s+/g, '-').toLowerCase();\n\t\t\t\n\t\t\tif (i<2) {\n\t\t\t\tmain.push(
  • {smartContractList[i]}
  • )\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t} else if (i >= 2 && i<5) {\n\t\t\t\t\t//
  • this.showThisTab(e)} className = {style}>{smartContractList[i-1]}
  • \n\t\t\t\t\tlearn.push(
  • {smartContractList[i]}
  • )\n\n\t\t\t} else if (i >= 5 && i <= 14) {\n\t\t\t\tsmartContract.push(
  • {smartContractList[i]}
  • )\n\n\t\t\t} else if (i >= 15 && i <= 19) {\n\t\t\t\tdapp.push(
  • {smartContractList[i]}
  • )\n\t\t\t} else {\n\t\t\t\tdappcomponents.push(
  • {smartContractList[i]}
  • )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\tvar mainStyle = \"\"\n\t\tif (this.state.showtab === 0){\n\t\t\tmainStyle = \"sidemenuListActive\"\n\t\t}\n\n return (\n\t\t
    \n \t\n\n
    \n\n \n\t\t\t{showContent}\n\n \n
    \n
    \n\t\t\n\n\t\t\n\t\t\n\t \n\t\t\t\n );\n}}\n \n \n\nexport {Guide};\n","// App.js\nimport React, {Component} from 'react';\nimport { Routes, Route, Link } from \"react-router-dom\";\n\nimport { Icon } from '@iconify/react';\nimport './css/bootstrap.css';\nimport './css/product.css';\nimport Footer from './footer.js';\nimport {MainNavbar} from './navbar.js';\n\nimport cw1 from './img/template/2.png';\nimport cw2 from './img/template/3.png';\nimport cs1 from './img/template/4.png';\nimport sr1 from './img/template/5.png';\nimport cs2 from './img/template/7.png';\nimport nft1 from './img/template/8.png';\n\nimport cs3 from './img/template/9.jpeg';\nimport nft2 from './img/template/10.jpeg';\nimport cs4 from './img/template/11.jpeg';\nimport sr2 from './img/template/12.jpeg';\nimport sr3 from './img/template/13.jpeg';\nimport cs5 from './img/template/14.jpeg';\nimport nft3 from './img/template/15.jpeg';\nimport sr4 from './img/template/16.jpeg';\nimport sr5 from './img/template/17.png';\nimport defi1 from './img/template/18.png';\nimport sr6 from './img/template/19.png';\n\n\n\n\nfunction clickDapp(){\n\twindow.location.assign(\"https://www.cues.sg/test?\");\n}\n\nclass GalleryPics extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t};\n\t\t\n\t }\n\trender(){\n\t\tvar imagelist = []\n\t\tfor (var i = 0; i < this.props.images.length; i++) {\n\t\t\t//var pain = require({images[i]});\n\t\t\timagelist.push(
    \n\t\t\t\t\t\t \t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\"DApp\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    )}\n return (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t {imagelist}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\t\nclass NGallery extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshowtab:0\n \n };\n }\n\tshowThisTab = (tabnum) => {\n\t var check = !isNaN(tabnum.target.id) && (function(x) { return (x | 0) === x; })(parseFloat(tabnum.target.id))\n\t if (check === true){\n\t\t this.setState({ showtab: parseInt(tabnum.target.id) });\n\t\t \n\t }\n\t \n };\n\t\n\trender(){\n\t\tvar sliderstyle = \"sliderquarter slidertab0\";\n\t\tif (this.state.showtab ===0){\n\t\t\tvar itemshown = ;\t\t\n\t\t} else if (this.state.showtab ===1){\n\t\t\tsliderstyle = \"sliderquarter slidertab1\";\n\t\t\tvar itemshown = ;\t\t\n\t\t} else if (this.state.showtab ===2){\n\t\t\tsliderstyle = \"sliderquarter slidertab2\";\n\t\t\tvar itemshown = ;\t\t\n\t\t} else {\n\t\t\tsliderstyle = \"sliderquarter slidertab3\";\n\t\t\tvar itemshown = ;\t\t\n\t\t}\n\t\tvar tabmenu = [];\n\t\tvar tabitems = [\"Coming Soon\", \"Connect Wallet\", \"Staking Rewards\", \"NFTs\"]\n\t\tfor (var i = 0; i < tabitems.length; i++) {\n\t\t\tlet style = \"\"\n\t\t\tif (i===this.state.showtab) {\n\t\t\t\tstyle = \"pricingtabchosen\"\n\t\t\t}\n\t\t\ttabmenu.push(
  • this.showThisTab(e)} className = {style}>
  • \n\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t\n return (\n\t\t
    \n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t

    Choose your Template

    \n\t\t\t\t

    Get access to customizable webpage designs alongside seamless integration with your Smart Contract.

    \n\t\t\t
    \n\t\t\t

    \n\t\t\t
    \n\t\t\t
      \n\t\t\t\t{tabmenu}\n\t\t\t
    \n \n\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t {itemshown}\n\n\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\nclass Gallery extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshowtab:0\n \n };\n }\n\tshowThisTab = (tabnum) => {\n\t var check = !isNaN(tabnum.target.id) && (function(x) { return (x | 0) === x; })(parseFloat(tabnum.target.id))\n\t if (check === true){\n\t\t this.setState({ showtab: parseInt(tabnum.target.id) });\n\t\t \n\t }\n\t \n };\n\t\n\trender(){\n\t\t\n\t\t\n\n\n\t\t\n return (\n\t\t
    \n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t

    Choose your Template

    \n\t\t\t\t

    Get access to customizable webpage designs alongside seamless integration with your Smart Contract.

    \n\t\t\t
    \n\t\t\t\n\t\t\t

    \n\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"DeFi\n\t\t\t\t\t\t\t\t
    DeFi Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Staking\n\t\t\t\t\t\t\t\t
    Staking Rewards Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Coming\n\t\t\t\t\t\t\t\t
    Coming Soon Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"NFT\n\t\t\t\t\t\t\t\t
    NFT Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Staking\n\t\t\t\t\t\t\t\t
    Staking Rewards Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Coming\n\t\t\t\t\t\t\t\t
    Coming Soon Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"NFT\n\t\t\t\t\t\t\t\t
    NFT Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Coming\n\t\t\t\t\t\t\t\t
    Coming Soon Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Connect\n\t\t\t\t\t\t\t\t
    Connect Wallet Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Staking\n\t\t\t\t\t\t\t\t
    Staking Rewards Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Coming\n\t\t\t\t\t\t\t\t
    Coming Soon Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Staking\n\t\t\t\t\t\t\t\t
    Staking Rewards Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"NFT\n\t\t\t\t\t\t\t\t
    NFT Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Staking\n\t\t\t\t\t\t\t\t
    Staking Rewards Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Connect\n\t\t\t\t\t\t\t\t
    Connect Wallet Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Staking\n\t\t\t\t\t\t\t\t
    Staking Rewards Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\"Coming\n\t\t\t\t\t\t\t\t
    Coming Soon Template
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t \n\t\t
    \n\t\t\n\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\n\nexport {Gallery};\n","// App.js\nimport React, {Component} from 'react';\n\nimport './css/bootstrap.css';\nimport './css/product.css';\nimport Footer from './footer.js';\nimport {MainNavbar} from './navbar.js';\nimport {PhotoZoom} from './modal.js';\n\n\nimport user1 from './img/userdapps/user1.png';\nimport user2 from './img/userdapps/user2.png';\nimport user3 from './img/userdapps/user3.png';\n\n\nclass UserGallery extends Component {\n\tconstructor() {\n super();\n this.state = {\n\t\tshowtab:0,\n\t\tshow: false,\n\t\timg: false\n \n };\n }\n\tshowModal = (element) => {\n\t\tthis.setState({ img: element.target.src });\n\t\tthis.setState({ show: true });\n\t };\n\n\thideModal = () => {\n\t\tthis.setState({ show: false });\n\t };\n\n\tshowThisTab = (tabnum) => {\n\t var check = !isNaN(tabnum.target.id) && (function(x) { return (x | 0) === x; })(parseFloat(tabnum.target.id))\n\t if (check === true){\n\t\t this.setState({ showtab: parseInt(tabnum.target.id) });\n\t\t \n\t }\n\t \n };\n\t\n\trender(){\n\t\tconst show = (this.state.menu) ? \"show\" : \"\" ;\n\t\t\n\t\tvar detailist = [[user1, \"Staking DApp\"], [user2, \"Mobile Game DApp\"], [user3, \"NFT & Staking DApp\"]];\n\t\tvar usergallery = [];\n\t\tfor (var i = 0; i < detailist.length; i++) {\n\t\t\tusergallery.push(
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t \t\t\t
    \n\t\t\t\t\t\t\t \t\t\t\t this.showModal(e)} alt={detailist[i][1]}>\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    {detailist[i][1]}

    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t )\n\t\t}\n\t\t\n\t\t\n\n\n\t\t\n return (\n\t\t
    \n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t

    User Galllery

    \n\t\t\t\t

    Here are a few impressive dApps that have been developed by our users. Please feel free to click on them to see the full image.

    \n\t\t\t
    \n\t\t\t

    \n\t\t\t
    \n\t\t\t\t
    {usergallery}
    \n\t\t\t
    \n\t\t\t \n\t\t
    \n\t\t
    \n\t\t\t \n\t\t\t \n \t\t
    \n\t\t
    \n\t\t
    \n\t\t\n\t\t \t\n );\n}}\n\n\nexport {UserGallery};\n","// App.js\nimport React, {Component} from 'react';\nimport { Routes, Route, Link } from \"react-router-dom\";\nimport TagManager from 'react-gtm-module'\nimport { Icon } from '@iconify/react';\n\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport Home from './js/home.js';\n\n//import Templateone from './js/templateone.js';\n//import Templatetwo from './js/templatetwo.js';\n//import Templatethree from './js/templatethree.js';\n//import Dappform from './js/dappform.js';\n//import Smartcontractform from './js/smartcontractform.js';\nimport {DappProduct, SmartContractProduct} from './js/product.js';\nimport {Pricing} from './js/pricing.js';\nimport {Guide} from './js/guide.js';\nimport {Gallery} from './js/gallery.js';\nimport {UserGallery} from './js/usergallery.js';\n\n\n//import {Templateone} from './js/templates/templateone.js';\n//import {Templatetwo} from './js/templates/templatetwo.js';\n//import {Templatethree} from './js/templates/templatethree.js';\n//import {Templatefour} from './js/templates/templatefour.js';\n//import {Templatefive} from './js/templates/templatefive.js';\n//import {Templatesix} from './js/templates/templatesix.js';\n//import {Templateseven} from './js/templates/templateseven.js';\n//import {Templateeight} from './js/templates/templateeight.js';\n//import {Templatenine} from './js/templates/templatenine.js';\n//import {Templateten} from './js/templates/templateten.js';\n//import {Templateeleven} from './js/templates/templateeleven.js';\n//import {Templatetwelve} from './js/templates/templatetwelve.js';\n//import {ShortLearn, LongSmartContract, LongDapp,LongBlockchain} from './js/learn.js';\n//import Functionbuilder from './js/designcomponents/functionbuilder.js';\n\n//} />\n//\t } />\n//\t } />\n//\t } />\n//\t } />\n//\t } />\n//\t } />\n//\t } />\n//\t } />\n//\t } />\n//\t } />\n//\t } />\n//} />\n//\t } />\n//} />\n//} />\n//} />\n//} />\n//} />\n\nconst tagManagerArgs = {\n gtmId: 'GTM-NZ6JH66'\n}\nTagManager.initialize(tagManagerArgs)\n\nfunction App() {\n\tvar guideList = [\"About Us\",\"Adding Credits\",\"What is Blockchain\", \"What is a Smart Contract\", \"What is a DApp\", \"Basic Form Notes\", \"How to Deploy Contract\",\"How to Mint a Coin\", \"How to Mint a NFT\", \"How to Create a Swap Contract\", \"How to Create a Staking Contract\", \"How to Reward NFT Holders\", \"How to Create an Escrow Contract\", \"How to Create a Voting Contract\", \"How to Split Ownership of NFT\", \"DApp Process\", \"DApp Builder-Functions Overview\", \"DApp Builder-How to Use Actions\", \"DApp Builder-Examples of Actions\", \"How to Deploy DApp\", \"Commonly Asked Questions (Videos)\",\"Types\", \"Containers and Rows\"];\n\tvar guideroutelist = [];\n\tfor (var i = 0; i < guideList.length; i++) {\n\t\tvar linkname = 'guide/'+guideList[i].replace(/\\s+/g, '-').toLowerCase();\n\t\tguideroutelist.push(} />\n\t\t)\n\t}\n return (\n\t
    \n\t \n\t } />\n\t } />\n\t } />\n\t } />\n\t } />\n\t } />\n\t } />\n\t \n\t {guideroutelist}\n\t \n\t \n\t \n\t
    \n\t \n\t \n );\n}\n//\n//
    \n// \n// } />\n// \n//\t } />\n//\t } />\n// \n//
    \n\nexport default App;","import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport \"./index.css\";\nimport App from \"./App\";\n\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);"],"sourceRoot":""}