@everyprotocol/every-cli 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/abis/ISet.json CHANGED
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"descriptor","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"elements","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"elems","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"owner_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"revision","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"rev","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"snapshot","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"elems","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"sota","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"owner_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"touch","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"transfer","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgrade","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"kindRev0","type":"uint32","internalType":"uint32"},{"name":"setRev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"uri","inputs":[],"outputs":[{"name":"uri_","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"event","name":"Created","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"elems","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Destroyed","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false},{"type":"event","name":"Touched","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false},{"type":"event","name":"Transferred","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Updated","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"elems","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"descriptor(uint64,uint32)":"46fe3415","elements(uint64,uint32)":"f174a533","owner(uint64)":"4d1f8c31","revision(uint64,uint32)":"626ab632","snapshot(uint64,uint32)":"747b8fb1","sota(uint64)":"2f39789e","supportsInterface(bytes4)":"01ffc9a7","touch(uint64)":"0ad0bd6f","transfer(uint64,address)":"7ef09476","upgrade(uint64,uint32,uint32)":"55837438","uri()":"eac989f8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Created\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"name\":\"Destroyed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"name\":\"Touched\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Transferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"}],\"name\":\"Updated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"descriptor\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"elements\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"revision\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"snapshot\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"},{\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"sota\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"touch\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"kindRev0\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev0\",\"type\":\"uint32\"}],\"name\":\"upgrade\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"uri_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Created(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32[],address)\":{\"params\":{\"elems\":\"Elements of the object\",\"id\":\"Object ID\",\"od\":\"Object descriptor\",\"owner\":\"Initial owner\"}},\"Destroyed(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"id\":\"Object ID\",\"od\":\"Descriptor before destruction\"}},\"Touched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"id\":\"Object ID\",\"od\":\"Latest descriptor\"}},\"Transferred(uint64,address,address)\":{\"params\":{\"from\":\"Previous owner\",\"id\":\"Object ID\",\"to\":\"New owner\"}},\"Updated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32[])\":{\"params\":{\"elems\":\"Updated elements\",\"id\":\"Object ID\",\"od\":\"Updated descriptor\"}},\"Upgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"id\":\"Object ID\",\"od\":\"Descriptor after upgrade\"}}},\"kind\":\"dev\",\"methods\":{\"descriptor(uint64,uint32)\":{\"params\":{\"id\":\"Object ID\",\"rev0\":\"Revision number (0 = latest)\"},\"returns\":{\"od\":\"Descriptor at that revision\"}},\"elements(uint64,uint32)\":{\"params\":{\"id\":\"Object ID\",\"rev0\":\"Revision number (0 = latest)\"},\"returns\":{\"elems\":\"Elements array at that revision\"}},\"owner(uint64)\":{\"params\":{\"id\":\"Object ID\"},\"returns\":{\"owner_\":\"Current owner address\"}},\"revision(uint64,uint32)\":{\"params\":{\"id\":\"Object ID\",\"rev0\":\"Revision to check (0 = latest)\"},\"returns\":{\"rev\":\"Valid revision (0 if invalid)\"}},\"snapshot(uint64,uint32)\":{\"params\":{\"id\":\"Object ID\",\"rev0\":\"Revision number to query (0 = latest)\"},\"returns\":{\"elems\":\"Elements at the specified revision\",\"od\":\"Descriptor at the specified revision\"}},\"sota(uint64)\":{\"params\":{\"id\":\"Object ID\"},\"returns\":{\"od\":\"Descriptor at the specified revision\",\"owner_\":\"Current owner (not historical)\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"touch(uint64)\":{\"params\":{\"id\":\"Object ID\"},\"returns\":{\"od\":\"Descriptor after touch\"}},\"transfer(uint64,address)\":{\"params\":{\"id\":\"Object ID\",\"to\":\"Address of the new owner\"}},\"upgrade(uint64,uint32,uint32)\":{\"params\":{\"id\":\"Object ID\",\"kindRev0\":\"New kind revision (0 = no change)\",\"setRev0\":\"New set revision (0 = no change)\"},\"returns\":{\"od\":\"Descriptor after upgrade\"}},\"uri()\":{\"details\":\"Client should replace `{id}` and `{rev}` placeholders\",\"returns\":{\"uri_\":\"URI template string\"}}},\"title\":\"ISet\",\"version\":1},\"userdoc\":{\"events\":{\"Created(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32[],address)\":{\"notice\":\"Emitted when a new object is created\"},\"Destroyed(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when an object is destroyed\"},\"Touched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when an object is touched (bumped without content change)\"},\"Transferred(uint64,address,address)\":{\"notice\":\"Emitted when ownership is transferred\"},\"Updated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32[])\":{\"notice\":\"Emitted when an object is updated\"},\"Upgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when an object is upgraded\"}},\"kind\":\"user\",\"methods\":{\"descriptor(uint64,uint32)\":{\"notice\":\"Get descriptor at a specific revision\"},\"elements(uint64,uint32)\":{\"notice\":\"Get elements at a specific revision\"},\"owner(uint64)\":{\"notice\":\"Get current owner of an object\"},\"revision(uint64,uint32)\":{\"notice\":\"Resolve and validate a revision number\"},\"snapshot(uint64,uint32)\":{\"notice\":\"Get descriptor and elements at a specific revision\"},\"sota(uint64)\":{\"notice\":\"Get the latest descriptor and current owner\"},\"touch(uint64)\":{\"notice\":\"Touch an object to increment revision without content change\"},\"transfer(uint64,address)\":{\"notice\":\"Transfer ownership of an object\"},\"upgrade(uint64,uint32,uint32)\":{\"notice\":\"Upgrade an object to a new kind or set revision\"},\"uri()\":{\"notice\":\"Get URI template for metadata\"}},\"notice\":\"Minimal interface for set contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/user/ISet.sol\":\"ISet\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@create3-factory/=lib/create3-factory/src/\",\":@everyprotocol/core/=contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":@solmate/=lib/solmate/src/\",\":create3-factory/=lib/create3-factory/\",\":ds-test/=lib/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"contracts/interfaces/user/ISet.sol\":{\"keccak256\":\"0xe465548515b146f8ebf38a3209ad33bb4dfb9d84337925cf49ec320316c8216f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://30a88ff437bf1d6f397b2602441763d142077280187d3c4cb349a973598a96f5\",\"dweb:/ipfs/QmSJp2dhvu32hMreXTGrxc1t4XM665Sr7Z33VicbhEzxi8\"]},\"contracts/types/Descriptor.sol\":{\"keccak256\":\"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1\",\"dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"bytes32[]","name":"elems","type":"bytes32[]","indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"Created","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"Destroyed","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"Touched","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"to","type":"address","indexed":false}],"type":"event","name":"Transferred","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"bytes32[]","name":"elems","type":"bytes32[]","indexed":false}],"type":"event","name":"Updated","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"descriptor","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"elements","outputs":[{"internalType":"bytes32[]","name":"elems","type":"bytes32[]"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"owner_","type":"address"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"revision","outputs":[{"internalType":"uint32","name":"rev","type":"uint32"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"snapshot","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]},{"internalType":"bytes32[]","name":"elems","type":"bytes32[]"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"sota","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]},{"internalType":"address","name":"owner_","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"touch","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"address","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transfer"},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"kindRev0","type":"uint32"},{"internalType":"uint32","name":"setRev0","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"upgrade","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"uri","outputs":[{"internalType":"string","name":"uri_","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"descriptor(uint64,uint32)":{"params":{"id":"Object ID","rev0":"Revision number (0 = latest)"},"returns":{"od":"Descriptor at that revision"}},"elements(uint64,uint32)":{"params":{"id":"Object ID","rev0":"Revision number (0 = latest)"},"returns":{"elems":"Elements array at that revision"}},"owner(uint64)":{"params":{"id":"Object ID"},"returns":{"owner_":"Current owner address"}},"revision(uint64,uint32)":{"params":{"id":"Object ID","rev0":"Revision to check (0 = latest)"},"returns":{"rev":"Valid revision (0 if invalid)"}},"snapshot(uint64,uint32)":{"params":{"id":"Object ID","rev0":"Revision number to query (0 = latest)"},"returns":{"elems":"Elements at the specified revision","od":"Descriptor at the specified revision"}},"sota(uint64)":{"params":{"id":"Object ID"},"returns":{"od":"Descriptor at the specified revision","owner_":"Current owner (not historical)"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"touch(uint64)":{"params":{"id":"Object ID"},"returns":{"od":"Descriptor after touch"}},"transfer(uint64,address)":{"params":{"id":"Object ID","to":"Address of the new owner"}},"upgrade(uint64,uint32,uint32)":{"params":{"id":"Object ID","kindRev0":"New kind revision (0 = no change)","setRev0":"New set revision (0 = no change)"},"returns":{"od":"Descriptor after upgrade"}},"uri()":{"details":"Client should replace `{id}` and `{rev}` placeholders","returns":{"uri_":"URI template string"}}},"version":1},"userdoc":{"kind":"user","methods":{"descriptor(uint64,uint32)":{"notice":"Get descriptor at a specific revision"},"elements(uint64,uint32)":{"notice":"Get elements at a specific revision"},"owner(uint64)":{"notice":"Get current owner of an object"},"revision(uint64,uint32)":{"notice":"Resolve and validate a revision number"},"snapshot(uint64,uint32)":{"notice":"Get descriptor and elements at a specific revision"},"sota(uint64)":{"notice":"Get the latest descriptor and current owner"},"touch(uint64)":{"notice":"Touch an object to increment revision without content change"},"transfer(uint64,address)":{"notice":"Transfer ownership of an object"},"upgrade(uint64,uint32,uint32)":{"notice":"Upgrade an object to a new kind or set revision"},"uri()":{"notice":"Get URI template for metadata"}},"version":1}},"settings":{"remappings":["@create3-factory/=lib/create3-factory/src/","@everyprotocol/core/=contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","@solmate/=lib/solmate/src/","create3-factory/=lib/create3-factory/","ds-test/=lib/solmate/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/user/ISet.sol":"ISet"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/interfaces/user/ISet.sol":{"keccak256":"0xe465548515b146f8ebf38a3209ad33bb4dfb9d84337925cf49ec320316c8216f","urls":["bzz-raw://30a88ff437bf1d6f397b2602441763d142077280187d3c4cb349a973598a96f5","dweb:/ipfs/QmSJp2dhvu32hMreXTGrxc1t4XM665Sr7Z33VicbhEzxi8"],"license":"BUSL-1.1"},"contracts/types/Descriptor.sol":{"keccak256":"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4","urls":["bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1","dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT"],"license":"BUSL-1.1"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"}},"version":1},"id":40}
1
+ {"abi":[{"type":"function","name":"create","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"id0","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"descriptor","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"owner_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"snapshot","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"elems","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"touch","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"transfer","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"update","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"upgrade","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"kindRev0","type":"uint32","internalType":"uint32"},{"name":"setRev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"od","type":"tuple","internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"uri","inputs":[],"outputs":[{"name":"uri_","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"event","name":"Created","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"elems","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Destroyed","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false},{"type":"event","name":"Touched","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false},{"type":"event","name":"Transferred","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Updated","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]},{"name":"elems","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"od","type":"tuple","indexed":false,"internalType":"struct Descriptor","components":[{"name":"traits","type":"uint32","internalType":"uint32"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"},{"name":"kindId","type":"uint64","internalType":"uint64"},{"name":"setId","type":"uint64","internalType":"uint64"}]}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"create(address,uint64,bytes)":"064d4d3e","descriptor(uint64,uint32)":"46fe3415","owner(uint64)":"4d1f8c31","snapshot(uint64,uint32)":"747b8fb1","supportsInterface(bytes4)":"01ffc9a7","touch(uint64)":"0ad0bd6f","transfer(uint64,address)":"7ef09476","update(uint64,bytes)":"7036f3f2","upgrade(uint64,uint32,uint32)":"55837438","uri()":"eac989f8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Created\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"name\":\"Destroyed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"name\":\"Touched\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Transferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"}],\"name\":\"Updated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id0\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"descriptor\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"snapshot\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"},{\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"touch\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"update\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"kindRev0\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev0\",\"type\":\"uint32\"}],\"name\":\"upgrade\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"traits\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kindId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"setId\",\"type\":\"uint64\"}],\"internalType\":\"struct Descriptor\",\"name\":\"od\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"uri_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Created(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32[],address)\":{\"params\":{\"elems\":\"Elements of the object\",\"id\":\"Object ID\",\"od\":\"Object descriptor\",\"owner\":\"Initial owner\"}},\"Destroyed(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"id\":\"Object ID\",\"od\":\"Descriptor before destruction\"}},\"Touched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"id\":\"Object ID\",\"od\":\"Latest descriptor\"}},\"Transferred(uint64,address,address)\":{\"params\":{\"from\":\"Previous owner\",\"id\":\"Object ID\",\"to\":\"New owner\"}},\"Updated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32[])\":{\"params\":{\"elems\":\"Updated elements\",\"id\":\"Object ID\",\"od\":\"Updated descriptor\"}},\"Upgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"id\":\"Object ID\",\"od\":\"Descriptor after upgrade\"}}},\"kind\":\"dev\",\"methods\":{\"create(address,uint64,bytes)\":{\"params\":{\"data\":\"Encoded creation parameters\",\"id0\":\"Requested object ID (0 = auto-assign)\",\"to\":\"Initial owner of the object\"},\"returns\":{\"id\":\"Final resolved object ID\",\"od\":\"Descriptor of the newly created object\"}},\"descriptor(uint64,uint32)\":{\"params\":{\"id\":\"Object ID\",\"rev0\":\"Revision number (0 = latest)\"},\"returns\":{\"od\":\"Descriptor at that revision\"}},\"owner(uint64)\":{\"params\":{\"id\":\"Object ID\"},\"returns\":{\"owner_\":\"Current owner address\"}},\"snapshot(uint64,uint32)\":{\"params\":{\"id\":\"Object ID\",\"rev0\":\"Revision number to query (0 = latest)\"},\"returns\":{\"elems\":\"Elements at the specified revision\",\"od\":\"Descriptor at the specified revision\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"touch(uint64)\":{\"params\":{\"id\":\"Object ID\"},\"returns\":{\"od\":\"Descriptor after touch\"}},\"transfer(uint64,address)\":{\"params\":{\"id\":\"Object ID\",\"to\":\"Address of the new owner\"}},\"update(uint64,bytes)\":{\"params\":{\"data\":\"Encoded update parameters\",\"id\":\"Object ID to update\"},\"returns\":{\"od\":\"Descriptor after the update\"}},\"upgrade(uint64,uint32,uint32)\":{\"params\":{\"id\":\"Object ID\",\"kindRev0\":\"New kind revision (0 = no change)\",\"setRev0\":\"New set revision (0 = no change)\"},\"returns\":{\"od\":\"Descriptor after upgrade\"}},\"uri()\":{\"details\":\"Client should replace `{id}` and `{rev}` placeholders\",\"returns\":{\"uri_\":\"URI template string\"}}},\"title\":\"ISet\",\"version\":1},\"userdoc\":{\"events\":{\"Created(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32[],address)\":{\"notice\":\"Emitted when a new object is created\"},\"Destroyed(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when an object is destroyed\"},\"Touched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when an object is touched (bumped without content change)\"},\"Transferred(uint64,address,address)\":{\"notice\":\"Emitted when ownership is transferred\"},\"Updated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32[])\":{\"notice\":\"Emitted when an object is updated\"},\"Upgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when an object is upgraded\"}},\"kind\":\"user\",\"methods\":{\"create(address,uint64,bytes)\":{\"notice\":\"Create (mint) a new object\"},\"descriptor(uint64,uint32)\":{\"notice\":\"Get descriptor at a specific revision\"},\"owner(uint64)\":{\"notice\":\"Get current owner of an object\"},\"snapshot(uint64,uint32)\":{\"notice\":\"Get descriptor and elements at a specific revision\"},\"touch(uint64)\":{\"notice\":\"Touch an object to increment revision without content change\"},\"transfer(uint64,address)\":{\"notice\":\"Transfer ownership of an object\"},\"update(uint64,bytes)\":{\"notice\":\"Update an existing object\"},\"upgrade(uint64,uint32,uint32)\":{\"notice\":\"Upgrade an object to a new kind or set revision\"},\"uri()\":{\"notice\":\"Get URI template for metadata\"}},\"notice\":\"Core interface for set contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/user/ISet.sol\":\"ISet\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@create3-factory/=lib/create3-factory/src/\",\":@everyprotocol/core/=contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":@solmate/=lib/solmate/src/\",\":create3-factory/=lib/create3-factory/\",\":ds-test/=lib/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":solmate/=lib/solmate/src/\"],\"viaIR\":true},\"sources\":{\"contracts/interfaces/external/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"contracts/interfaces/user/ISet.sol\":{\"keccak256\":\"0xa6377daa6c7654e9b0551f5e92a7e5e510acbddcdbb36bd5df19e3b29ab783c0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://f19d5799e6eb85922d0eb568d521356b6cb3b58f758df675a90eb3e4bd8a3ff9\",\"dweb:/ipfs/QmbBznVYQ16QGvC86KXBJc6SvuS3EneGEwvZ2hGfsqegjR\"]},\"contracts/types/Descriptor.sol\":{\"keccak256\":\"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1\",\"dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"bytes32[]","name":"elems","type":"bytes32[]","indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"Created","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"Destroyed","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"Touched","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"to","type":"address","indexed":false}],"type":"event","name":"Transferred","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false},{"internalType":"bytes32[]","name":"elems","type":"bytes32[]","indexed":false}],"type":"event","name":"Updated","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}],"indexed":false}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint64","name":"id0","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"create","outputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"descriptor","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"owner_","type":"address"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"snapshot","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]},{"internalType":"bytes32[]","name":"elems","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"touch","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"address","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transfer"},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"update","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"kindRev0","type":"uint32"},{"internalType":"uint32","name":"setRev0","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"upgrade","outputs":[{"internalType":"struct Descriptor","name":"od","type":"tuple","components":[{"internalType":"uint32","name":"traits","type":"uint32"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint32","name":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"},{"internalType":"uint64","name":"kindId","type":"uint64"},{"internalType":"uint64","name":"setId","type":"uint64"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"uri","outputs":[{"internalType":"string","name":"uri_","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"create(address,uint64,bytes)":{"params":{"data":"Encoded creation parameters","id0":"Requested object ID (0 = auto-assign)","to":"Initial owner of the object"},"returns":{"id":"Final resolved object ID","od":"Descriptor of the newly created object"}},"descriptor(uint64,uint32)":{"params":{"id":"Object ID","rev0":"Revision number (0 = latest)"},"returns":{"od":"Descriptor at that revision"}},"owner(uint64)":{"params":{"id":"Object ID"},"returns":{"owner_":"Current owner address"}},"snapshot(uint64,uint32)":{"params":{"id":"Object ID","rev0":"Revision number to query (0 = latest)"},"returns":{"elems":"Elements at the specified revision","od":"Descriptor at the specified revision"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"touch(uint64)":{"params":{"id":"Object ID"},"returns":{"od":"Descriptor after touch"}},"transfer(uint64,address)":{"params":{"id":"Object ID","to":"Address of the new owner"}},"update(uint64,bytes)":{"params":{"data":"Encoded update parameters","id":"Object ID to update"},"returns":{"od":"Descriptor after the update"}},"upgrade(uint64,uint32,uint32)":{"params":{"id":"Object ID","kindRev0":"New kind revision (0 = no change)","setRev0":"New set revision (0 = no change)"},"returns":{"od":"Descriptor after upgrade"}},"uri()":{"details":"Client should replace `{id}` and `{rev}` placeholders","returns":{"uri_":"URI template string"}}},"version":1},"userdoc":{"kind":"user","methods":{"create(address,uint64,bytes)":{"notice":"Create (mint) a new object"},"descriptor(uint64,uint32)":{"notice":"Get descriptor at a specific revision"},"owner(uint64)":{"notice":"Get current owner of an object"},"snapshot(uint64,uint32)":{"notice":"Get descriptor and elements at a specific revision"},"touch(uint64)":{"notice":"Touch an object to increment revision without content change"},"transfer(uint64,address)":{"notice":"Transfer ownership of an object"},"update(uint64,bytes)":{"notice":"Update an existing object"},"upgrade(uint64,uint32,uint32)":{"notice":"Upgrade an object to a new kind or set revision"},"uri()":{"notice":"Get URI template for metadata"}},"version":1}},"settings":{"remappings":["@create3-factory/=lib/create3-factory/src/","@everyprotocol/core/=contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","@solmate/=lib/solmate/src/","create3-factory/=lib/create3-factory/","ds-test/=lib/solmate/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/user/ISet.sol":"ISet"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/interfaces/external/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"},"contracts/interfaces/user/ISet.sol":{"keccak256":"0xa6377daa6c7654e9b0551f5e92a7e5e510acbddcdbb36bd5df19e3b29ab783c0","urls":["bzz-raw://f19d5799e6eb85922d0eb568d521356b6cb3b58f758df675a90eb3e4bd8a3ff9","dweb:/ipfs/QmbBznVYQ16QGvC86KXBJc6SvuS3EneGEwvZ2hGfsqegjR"],"license":"BUSL-1.1"},"contracts/types/Descriptor.sol":{"keccak256":"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4","urls":["bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1","dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT"],"license":"BUSL-1.1"}},"version":1},"id":45}