BevorResearch preview

Harness your smart contract security

Bevor gives your AI agents and tools a graph of execution paths. Findings stay in context between runs, so reviews can reuse earlier work and spend fewer tokens.

See how your agents impact your security posture.

Bevor gives agents a map of your codebase and the history of previous reviews. Your team can follow their runs, inspect findings, and contribute analysis that informs the next review.

From tools to a security reviewIllustrative workflow
Bevor harness
Security reviewEXAMPLE

Code in scope

Contracts and dependencies

Findings

Source, tool output, evidence

Team review

Notes and decisions

maincommit 3f8a2c1
AI agents

Agents get the code and earlier analysis they need for the review.

Follow a change beyond the diff.

Bevor compares execution paths between versions so you can see what needs another review. It keeps findings linked to unchanged paths and automatically invalidates them when the vulnerable path no longer exists.

Solidity code graph581 nodes · 1600 connections indexed
Example change setVault()

src/core/ImprintProv.sol

556 nodes in the example codebase’s largest connected component. The whole connected code graph, with the example changed function setVault identified by a blue ring and recorded findings marked in red.DEFAULT_ADMIN_ROLE · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol · State or value used by setVault()AccessControlStorage · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol_getAccessControlStorage · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.solonlyRole · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol · Direct call relationship with setVault()__AccessControl_init · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.solhasRole · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol_checkRole · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol_checkRole · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.solgetRoleAdmin · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.solgrantRole · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.solrevokeRole · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.solrenounceRole · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol_setRoleAdmin · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol_grantRole · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol_revokeRole · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.solAccessControlUpgradeable · lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol · Direct inheritance of the enclosing contractERC721Storage · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_getERC721Storage · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol__ERC721_init · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol__ERC721_init_unchained · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solbalanceOf · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solownerOf · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solname · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solsymbol · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.soltokenURI · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_baseURI · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solapprove · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solgetApproved · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solsetApprovalForAll · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solisApprovedForAll · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.soltransferFrom · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solsafeTransferFrom · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solsafeTransferFrom · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_ownerOf · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_getApproved · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_isAuthorized · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_checkAuthorized · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_increaseBalance · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_update · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_mint · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_safeMint · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_safeMint · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_burn · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_transfer · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_safeTransfer · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_approve · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_approve · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_setApprovalForAll · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol_requireOwned · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.solERC721Upgradeable · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol · Direct inheritance of the enclosing contractERC721EnumerableStorage · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol_getERC721EnumerableStorage · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.solERC721OutOfBoundsIndex · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.solERC721EnumerableForbiddenBatchMint · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol__ERC721Enumerable_init · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.soltokenOfOwnerByIndex · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.soltotalSupply · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.soltokenByIndex · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol_update · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol_addTokenToOwnerEnumeration · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol_addTokenToAllTokensEnumeration · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol_removeTokenFromOwnerEnumeration · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol_removeTokenFromAllTokensEnumeration · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol_increaseBalance · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.solERC721EnumerableUpgradeable · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol · Direct inheritance of the enclosing contract__ERC721Royalty_init · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721RoyaltyUpgradeable.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721RoyaltyUpgradeable.solERC721RoyaltyUpgradeable · lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721RoyaltyUpgradeable.solRoyaltyInfo · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.solERC2981Storage · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol_getERC2981Storage · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.solERC2981InvalidDefaultRoyalty · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.solERC2981InvalidDefaultRoyaltyReceiver · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.solERC2981InvalidTokenRoyalty · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.solERC2981InvalidTokenRoyaltyReceiver · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.solroyaltyInfo · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol_feeDenominator · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol_setDefaultRoyalty · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol_deleteDefaultRoyalty · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol_setTokenRoyalty · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol_resetTokenRoyalty · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.solERC2981Upgradeable · lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol_msgSender · lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.solContextUpgradeable · lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.solERC165Upgradeable · lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol_roles · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solDEFAULT_ADMIN_ROLE · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solonlyRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solhasRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.sol_checkRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.sol_checkRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solgetRoleAdmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solgrantRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solrevokeRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solrenounceRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.sol_setRoleAdmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.sol_grantRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.sol_revokeRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solAccessControl · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.solAccessControlUnauthorizedAccount · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solAccessControlBadConfirmation · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solRoleAdminChanged · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solRoleGranted · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solRoleRevoked · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solhasRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solgetRoleAdmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solgrantRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solrevokeRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solrenounceRole · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.solIAccessControl · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol_owner · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.solOwnableUnauthorizedAccount · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.solOwnableInvalidOwner · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.solOwnershipTransferred · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.solconstructor · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.solonlyOwner · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.soltransferOwnership · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.sol_transferOwnership · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.solOwnable · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.solIERC1967 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.solIERC2981 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.solMetadataUpdate · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.solBatchMetadataUpdate · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.solIERC4906 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol · Direct inheritance of the enclosing contractERC721InvalidOwner · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.solERC721NonexistentToken · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.solERC721IncorrectOwner · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.solERC721InvalidSender · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.solERC721InvalidReceiver · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.solERC721InsufficientApproval · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.solERC721InvalidApprover · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.solERC721InvalidOperator · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.solIERC721Errors · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.solERC1967ProxyUninitialized · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.solconstructor · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol_implementation · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.solERC1967Proxy · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.solERC1967InvalidImplementation · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solERC1967InvalidAdmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solERC1967InvalidBeacon · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solERC1967NonPayable · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solgetImplementation · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol_setImplementation · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solupgradeToAndCall · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solgetAdmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol_setAdmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solchangeAdmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solgetBeacon · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol_setBeacon · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solupgradeBeaconToAndCall · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol_checkNonPayable · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.solERC1967Utils · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol_fallback · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/Proxy.solProxy · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/Proxy.solIBeacon · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.solupgradeAndCall · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.solProxyAdmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.solITransparentUpgradeableProxy · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.solProxyDeniedAdminAccess · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.solconstructor · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol_proxyAdmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol_dispatchUpgradeToAndCall · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.solTransparentUpgradeableProxy · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.solInitializableStorage · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.solInvalidInitialization · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.solNotInitializing · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.solInitialized · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.solinitializer · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.solreinitializer · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.solonlyInitializing · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol_disableInitializers · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol_getInitializableStorage · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.solInitializable · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol · Direct inheritance of the enclosing contract_balances · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.solbalanceOf · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.soltokenURI · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.solapprove · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.solgetApproved · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.solsetApprovalForAll · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.solisApprovedForAll · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.soltransferFrom · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.solsafeTransferFrom · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_ownerOf · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_getApproved · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_isAuthorized · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_update · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_mint · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_safeMint · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_burn · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_transfer · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_safeTransfer · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_approve · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_setApprovalForAll · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol_requireOwned · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.solERC721 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.solTransfer · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.solApproval · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.solApprovalForAll · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.solbalanceOf · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.solsafeTransferFrom · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol · Direct call relationship with setVault()IERC721 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol · Direct call relationship with setVault()IERC721Receiver · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.solIERC721Enumerable · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.solIERC721Metadata · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.soltry · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.solcheckOnERC721Received · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.solERC721Utils · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.solAddressEmptyCode · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solfunctionCallWithValue · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solfunctionStaticCall · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solfunctionDelegateCall · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.solAddress · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sollastIndexOf · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.solslice · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.solsplice · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.solreplace · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.sol_unsafeReadBytesOffset · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.solBytes · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.sol_msgSender · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Context.solContext · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Context.solInsufficientBalance · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.solFailedCall · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.solErrors · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.solcallNoReturn · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/LowLevelCall.solreturnDataSize · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/LowLevelCall.solreturnData · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/LowLevelCall.solbubbleRevert · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/LowLevelCall.solLowLevelCall · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/LowLevelCall.solpanic · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Panic.solPanic · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Panic.solgetAddressSlot · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.solStorageSlot · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.solHEX_DIGITS · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.solStringsInsufficientHexLength · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.solStringsInvalidChar · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.solStringsInvalidAddressFormat · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.soltoString · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.soltoStringSigned · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.soltoHexString · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.soltoHexString · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.soltoHexString · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.solparseUint · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.soltryParseUint · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol_tryParseUintUncheckedBounds · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.solparseInt · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.soltryParseInt · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol_tryParseIntUncheckedBounds · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.solparseHexUint · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.soltryParseHexUint · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol_tryParseHexUintUncheckedBounds · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.solparseAddress · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.soltryParseAddress · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol_tryParseChr · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol_unsafeReadBytesOffset · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol_unsafeWriteBytesOffset · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.solStrings · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.solERC165 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.solsupportsInterface · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.solIERC165 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.solRounding · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.soltryAdd · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.soltrySub · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.soltryMul · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solsaturatingAdd · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solternary · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solmin · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solceilDiv · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solif · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solmulDiv · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solmulDiv · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solmulShr · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solmulShr · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solinvMod · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solmodExp · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solsqrt · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solsqrt · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sollog2 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sollog2 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sollog10 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sollog10 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sollog256 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sollog256 · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solunsignedRoundsUp · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solclz · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solMath · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.solSafeCastOverflowedUintDowncast · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.solSafeCastOverflowedIntToUint · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.solSafeCastOverflowedIntDowncast · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.solSafeCastOverflowedUintToInt · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.soltoUint · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.solSafeCast · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.solternary · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.solSignedMath · lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.solowner · src/admin/RelayController.solrelayer · src/admin/RelayController.solnftContract · src/admin/RelayController.solprovenanceContract · src/admin/RelayController.solvaultContract · src/admin/RelayController.solRelayerAdded · src/admin/RelayController.solRelayerRemoved · src/admin/RelayController.solContractsUpdated · src/admin/RelayController.solNotOwner · src/admin/RelayController.solNotRelayer · src/admin/RelayController.solif · src/admin/RelayController.solonlyOwner · src/admin/RelayController.solif · src/admin/RelayController.solonlyRelayer · src/admin/RelayController.solconstructor · src/admin/RelayController.solinitialize · src/admin/RelayController.soladdRelayer · src/admin/RelayController.solremoveRelayer · src/admin/RelayController.solsetContracts · src/admin/RelayController.soltransferOwnership · src/admin/RelayController.solexecuteMint · src/admin/RelayController.solexecuteMintProvenance · src/admin/RelayController.solif · src/admin/RelayController.solexecuteBurn · src/admin/RelayController.solconditional · src/admin/RelayController.solexecuteVault · src/admin/RelayController.solconditional · src/admin/RelayController.solexecuteRelease · src/admin/RelayController.solRelayController · src/admin/RelayController.solsafeTransferFrom · src/admin/RelayController.solIERC721Like · src/admin/RelayController.solMINTER_ROLE · src/core/ImprintProv.solBURNER_ROLE · src/core/ImprintProv.solCONTROLLER_ROLE · src/core/ImprintProv.solvault · src/core/ImprintProv.sol · State or value used by setVault()nftContract · src/core/ImprintProv.sol_baseURIextended · src/core/ImprintProv.solOPERATOR_ROLE · src/admin/ImprintVault.sol · State or value used by setVault()_tokenURIs · src/core/ImprintProv.sol_unlocked · src/core/ImprintProv.sol_nameOverride · src/core/ImprintProv.sol_symbolOverride · src/core/ImprintProv.solTokenUnlocked · src/core/ImprintProv.solTokenReleased · src/admin/ImprintVault.sol · Direct call relationship with setVault()VaultUpdated · src/core/ImprintProv.sol · Direct call relationship with setVault()EmergencyTransfer · src/admin/ImprintVault.solNFTContractUpdated · src/core/ImprintProv.solCollectionIdentityUpdated · src/core/ImprintProv.solTransferNotAllowed · src/core/ImprintProv.solTokenDoesNotExist · src/core/ImprintProv.solVaultNotSet · src/core/ImprintProv.solNFTContractNotSet · src/core/ImprintProv.solOneToOneDoesNotExist · src/core/ImprintProv.solAlreadyUnlocked · src/core/ImprintProv.soladdOperator · src/admin/ImprintVault.solconstructor · src/core/ImprintProv.sol · Recorded findingremoveOperator · src/admin/ImprintVault.solisAuthorized · src/admin/ImprintVault.solinitialize · src/core/ImprintProv.sol · Recorded findingsetVault · src/core/ImprintProv.sol · Recorded finding · Example changed functionsetNFTContract · src/core/ImprintProv.solsetCollectionIdentity · src/core/ImprintProv.solemergencyTransferAll · src/admin/ImprintVault.solsetBaseURI · src/core/ImprintProv.solonERC721Received · src/admin/ImprintVault.solif · src/core/ImprintProv.solsetTokenURI · src/core/ImprintProv.solsupportsInterface · src/admin/ImprintVault.sol__gap · src/admin/ImprintVault.solImprintVault · src/admin/ImprintVault.solif · src/core/ImprintProv.solif · src/core/ImprintProv.solmint · src/core/ImprintProv.solburn · src/core/ImprintProv.solif · src/core/ImprintProv.solif · src/core/ImprintProv.solpermanentlyUnlock · src/core/ImprintProv.solisUnlocked · src/core/ImprintProv.solgenerateProofOfIntegrity · src/core/ImprintProv.solverifyProofOfIntegrity · src/core/ImprintProv.solexists · src/core/ImprintProv.solif · src/core/ImprintProv.solif · src/core/ImprintProv.solif · src/core/ImprintProv.soltokenURI · src/core/ImprintProv.solif · src/core/ImprintProv.sol · Uses state written by setVault()if · src/core/ImprintProv.sol · Uses state written by setVault()if · src/core/ImprintProv.sol · Contains a read of state written by setVault()_update · src/core/ImprintProv.sol · Contains a read of state written by setVault()_increaseBalance · src/core/ImprintProv.sol_baseURI · src/core/ImprintProv.solconditional · src/core/ImprintProv.solname · src/core/ImprintProv.solconditional · src/core/ImprintProv.solsymbol · src/core/ImprintProv.solsupportsInterface · src/core/ImprintProv.sol__gap · src/core/ImprintProv.solImprintProv · src/core/ImprintProv.sol · Contract containing setVault()MINTER_ROLE · src/core/ImprintRWA.solBURNER_ROLE · src/core/ImprintRWA.solCONTROLLER_ROLE · src/core/ImprintRWA.solvault · src/core/ImprintRWA.sol_baseURIextended · src/core/ImprintRWA.sol_tokenURIs · src/core/ImprintRWA.sol_unlocked · src/core/ImprintRWA.sol_frozenMetadata · src/core/ImprintRWA.sol_nameOverride · src/core/ImprintRWA.sol_symbolOverride · src/core/ImprintRWA.solTokenUnlocked · src/core/ImprintRWA.solVaultUpdated · src/core/ImprintRWA.solCollectionIdentityUpdated · src/core/ImprintRWA.solTransferNotAllowed · src/core/ImprintRWA.solTokenDoesNotExist · src/core/ImprintRWA.solMetadataIsFrozen · src/core/ImprintRWA.solAlreadyUnlocked · src/core/ImprintRWA.solVaultNotSet · src/core/ImprintRWA.solconstructor · src/core/ImprintRWA.solif · src/core/ImprintRWA.solinitialize · src/core/ImprintRWA.solsetVault · src/core/ImprintRWA.solsetCollectionIdentity · src/core/ImprintRWA.solsetBaseURI · src/core/ImprintRWA.solif · src/core/ImprintRWA.solif · src/core/ImprintRWA.solsetTokenURI · src/core/ImprintRWA.solsetDefaultRoyalty · src/core/ImprintRWA.solsetTokenRoyalty · src/core/ImprintRWA.solmint · src/core/ImprintRWA.solburn · src/core/ImprintRWA.solif · src/core/ImprintRWA.solif · src/core/ImprintRWA.solpermanentlyUnlock · src/core/ImprintRWA.solisUnlocked · src/core/ImprintRWA.solgenerateProofOfIntegrity · src/core/ImprintRWA.solverifyProofOfIntegrity · src/core/ImprintRWA.solexists · src/core/ImprintRWA.solif · src/core/ImprintRWA.solif · src/core/ImprintRWA.solif · src/core/ImprintRWA.soltokenURI · src/core/ImprintRWA.solif · src/core/ImprintRWA.solif · src/core/ImprintRWA.solif · src/core/ImprintRWA.sol_update · src/core/ImprintRWA.sol_increaseBalance · src/core/ImprintRWA.sol_baseURI · src/core/ImprintRWA.solconditional · src/core/ImprintRWA.solname · src/core/ImprintRWA.solconditional · src/core/ImprintRWA.solsymbol · src/core/ImprintRWA.solsupportsInterface · src/core/ImprintRWA.sol__gap · src/core/ImprintRWA.solImprintRWA · src/core/ImprintRWA.solMINTER_ROLE · src/credentials/ImprintBadge.sol_nextTokenId · src/credentials/ImprintBadge.sol_badgeType · src/credentials/ImprintBadge.sol_walletBadge · src/credentials/ImprintBadge.solBadgeMinted · src/credentials/ImprintBadge.solBadgeRevoked · src/credentials/ImprintBadge.solAlreadyHasBadge · src/credentials/ImprintBadge.solBadgeNotHeld · src/credentials/ImprintBadge.solSoulboundTransferNotAllowed · src/credentials/ImprintBadge.solconstructor · src/credentials/ImprintBadge.solif · src/credentials/ImprintBadge.solmint · src/credentials/ImprintBadge.solif · src/credentials/ImprintBadge.solrevoke · src/credentials/ImprintBadge.solhasBadge · src/credentials/ImprintBadge.solgetBadgeTokenId · src/credentials/ImprintBadge.solgetBadgeType · src/credentials/ImprintBadge.solif · src/credentials/ImprintBadge.sol_update · src/credentials/ImprintBadge.solsupportsInterface · src/credentials/ImprintBadge.solImprintBadge · src/credentials/ImprintBadge.solmint · src/interfaces/IImprintBadge.solrevoke · src/interfaces/IImprintBadge.solhasBadge · src/interfaces/IImprintBadge.solgetBadgeTokenId · src/interfaces/IImprintBadge.solgetBadgeType · src/interfaces/IImprintBadge.solIImprintBadge · src/interfaces/IImprintBadge.solmint · src/interfaces/IImprintRWA.solburn · src/interfaces/IImprintRWA.solexists · src/interfaces/IImprintRWA.solisUnlocked · src/interfaces/IImprintRWA.solpermanentlyUnlock · src/interfaces/IImprintRWA.solsetVault · src/interfaces/IImprintRWA.solgenerateProofOfIntegrity · src/interfaces/IImprintRWA.solverifyProofOfIntegrity · src/interfaces/IImprintRWA.solIImprintRWA · src/interfaces/IImprintRWA.solreleaseToken · src/interfaces/IImprintVault.sol · Direct call relationship with setVault()emergencyTransferAll · src/interfaces/IImprintVault.solisAuthorized · src/interfaces/IImprintVault.solIImprintVault · src/interfaces/IImprintVault.solrequestRandomWords · src/modules/ImprintRaffle.solIVRFCoordinatorV2 · src/modules/ImprintRaffle.solRaffleState · src/modules/ImprintRaffle.solRaffle · src/modules/ImprintRaffle.solvrfCoordinator · src/modules/ImprintRaffle.solsubscriptionId · src/modules/ImprintRaffle.solkeyHash · src/modules/ImprintRaffle.solcallbackGasLimit · src/modules/ImprintRaffle.solREQUEST_CONFIRMATIONS · src/modules/ImprintRaffle.solvault · src/modules/ImprintRaffle.solraffleCount · src/modules/ImprintRaffle.solraffles · src/modules/ImprintRaffle.sol_requestToRaffle · src/modules/ImprintRaffle.solOPERATOR_ROLE · src/modules/ImprintRaffle.solRaffleCreated · src/modules/ImprintRaffle.solEntriesAdded · src/modules/ImprintRaffle.solDrawRequested · src/modules/ImprintRaffle.solWinnersSelected · src/modules/ImprintRaffle.solRaffleCancelled · src/modules/ImprintRaffle.solInvalidRaffleState · src/modules/ImprintRaffle.solNoEntries · src/modules/ImprintRaffle.solOnlyVRFCoordinator · src/modules/ImprintRaffle.solRaffleNotFound · src/modules/ImprintRaffle.solconstructor · src/modules/ImprintRaffle.solsetSubscriptionId · src/modules/ImprintRaffle.solsetKeyHash · src/modules/ImprintRaffle.solsetCallbackGasLimit · src/modules/ImprintRaffle.solsetVault · src/modules/ImprintRaffle.solcreateRaffle · src/modules/ImprintRaffle.solif · src/modules/ImprintRaffle.soladdEntries · src/modules/ImprintRaffle.solif · src/modules/ImprintRaffle.solif · src/modules/ImprintRaffle.solrequestDraw · src/modules/ImprintRaffle.solif · src/modules/ImprintRaffle.solcancelRaffle · src/modules/ImprintRaffle.solif · src/modules/ImprintRaffle.solif · src/modules/ImprintRaffle.solif · src/modules/ImprintRaffle.solrawFulfillRandomWords · src/modules/ImprintRaffle.solgetEntries · src/modules/ImprintRaffle.solgetWinners · src/modules/ImprintRaffle.solgetRaffleState · src/modules/ImprintRaffle.solImprintRaffle · src/modules/ImprintRaffle.sol

The connected codebase, with setVault() selected. Recorded findings stay visible in red.

Changed functionFindingsCallsShared stateInheritance

Follow the change

Calls, shared state, and inheritance connect the edited function to other code that may need review.

Keep findings attached

Recorded findings stay linked to their code as you explore a change and its dependencies.

Reuse matching analysis

When code and dependencies match, Bevor can reuse prior analysis, reducing repeated input and token use.

Keep the tools you trust.

Import findings from your agents and security tools, inspect them against the code, and work through the review with your team.

Product preview
~/my-protocolmain / 3f8a2c1
# Run your security tools
$ npx @openai/codex-security …
$ slither . --sarif slither.sarif

# Bring the reports into Bevor
$ bevor agent submit codex.sarif
$ bevor agent submit slither.sarif

2 reports imported · 3 findings staged

Ready for your team to review

Illustrative workflow. Commands abbreviated.

Read the CLI docs

For the people securing smart contracts.

Security researchers

Build a case for each finding.

Use earlier findings and analysis to guide audits and bug bounty research, and keep the evidence behind each finding linked to the code.

Protocol teams

Security at every stage of your protocol.

Build security into development, prepare for formal audits, and deploy with confidence. Keep findings and review history current as you investigate issues and assess upgrades after launch.

Blockchain ecosystems

Help your ecosystem review its code.

Give projects access to Bevor so their teams can coordinate security work with the tools and auditors they already use.

Talk through your security workflow with us.

Book a walkthrough with the team, or start with the docs.