Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SequenceRegistry
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
Yes with 20000 runs
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity ^0.8.0; import {ISequenceRegistry} from "../interfaces/ISequenceRegistry.sol"; /// @title SequenceRegistry /// @custom:security-contact [email protected] /// @author Euler Labs (https://www.eulerlabs.com/) /// @notice This contract maintains sequence counters associated with opaque designator strings. /// Each counter starts at 1. /// @dev Anybody can reserve a sequence ID. The only guarantee provided is that no two reservations for the same /// designator will get the same ID. contract SequenceRegistry is ISequenceRegistry { /// @dev Each designator maps to the previous sequence ID issued, or 0 if none were ever issued. mapping(string designator => uint256 lastSeqId) public counters; /// @notice A sequence ID has been reserved /// @param designator The opaque designator string /// @param id The reserved ID, which is unique per designator /// @param caller The msg.sender who reserved the ID event SequenceIdReserved(string designator, uint256 indexed id, address indexed caller); /// @inheritdoc ISequenceRegistry function reserveSeqId(string calldata designator) external returns (uint256) { uint256 seqId = ++counters[designator]; emit SequenceIdReserved(designator, seqId, msg.sender); return seqId; } }
// SPDX-License-Identifier: GPL-2.0-or-later pragma solidity >=0.8.0; /// @title ISequenceRegistry /// @custom:security-contact [email protected] /// @author Euler Labs (https://www.eulerlabs.com/) /// @notice Provides an interface for reserving sequence IDs. interface ISequenceRegistry { /// @notice Reserve an ID for a given designator /// @param designator An opaque string that corresponds to the sequence counter to be used /// @return Sequence ID function reserveSeqId(string calldata designator) external returns (uint256); }
{ "remappings": [ "lib/euler-price-oracle:@openzeppelin/contracts/=lib/euler-price-oracle/lib/openzeppelin-contracts/contracts/", "lib/native-token-transfers/evm:openzeppelin-contracts/contracts/=lib/native-token-transfers/evm/lib/openzeppelin-contracts/contracts/", "lib/euler-earn:@openzeppelin/=lib/euler-earn/lib/openzeppelin-contracts/", "lib/euler-earn:@openzeppelin-upgradeable/=lib/euler-earn/lib/openzeppelin-contracts-upgradeable/contracts/", "lib/euler-earn:ethereum-vault-connector/=lib/euler-earn/lib/ethereum-vault-connector/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/", "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", "ethereum-vault-connector/=lib/ethereum-vault-connector/src/", "evc/=lib/ethereum-vault-connector/src/", "evk/=lib/euler-vault-kit/src/", "evk-test/=lib/euler-vault-kit/test/", "euler-price-oracle/=lib/euler-price-oracle/src/", "euler-price-oracle-test/=lib/euler-price-oracle/test/", "fee-flow/=lib/fee-flow/src/", "reward-streams/=lib/reward-streams/src/", "@openzeppelin/=lib/openzeppelin-contracts/contracts/", "euler-earn/=lib/euler-earn/src/", "native-token-transfers/=lib/native-token-transfers/evm/src/", "@openzeppelin-upgradeable/=lib/euler-earn/lib/openzeppelin-contracts-upgradeable/contracts/", "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "@pendle/core-v2/=lib/euler-price-oracle/lib/pendle-core-v2-public/contracts/", "@pyth/=lib/euler-price-oracle/lib/pyth-sdk-solidity/", "@redstone/evm-connector/=lib/euler-price-oracle/lib/redstone-oracles-monorepo/packages/evm-connector/contracts/", "@solady/=lib/euler-price-oracle/lib/solady/src/", "@uniswap/v3-core/=lib/euler-price-oracle/lib/v3-core/", "@uniswap/v3-periphery/=lib/euler-price-oracle/lib/v3-periphery/", "ERC4626/=lib/euler-earn/lib/properties/lib/ERC4626/contracts/", "crytic-properties/=lib/euler-earn/lib/properties/contracts/", "ds-test/=lib/ethereum-vault-connector/lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", "euler-vault-kit/=lib/euler-vault-kit/", "forge-gas-snapshot/=lib/euler-vault-kit/lib/permit2/lib/forge-gas-snapshot/src/", "forge-std/=lib/forge-std/src/", "halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/", "layerzero-devtools/=lib/layerzero-devtools/packages/toolbox-foundry/src/", "layerzero-v2/=lib/layerzero-v2/", "openzeppelin/=lib/ethereum-vault-connector/lib/openzeppelin-contracts/contracts/", "pendle-core-v2-public/=lib/euler-price-oracle/lib/pendle-core-v2-public/contracts/", "permit2/=lib/euler-vault-kit/lib/permit2/", "properties/=lib/euler-earn/lib/properties/contracts/", "pyth-sdk-solidity/=lib/euler-price-oracle/lib/pyth-sdk-solidity/", "redstone-oracles-monorepo/=lib/euler-price-oracle/lib/", "solady/=lib/euler-price-oracle/lib/solady/src/", "solidity-bytes-utils/=lib/native-token-transfers/evm/lib/solidity-bytes-utils/contracts/", "solmate/=lib/fee-flow/lib/solmate/src/", "v3-core/=lib/euler-price-oracle/lib/v3-core/contracts/", "v3-periphery/=lib/euler-price-oracle/lib/v3-periphery/contracts/", "wormhole-solidity-sdk/=lib/native-token-transfers/evm/lib/wormhole-solidity-sdk/src/" ], "optimizer": { "enabled": true, "runs": 20000 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "cancun", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"designator","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"caller","type":"address"}],"name":"SequenceIdReserved","type":"event"},{"inputs":[{"internalType":"string","name":"designator","type":"string"}],"name":"counters","outputs":[{"internalType":"uint256","name":"lastSeqId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"designator","type":"string"}],"name":"reserveSeqId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b506103638061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80632b0cb55e1461003857806357cedf401461005d575b5f80fd5b61004b610046366004610114565b610087565b60405190815260200160405180910390f35b61004b61006b3660046101ad565b80516020818301810180515f8252928201919093012091525481565b5f805f848460405161009a929190610276565b90815260200160405180910390205f81546100b490610285565b91905081905590503373ffffffffffffffffffffffffffffffffffffffff16817f0d86caf31c60e8930bb317807498caf621639c94c6a4008b7447e34ee9bc8ada86866040516101059291906102e1565b60405180910390a39392505050565b5f8060208385031215610125575f80fd5b823567ffffffffffffffff8082111561013c575f80fd5b818501915085601f83011261014f575f80fd5b81358181111561015d575f80fd5b86602082850101111561016e575f80fd5b60209290920196919550909350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f602082840312156101bd575f80fd5b813567ffffffffffffffff808211156101d4575f80fd5b818401915084601f8301126101e7575f80fd5b8135818111156101f9576101f9610180565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561023f5761023f610180565b81604052828152876020848701011115610257575f80fd5b826020860160208301375f928101602001929092525095945050505050565b818382375f9101908152919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036102da577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b60208152816020820152818360408301375f818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010191905056fea26469706673582212207f7798bcb3168572daed49ae9fb1166d8eedb370e2042518a371a799614b609264736f6c63430008180033
Deployed Bytecode
0x608060405234801561000f575f80fd5b5060043610610034575f3560e01c80632b0cb55e1461003857806357cedf401461005d575b5f80fd5b61004b610046366004610114565b610087565b60405190815260200160405180910390f35b61004b61006b3660046101ad565b80516020818301810180515f8252928201919093012091525481565b5f805f848460405161009a929190610276565b90815260200160405180910390205f81546100b490610285565b91905081905590503373ffffffffffffffffffffffffffffffffffffffff16817f0d86caf31c60e8930bb317807498caf621639c94c6a4008b7447e34ee9bc8ada86866040516101059291906102e1565b60405180910390a39392505050565b5f8060208385031215610125575f80fd5b823567ffffffffffffffff8082111561013c575f80fd5b818501915085601f83011261014f575f80fd5b81358181111561015d575f80fd5b86602082850101111561016e575f80fd5b60209290920196919550909350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f602082840312156101bd575f80fd5b813567ffffffffffffffff808211156101d4575f80fd5b818401915084601f8301126101e7575f80fd5b8135818111156101f9576101f9610180565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561023f5761023f610180565b81604052828152876020848701011115610257575f80fd5b826020860160208301375f928101602001929092525095945050505050565b818382375f9101908152919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036102da577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b60208152816020820152818360408301375f818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010191905056fea26469706673582212207f7798bcb3168572daed49ae9fb1166d8eedb370e2042518a371a799614b609264736f6c63430008180033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.