0xc5e38233…9b18sent to0xa7d8d9ef…d270·#12,157,358·view on Etherscan
var hash,seeds,hashChunks,playing,sound;function resetSeeds(){(hashChunks=hash.match(/../g)).shift(),seeds=hashChunks.map(t=>parseInt(t,16))}function notRandom(){return seeds.length>0?seeds.pop()/256:0}function choose(t){return t[Math.floor(notRandom()*t.length)]}function init(){const t=document.getElementsByTagName("canvas")[0];let e=Math.min(document.body.clientWidth,document.body.clientHeight);t.style.position="fixed",t.style.top=0,t.style.left=0,t.style.imageRendering="pixelated",t.style.width=`${e}px`,t.style.height=`${e}px`,t.style.backgroundColor="#000";let a=generateParameters(hash=tokenData.hasOwnProperty("hash")?tokenData.hash:tokenData);drawToken(t,hash,a),getMetadata(hash)}function generateParameters(t){resetSeeds();let e=parseFloat(notRandom());console.log("hue",e);let a=choose(["bytes","bytes","bits","waveform","starry"]),s=choose(Array(8).fill("melodic").concat(Array(6).fill("heavy")).concat(Array(3).fill("wobbly")).concat(Array(3).fill("powerclimb")).concat(Array(3).fill("absurdities")).concat(Array(3).fill("permutations")).concat(Array(0).fill("crazy3"))),o=Math.ceil(12*notRandom()),r=Math.round(3951.07*Math.pow(2,(o+-6)/12));console.log(s);let i=bytebeatFamilyFunction(s)(),n=i.match(/\,c\=b\%(\d)/),c=n&&n.length>=2?parseInt(n[1]):0;return"powerclimb"==s&&(c="Infinity"),{hue:e,visual:a,family:s,bytebeat:new_bytebeat(i,r),sr:r,progressions:c,pitch_number:o}}function getMetadata(t){let e=generateParameters(t),a=parseInt(360*e.hue),s=a<36?"Fire":"";s=a>=36&&a<=63?"Goldenrod":s,s=a>=64&&a<=133?"Electric":s,s=73===a?"Emerald Dragon":s,s=a>=134&&a<=171?"Froggy":s,s=a>=172&&a<=181?"Turquoise":s,s=a>=182&&a<=191?"Sky":s,s=a>=192&&a<=211?"Cobalt":s,s=a>=212&&a<=255?"Royal":s,s=a>=256&&a<=281?"Regal":s,s=a>=282&&a<=323?"Neon":s,s=a>=324&&a<=333?"Sexbomb":s,s=a>333?"Lipstick":s,console.log("hue",a,"tint",s);let o=e.visual.capitalize(),r=e.family.capitalize().replace("_"," ");"Absurdities"==r?r="Inconsistent Absurdities":"Permutations"==r?r="Permutations":"Crazy3"==r?r="####":"Heavy"==r?r="Heavy Melodic":"Melodic"==r?r="Melodic":"Powerclimb"==r?r="Powerclimb":"Wobbly"==r&&(r="Wobbly");let i={tint:s,visual:o,family:r,sample_rate:e.sr,progressions:e.progressions,code:e.bytebeat.code};return console.table(i),i}window.addEventListener("load",init,!1),window.addEventListener("keydown",()=>{playpause()},!1),window.addEventListener("mousedown",()=>{playpause()},!1),String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)};class VizSquare{constructor(t,e,a,s,o,r,i){this.name=e,this.size=a,this.visual=o,this.params=i,this.canvas=t,this.canvas.id="canvas_"+e,this.canvas.width=a,this.canvas.height=a,this.ctx=this.canvas.getContext("2d"),this.f=r,"bytes"!=o&&"bits"!=o||(this.imageData=this.ctx.createImageData(this.size,this.size),this.buffer=new ArrayBuffer(this.imageData.data.length),this.byteArray=new Uint8ClampedArray(this.buffer),this.intArray=new Uint32Array(this.buffer)),this.slow_factor=s,this.last_draw_t=-1}draw(t){var e=Math.floor(t/this.size/this.slow_factor)*this.size*this.slow_factor,a=e-this.last_draw_t;0!=a&&(this.last_draw_t=e,"bytes"==this.visual?draw_bytes(this.ctx,this.imageData,this.byteArray,this.intArray,this.f,this.size,this.size,e,a,this.params.r,this.params.g,this.params.b):"bits"==this.visual?draw_bits(this.ctx,this.imageData,this.byteArray,this.intArray,this.f,this.size,this.size,e,this.params.r,this.params.g,this.params.b):"waveform"==this.visual?draw_waveform(this.ctx,this.f,this.size,this.size,e,this.params.thickness,this.params.color):"starry"==this.visual&&draw_starry(this.ctx,this.f,this.size,this.size,e,this.params.ppc,this.params.thickness,this.params.color))}}function playpause(){if(playing)return console.log("STOP PLAYING"),void(playing=!1);sound&&sound.resume(),playing=!0,console.log("START PLAYING")}function make_sample_function(t){try{return new Function('"use strict"; return function(t){ var a=0,b=0,c=0,d=0,e=0; return '+t+";};")()}catch(t){return void console.error("FAILED FUNCTION")}}function drawToken(t,e,a){var s;playing=!1,window.playpause=playpause;(sound=new(window.AudioContext||window.webkitAudioContext)({sampleRate:44100})).createBuffer(1,1024,sound.sampleRate);var o=sound.createBufferSource(),r=sound.createScriptProcessor(1024,1,1),n=sound.createGain();n.gain.setValueAtTime(.25,sound.currentTime),o.connect(r),r.connect(n),n.connect(sound.destination),o.loop=!0;var c=0,h=0;r.onaudioprocess=function(t){var e=t.outputBuffer.getChannelData(0),a=-1,o=0;l.draw(h);for(var r=0;r<e.length;r++){var i=Math.floor(s.sr*c/sound.sampleRate);h=i,playing?(a!=i&&(o=s.f(i),o=((o&=255)-128)/256),e[r]=o,a=i,c++):e[r]=0}},s=a.bytebeat,console.log(s,s.f(0));let l=null,u=Math.min(document.body.clientWidth,document.body.clientHeight);t.width=u,t.height=u;(l=function(){var e=a.visual,o=a.hue;if("bytes"==e){var r=choose([64,128,256]),i=choose([1]),n=hsvToRgb(o,1,1);return new VizSquare(t,"_",r,i,e,s.f,{r:n[0],g:n[1],b:n[2],reflect:!1})}if("bits"==e)return r=choose([64,128]),i=choose([1]),n=hsvToRgb(o,1,1),new VizSquare(t,"_",r,i,e,s.f,{r:n[0],g:n[1],b:n[2]});if("waveform"==e){r=choose([128,256]);var c=choose([1,2]);return i=choose([1]),n=hsvToRgb(o,1,1),new VizSquare(t,"_",r,i,e,s.f,{thickness:c,color:"rgb("+n[0]+","+n[1]+","+n[2]+")"})}if("starry"==e){r=choose([128]),c=choose([1,2]);var h=choose([2,4]);return i=choose([1]),n=hsvToRgb(o,1,1),new VizSquare(t,"_",r,i,e,s.f,{thickness:c,ppc:h,color:"rgb("+n[0]+","+n[1]+","+n[2]+")"})}}()).draw(h);let b=0,d=0;for(i=0;i<1e5;i+=1e3){l.draw(i);let t=getDensity(l.canvas);t>b&&(b=t,d=i)}l.draw(d),console.log(`FINAL DENSITY: ${getDensity(l.canvas)} at ${d}`)}function getDensity(t){let e=t.getContext("2d"),a=t.width;return e.getImageData(0,0,a,a).data.reduce((t,e)=>e+t,0)/Math.pow(a,2)}function bytebeatFamilyFunction(t){switch(t){case"melodic":return make_melodic;case"heavy":return make_heavy;case"absurdities":return make_absurdities;case"permutations":return make_permutations;case"crazy3":return make_crazy3;case"wobbly":return make_wobbly;case"powerclimb":return make_powerclimb}}function make_melodic(){let t=choose([4,5,6,7,8,9]),e=choose([18,18,18,17,17,17,15,14]),a=choose(["c=b%2+1","c=b%3+1","c=b%3+1","c=b%4+1","c=b%5+1","c=b%6+1","c=b%24+1"]),s=choose([7,6,5,4]),o=choose([4,3,3,3,3,3,2]),r=choose(["(t*(a/2)/c&t>>10)|(t*a/c&t>>9)","(t*(a/2)/c&t>>10)|(t*a/c&t>>9)"]),i=choose(["|(t*(a*4/c)&t>>8)|(t*(a*5/c)&t>>"+s+")|(t*(a*6/c)&t>>"+o+")","|(t*(a*4/c)&t>>8)|(t*(a*5/c)&t>>"+s+")|(t*(a*6/c)&t>>"+o+")","|(t*(a*2/c)&t>>8)|(t*(a*3/c)&t>>"+s+")|(t*(a*4/c)&t>>"+o+")","|(t*(a*5/c)&t>>8)|(t*(a*6/c)&t>>"+s+")|(t*(a*7/c)&t>>"+o+")"]);return bb="a="+t+",",bb+="b=((t>>"+e+")&0xFF),",bb+=a+",",bb+=r,bb+=i,bb}function make_absurdities(){let t=choose([5,6,7,8,9,10,11,12,13]),e=choose([5,6,7,8,9,10,11,12,13]),a=choose([5,6,7,8,9,10,11,12,13]),s=choose([5,6,7,8,9,10,11,12,13]);return"t*(0x"+choose([69,9,4,5,6])+"+(0xABCDEF&t>>10))*(("+t+"&t>>"+e+")|("+e+"&t>>"+a+")|("+a+"&t>>"+s+")|("+s+"&t>>"+t+"))"}function make_permutations(){return"a=0.5,b="+choose([1,2])+",c="+choose([1,2,10,20,40,50])+",(t/a*((-c*(t/a|t/a*b>>5)/4)>>7))"}function make_crazy3(){return"a="+choose([1,2,3,4,5,6,7,8,12,24])+",b=a/"+choose([1,2,3])+",t=t*a,c=(-(t>>b|t>>10)>>4)/4,t*("+choose(["(c/8<<8)|(c/4<<4)|(c/2<<3)","(c/6<<8)|(c/5<<7)|(c/4<<4)"])+")"}function make_powerclimb(){return"a=0xFF,b="+choose([1.6,1.7,1.8])+",c="+choose([.05,.08,.1,.15,.18,.2])+",((1*(pow(t,b+c*0))>>14)&a)^((1*(pow(t,b+c*1))>>14)&a)^((1*(pow(t,b+c*2))>>14)&a)^((1*(pow(t,b+c*3))>>14)&a*"+choose([0,1])+")"}function make_heavy(){let t=choose([17,17,16,16,15,14]),e=choose(["c=b%2+1","c=b%3+1","c=b%3+2","c=b%3+3","c=b%3+4","c=b%4+1","c=b%6+1"]),a=choose([1,2,3,4,5,6,7,8,9,11]),s=choose([1,2,3]);return"b=((t>>("+t+"))&0xFF),"+e+",((t>>7)|(t>>"+choose([8,9])+")|(t*"+a+"))*(t/c<<"+s+")"}function make_wobbly(){return"a="+choose([2,3,4,5])+",f="+choose([1,8,16,32,42,64,69,99])+",b=(((t>>14)&0xFE)+1+f)%0xFE,d=1/4,((t*a*b*(t*a>>(t*a*d>>10)%16)))"}function new_bytebeat(t,e){let a=t;return t=replace_all(t,"pow","Math.pow"),t=replace_all(t,"sqrt","Math.sqrt"),f=make_sample_function(t),{f:f,sr:e,code:t,original_code:a}}function draw_bytes(t,e,a,s,o,r,i,n,c,h,l,u){for(var b=0;b<s.length;b++){var d=samplePos2graph(b,r,i);if(b<c&&c<s.length)s[d]=s[samplePos2graph(b+c,i)];else{let t=255&o(b+n);brightness=2*Math.abs(t-128),s[d]=brightness<<24|u<<16|l<<8|h}}e.data.set(a),t.putImageData(e,0,0)}function draw_bits(t,e,a,s,o,r,i,n,c,h,l){for(var u=0;u<r;u++){let t=255&o(u+n);for(var b=0;b<i;b++){let e=255*((t>>Math.floor(b/i*8))%2);e=Math.floor(e),s[b+u*i]=e<<24|l<<16|h<<8|c}}e.data.set(a),t.putImageData(e,0,0)}function draw_waveform(t,e,a,s,o,r,i){t.clearRect(0,0,a,s),t.beginPath();for(var n=0;n<a;n++){let a=255&e(n+o);0==n?t.moveTo(n,a):t.lineTo(n,a)}t.lineWidth=r,t.strokeStyle=i,t.stroke()}function draw_starry(t,e,a,s,o,r,i,n){t.clearRect(0,0,a,s),t.beginPath();for(var c=0;c<a;c++)for(var h=0;h<r;h++){let a=255&e(c*r+h+o);0==c?t.moveTo(c,a):(t.moveTo(c,a),t.fillRect(c,a,i,i))}t.strokeStyle=n,t.fillStyle=n,t.stroke()}function replace_all(t,e,a){return t.split(e).join(a)}function hsvToRgb(t,e,a){var s,o,r,i=Math.floor(6*t),n=6*t-i,c=a*(1-e),h=a*(1-n*e),l=a*(1-(1-n)*e);switch(i%6){case 0:s=a,o=l,r=c;break;case 1:s=h,o=a,r=c;break;case 2:s=c,o=a,r=l;break;case 3:s=c,o=h,r=a;break;case 4:s=l,o=c,r=a;break;case 5:s=a,o=c,r=h}return[255*s,255*o,255*r]}function samplePos2graph(t,e,a){return e*(t%a)+Math.floor(t/a)}function graphPos2sample(t,e){return t.x*e+t.y}