wind tunnels
Verified contract
Proxy
Active on
Ethereum with 1,333 txns
Unified storage
Map
Table
Raw
Constants and immutables
2
Slot
XX
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
-
variable spans 49 additional slots
-
variable spans 49 additional slots
-
variable spans 43 additional slots
-
variable spans 48 additional slots
-
variable spans 48 additional slots
-
variable spans 48 additional slots
-
variable spans 4 additional slots
7 additional
variables
Balances ($0.00)
No balances found for "wind tunnels"
Transactions
Txn hash | Method | Block | Age | From | To | Value (ETH) | Fee (ETH) |
---|---|---|---|---|---|---|---|
| 21067222 | a month ago | | | 0 | 0.00066911267 | |
| 20202366 | 5 months ago | | | 0 | 0.000048446070 | |
| 20202302 | 5 months ago | | | 0 | 0.000043972280 | |
| 20202301 | 5 months ago | | | 0 | 0.000043149110 | |
| 20202181 | 5 months ago | | | 0 | 0.000085058921 | |
| 20202142 | 5 months ago | | | 0 | 0.000043843100 | |
| 20202132 | 5 months ago | | | 0 | 0.000079993993 | |
| 20202060 | 5 months ago | | | 0 | 0.000079040100 | |
| 19749785 | 8 months ago | | | 0 | 0.00023904873 | |
| 19203457 | 10 months ago | | | 0 | 0.0012991981 |
ABI
ABI objects
Getter at block 21394578 proxiableUUID() view returns (bytes32) tokenInfo() view returns (string name, string symbol, string description, address fundsRecipent, uint256 maxSupply)
contractVersion() pure returns (string)
1.0.0
factory() view returns (address)
0x6f94f606a9ad1fddf75a73dc42d37a5991260bb0
getScript() view returns (string)
let graphicsBuffers=[],cyano=[44,46,75],creamSpore=[173,161,128],west=[173,161,128],rust=[185,71,30],kuramaOrange=[234,97,42],kuramaDark=[26,37,39],nightGardenGreen=[117,251,76],nigthGardenPink=[232,57,183],glitchPalmBlue=[44,98,209],glitchPalmOrange=[193,94,48],pastelRollerCoasterYellow=[226,216,133],pastelRollerCoasterBlue=[142,208,224],ube=[183,185,239],car=[213,111,49],sgSkin=[162,210,169],sgNip=[191,179,129],colorPalettes=[[cyano,creamSpore],[kuramaOrange,kuramaDark],[west,rust],[nightGardenGreen,nigthGardenPink],[glitchPalmBlue,glitchPalmOrange],[pastelRollerCoasterYellow,pastelRollerCoasterBlue],[ube,car],[sgSkin,sgNip]],colorPalette,backgroundColor,sporeColor,startTime=0,tempo,millisPerBeat,lastBeat=0,beat=0,subdivision=0,beatsPerMeasure,subdivisionsPerBeat,sounds=[],chromaticUp=[440,446.16,493.88,523.25,554.37,587.33,622.25,659.25,698.46,739.99,783.99],chromaticUpDown=[440,446.16,493.88,523.25,554.37,587.33,622.25,659.25,698.46,739.99,783.99,739.99,698.46,659.25,622.25,587.33,554.37,523.25,493.88,446.16],foamyWell=[987.76,784,739.98,784,987.76,784,739.98,739.98,784],bcEnd=[392,987.77,392,987.77,415.3,1046.5,415.3,1046.5,466.16,1174.66,466.16,1174.66,415.3,1046.5,415.3,1046.5],nappingSlap=[587.33,587.33,739.99,1046.5,1046.5,739.99,523.25,523.25,659.25,932.33,932.33,554.37,698.46,698.46],runesGlowing=[349.23,440,493.885,587.33,698.46,880,987.77,1318.51,1396.92,1760,1975.54,3135.96,2793.82,2349.32,1975.54,2349.32],manteca=[349.23,698.46,349.23,349.23,698.46,349.23,698.46,349.23,698.46,698.46,622.25,523.25,698.46,622.25,698.46,622.25,523.25,698.46,622.25,523.25,698.46,622.25,523.25,698.46,622.25,622.25,622.25,622.25],dewdew=[392,783.99,587.33,659.25,698.46,392,783.99,587.33,659.25,698.46,659.25,587.33,659.25],naps=[587.33,523.25,440,587.33,523.25,440,369.99,369.99,369.99,587.33,523.25,440,659.25,830.61,1174.66,622.25,783.99,1108.73],bc=[392,987.77,349.23,880,349.23,392,987.77,392,987.77,349.23,880,349.23,880,392,987.77,349.23,880,293.66,369.99,440,554.37,587.33,554.37],daynight=[329.63,493.88,830.61,493.88,369.99,554.37,880,415.3,622.25,987.77,622.25,440,659.25,1108.73],sequences=[chromaticUp,chromaticUpDown,foamyWell,bcEnd,nappingSlap,runesGlowing,manteca,dewdew,naps,bc,daynight],sequence,rotationAngle,colorFactor,colorFactors=[1,1,1,2,3,6,7,8,8,8,9,10,15,15,15,15,15,15,30,30,11,11,13,13,13];function setup(){document.body.style.TouchAction="none",getAudioContext().suspend(),"undefined"!=typeof tokenId?randomSeed(tokenId+885):(this.tokenId=floor(random(885,1885)),console.log("token id: "+this.tokenId),randomSeed(this.tokenId));var e=tokenId%sequences.length,e=(sequence=sequences[e],random([.3,.3,.8,1,1,1.1])),e=(rotationAngle=random(.1,e),tokenId%colorFactors.length),e=(colorFactor=colorFactors[e],rectMode(CENTER),createCanvas(windowWidth,windowHeight),colorPalette=random(colorPalettes),random([1,2,3,4])),r=(1==e?(backgroundColor=colorPalette[0],sporeColor=colorPalette[1]):2==e?(backgroundColor=colorPalette[1],sporeColor=colorPalette[0]):3==e?(backgroundColor=colorPalette[0],sporeColor=colorPalette[0]):4==e&&(backgroundColor=colorPalette[1],sporeColor=colorPalette[1]),getColors(666)),t=random(.55,.8);for(let o=0;o<13;o++){var s=createGraphics(2*windowWidth,2*windowHeight);s.background(backgroundColor[0],backgroundColor[1],backgroundColor[2]),s.noStroke(),s.translate(windowWidth,windowHeight);for(let e=0;e<500;e++){s.rotate(random(0,rotationAngle));var n=colorFactor*(o+e)%r.length;t<random()&&(s.fill(r[n][0],r[n][1],r[n][2],252),e<400?s.circle(100,e,100):(n=random(1.5,3),s.circle(100,e,100*n)))}graphicsBuffers[o]=s}noCursor(),imageMode(CENTER),image(graphicsBuffers[0],0,0),tempo=79,beatsPerMeasure=4,subdivisionsPerBeat=4,millisPerBeat=60/(tempo*subdivisionsPerBeat)*1e3;e=new sound("noise",490,"hi_hat"),e.setADSR(1e-4,.07,.001,.02),sounds[0]=e,sounds[0].drone(),e=new sound("square",49,"chunk");sounds[1]=e}let layerCounter=0,bufferCounter=0,drawCounter=0;function draw(){var e=(windowHeight-mouseY)/windowHeight,e=(currentSpeedSmooth=map(e,0,1,8,3),e=floor(currentSpeedSmooth),drawCounter>=e?(imageMode(CENTER),background(backgroundColor[0],backgroundColor[1],backgroundColor[2]),e=map(currentSpeedSmooth,3,8,1.75,.05),image(graphicsBuffers[bufferCounter],mouseX+windowWidth/22,mouseY+windowHeight/22,windowWidth*e,windowHeight*e),bufferCounter++,bufferCounter%=graphicsBuffers.length,drawCounter=0):drawCounter++,sounds[0].oscillator.pan(map(mouseX/windowWidth,0,1,-1,1)),sounds[0].setFilter(map(mouseY/windowHeight-1e-4,0,1,1e3,300)),floor(map(mouseY/windowHeight,1,0,30,192))),e=(e!=tempo&&(tempo=e,millisPerBeat=60/(tempo*subdivisionsPerBeat)*1e3),sounds[1].setFilter(map(mouseX/windowWidth,0,1,200,800)),millis());e-lastBeat>=millisPerBeat&&(sounds[1].next(),sounds[1].play(),lastBeat=e)}function getSpread(e){var o=[];return o[0]=40*(noise(e)-.5),o[1]=38*(noise(e+5)-.5),o[2]=255*noise(e+10),o}class sound{constructor(e,o,r){var t,s;this.envelope=new p5.Envelope,this.waveShape=e,this.bassDrum=!1,this.hiHat=!1,this.instrument=r,this.sequenceIndex=0,"hi_hat"==r?(this.oscillator=new p5.Noise,this.hiHat=!0,this.filter=new p5.LowPass,this.oscillator.disconnect(),this.oscillator.connect(this.filter),this.filter.res(10)):"chunk"==r&&(e=random(0,1),this.oscillator=new(e<.33?p5.SqrOsc:e<.66?p5.SawOsc:p5.TriOsc),this.chunk=!0,this.filter=new p5.LowPass,this.oscillator.disconnect(),this.oscillator.connect(this.filter),this.filter.res(18),r=random(1e-4,.003),e=random(.015,.04),t=random(.01,.2),s=random(.1,.4),this.envelope.setADSR(r,e,t,s),this.oscillator.amp(this.envelope),this.oscillator.freq(sequence[0]),this.sequenceIndex=1)}next(){this.oscillator.freq(sequence[this.sequenceIndex]),this.sequenceIndex==sequence.length-1?this.sequenceIndex=0:this.sequenceIndex++}setADSR(e,o,r,t){this.oscillator.start(),this.envelope.setADSR(e,o,r,t)}setFilter(e){this.filter.freq(e)}play(){this.oscillator.start(),this.envelope.play()}drone(){this.hiHat&&this.oscillator.amp(.1)}}function getColors(o){var r=[];for(let e=0;e<o;e++)r[e]=[sporeColor[0],sporeColor[1],sporeColor[2]],e%5==0&&(sporeColor[0]=sporeColor[0]+floor(random(-5,5)),sporeColor[1]=sporeColor[1]+floor(random(-5,5)),sporeColor[2]=sporeColor[2]+floor(random(-5,5)));return r}function mousePressed(){userStartAudio()}
name() view returns (string)
wind tunnels
o11y() view returns (address)
0xb572d9ee104f764b25d5f74776c523d8c593d22d
owner() view returns (address)
0x4774567d8e1f320bbb9765a1738c49f852855ac5
pendingOwner() view returns (address)
0x0000000000000000000000000000000000000000
saleInfo() view returns (uint16 artistProofCount, uint64 startTime, uint64 endTime, uint112 price)
(artistProofCount=20, startTime=1675130841, endTime=1675832341, price=15000000000000000)
symbol() view returns (string)
MYFI_WIND_TUNNELS
totalSupply() view returns (uint256)
1010
Read-only
allowedMinters(address) view returns (bool)
balanceOf(address owner) view returns (uint256)
constructInitalProps(string _script, string _previewBaseURI, address _rendererImpl, struct ITokenTokenInfo _tokenInfo, struct IFixedPriceTokenSaleInfo _saleInfo, struct IHTMLRendererFileType[] _imports) pure returns (bytes)
generateFullScript(uint256 tokenId) view returns (string)
generatePreviewURI(string tokenId) view returns (string)
genericDataURI(string _name, string _description, string _animationURL, string _image) pure returns (string)
getApproved(uint256 tokenId) view returns (address)
imports(uint256) view returns (string name, address fileSystem, uint8 fileType)
isApprovedForAll(address owner, address operator) view returns (bool)
ownerOf(uint256 tokenId) view returns (address)
supportsInterface(bytes4 interfaceId) view returns (bool)
tokenHTML(uint256 tokenId) view returns (string)
tokenIdToPreviousBlockHash(uint256) view returns (bytes32)
tokenURI(uint256 tokenId) view returns (string)
State-modifying
Events acceptOwnership()
addManyImports(struct IHTMLRendererFileType[] _imports)
approve(address to, uint256 tokenId)
initialize(address owner, bytes data)
purchase(uint256 amount) payable
renounceOwnership()
safeMint(address to)
safeTransferFrom(address from, address to, uint256 tokenId)
safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
setApprovalForAll(address operator, bool approved)
setFundsRecipent(address fundsRecipent)
setHTMLRenderer(address _htmlRenderer)
setImport(uint256 index, struct IHTMLRendererFileType _import)
setMinter(address user, bool isAllowed)
setPreviewBaseURL(string uri)
setScript(string script)
transferFrom(address from, address to, uint256 tokenId)
transferOwnership(address newOwner)
upgradeTo(address _newImpl)
upgradeToAndCall(address _newImpl, bytes _data) payable
withdraw() returns (bool)
Upgraded(address impl)
Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll(address indexed owner, address indexed operator, bool approved)
Initialized(uint8 version)
OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
Upgraded(address impl)
constructor(address logic, bytes data)
fallback()
receive()
DELEGATE_CALL_FAILED()
INVALID_TARGET()
INVALID_UPGRADE(address impl)
ONLY_UUPS()
UNSUPPORTED_UUID()
DELEGATE_CALL_FAILED()
FactoryMustInitilize()
FundsSendFailure()
INVALID_TARGET()
INVALID_UPGRADE(address impl)
InvalidCodeAtRange(uint256 _size, uint256 _start, uint256 _end)
InvalidPrice()
InvalidUpgrade(address impl)
MaxSupplyReached()
NotDeployed(address impl)
ONLY_CALL()
ONLY_DELEGATECALL()
ONLY_PROXY()
ONLY_UUPS()
ProofsMinted()
SaleNotActive()
SenderNotMinter()
SoldOut()
UNSUPPORTED_UUID()
WriteError()