@everyprotocol/every-cli 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"set","type":"address","internalType":"address"},{"name":"id","type":"uint64","internalType":"uint64"},{"name":"auth","type":"bytes","internalType":"bytes"},{"name":"policy","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"set","type":"address","internalType":"address"},{"name":"id","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"auth","type":"bytes","internalType":"bytes"},{"name":"policy","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"set","type":"address","internalType":"address"},{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"set","type":"address","internalType":"address"},{"name":"id","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"mintPolicyAdd","inputs":[{"name":"policy","type":"tuple","internalType":"struct MintPolicy","components":[{"name":"index","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"enum MintPolicyStatus"},{"name":"perm","type":"uint8","internalType":"enum MintPermissionType"},{"name":"limit","type":"uint16","internalType":"uint16"},{"name":"tag","type":"uint32","internalType":"uint32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"address"},{"name":"price","type":"uint96","internalType":"uint96"},{"name":"idStart","type":"uint64","internalType":"uint64"},{"name":"idEnd","type":"uint64","internalType":"uint64"},{"name":"saleStart","type":"uint64","internalType":"uint64"},{"name":"saleEnd","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}]}],"outputs":[{"name":"index","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintPolicyCount","inputs":[{"name":"set","type":"address","internalType":"address"}],"outputs":[{"name":"count","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mintPolicyDisable","inputs":[{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintPolicyEnable","inputs":[{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintPolicyGet","inputs":[{"name":"set","type":"address","internalType":"address"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"policy","type":"tuple","internalType":"struct MintPolicy","components":[{"name":"index","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"enum MintPolicyStatus"},{"name":"perm","type":"uint8","internalType":"enum MintPermissionType"},{"name":"limit","type":"uint16","internalType":"uint16"},{"name":"tag","type":"uint32","internalType":"uint32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"address"},{"name":"price","type":"uint96","internalType":"uint96"},{"name":"idStart","type":"uint64","internalType":"uint64"},{"name":"idEnd","type":"uint64","internalType":"uint64"},{"name":"saleStart","type":"uint64","internalType":"uint64"},{"name":"saleEnd","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"mintPolicySearch","inputs":[{"name":"set","type":"address","internalType":"address"},{"name":"id","type":"uint64","internalType":"uint64"},{"name":"mask","type":"uint8","internalType":"uint8"},{"name":"offset","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"policy","type":"tuple","internalType":"struct MintPolicy","components":[{"name":"index","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"enum MintPolicyStatus"},{"name":"perm","type":"uint8","internalType":"enum MintPermissionType"},{"name":"limit","type":"uint16","internalType":"uint16"},{"name":"tag","type":"uint32","internalType":"uint32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"address"},{"name":"price","type":"uint96","internalType":"uint96"},{"name":"idStart","type":"uint64","internalType":"uint64"},{"name":"idEnd","type":"uint64","internalType":"uint64"},{"name":"saleStart","type":"uint64","internalType":"uint64"},{"name":"saleEnd","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"mintPolicySearch","inputs":[{"name":"set","type":"address","internalType":"address"},{"name":"id","type":"uint64","internalType":"uint64"},{"name":"mask","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"policy","type":"tuple","internalType":"struct MintPolicy","components":[{"name":"index","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"enum MintPolicyStatus"},{"name":"perm","type":"uint8","internalType":"enum MintPermissionType"},{"name":"limit","type":"uint16","internalType":"uint16"},{"name":"tag","type":"uint32","internalType":"uint32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"address"},{"name":"price","type":"uint96","internalType":"uint96"},{"name":"idStart","type":"uint64","internalType":"uint64"},{"name":"idEnd","type":"uint64","internalType":"uint64"},{"name":"saleStart","type":"uint64","internalType":"uint64"},{"name":"saleEnd","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"event","name":"MintPolicyDisabled","inputs":[{"name":"set","type":"address","indexed":false,"internalType":"address"},{"name":"policy","type":"tuple","indexed":false,"internalType":"struct MintPolicy","components":[{"name":"index","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"enum MintPolicyStatus"},{"name":"perm","type":"uint8","internalType":"enum MintPermissionType"},{"name":"limit","type":"uint16","internalType":"uint16"},{"name":"tag","type":"uint32","internalType":"uint32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"address"},{"name":"price","type":"uint96","internalType":"uint96"},{"name":"idStart","type":"uint64","internalType":"uint64"},{"name":"idEnd","type":"uint64","internalType":"uint64"},{"name":"saleStart","type":"uint64","internalType":"uint64"},{"name":"saleEnd","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"MintPolicyEnabled","inputs":[{"name":"set","type":"address","indexed":false,"internalType":"address"},{"name":"policy","type":"tuple","indexed":false,"internalType":"struct MintPolicy","components":[{"name":"index","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"enum MintPolicyStatus"},{"name":"perm","type":"uint8","internalType":"enum MintPermissionType"},{"name":"limit","type":"uint16","internalType":"uint16"},{"name":"tag","type":"uint32","internalType":"uint32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"address"},{"name":"price","type":"uint96","internalType":"uint96"},{"name":"idStart","type":"uint64","internalType":"uint64"},{"name":"idEnd","type":"uint64","internalType":"uint64"},{"name":"saleStart","type":"uint64","internalType":"uint64"},{"name":"saleEnd","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"ObjectMinted","inputs":[{"name":"set","type":"address","indexed":false,"internalType":"address"},{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"operator","type":"address","indexed":false,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"currency","type":"address","indexed":false,"internalType":"address"},{"name":"payment","type":"uint96","indexed":false,"internalType":"uint96"},{"name":"fundsRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"funds","type":"uint96","indexed":false,"internalType":"uint96"},{"name":"feeRecipient","type":"address","indexed":false,"internalType":"address"},{"name":"fee","type":"uint96","indexed":false,"internalType":"uint96"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"mint(address,address,uint64)":"7110f02a","mint(address,address,uint64,bytes)":"99afab45","mint(address,address,uint64,bytes,bytes,uint32)":"5133a06d","mint(address,address,uint64,bytes,uint32)":"170af008","mintPolicyAdd((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))":"464d3992","mintPolicyCount(address)":"a3c28595","mintPolicyDisable(uint32)":"030e6314","mintPolicyEnable(uint32)":"71835451","mintPolicyGet(address,uint32)":"280560b9","mintPolicySearch(address,uint64,uint8)":"9fba03b5","mintPolicySearch(address,uint64,uint8,uint32)":"67aa2a8a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"enum MintPolicyStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum MintPermissionType\",\"name\":\"perm\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"limit\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tag\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"price\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"idStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"idEnd\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleEnd\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct MintPolicy\",\"name\":\"policy\",\"type\":\"tuple\"}],\"name\":\"MintPolicyDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"enum MintPolicyStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum MintPermissionType\",\"name\":\"perm\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"limit\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tag\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"price\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"idStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"idEnd\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleEnd\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct MintPolicy\",\"name\":\"policy\",\"type\":\"tuple\"}],\"name\":\"MintPolicyEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint96\",\"name\":\"payment\",\"type\":\"uint96\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fundsRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint96\",\"name\":\"funds\",\"type\":\"uint96\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint96\",\"name\":\"fee\",\"type\":\"uint96\"}],\"name\":\"ObjectMinted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"auth\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"policy\",\"type\":\"uint32\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"auth\",\"type\":\"bytes\"},{\"internalType\":\"uint32\",\"name\":\"policy\",\"type\":\"uint32\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"enum MintPolicyStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum MintPermissionType\",\"name\":\"perm\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"limit\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tag\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"price\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"idStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"idEnd\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleEnd\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"internalType\":\"struct MintPolicy\",\"name\":\"policy\",\"type\":\"tuple\"}],\"name\":\"mintPolicyAdd\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"}],\"name\":\"mintPolicyCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"mintPolicyDisable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"mintPolicyEnable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"mintPolicyGet\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"enum MintPolicyStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum MintPermissionType\",\"name\":\"perm\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"limit\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tag\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"price\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"idStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"idEnd\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleEnd\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"internalType\":\"struct MintPolicy\",\"name\":\"policy\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"mask\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"offset\",\"type\":\"uint32\"}],\"name\":\"mintPolicySearch\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"enum MintPolicyStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum MintPermissionType\",\"name\":\"perm\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"limit\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tag\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"price\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"idStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"idEnd\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleEnd\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"internalType\":\"struct MintPolicy\",\"name\":\"policy\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"set\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"mask\",\"type\":\"uint8\"}],\"name\":\"mintPolicySearch\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"enum MintPolicyStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum MintPermissionType\",\"name\":\"perm\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"limit\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tag\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"price\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"idStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"idEnd\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleEnd\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"internalType\":\"struct MintPolicy\",\"name\":\"policy\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"MintPolicyDisabled(address,(uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))\":{\"params\":{\"policy\":\"The disabled policy details\",\"set\":\"The set address the policy applies to\"}},\"MintPolicyEnabled(address,(uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))\":{\"params\":{\"policy\":\"The enabled policy details\",\"set\":\"The set address the policy applies to\"}},\"ObjectMinted(address,uint64,address,address,address,uint96,address,uint96,address,uint96)\":{\"params\":{\"currency\":\"The address of the payment token (native or ERC20)\",\"fee\":\"The amount sent to the feeRecipient\",\"feeRecipient\":\"The address receiving the protocol fee\",\"funds\":\"The amount sent to the fundsRecipient\",\"fundsRecipient\":\"The address receiving the creator or project revenue\",\"id\":\"The ID of the minted object within the set\",\"operator\":\"The address that initiated the mint (usually msg.sender)\",\"payment\":\"The total payment (includes both fee and funds)\",\"set\":\"The address of the set contract the object is minted from\",\"to\":\"The recipient address receiving the minted object\"}}},\"kind\":\"dev\",\"methods\":{\"mint(address,address,uint64)\":{\"params\":{\"id\":\"The object ID to mint\",\"set\":\"The set address\",\"to\":\"The recipient address\"}},\"mint(address,address,uint64,bytes)\":{\"params\":{\"data\":\"Additional mint data\",\"id\":\"The object ID to mint\",\"set\":\"The set address\",\"to\":\"The recipient address\"}},\"mint(address,address,uint64,bytes,bytes,uint32)\":{\"params\":{\"auth\":\"ABI-encoded authorization data (see IMintAuthArgument)\",\"data\":\"Additional mint data\",\"id\":\"The object ID to mint\",\"policy\":\"The policy index being used\",\"set\":\"The set address\",\"to\":\"The recipient address\"}},\"mint(address,address,uint64,bytes,uint32)\":{\"params\":{\"auth\":\"ABI-encoded authorization data (see IMintAuthArgument)\",\"id\":\"The object ID to mint\",\"policy\":\"The policy index being used\",\"set\":\"The set address\",\"to\":\"The recipient address\"}},\"mintPolicyAdd((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))\":{\"params\":{\"policy\":\"The policy details to add\"},\"returns\":{\"index\":\"The assigned policy index\"}},\"mintPolicyCount(address)\":{\"params\":{\"set\":\"The set address to query\"},\"returns\":{\"count\":\"Number of policies\"}},\"mintPolicyDisable(uint32)\":{\"params\":{\"index\":\"The policy index to disable\"}},\"mintPolicyEnable(uint32)\":{\"params\":{\"index\":\"The policy index to enable\"}},\"mintPolicyGet(address,uint32)\":{\"params\":{\"index\":\"Policy index\",\"set\":\"The set address\"},\"returns\":{\"policy\":\"The mint policy details\"}},\"mintPolicySearch(address,uint64,uint8)\":{\"params\":{\"id\":\"The object ID to check\",\"mask\":\"Bitmask indicating which MintPermissionType values are included. Each bit corresponds to a permission type (e.g., bit 0 = Public, bit 1 = Allowlist, etc.).\",\"set\":\"The set address\"},\"returns\":{\"policy\":\"The first matching mint policy\"}},\"mintPolicySearch(address,uint64,uint8,uint32)\":{\"params\":{\"id\":\"The object ID to check\",\"mask\":\"Bitmask indicating which MintPermissionType values are included. Each bit corresponds to a permission type (e.g., bit 0 = Public, bit 1 = Allowlist, etc.).\",\"offset\":\"Starting policy index to search from\",\"set\":\"The set address\"},\"returns\":{\"policy\":\"The first matching mint policy\"}}},\"title\":\"IObjectMinter\",\"version\":1},\"userdoc\":{\"events\":{\"MintPolicyDisabled(address,(uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Emitted when a mint policy is disabled\"},\"MintPolicyEnabled(address,(uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Emitted when a mint policy is enabled\"},\"ObjectMinted(address,uint64,address,address,address,uint96,address,uint96,address,uint96)\":{\"notice\":\"Emitted when an object is successfully minted\"}},\"kind\":\"user\",\"methods\":{\"mint(address,address,uint64)\":{\"notice\":\"Mint an object (public permission)\"},\"mint(address,address,uint64,bytes)\":{\"notice\":\"Mint an object with additional data\"},\"mint(address,address,uint64,bytes,bytes,uint32)\":{\"notice\":\"Mint an object with allowlist proof and additional data\"},\"mint(address,address,uint64,bytes,uint32)\":{\"notice\":\"Mint an object with allowlist proof\"},\"mintPolicyAdd((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Add a new mint policy (callable only by set contracts)\"},\"mintPolicyCount(address)\":{\"notice\":\"Get number of mint policies for a set\"},\"mintPolicyDisable(uint32)\":{\"notice\":\"Disable a mint policy (callable only by set contracts)\"},\"mintPolicyEnable(uint32)\":{\"notice\":\"Enable a mint policy (callable only by set contracts)\"},\"mintPolicyGet(address,uint32)\":{\"notice\":\"Get mint policy by index\"},\"mintPolicySearch(address,uint64,uint8)\":{\"notice\":\"Search for applicable mint policy with permission mask\"},\"mintPolicySearch(address,uint64,uint8,uint32)\":{\"notice\":\"Search for applicable mint policy with offset and permission mask\"}},\"notice\":\"Interface for minting objects with configurable policies\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/core/IObjectMinter.sol\":\"IObjectMinter\"},\"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/core/IObjectMinter.sol\":{\"keccak256\":\"0x465298dfb6511c5d4667b9e27d1e5cde2bfe64e7e39aacb7e755f4f65a09409c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d9213b63c64e4a4df2c5215faa49a9fb80fd0dc93dd1cf9513d38855e904ae3f\",\"dweb:/ipfs/QmNvGz1jeMfRFmALehkr2AMWrpeneGoxmRGmo3tXPueyDf\"]},\"contracts/types/Minter.sol\":{\"keccak256\":\"0x91eb75c36b88aa88bcf43a293f5fc388a45549b83b899d82c8870c1fe6d09bae\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3a71631d86241259d929606339016affdf020b167ffb75b5c8c5f30b4a5890b7\",\"dweb:/ipfs/QmRNq5Hex2NUXrN1DkFKXy37B5KQTQoTLoV616GKokb2KU\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"set","type":"address","indexed":false},{"internalType":"struct MintPolicy","name":"policy","type":"tuple","components":[{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"enum MintPolicyStatus","name":"status","type":"uint8"},{"internalType":"enum MintPermissionType","name":"perm","type":"uint8"},{"internalType":"uint16","name":"limit","type":"uint16"},{"internalType":"uint32","name":"tag","type":"uint32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint96","name":"price","type":"uint96"},{"internalType":"uint64","name":"idStart","type":"uint64"},{"internalType":"uint64","name":"idEnd","type":"uint64"},{"internalType":"uint64","name":"saleStart","type":"uint64"},{"internalType":"uint64","name":"saleEnd","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}],"indexed":false}],"type":"event","name":"MintPolicyDisabled","anonymous":false},{"inputs":[{"internalType":"address","name":"set","type":"address","indexed":false},{"internalType":"struct MintPolicy","name":"policy","type":"tuple","components":[{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"enum MintPolicyStatus","name":"status","type":"uint8"},{"internalType":"enum MintPermissionType","name":"perm","type":"uint8"},{"internalType":"uint16","name":"limit","type":"uint16"},{"internalType":"uint32","name":"tag","type":"uint32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint96","name":"price","type":"uint96"},{"internalType":"uint64","name":"idStart","type":"uint64"},{"internalType":"uint64","name":"idEnd","type":"uint64"},{"internalType":"uint64","name":"saleStart","type":"uint64"},{"internalType":"uint64","name":"saleEnd","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}],"indexed":false}],"type":"event","name":"MintPolicyEnabled","anonymous":false},{"inputs":[{"internalType":"address","name":"set","type":"address","indexed":false},{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"address","name":"operator","type":"address","indexed":false},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false},{"internalType":"uint96","name":"payment","type":"uint96","indexed":false},{"internalType":"address","name":"fundsRecipient","type":"address","indexed":false},{"internalType":"uint96","name":"funds","type":"uint96","indexed":false},{"internalType":"address","name":"feeRecipient","type":"address","indexed":false},{"internalType":"uint96","name":"fee","type":"uint96","indexed":false}],"type":"event","name":"ObjectMinted","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"set","type":"address"},{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"bytes","name":"auth","type":"bytes"},{"internalType":"uint32","name":"policy","type":"uint32"}],"stateMutability":"payable","type":"function","name":"mint"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"set","type":"address"},{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"auth","type":"bytes"},{"internalType":"uint32","name":"policy","type":"uint32"}],"stateMutability":"payable","type":"function","name":"mint"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"set","type":"address"},{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"payable","type":"function","name":"mint"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"set","type":"address"},{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"mint"},{"inputs":[{"internalType":"struct MintPolicy","name":"policy","type":"tuple","components":[{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"enum MintPolicyStatus","name":"status","type":"uint8"},{"internalType":"enum MintPermissionType","name":"perm","type":"uint8"},{"internalType":"uint16","name":"limit","type":"uint16"},{"internalType":"uint32","name":"tag","type":"uint32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint96","name":"price","type":"uint96"},{"internalType":"uint64","name":"idStart","type":"uint64"},{"internalType":"uint64","name":"idEnd","type":"uint64"},{"internalType":"uint64","name":"saleStart","type":"uint64"},{"internalType":"uint64","name":"saleEnd","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"mintPolicyAdd","outputs":[{"internalType":"uint32","name":"index","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"set","type":"address"}],"stateMutability":"view","type":"function","name":"mintPolicyCount","outputs":[{"internalType":"uint256","name":"count","type":"uint256"}]},{"inputs":[{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"mintPolicyDisable"},{"inputs":[{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"mintPolicyEnable"},{"inputs":[{"internalType":"address","name":"set","type":"address"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"view","type":"function","name":"mintPolicyGet","outputs":[{"internalType":"struct MintPolicy","name":"policy","type":"tuple","components":[{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"enum MintPolicyStatus","name":"status","type":"uint8"},{"internalType":"enum MintPermissionType","name":"perm","type":"uint8"},{"internalType":"uint16","name":"limit","type":"uint16"},{"internalType":"uint32","name":"tag","type":"uint32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint96","name":"price","type":"uint96"},{"internalType":"uint64","name":"idStart","type":"uint64"},{"internalType":"uint64","name":"idEnd","type":"uint64"},{"internalType":"uint64","name":"saleStart","type":"uint64"},{"internalType":"uint64","name":"saleEnd","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}]}]},{"inputs":[{"internalType":"address","name":"set","type":"address"},{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint8","name":"mask","type":"uint8"},{"internalType":"uint32","name":"offset","type":"uint32"}],"stateMutability":"view","type":"function","name":"mintPolicySearch","outputs":[{"internalType":"struct MintPolicy","name":"policy","type":"tuple","components":[{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"enum MintPolicyStatus","name":"status","type":"uint8"},{"internalType":"enum MintPermissionType","name":"perm","type":"uint8"},{"internalType":"uint16","name":"limit","type":"uint16"},{"internalType":"uint32","name":"tag","type":"uint32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint96","name":"price","type":"uint96"},{"internalType":"uint64","name":"idStart","type":"uint64"},{"internalType":"uint64","name":"idEnd","type":"uint64"},{"internalType":"uint64","name":"saleStart","type":"uint64"},{"internalType":"uint64","name":"saleEnd","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}]}]},{"inputs":[{"internalType":"address","name":"set","type":"address"},{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint8","name":"mask","type":"uint8"}],"stateMutability":"view","type":"function","name":"mintPolicySearch","outputs":[{"internalType":"struct MintPolicy","name":"policy","type":"tuple","components":[{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"enum MintPolicyStatus","name":"status","type":"uint8"},{"internalType":"enum MintPermissionType","name":"perm","type":"uint8"},{"internalType":"uint16","name":"limit","type":"uint16"},{"internalType":"uint32","name":"tag","type":"uint32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint96","name":"price","type":"uint96"},{"internalType":"uint64","name":"idStart","type":"uint64"},{"internalType":"uint64","name":"idEnd","type":"uint64"},{"internalType":"uint64","name":"saleStart","type":"uint64"},{"internalType":"uint64","name":"saleEnd","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}]}]}],"devdoc":{"kind":"dev","methods":{"mint(address,address,uint64)":{"params":{"id":"The object ID to mint","set":"The set address","to":"The recipient address"}},"mint(address,address,uint64,bytes)":{"params":{"data":"Additional mint data","id":"The object ID to mint","set":"The set address","to":"The recipient address"}},"mint(address,address,uint64,bytes,bytes,uint32)":{"params":{"auth":"ABI-encoded authorization data (see IMintAuthArgument)","data":"Additional mint data","id":"The object ID to mint","policy":"The policy index being used","set":"The set address","to":"The recipient address"}},"mint(address,address,uint64,bytes,uint32)":{"params":{"auth":"ABI-encoded authorization data (see IMintAuthArgument)","id":"The object ID to mint","policy":"The policy index being used","set":"The set address","to":"The recipient address"}},"mintPolicyAdd((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))":{"params":{"policy":"The policy details to add"},"returns":{"index":"The assigned policy index"}},"mintPolicyCount(address)":{"params":{"set":"The set address to query"},"returns":{"count":"Number of policies"}},"mintPolicyDisable(uint32)":{"params":{"index":"The policy index to disable"}},"mintPolicyEnable(uint32)":{"params":{"index":"The policy index to enable"}},"mintPolicyGet(address,uint32)":{"params":{"index":"Policy index","set":"The set address"},"returns":{"policy":"The mint policy details"}},"mintPolicySearch(address,uint64,uint8)":{"params":{"id":"The object ID to check","mask":"Bitmask indicating which MintPermissionType values are included. Each bit corresponds to a permission type (e.g., bit 0 = Public, bit 1 = Allowlist, etc.).","set":"The set address"},"returns":{"policy":"The first matching mint policy"}},"mintPolicySearch(address,uint64,uint8,uint32)":{"params":{"id":"The object ID to check","mask":"Bitmask indicating which MintPermissionType values are included. Each bit corresponds to a permission type (e.g., bit 0 = Public, bit 1 = Allowlist, etc.).","offset":"Starting policy index to search from","set":"The set address"},"returns":{"policy":"The first matching mint policy"}}},"version":1},"userdoc":{"kind":"user","methods":{"mint(address,address,uint64)":{"notice":"Mint an object (public permission)"},"mint(address,address,uint64,bytes)":{"notice":"Mint an object with additional data"},"mint(address,address,uint64,bytes,bytes,uint32)":{"notice":"Mint an object with allowlist proof and additional data"},"mint(address,address,uint64,bytes,uint32)":{"notice":"Mint an object with allowlist proof"},"mintPolicyAdd((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))":{"notice":"Add a new mint policy (callable only by set contracts)"},"mintPolicyCount(address)":{"notice":"Get number of mint policies for a set"},"mintPolicyDisable(uint32)":{"notice":"Disable a mint policy (callable only by set contracts)"},"mintPolicyEnable(uint32)":{"notice":"Enable a mint policy (callable only by set contracts)"},"mintPolicyGet(address,uint32)":{"notice":"Get mint policy by index"},"mintPolicySearch(address,uint64,uint8)":{"notice":"Search for applicable mint policy with permission mask"},"mintPolicySearch(address,uint64,uint8,uint32)":{"notice":"Search for applicable mint policy with offset and permission mask"}},"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/core/IObjectMinter.sol":"IObjectMinter"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/interfaces/core/IObjectMinter.sol":{"keccak256":"0x465298dfb6511c5d4667b9e27d1e5cde2bfe64e7e39aacb7e755f4f65a09409c","urls":["bzz-raw://d9213b63c64e4a4df2c5215faa49a9fb80fd0dc93dd1cf9513d38855e904ae3f","dweb:/ipfs/QmNvGz1jeMfRFmALehkr2AMWrpeneGoxmRGmo3tXPueyDf"],"license":"BUSL-1.1"},"contracts/types/Minter.sol":{"keccak256":"0x91eb75c36b88aa88bcf43a293f5fc388a45549b83b899d82c8870c1fe6d09bae","urls":["bzz-raw://3a71631d86241259d929606339016affdf020b167ffb75b5c8c5f30b4a5890b7","dweb:/ipfs/QmRNq5Hex2NUXrN1DkFKXy37B5KQTQoTLoV616GKokb2KU"],"license":"BUSL-1.1"}},"version":1},"id":29}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"addMintPolicy","inputs":[{"name":"policy","type":"tuple","internalType":"struct MintPolicy","components":[{"name":"index","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"enum MintPolicyStatus"},{"name":"perm","type":"uint8","internalType":"enum MintPermissionType"},{"name":"limit","type":"uint16","internalType":"uint16"},{"name":"tag","type":"uint32","internalType":"uint32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"address"},{"name":"price","type":"uint96","internalType":"uint96"},{"name":"idStart","type":"uint64","internalType":"uint64"},{"name":"idEnd","type":"uint64","internalType":"uint64"},{"name":"saleStart","type":"uint64","internalType":"uint64"},{"name":"saleEnd","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}]}],"outputs":[{"name":"index","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"function","name":"disableMintPolicy","inputs":[{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enableMintPolicy","inputs":[{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addMintPolicy((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))":"4f6cfed8","disableMintPolicy(uint32)":"3e75af90","enableMintPolicy(uint32)":"42d6d6e6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"enum MintPolicyStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum MintPermissionType\",\"name\":\"perm\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"limit\",\"type\":\"uint16\"},{\"internalType\":\"uint32\",\"name\":\"tag\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"price\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"idStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"idEnd\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"saleEnd\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"internalType\":\"struct MintPolicy\",\"name\":\"policy\",\"type\":\"tuple\"}],\"name\":\"addMintPolicy\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"disableMintPolicy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"enableMintPolicy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"All functions apply to the set represented by the calling contract and must be access-controlled\",\"kind\":\"dev\",\"methods\":{\"addMintPolicy((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))\":{\"params\":{\"policy\":\"The policy configuration to add\"},\"returns\":{\"index\":\"Assigned policy index\"}},\"disableMintPolicy(uint32)\":{\"params\":{\"index\":\"Index of the policy to disable\"}},\"enableMintPolicy(uint32)\":{\"params\":{\"index\":\"Index of the policy to enable\"}}},\"title\":\"IObjectMinterAdmin\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addMintPolicy((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Adds a new mint policy for the set represented by the calling contract\"},\"disableMintPolicy(uint32)\":{\"notice\":\"Disables a mint policy for the set represented by the calling contract\"},\"enableMintPolicy(uint32)\":{\"notice\":\"Enables a mint policy for the set represented by the calling contract\"}},\"notice\":\"Interface for managing mint policies on the object minter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/user/IObjectMinterAdmin.sol\":\"IObjectMinterAdmin\"},\"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/core/IObjectMinter.sol\":{\"keccak256\":\"0x465298dfb6511c5d4667b9e27d1e5cde2bfe64e7e39aacb7e755f4f65a09409c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d9213b63c64e4a4df2c5215faa49a9fb80fd0dc93dd1cf9513d38855e904ae3f\",\"dweb:/ipfs/QmNvGz1jeMfRFmALehkr2AMWrpeneGoxmRGmo3tXPueyDf\"]},\"contracts/interfaces/user/IObjectMinterAdmin.sol\":{\"keccak256\":\"0x8adaf2d3aaf4e73986fabb740b3a7467e8b290e8e89c39b0d3e72b6eca54a0f0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://27de8d339803987cb302bb6e47e6f91c4ce61f14a7397c8c98d0c053c404785b\",\"dweb:/ipfs/QmXZHq9tvhAXYPqocsPVcDJFzL73ogrxjSgjnZS8g6LgUf\"]},\"contracts/types/Minter.sol\":{\"keccak256\":\"0x91eb75c36b88aa88bcf43a293f5fc388a45549b83b899d82c8870c1fe6d09bae\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3a71631d86241259d929606339016affdf020b167ffb75b5c8c5f30b4a5890b7\",\"dweb:/ipfs/QmRNq5Hex2NUXrN1DkFKXy37B5KQTQoTLoV616GKokb2KU\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct MintPolicy","name":"policy","type":"tuple","components":[{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"enum MintPolicyStatus","name":"status","type":"uint8"},{"internalType":"enum MintPermissionType","name":"perm","type":"uint8"},{"internalType":"uint16","name":"limit","type":"uint16"},{"internalType":"uint32","name":"tag","type":"uint32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint96","name":"price","type":"uint96"},{"internalType":"uint64","name":"idStart","type":"uint64"},{"internalType":"uint64","name":"idEnd","type":"uint64"},{"internalType":"uint64","name":"saleStart","type":"uint64"},{"internalType":"uint64","name":"saleEnd","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"addMintPolicy","outputs":[{"internalType":"uint32","name":"index","type":"uint32"}]},{"inputs":[{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"disableMintPolicy"},{"inputs":[{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"enableMintPolicy"}],"devdoc":{"kind":"dev","methods":{"addMintPolicy((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))":{"params":{"policy":"The policy configuration to add"},"returns":{"index":"Assigned policy index"}},"disableMintPolicy(uint32)":{"params":{"index":"Index of the policy to disable"}},"enableMintPolicy(uint32)":{"params":{"index":"Index of the policy to enable"}}},"version":1},"userdoc":{"kind":"user","methods":{"addMintPolicy((uint32,uint8,uint8,uint16,uint32,address,address,uint96,uint64,uint64,uint64,uint64,bytes32))":{"notice":"Adds a new mint policy for the set represented by the calling contract"},"disableMintPolicy(uint32)":{"notice":"Disables a mint policy for the set represented by the calling contract"},"enableMintPolicy(uint32)":{"notice":"Enables a mint policy for the set represented by the calling contract"}},"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/IObjectMinterAdmin.sol":"IObjectMinterAdmin"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/interfaces/core/IObjectMinter.sol":{"keccak256":"0x465298dfb6511c5d4667b9e27d1e5cde2bfe64e7e39aacb7e755f4f65a09409c","urls":["bzz-raw://d9213b63c64e4a4df2c5215faa49a9fb80fd0dc93dd1cf9513d38855e904ae3f","dweb:/ipfs/QmNvGz1jeMfRFmALehkr2AMWrpeneGoxmRGmo3tXPueyDf"],"license":"BUSL-1.1"},"contracts/interfaces/user/IObjectMinterAdmin.sol":{"keccak256":"0x8adaf2d3aaf4e73986fabb740b3a7467e8b290e8e89c39b0d3e72b6eca54a0f0","urls":["bzz-raw://27de8d339803987cb302bb6e47e6f91c4ce61f14a7397c8c98d0c053c404785b","dweb:/ipfs/QmXZHq9tvhAXYPqocsPVcDJFzL73ogrxjSgjnZS8g6LgUf"],"license":"BUSL-1.1"},"contracts/types/Minter.sol":{"keccak256":"0x91eb75c36b88aa88bcf43a293f5fc388a45549b83b899d82c8870c1fe6d09bae","urls":["bzz-raw://3a71631d86241259d929606339016affdf020b167ffb75b5c8c5f30b4a5890b7","dweb:/ipfs/QmRNq5Hex2NUXrN1DkFKXy37B5KQTQoTLoV616GKokb2KU"],"license":"BUSL-1.1"}},"version":1},"id":37}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"allowFrom","inputs":[{"name":"grantId","type":"uint32","internalType":"uint32"},{"name":"sender","type":"address","internalType":"address"},{"name":"tail","type":"uint128","internalType":"uint128"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"headKind","type":"uint64","internalType":"uint64"},{"name":"headSet","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"allowed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allowTo","inputs":[{"name":"grantId","type":"uint32","internalType":"uint32"},{"name":"sender","type":"address","internalType":"address"},{"name":"head","type":"uint128","internalType":"uint128"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"tailKind","type":"uint64","internalType":"uint64"},{"name":"tailSet","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"allowed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"grantFrom","inputs":[{"name":"tail","type":"uint128","internalType":"uint128"},{"name":"grant","type":"tuple","internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"grantTo","inputs":[{"name":"head","type":"uint128","internalType":"uint128"},{"name":"grant","type":"tuple","internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"relate","inputs":[{"name":"tail","type":"uint256","internalType":"uint256"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"head","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"relationAdmit","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev","type":"uint32","internalType":"uint32"},{"name":"kind","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"admit","type":"bool","internalType":"bool"},{"name":"effKind","type":"uint48","internalType":"uint48"},{"name":"effDegs","type":"uint16","internalType":"uint16"},{"name":"totalKind","type":"uint48","internalType":"uint48"},{"name":"totalDegs","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"relationDescriptor","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"desc","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":"relationOwner","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"relationRegister","inputs":[{"name":"code","type":"address","internalType":"address"},{"name":"data","type":"bytes32","internalType":"bytes32"},{"name":"rule","type":"tuple","internalType":"struct RelationRule","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"relateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"terminator","type":"uint8","internalType":"enum RelationTerminator"},{"name":"unrelateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"unrelateDelay","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes20","internalType":"bytes20"}]},{"name":"adjs","type":"tuple[]","internalType":"struct Adjacency[]","components":[{"name":"degs","type":"uint16","internalType":"uint16"},{"name":"kind","type":"uint48","internalType":"uint48"}]}],"outputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"desc","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":"relationRevision","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":"relationRule","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"rule","type":"tuple","internalType":"struct RelationRule","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"relateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"terminator","type":"uint8","internalType":"enum RelationTerminator"},{"name":"unrelateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"unrelateDelay","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes20","internalType":"bytes20"}]}],"stateMutability":"view"},{"type":"function","name":"relationSnapshot","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"rev0","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"desc","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":"relationSota","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"desc","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":"relationStatus","inputs":[{"name":"ids","type":"uint64[]","internalType":"uint64[]"}],"outputs":[{"name":"active","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"relationTouch","inputs":[{"name":"id","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"desc","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":"relationTransfer","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"to","type":"address","internalType":"address"}],"outputs":[{"name":"from","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"relationUpdate","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"desc","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":"relationUpdate","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes32","internalType":"bytes32"},{"name":"adjs","type":"tuple[]","internalType":"struct Adjacency[]","components":[{"name":"degs","type":"uint16","internalType":"uint16"},{"name":"kind","type":"uint48","internalType":"uint48"}]}],"outputs":[{"name":"desc","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":"relationUpgrade","inputs":[{"name":"id","type":"uint64","internalType":"uint64"},{"name":"kindRev","type":"uint32","internalType":"uint32"},{"name":"setRev","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"desc","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":"revokeFrom","inputs":[{"name":"tail","type":"uint128","internalType":"uint128"},{"name":"grantId","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeTo","inputs":[{"name":"head","type":"uint128","internalType":"uint128"},{"name":"grantId","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unrelate","inputs":[{"name":"tail","type":"uint256","internalType":"uint256"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"head","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"GrantFrom","inputs":[{"name":"tail","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grant","type":"tuple","indexed":false,"internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"GrantTo","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grant","type":"tuple","indexed":false,"internalType":"struct RelationGrant","components":[{"name":"id","type":"uint32","internalType":"uint32"},{"name":"status","type":"uint8","internalType":"uint8"},{"name":"initiator","type":"uint8","internalType":"enum RelationInitiator"},{"name":"reserved","type":"uint16","internalType":"uint16"},{"name":"rel","type":"uint64","internalType":"uint64"},{"name":"kind","type":"uint64","internalType":"uint64"},{"name":"set","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes32","internalType":"bytes32"}]}],"anonymous":false},{"type":"event","name":"Related","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","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":"arc","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Related","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","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":"arcs","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"RelationRegistered","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","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":"code","type":"address","indexed":false,"internalType":"address"},{"name":"data","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"rule","type":"tuple","indexed":false,"internalType":"struct RelationRule","components":[{"name":"version","type":"uint8","internalType":"uint8"},{"name":"relateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"terminator","type":"uint8","internalType":"enum RelationTerminator"},{"name":"unrelateShift","type":"uint8","internalType":"enum RelationOwnerShift"},{"name":"unrelateDelay","type":"uint64","internalType":"uint64"},{"name":"extra","type":"bytes20","internalType":"bytes20"}]},{"name":"adjs","type":"tuple[]","indexed":false,"internalType":"struct Adjacency[]","components":[{"name":"degs","type":"uint16","internalType":"uint16"},{"name":"kind","type":"uint48","internalType":"uint48"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RelationTouched","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","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":"RelationTransferred","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":"RelationUpdated","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","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":"data","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RelationUpgraded","inputs":[{"name":"id","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"desc","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":"RevokeFrom","inputs":[{"name":"tail","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grantId","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"RevokeTo","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"grantId","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"Unrelated","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","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":"arc","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unrelated","inputs":[{"name":"head","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"desc","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":"arcs","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowFrom(uint32,address,uint128,uint64,uint64,uint64)":"2629dae8","allowTo(uint32,address,uint128,uint64,uint64,uint64)":"edd716f0","grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":"05be88ac","grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":"3440994b","relate(uint256,uint64,uint256)":"15ae7173","relationAdmit(uint64,uint32,uint64)":"2392f87d","relationDescriptor(uint64,uint32)":"06a883a0","relationOwner(uint64)":"bff9b974","relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])":"b9f17a47","relationRevision(uint64,uint32)":"df89b3fc","relationRule(uint64)":"9e490e90","relationSnapshot(uint64,uint32)":"eab25c41","relationSota(uint64)":"52393e1a","relationStatus(uint64[])":"3dae8c28","relationTouch(uint64)":"418239fb","relationTransfer(uint64,address)":"a926f041","relationUpdate(uint64,bytes32)":"5634ad14","relationUpdate(uint64,bytes32,(uint16,uint48)[])":"c9e2a1fb","relationUpgrade(uint64,uint32,uint32)":"954fc712","revokeFrom(uint128,uint32)":"ebeecfa3","revokeTo(uint128,uint32)":"876993ca","unrelate(uint256,uint64,uint256)":"2aead726"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"GrantFrom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"GrantTo\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"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\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"arc\",\"type\":\"uint256\"}],\"name\":\"Related\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"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\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"arcs\",\"type\":\"uint256[]\"}],\"name\":\"Related\",\"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\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"code\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"relateShift\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationTerminator\",\"name\":\"terminator\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"unrelateShift\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unrelateDelay\",\"type\":\"uint64\"},{\"internalType\":\"bytes20\",\"name\":\"extra\",\"type\":\"bytes20\"}],\"indexed\":false,\"internalType\":\"struct RelationRule\",\"name\":\"rule\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"degs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"indexed\":false,\"internalType\":\"struct Adjacency[]\",\"name\":\"adjs\",\"type\":\"tuple[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RelationRegistered\",\"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\":\"desc\",\"type\":\"tuple\"}],\"name\":\"RelationTouched\",\"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\":\"RelationTransferred\",\"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\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"RelationUpdated\",\"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\":\"desc\",\"type\":\"tuple\"}],\"name\":\"RelationUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"RevokeFrom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"RevokeTo\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"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\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"arc\",\"type\":\"uint256\"}],\"name\":\"Unrelated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"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\":\"desc\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"arcs\",\"type\":\"uint256[]\"}],\"name\":\"Unrelated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"headKind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"headSet\",\"type\":\"uint64\"}],\"name\":\"allowFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tailKind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"tailSet\",\"type\":\"uint64\"}],\"name\":\"allowTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"grantFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"id\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationInitiator\",\"name\":\"initiator\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"reserved\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"set\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"extra\",\"type\":\"bytes32\"}],\"internalType\":\"struct RelationGrant\",\"name\":\"grant\",\"type\":\"tuple\"}],\"name\":\"grantTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tail\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"head\",\"type\":\"uint256\"}],\"name\":\"relate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"kind\",\"type\":\"uint64\"}],\"name\":\"relationAdmit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"admit\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"effKind\",\"type\":\"uint48\"},{\"internalType\":\"uint16\",\"name\":\"effDegs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"totalKind\",\"type\":\"uint48\"},{\"internalType\":\"uint16\",\"name\":\"totalDegs\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"relationDescriptor\",\"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\":\"desc\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"code\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"relateShift\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationTerminator\",\"name\":\"terminator\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"unrelateShift\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unrelateDelay\",\"type\":\"uint64\"},{\"internalType\":\"bytes20\",\"name\":\"extra\",\"type\":\"bytes20\"}],\"internalType\":\"struct RelationRule\",\"name\":\"rule\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"degs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"internalType\":\"struct Adjacency[]\",\"name\":\"adjs\",\"type\":\"tuple[]\"}],\"name\":\"relationRegister\",\"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\":\"desc\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"relationRevision\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"rev\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationRule\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"relateShift\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationTerminator\",\"name\":\"terminator\",\"type\":\"uint8\"},{\"internalType\":\"enum RelationOwnerShift\",\"name\":\"unrelateShift\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unrelateDelay\",\"type\":\"uint64\"},{\"internalType\":\"bytes20\",\"name\":\"extra\",\"type\":\"bytes20\"}],\"internalType\":\"struct RelationRule\",\"name\":\"rule\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"rev0\",\"type\":\"uint32\"}],\"name\":\"relationSnapshot\",\"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\":\"desc\",\"type\":\"tuple\"},{\"internalType\":\"bytes32[]\",\"name\":\"elems\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationSota\",\"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\":\"desc\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64[]\",\"name\":\"ids\",\"type\":\"uint64[]\"}],\"name\":\"relationStatus\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"}],\"name\":\"relationTouch\",\"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\":\"desc\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"relationTransfer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"relationUpdate\",\"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\":\"desc\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"degs\",\"type\":\"uint16\"},{\"internalType\":\"uint48\",\"name\":\"kind\",\"type\":\"uint48\"}],\"internalType\":\"struct Adjacency[]\",\"name\":\"adjs\",\"type\":\"tuple[]\"}],\"name\":\"relationUpdate\",\"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\":\"desc\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"kindRev\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"setRev\",\"type\":\"uint32\"}],\"name\":\"relationUpgrade\",\"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\":\"desc\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"tail\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"revokeFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"head\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"grantId\",\"type\":\"uint32\"}],\"name\":\"revokeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tail\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rel\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"head\",\"type\":\"uint256\"}],\"name\":\"unrelate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"GrantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant definition\",\"tail\":\"Tail object ID (initiator)\"}},\"GrantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant definition\",\"head\":\"Head object ID (receiver)\"}},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"params\":{\"arc\":\"Encoded incoming arc\",\"desc\":\"Descriptor of the head after the relation\",\"head\":\"Encoded SID of the head object\"}},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"params\":{\"arcs\":\"Array of encoded incoming arcs\",\"desc\":\"Descriptor of the head after the relations\",\"head\":\"Encoded SID of the head object\"}},\"RelationRegistered(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[],address)\":{\"params\":{\"adjs\":\"List of admitted tail kinds and degree constraints\",\"code\":\"Optional logic contract address\",\"data\":\"Hash of the associated metadata or logic\",\"desc\":\"Descriptor of the relation\",\"id\":\"ID of the relation\",\"owner\":\"Address of the relation's owner\",\"rule\":\"Relation rule defining interaction logic\"}},\"RelationTouched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"desc\":\"Descriptor after touch\",\"id\":\"ID of the relation\"}},\"RelationTransferred(uint64,address,address)\":{\"params\":{\"from\":\"Previous owner\",\"id\":\"ID of the relation\",\"to\":\"New owner\"}},\"RelationUpdated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32)\":{\"params\":{\"data\":\"New data hash\",\"desc\":\"Updated descriptor\",\"id\":\"ID of the relation\"}},\"RelationUpgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"params\":{\"desc\":\"Descriptor after upgrade\",\"id\":\"ID of the relation\"}},\"RevokeFrom(uint128,uint32)\":{\"params\":{\"grantId\":\"ID of the revoked grant\",\"tail\":\"Tail object ID (initiator)\"}},\"RevokeTo(uint128,uint32)\":{\"params\":{\"grantId\":\"ID of the revoked grant\",\"head\":\"Head object ID (receiver)\"}},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"params\":{\"arc\":\"Encoded incoming arc\",\"desc\":\"Descriptor of the head after unlinking\",\"head\":\"Encoded SID of the head object\"}},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"params\":{\"arcs\":\"Array of encoded incoming arcs\",\"desc\":\"Descriptor of the head after unlinking\",\"head\":\"Encoded SID of the head object\"}}},\"kind\":\"dev\",\"methods\":{\"allowFrom(uint32,address,uint128,uint64,uint64,uint64)\":{\"params\":{\"grantId\":\"Grant ID to check\",\"headKind\":\"Kind ID of the target (head) object\",\"headSet\":\"Set ID of the target (head) object\",\"rel\":\"Relation ID\",\"sender\":\"Address attempting the action\",\"tail\":\"Tail object ID\"},\"returns\":{\"allowed\":\"True if authorized\"}},\"allowTo(uint32,address,uint128,uint64,uint64,uint64)\":{\"params\":{\"grantId\":\"Grant ID to check\",\"head\":\"Head object ID\",\"rel\":\"Relation ID\",\"sender\":\"Address attempting the action\",\"tailKind\":\"Kind ID of the source (tail) object\",\"tailSet\":\"Set ID of the source (tail) object\"},\"returns\":{\"allowed\":\"True if authorized\"}},\"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant details\",\"tail\":\"Tail object ID\"}},\"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"params\":{\"grant\":\"Grant details\",\"head\":\"Head object ID\"}},\"relate(uint256,uint64,uint256)\":{\"params\":{\"head\":\"Encoded head node\",\"rel\":\"Relation ID\",\"tail\":\"Encoded tail node\"}},\"relationAdmit(uint64,uint32,uint64)\":{\"params\":{\"id\":\"Relation ID\",\"kind\":\"Tail kind ID to evaluate\",\"rev\":\"Revision to check\"},\"returns\":{\"admit\":\"Whether the kind is admitted\",\"effDegs\":\"Degree bounds for the matched kind\",\"effKind\":\"Matched kind (0 = wildcard match)\",\"totalDegs\":\"Degree bounds for the total-kind\",\"totalKind\":\"Special marker for total-kind (2^48-1 if defined)\"}},\"relationDescriptor(uint64,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"rev0\":\"Revision to query (0 = latest)\"},\"returns\":{\"desc\":\"Descriptor at the specified revision\"}},\"relationOwner(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"owner\":\"Address of the current owner\"}},\"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])\":{\"params\":{\"adjs\":\"Array of tail kind admissibility and degree limits\",\"code\":\"Optional logic contract address\",\"data\":\"Hash of the relation\\u2019s associated data\",\"rule\":\"Rule defining the behavior and constraints of the relation\"},\"returns\":{\"desc\":\"Descriptor after registration\",\"id\":\"New relation ID\"}},\"relationRevision(uint64,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"rev0\":\"Requested revision (0 = latest)\"},\"returns\":{\"rev\":\"Validated revision (0 if not found)\"}},\"relationRule(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"rule\":\"Possession and linkage rule for the relation\"}},\"relationSnapshot(uint64,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"rev0\":\"Revision to query (0 = latest)\"},\"returns\":{\"desc\":\"Descriptor at the revision\",\"elems\":\"Elements at the revision\"}},\"relationSota(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"desc\":\"Latest descriptor\",\"owner\":\"Current owner\"}},\"relationStatus(uint64[])\":{\"params\":{\"ids\":\"Array of relation IDs\"},\"returns\":{\"active\":\"True if all are valid and active\"}},\"relationTouch(uint64)\":{\"params\":{\"id\":\"Relation ID\"},\"returns\":{\"desc\":\"Descriptor after touch\"}},\"relationTransfer(uint64,address)\":{\"params\":{\"id\":\"Relation ID\",\"to\":\"New owner address\"},\"returns\":{\"from\":\"Previous owner address\"}},\"relationUpdate(uint64,bytes32)\":{\"params\":{\"data\":\"New data hash\",\"id\":\"Relation ID\"},\"returns\":{\"desc\":\"Updated descriptor\"}},\"relationUpdate(uint64,bytes32,(uint16,uint48)[])\":{\"params\":{\"adjs\":\"New array of adjacency rules\",\"data\":\"New data hash\",\"id\":\"Relation ID\"},\"returns\":{\"desc\":\"Updated descriptor\"}},\"relationUpgrade(uint64,uint32,uint32)\":{\"params\":{\"id\":\"Relation ID\",\"kindRev\":\"New kind revision (0 = no change)\",\"setRev\":\"New set revision (0 = no change)\"},\"returns\":{\"desc\":\"Descriptor after upgrade\"}},\"revokeFrom(uint128,uint32)\":{\"params\":{\"grantId\":\"Grant ID to revoke\",\"tail\":\"Tail object ID\"}},\"revokeTo(uint128,uint32)\":{\"params\":{\"grantId\":\"Grant ID to revoke\",\"head\":\"Head object ID\"}},\"unrelate(uint256,uint64,uint256)\":{\"params\":{\"head\":\"Encoded head node\",\"rel\":\"Relation ID\",\"tail\":\"Encoded tail node\"}}},\"title\":\"IOmniRegistry\",\"version\":1},\"userdoc\":{\"events\":{\"GrantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Emitted when a grant is issued to authorize initiating a relation from a tail object\"},\"GrantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Emitted when a grant is issued to authorize accepting a relation to a head object\"},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"notice\":\"Emitted when a tail is linked to a head through a relation\"},\"Related(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"notice\":\"Emitted when multiple tails are linked to a head\"},\"RelationRegistered(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[],address)\":{\"notice\":\"Emitted when a new relation is registered\"},\"RelationTouched(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when a relation is touched (revision incremented without content change)\"},\"RelationTransferred(uint64,address,address)\":{\"notice\":\"Emitted when ownership of a relation is transferred\"},\"RelationUpdated(uint64,(uint32,uint32,uint32,uint32,uint64,uint64),bytes32)\":{\"notice\":\"Emitted when a relation is updated\"},\"RelationUpgraded(uint64,(uint32,uint32,uint32,uint32,uint64,uint64))\":{\"notice\":\"Emitted when a relation is upgraded (kind/set revision bumped)\"},\"RevokeFrom(uint128,uint32)\":{\"notice\":\"Emitted when a grant from a tail object is revoked\"},\"RevokeTo(uint128,uint32)\":{\"notice\":\"Emitted when a grant to a head object is revoked\"},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256)\":{\"notice\":\"Emitted when a tail is unlinked from a head\"},\"Unrelated(uint128,(uint32,uint32,uint32,uint32,uint64,uint64),uint256[])\":{\"notice\":\"Emitted when multiple tails are unlinked from a head\"}},\"kind\":\"user\",\"methods\":{\"allowFrom(uint32,address,uint128,uint64,uint64,uint64)\":{\"notice\":\"Checks whether a sender is authorized to initiate a relation from a tail object\"},\"allowTo(uint32,address,uint128,uint64,uint64,uint64)\":{\"notice\":\"Checks whether a sender is authorized to accept a relation to a head object\"},\"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Issues a grant to allow initiating relations from a tail object\"},\"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))\":{\"notice\":\"Issues a grant to allow accepting relations to a head object\"},\"relate(uint256,uint64,uint256)\":{\"notice\":\"Links a tail object to a head object through a relation\"},\"relationAdmit(uint64,uint32,uint64)\":{\"notice\":\"Checks if a relation admits a specific kind as tail\"},\"relationDescriptor(uint64,uint32)\":{\"notice\":\"Returns descriptor of a relation at a specific revision\"},\"relationOwner(uint64)\":{\"notice\":\"Gets the current owner of a relation\"},\"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])\":{\"notice\":\"Registers a new relation\"},\"relationRevision(uint64,uint32)\":{\"notice\":\"Resolves and validates a revision number\"},\"relationRule(uint64)\":{\"notice\":\"Returns the rule definition for a relation\"},\"relationSnapshot(uint64,uint32)\":{\"notice\":\"Returns descriptor and packed elements at a specific revision\"},\"relationSota(uint64)\":{\"notice\":\"Returns the latest descriptor and current owner of a relation\"},\"relationStatus(uint64[])\":{\"notice\":\"Checks whether all specified relations are active (rev > 0)\"},\"relationTouch(uint64)\":{\"notice\":\"Touches a relation (bumps revision without modifying content)\"},\"relationTransfer(uint64,address)\":{\"notice\":\"Transfers ownership of a relation to a new address\"},\"relationUpdate(uint64,bytes32)\":{\"notice\":\"Updates the data hash of a relation\"},\"relationUpdate(uint64,bytes32,(uint16,uint48)[])\":{\"notice\":\"Updates the data hash and adjacency configuration of a relation\"},\"relationUpgrade(uint64,uint32,uint32)\":{\"notice\":\"Upgrades the kind or set revision of a relation\"},\"revokeFrom(uint128,uint32)\":{\"notice\":\"Revokes a previously issued `from` grant\"},\"revokeTo(uint128,uint32)\":{\"notice\":\"Revokes a previously issued `to` grant\"},\"unrelate(uint256,uint64,uint256)\":{\"notice\":\"Unlinks a tail object from a head object\"}},\"notice\":\"Interface for object interactions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/core/IOmniRegistry.sol\":\"IOmniRegistry\"},\"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/core/IObjectAuthorization.sol\":{\"keccak256\":\"0x78fc70b92b4f65163df79f322e7c8f39a00ab1c365426b8d4abc2c287581910e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://35d6e57914e967476a3ba483d05ccfa6abf0e8a0405c2d9eba7708bfcb5bd355\",\"dweb:/ipfs/QmS6NxRTSaJg6FovQHvPzi6aqZGMKdeh3Ate6T661muHjJ\"]},\"contracts/interfaces/core/IObjectInteraction.sol\":{\"keccak256\":\"0xde050ef66ef30f0b01ccdef67a0cb8daef40475e4ea2a7e61ee3f69c9f02dea5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://60efee1ef9fd9e3b070804744de0d633e17fa074f572187dfef4d9fbce32d1f0\",\"dweb:/ipfs/QmRAyuoJ2SeKj5mUP5dXWyhiLmv4seihfXUQN25qg298Rn\"]},\"contracts/interfaces/core/IOmniRegistry.sol\":{\"keccak256\":\"0xa3c92da90cd34c07fb565addd3920c4811d0959dcbc1cf5998bc4356932ed001\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a40013eb1a630d5c1ef0ef4b067de91672f8df2a44b76af43d8bc8ac47b4e693\",\"dweb:/ipfs/QmeA4mjPkd8vWdCRMHfWg4CFgYR733Q98u8VcjmHc28MdV\"]},\"contracts/interfaces/core/IRelationRegistry.sol\":{\"keccak256\":\"0xcb2ec73180f5c2c4d89ee6f1cd3960aa53278936021432b09cf1799df13294ec\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://65e4442dbfc632c450f3793d96895178f7e70d9c784e2aa7c5d7eef69bf22e42\",\"dweb:/ipfs/QmfPzAm7QbYHbuB2Vf4sgE1JQ5muj9WRjkVXnYiQoFCy1f\"]},\"contracts/types/Descriptor.sol\":{\"keccak256\":\"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1\",\"dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT\"]},\"contracts/types/Relation.sol\":{\"keccak256\":\"0x8c714d5b0bbe95430b5ff529eec720c29f5f09071073f21e59db7bdc035a2a73\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7d935ee820a2e0e21eb041b3e61a1ae467b535ae09581195a8ca07a7cb309e79\",\"dweb:/ipfs/QmUgjpLg8YmScsCqaVLko43bagVCGuZ5R5Q1BGjQgCxTJk\"]},\"contracts/types/Token.sol\":{\"keccak256\":\"0x1a4ca38789517abd90a18e9555755b96bd9466d8b152fc871726186c81587481\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://16b4fa220db0b6be9aaab14eee64fdb58f820c4366cd642ed521a59378035090\",\"dweb:/ipfs/Qme3dhteY6tLAvMdZUqQT31ePvUZvigF5s1NCran3XW4Zt\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128","indexed":false},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}],"indexed":false}],"type":"event","name":"GrantFrom","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}],"indexed":false}],"type":"event","name":"GrantTo","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","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":"uint256","name":"arc","type":"uint256","indexed":false}],"type":"event","name":"Related","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","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":"uint256[]","name":"arcs","type":"uint256[]","indexed":false}],"type":"event","name":"Related","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","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":"address","name":"code","type":"address","indexed":false},{"internalType":"bytes32","name":"data","type":"bytes32","indexed":false},{"internalType":"struct RelationRule","name":"rule","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"relateShift","type":"uint8"},{"internalType":"enum RelationTerminator","name":"terminator","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"unrelateShift","type":"uint8"},{"internalType":"uint64","name":"unrelateDelay","type":"uint64"},{"internalType":"bytes20","name":"extra","type":"bytes20"}],"indexed":false},{"internalType":"struct Adjacency[]","name":"adjs","type":"tuple[]","components":[{"internalType":"uint16","name":"degs","type":"uint16"},{"internalType":"uint48","name":"kind","type":"uint48"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"RelationRegistered","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","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":"RelationTouched","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":"RelationTransferred","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","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":"data","type":"bytes32","indexed":false}],"type":"event","name":"RelationUpdated","anonymous":false},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64","indexed":false},{"internalType":"struct Descriptor","name":"desc","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":"RelationUpgraded","anonymous":false},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128","indexed":false},{"internalType":"uint32","name":"grantId","type":"uint32","indexed":false}],"type":"event","name":"RevokeFrom","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"uint32","name":"grantId","type":"uint32","indexed":false}],"type":"event","name":"RevokeTo","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","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":"uint256","name":"arc","type":"uint256","indexed":false}],"type":"event","name":"Unrelated","anonymous":false},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128","indexed":false},{"internalType":"struct Descriptor","name":"desc","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":"uint256[]","name":"arcs","type":"uint256[]","indexed":false}],"type":"event","name":"Unrelated","anonymous":false},{"inputs":[{"internalType":"uint32","name":"grantId","type":"uint32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint128","name":"tail","type":"uint128"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"headKind","type":"uint64"},{"internalType":"uint64","name":"headSet","type":"uint64"}],"stateMutability":"view","type":"function","name":"allowFrom","outputs":[{"internalType":"bool","name":"allowed","type":"bool"}]},{"inputs":[{"internalType":"uint32","name":"grantId","type":"uint32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint128","name":"head","type":"uint128"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"tailKind","type":"uint64"},{"internalType":"uint64","name":"tailSet","type":"uint64"}],"stateMutability":"view","type":"function","name":"allowTo","outputs":[{"internalType":"bool","name":"allowed","type":"bool"}]},{"inputs":[{"internalType":"uint128","name":"tail","type":"uint128"},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"grantFrom"},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128"},{"internalType":"struct RelationGrant","name":"grant","type":"tuple","components":[{"internalType":"uint32","name":"id","type":"uint32"},{"internalType":"uint8","name":"status","type":"uint8"},{"internalType":"enum RelationInitiator","name":"initiator","type":"uint8"},{"internalType":"uint16","name":"reserved","type":"uint16"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint64","name":"kind","type":"uint64"},{"internalType":"uint64","name":"set","type":"uint64"},{"internalType":"bytes32","name":"extra","type":"bytes32"}]}],"stateMutability":"nonpayable","type":"function","name":"grantTo"},{"inputs":[{"internalType":"uint256","name":"tail","type":"uint256"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint256","name":"head","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"relate"},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev","type":"uint32"},{"internalType":"uint64","name":"kind","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationAdmit","outputs":[{"internalType":"bool","name":"admit","type":"bool"},{"internalType":"uint48","name":"effKind","type":"uint48"},{"internalType":"uint16","name":"effDegs","type":"uint16"},{"internalType":"uint48","name":"totalKind","type":"uint48"},{"internalType":"uint16","name":"totalDegs","type":"uint16"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"relationDescriptor","outputs":[{"internalType":"struct Descriptor","name":"desc","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":"relationOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"code","type":"address"},{"internalType":"bytes32","name":"data","type":"bytes32"},{"internalType":"struct RelationRule","name":"rule","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"relateShift","type":"uint8"},{"internalType":"enum RelationTerminator","name":"terminator","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"unrelateShift","type":"uint8"},{"internalType":"uint64","name":"unrelateDelay","type":"uint64"},{"internalType":"bytes20","name":"extra","type":"bytes20"}]},{"internalType":"struct Adjacency[]","name":"adjs","type":"tuple[]","components":[{"internalType":"uint16","name":"degs","type":"uint16"},{"internalType":"uint48","name":"kind","type":"uint48"}]}],"stateMutability":"nonpayable","type":"function","name":"relationRegister","outputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"struct Descriptor","name":"desc","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":"relationRevision","outputs":[{"internalType":"uint32","name":"rev","type":"uint32"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"view","type":"function","name":"relationRule","outputs":[{"internalType":"struct RelationRule","name":"rule","type":"tuple","components":[{"internalType":"uint8","name":"version","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"relateShift","type":"uint8"},{"internalType":"enum RelationTerminator","name":"terminator","type":"uint8"},{"internalType":"enum RelationOwnerShift","name":"unrelateShift","type":"uint8"},{"internalType":"uint64","name":"unrelateDelay","type":"uint64"},{"internalType":"bytes20","name":"extra","type":"bytes20"}]}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint32","name":"rev0","type":"uint32"}],"stateMutability":"view","type":"function","name":"relationSnapshot","outputs":[{"internalType":"struct Descriptor","name":"desc","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":"relationSota","outputs":[{"internalType":"struct Descriptor","name":"desc","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":"uint64[]","name":"ids","type":"uint64[]"}],"stateMutability":"view","type":"function","name":"relationStatus","outputs":[{"internalType":"bool","name":"active","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"relationTouch","outputs":[{"internalType":"struct Descriptor","name":"desc","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":"relationTransfer","outputs":[{"internalType":"address","name":"from","type":"address"}]},{"inputs":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"bytes32","name":"data","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"relationUpdate","outputs":[{"internalType":"struct Descriptor","name":"desc","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":"bytes32","name":"data","type":"bytes32"},{"internalType":"struct Adjacency[]","name":"adjs","type":"tuple[]","components":[{"internalType":"uint16","name":"degs","type":"uint16"},{"internalType":"uint48","name":"kind","type":"uint48"}]}],"stateMutability":"nonpayable","type":"function","name":"relationUpdate","outputs":[{"internalType":"struct Descriptor","name":"desc","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":"kindRev","type":"uint32"},{"internalType":"uint32","name":"setRev","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"relationUpgrade","outputs":[{"internalType":"struct Descriptor","name":"desc","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":"uint128","name":"tail","type":"uint128"},{"internalType":"uint32","name":"grantId","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"revokeFrom"},{"inputs":[{"internalType":"uint128","name":"head","type":"uint128"},{"internalType":"uint32","name":"grantId","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"revokeTo"},{"inputs":[{"internalType":"uint256","name":"tail","type":"uint256"},{"internalType":"uint64","name":"rel","type":"uint64"},{"internalType":"uint256","name":"head","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unrelate"}],"devdoc":{"kind":"dev","methods":{"allowFrom(uint32,address,uint128,uint64,uint64,uint64)":{"params":{"grantId":"Grant ID to check","headKind":"Kind ID of the target (head) object","headSet":"Set ID of the target (head) object","rel":"Relation ID","sender":"Address attempting the action","tail":"Tail object ID"},"returns":{"allowed":"True if authorized"}},"allowTo(uint32,address,uint128,uint64,uint64,uint64)":{"params":{"grantId":"Grant ID to check","head":"Head object ID","rel":"Relation ID","sender":"Address attempting the action","tailKind":"Kind ID of the source (tail) object","tailSet":"Set ID of the source (tail) object"},"returns":{"allowed":"True if authorized"}},"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"params":{"grant":"Grant details","tail":"Tail object ID"}},"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"params":{"grant":"Grant details","head":"Head object ID"}},"relate(uint256,uint64,uint256)":{"params":{"head":"Encoded head node","rel":"Relation ID","tail":"Encoded tail node"}},"relationAdmit(uint64,uint32,uint64)":{"params":{"id":"Relation ID","kind":"Tail kind ID to evaluate","rev":"Revision to check"},"returns":{"admit":"Whether the kind is admitted","effDegs":"Degree bounds for the matched kind","effKind":"Matched kind (0 = wildcard match)","totalDegs":"Degree bounds for the total-kind","totalKind":"Special marker for total-kind (2^48-1 if defined)"}},"relationDescriptor(uint64,uint32)":{"params":{"id":"Relation ID","rev0":"Revision to query (0 = latest)"},"returns":{"desc":"Descriptor at the specified revision"}},"relationOwner(uint64)":{"params":{"id":"Relation ID"},"returns":{"owner":"Address of the current owner"}},"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])":{"params":{"adjs":"Array of tail kind admissibility and degree limits","code":"Optional logic contract address","data":"Hash of the relation’s associated data","rule":"Rule defining the behavior and constraints of the relation"},"returns":{"desc":"Descriptor after registration","id":"New relation ID"}},"relationRevision(uint64,uint32)":{"params":{"id":"Relation ID","rev0":"Requested revision (0 = latest)"},"returns":{"rev":"Validated revision (0 if not found)"}},"relationRule(uint64)":{"params":{"id":"Relation ID"},"returns":{"rule":"Possession and linkage rule for the relation"}},"relationSnapshot(uint64,uint32)":{"params":{"id":"Relation ID","rev0":"Revision to query (0 = latest)"},"returns":{"desc":"Descriptor at the revision","elems":"Elements at the revision"}},"relationSota(uint64)":{"params":{"id":"Relation ID"},"returns":{"desc":"Latest descriptor","owner":"Current owner"}},"relationStatus(uint64[])":{"params":{"ids":"Array of relation IDs"},"returns":{"active":"True if all are valid and active"}},"relationTouch(uint64)":{"params":{"id":"Relation ID"},"returns":{"desc":"Descriptor after touch"}},"relationTransfer(uint64,address)":{"params":{"id":"Relation ID","to":"New owner address"},"returns":{"from":"Previous owner address"}},"relationUpdate(uint64,bytes32)":{"params":{"data":"New data hash","id":"Relation ID"},"returns":{"desc":"Updated descriptor"}},"relationUpdate(uint64,bytes32,(uint16,uint48)[])":{"params":{"adjs":"New array of adjacency rules","data":"New data hash","id":"Relation ID"},"returns":{"desc":"Updated descriptor"}},"relationUpgrade(uint64,uint32,uint32)":{"params":{"id":"Relation ID","kindRev":"New kind revision (0 = no change)","setRev":"New set revision (0 = no change)"},"returns":{"desc":"Descriptor after upgrade"}},"revokeFrom(uint128,uint32)":{"params":{"grantId":"Grant ID to revoke","tail":"Tail object ID"}},"revokeTo(uint128,uint32)":{"params":{"grantId":"Grant ID to revoke","head":"Head object ID"}},"unrelate(uint256,uint64,uint256)":{"params":{"head":"Encoded head node","rel":"Relation ID","tail":"Encoded tail node"}}},"version":1},"userdoc":{"kind":"user","methods":{"allowFrom(uint32,address,uint128,uint64,uint64,uint64)":{"notice":"Checks whether a sender is authorized to initiate a relation from a tail object"},"allowTo(uint32,address,uint128,uint64,uint64,uint64)":{"notice":"Checks whether a sender is authorized to accept a relation to a head object"},"grantFrom(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"notice":"Issues a grant to allow initiating relations from a tail object"},"grantTo(uint128,(uint32,uint8,uint8,uint16,uint64,uint64,uint64,bytes32))":{"notice":"Issues a grant to allow accepting relations to a head object"},"relate(uint256,uint64,uint256)":{"notice":"Links a tail object to a head object through a relation"},"relationAdmit(uint64,uint32,uint64)":{"notice":"Checks if a relation admits a specific kind as tail"},"relationDescriptor(uint64,uint32)":{"notice":"Returns descriptor of a relation at a specific revision"},"relationOwner(uint64)":{"notice":"Gets the current owner of a relation"},"relationRegister(address,bytes32,(uint8,uint8,uint8,uint8,uint64,bytes20),(uint16,uint48)[])":{"notice":"Registers a new relation"},"relationRevision(uint64,uint32)":{"notice":"Resolves and validates a revision number"},"relationRule(uint64)":{"notice":"Returns the rule definition for a relation"},"relationSnapshot(uint64,uint32)":{"notice":"Returns descriptor and packed elements at a specific revision"},"relationSota(uint64)":{"notice":"Returns the latest descriptor and current owner of a relation"},"relationStatus(uint64[])":{"notice":"Checks whether all specified relations are active (rev > 0)"},"relationTouch(uint64)":{"notice":"Touches a relation (bumps revision without modifying content)"},"relationTransfer(uint64,address)":{"notice":"Transfers ownership of a relation to a new address"},"relationUpdate(uint64,bytes32)":{"notice":"Updates the data hash of a relation"},"relationUpdate(uint64,bytes32,(uint16,uint48)[])":{"notice":"Updates the data hash and adjacency configuration of a relation"},"relationUpgrade(uint64,uint32,uint32)":{"notice":"Upgrades the kind or set revision of a relation"},"revokeFrom(uint128,uint32)":{"notice":"Revokes a previously issued `from` grant"},"revokeTo(uint128,uint32)":{"notice":"Revokes a previously issued `to` grant"},"unrelate(uint256,uint64,uint256)":{"notice":"Unlinks a tail object from a head object"}},"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/core/IOmniRegistry.sol":"IOmniRegistry"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/interfaces/core/IObjectAuthorization.sol":{"keccak256":"0x78fc70b92b4f65163df79f322e7c8f39a00ab1c365426b8d4abc2c287581910e","urls":["bzz-raw://35d6e57914e967476a3ba483d05ccfa6abf0e8a0405c2d9eba7708bfcb5bd355","dweb:/ipfs/QmS6NxRTSaJg6FovQHvPzi6aqZGMKdeh3Ate6T661muHjJ"],"license":"BUSL-1.1"},"contracts/interfaces/core/IObjectInteraction.sol":{"keccak256":"0xde050ef66ef30f0b01ccdef67a0cb8daef40475e4ea2a7e61ee3f69c9f02dea5","urls":["bzz-raw://60efee1ef9fd9e3b070804744de0d633e17fa074f572187dfef4d9fbce32d1f0","dweb:/ipfs/QmRAyuoJ2SeKj5mUP5dXWyhiLmv4seihfXUQN25qg298Rn"],"license":"BUSL-1.1"},"contracts/interfaces/core/IOmniRegistry.sol":{"keccak256":"0xa3c92da90cd34c07fb565addd3920c4811d0959dcbc1cf5998bc4356932ed001","urls":["bzz-raw://a40013eb1a630d5c1ef0ef4b067de91672f8df2a44b76af43d8bc8ac47b4e693","dweb:/ipfs/QmeA4mjPkd8vWdCRMHfWg4CFgYR733Q98u8VcjmHc28MdV"],"license":"BUSL-1.1"},"contracts/interfaces/core/IRelationRegistry.sol":{"keccak256":"0xcb2ec73180f5c2c4d89ee6f1cd3960aa53278936021432b09cf1799df13294ec","urls":["bzz-raw://65e4442dbfc632c450f3793d96895178f7e70d9c784e2aa7c5d7eef69bf22e42","dweb:/ipfs/QmfPzAm7QbYHbuB2Vf4sgE1JQ5muj9WRjkVXnYiQoFCy1f"],"license":"BUSL-1.1"},"contracts/types/Descriptor.sol":{"keccak256":"0x37d21c3ba2b6fc1d92c0f90d4b5b9b6d8c9b16c9d36d769a7be93d16c0402fe4","urls":["bzz-raw://683a0796984d0e8a0ba15f01fa3ed8abfcd69d12f61b2eb84b7e3a41dfe48aa1","dweb:/ipfs/QmU4L5AFk9NzYtj8nXELhjhyGiCrZH4kycpdKWeJQir3bT"],"license":"BUSL-1.1"},"contracts/types/Relation.sol":{"keccak256":"0x8c714d5b0bbe95430b5ff529eec720c29f5f09071073f21e59db7bdc035a2a73","urls":["bzz-raw://7d935ee820a2e0e21eb041b3e61a1ae467b535ae09581195a8ca07a7cb309e79","dweb:/ipfs/QmUgjpLg8YmScsCqaVLko43bagVCGuZ5R5Q1BGjQgCxTJk"],"license":"BUSL-1.1"},"contracts/types/Token.sol":{"keccak256":"0x1a4ca38789517abd90a18e9555755b96bd9466d8b152fc871726186c81587481","urls":["bzz-raw://16b4fa220db0b6be9aaab14eee64fdb58f820c4366cd642ed521a59378035090","dweb:/ipfs/Qme3dhteY6tLAvMdZUqQT31ePvUZvigF5s1NCran3XW4Zt"],"license":"BUSL-1.1"}},"version":1},"id":31}