Registry
0xcb6c1fa8…6ff665Source details
| Property | Value |
|---|---|
| Keccak256 Hash | 0xcb6c1fa88f25cc768a872653807808641d3e699291a176cdf5b1586ee06ff665 |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/58607494f7741b80525953e4a85bc99e66fd20fc/solidity/dysnomia/lib/registry.sol |
| Source Revision | 58607494f7741b80525953e4a85bc99e66fd20fc |
| Source Status | Canonical source snapshot; deployed bytecode equivalence is only established where a deployment record says so. |
| Compiler | solc 0.8.21; optimizer enabled with 200 runs |
| Compiler Configuration | {"evmVersion":"compiler-default","optimizer":{"enabled":true,"runs":200},"version":"0.8.21+commit.d9974bed.Linux.g++"} |
| Compilation Closure Hash | 0xdf0151f0e52fe945ffa98df4e294104aa2e67b3be693743118221dd861fb652d |
| Compilation Closure Files | 2 |
| Hash Generated | 2026-09-14T19:34:22Z |
Overview
Section titled “Overview”Registry is a flexible key-value storage contract supporting multiple data types. It provides a generic storage mechanism with type conversion utilities and ordered key tracking.
- Kind: Contract
- License: Sharia
- Solidity: ^0.8.21
- Source:
lib/registry.sol
Inheritance Chain (C3 Linearized)
Section titled “Inheritance Chain (C3 Linearized)”- self — Registry
- MultiOwnable
Immediate Parents
Section titled “Immediate Parents”What This Means For Players
Section titled “What This Means For Players”Plain English Summary: Registry is a general-purpose database that can store any type of data. It’s like a universal key-value storage locker where you can save information by name (key) and retrieve it later. The game uses it for various internal bookkeeping.
Real-World Analogy: Think of Registry like a safe deposit box facility at a bank. Each box has a unique number (key), and you can store whatever you want inside (value). You can check if a box exists, count how many boxes are used, and retrieve contents by box number.
How It Affects Your Gameplay:
- System storage - The game uses registries to store internal data
- No overwrites - Once data is stored, it can only be removed (not changed)
- Type flexible - Can store strings, numbers, or addresses with the same interface
State Variables
Section titled “State Variables”| Variable | Type | Visibility | Mutability | Initial Value | NatSpec |
|---|---|---|---|---|---|
_values |
mapping(bytes => bytes) |
private | mutable | `` | |
_inserted |
mapping(bytes => bool) |
private | mutable | `` | |
_indexOf |
mapping(bytes => uint256) |
private | mutable | `` | |
_keys |
bytes[] |
private | mutable | `` |
Constructor
Section titled “Constructor”constructor
Section titled “constructor”constructorconstructor
constructor() MultiOwnable(msg.sender)- Modifiers:
MultiOwnable(msg.sender)
Functions
Section titled “Functions”External & Public
Section titled “External & Public”Getfunction
function Get(bytes memory key) public view returns (bytes memory)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Parameters: bytes memory key
- Returns: bytes memory
Getfunction
function Get(uint256 idx) public view returns (bytes memory)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Parameters: uint256 idx
- Returns: bytes memory
Inserted
Section titled “Inserted”Insertedfunction
function Inserted(bytes memory what) public view returns (bool)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Parameters: bytes memory what
- Returns: bool
Inserted
Section titled “Inserted”Insertedfunction
function Inserted(string memory what) public view returns (bool)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Parameters: string memory what
- Returns: bool
Uint64ToBytes
Section titled “Uint64ToBytes”Uint64ToBytesfunction
function Uint64ToBytes(uint64 what) public pure returns (bytes memory _w)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: pure
- Parameters: uint64 what
- Returns: bytes memory _w
Inserted
Section titled “Inserted”Insertedfunction
function Inserted(uint64 what) public view returns (bool)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Parameters: uint64 what
- Returns: bool
Uint256ToBytes
Section titled “Uint256ToBytes”Uint256ToBytesfunction
function Uint256ToBytes(uint256 what) public pure returns (bytes memory _w)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: pure
- Parameters: uint256 what
- Returns: bytes memory _w
Inserted
Section titled “Inserted”Insertedfunction
function Inserted(uint256 what) public view returns (bool)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Parameters: uint256 what
- Returns: bool
AddressToBytes
Section titled “AddressToBytes”AddressToBytesfunction
function AddressToBytes(address what) public pure returns (bytes memory _w)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: pure
- Parameters: address what
- Returns: bytes memory _w
Inserted
Section titled “Inserted”Insertedfunction
function Inserted(address what) public view returns (bool)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Parameters: address what
- Returns: bool
Countfunction
function Count() public view returns (uint256)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Returns: uint256
GetHashByIndex
Section titled “GetHashByIndex”GetHashByIndexfunction
function GetHashByIndex(uint256 index) public view returns (bytes memory)A callable deployment has not been resolved for this reference.
- Visibility: public
- State Mutability: view
- Parameters: uint256 index
- Returns: bytes memory
Register
Section titled “Register”Registerfunction
function Register(bytes memory key, bytes memory value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: bytes memory key, bytes memory value
Register
Section titled “Register”Registerfunction
function Register(string memory _key, bytes memory value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: string memory _key, bytes memory value
Register
Section titled “Register”Registerfunction
function Register(string memory _key, string memory value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: string memory _key, string memory value
Register
Section titled “Register”Registerfunction
function Register(string memory _key, uint64 value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: string memory _key, uint64 value
Register
Section titled “Register”Registerfunction
function Register(string memory _key, uint256 value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: string memory _key, uint256 value
Register
Section titled “Register”Registerfunction
function Register(string memory _key, address value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: string memory _key, address value
Register
Section titled “Register”Registerfunction
function Register(uint64 _key, bytes memory value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint64 _key, bytes memory value
Register
Section titled “Register”Registerfunction
function Register(uint64 _key, string memory value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint64 _key, string memory value
Register
Section titled “Register”Registerfunction
function Register(uint64 _key, uint64 value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint64 _key, uint64 value
Register
Section titled “Register”Registerfunction
function Register(uint64 _key, uint256 value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint64 _key, uint256 value
Register
Section titled “Register”Registerfunction
function Register(uint64 _key, address value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint64 _key, address value
Register
Section titled “Register”Registerfunction
function Register(uint256 _key, bytes memory value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint256 _key, bytes memory value
Register
Section titled “Register”Registerfunction
function Register(uint256 _key, string memory value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint256 _key, string memory value
Register
Section titled “Register”Registerfunction
function Register(uint256 _key, uint64 value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint256 _key, uint64 value
Register
Section titled “Register”Registerfunction
function Register(uint256 _key, uint256 value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint256 _key, uint256 value
Register
Section titled “Register”Registerfunction
function Register(uint256 _key, address value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint256 _key, address value
Register
Section titled “Register”Registerfunction
function Register(address _key, bytes memory value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: address _key, bytes memory value
Register
Section titled “Register”Registerfunction
function Register(address _key, string memory value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: address _key, string memory value
Register
Section titled “Register”Registerfunction
function Register(address _key, uint64 value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: address _key, uint64 value
Register
Section titled “Register”Registerfunction
function Register(address _key, uint256 value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: address _key, uint256 value
Register
Section titled “Register”Registerfunction
function Register(address _key, address value) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: address _key, address value
Remove
Section titled “Remove”Removefunction
function Remove(bytes memory key) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: bytes memory key
Remove
Section titled “Remove”Removefunction
function Remove(string memory _key) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: string memory _key
Remove
Section titled “Remove”Removefunction
function Remove(uint64 _key) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint64 _key
Remove
Section titled “Remove”Removefunction
function Remove(uint256 _key) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: uint256 _key
Remove
Section titled “Remove”Removefunction
function Remove(address _key) public onlyOwnersA callable deployment has not been resolved for this reference.
- Visibility: public
- Modifiers:
onlyOwners - Parameters: address _key
Inherited Members
Section titled “Inherited Members”This contract inherits the members below from its parents. See each parent’s dedicated MD for full signatures, NatSpec, and semantics.
External & Public Functions
| Function | Signature | State Mutability |
|---|---|---|
owner |
function owner() external view virtual returns (address) |
view |
renounceOwnership |
function renounceOwnership(address toRemove) public virtual onlyOwners |
nonpayable |
addOwner |
function addOwner(address newOwner) public virtual onlyOwners |
nonpayable |
Internal Functions
| Function | Signature |
|---|---|
_checkOwner |
function _checkOwner() internal view virtual |
_changeOwnership |
function _changeOwnership(address cOwner, bool cState) internal virtual |
Events
| Event | Parameters |
|---|---|
OwnershipUpdate |
address indexed newOwner, bool indexed state |
Errors
| Error | Parameters |
|---|---|
OwnableUnauthorizedAccount |
address origin, address account, address what |
OwnableInvalidOwner |
address origin, address owner, address what |
Modifiers
| Modifier | Parameters |
|---|---|
onlyOwners |
(none) |
Utility Functions
Section titled “Utility Functions”Uint64ToBytes
Section titled “Uint64ToBytes”function Uint64ToBytes(uint64 what) public pure returns (bytes memory)- Description: Converts uint64 to 8-byte representation
- In Plain English: Prepare a 64-bit number for storage by converting it to the registry’s internal format. Required when storing Soul IDs or other numeric identifiers that need to be looked up later.
Uint256ToBytes
Section titled “Uint256ToBytes”function Uint256ToBytes(uint256 what) public pure returns (bytes memory)- Description: Converts uint256 to 32-byte representation
- In Plain English: Prepare a large number (like token amounts or Waat positions) for storage by converting it to the registry’s internal format.
AddressToBytes
Section titled “AddressToBytes”function AddressToBytes(address what) public pure returns (bytes memory)- Description: Converts address to 20-byte representation
- In Plain English: Prepare a contract or wallet address for storage by converting it to the registry’s internal format. Useful when indexing data by who owns it or where it came from.
Contract Interactions
Section titled “Contract Interactions”Depends On
Section titled “Depends On”- MultiOwnable - Access control
Depended On By
Section titled “Depended On By”- Any contract needing generic storage
Special Mechanisms
Section titled “Special Mechanisms”No Overwrites
Section titled “No Overwrites”Register only adds new keys - it won’t overwrite existing values:
if(!_inserted[key]) { _inserted[key] = true; _indexOf[key] = _keys.length; _values[key] = value; _keys.push(key);}Efficient Removal
Section titled “Efficient Removal”Remove uses swap-and-pop pattern to maintain array without gaps:
bytes memory lastKey = _keys[_keys.length - 1];_indexOf[lastKey] = index;_keys[index] = lastKey;_keys.pop();Type Agnostic Storage
Section titled “Type Agnostic Storage”Everything is stored as bytes internally. Type-specific overloads handle conversion:
- strings → bytes directly
- uint64 → 8 bytes (little-endian)
- uint256 → 32 bytes (little-endian)
- address → 20 bytes
Usage Pattern
Section titled “Usage Pattern”Registry registry = new Registry();
// Store valuesregistry.Register("myKey", "myValue");registry.Register("userId", uint64(12345));registry.Register(someAddress, "Alice");
// Check existencebool exists = registry.Inserted("myKey");
// Retrievebytes memory value = registry.Get("myKey");
// Iterateuint256 count = registry.Count();for(uint256 i = 0; i < count; i++) { bytes memory key = registry.GetHashByIndex(i); bytes memory val = registry.Get(i);}
// Removeregistry.Remove("myKey");Gas Considerations
Section titled “Gas Considerations”- Insert: O(1) plus mapping writes
- Get: O(1)
- Remove: O(1) due to swap-and-pop
- Count: O(1)
- Enumeration: O(n)
Inherited functions and getters (4)
Registry.addOwner(address newOwner)Simulate / call
A callable deployment has not been resolved for this reference.
Registry.owner(address cOwner)Read
A callable deployment has not been resolved for this reference.
Registry.owner()Read
A callable deployment has not been resolved for this reference.
Registry.renounceOwnership(address toRemove)Simulate / call
A callable deployment has not been resolved for this reference.
Compiled ABI
Section titled “Compiled ABI”The compiled ABI below is produced by solc 0.8.21 from the exact source bytes recorded in Source details. Consumers can paste it directly into ethers/web3/viem.
Click to expand JSON ABI
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "origin", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "what", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "origin", "type": "address" }, { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "what", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "state", "type": "bool" } ], "name": "OwnershipUpdate", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "what", "type": "address" } ], "name": "AddressToBytes", "outputs": [ { "internalType": "bytes", "name": "_w", "type": "bytes" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "Count", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "idx", "type": "uint256" } ], "name": "Get", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "key", "type": "bytes" } ], "name": "Get", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "GetHashByIndex", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "what", "type": "uint256" } ], "name": "Inserted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "what", "type": "uint64" } ], "name": "Inserted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "what", "type": "string" } ], "name": "Inserted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "what", "type": "address" } ], "name": "Inserted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "what", "type": "bytes" } ], "name": "Inserted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_key", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_key", "type": "uint64" }, { "internalType": "string", "name": "value", "type": "string" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_key", "type": "string" }, { "internalType": "bytes", "name": "value", "type": "bytes" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "key", "type": "bytes" }, { "internalType": "bytes", "name": "value", "type": "bytes" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_key", "type": "string" }, { "internalType": "address", "name": "value", "type": "address" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_key", "type": "string" }, { "internalType": "uint64", "name": "value", "type": "uint64" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_key", "type": "uint64" }, { "internalType": "address", "name": "value", "type": "address" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_key", "type": "address" }, { "internalType": "string", "name": "value", "type": "string" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_key", "type": "uint256" }, { "internalType": "string", "name": "value", "type": "string" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_key", "type": "address" }, { "internalType": "uint64", "name": "value", "type": "uint64" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_key", "type": "uint64" }, { "internalType": "bytes", "name": "value", "type": "bytes" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_key", "type": "uint64" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_key", "type": "string" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_key", "type": "address" }, { "internalType": "address", "name": "value", "type": "address" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_key", "type": "uint256" }, { "internalType": "address", "name": "value", "type": "address" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_key", "type": "uint64" }, { "internalType": "uint64", "name": "value", "type": "uint64" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_key", "type": "address" }, { "internalType": "bytes", "name": "value", "type": "bytes" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_key", "type": "string" }, { "internalType": "string", "name": "value", "type": "string" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_key", "type": "uint256" }, { "internalType": "bytes", "name": "value", "type": "bytes" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_key", "type": "uint256" }, { "internalType": "uint64", "name": "value", "type": "uint64" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_key", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Register", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "key", "type": "bytes" } ], "name": "Remove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_key", "type": "uint256" } ], "name": "Remove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_key", "type": "string" } ], "name": "Remove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_key", "type": "uint64" } ], "name": "Remove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_key", "type": "address" } ], "name": "Remove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "what", "type": "uint256" } ], "name": "Uint256ToBytes", "outputs": [ { "internalType": "bytes", "name": "_w", "type": "bytes" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "what", "type": "uint64" } ], "name": "Uint64ToBytes", "outputs": [ { "internalType": "bytes", "name": "_w", "type": "bytes" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "addOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "cOwner", "type": "address" } ], "name": "owner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "toRemove", "type": "address" } ], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }]