Overview
S Balance
S Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Cross-Chain Transactions
Loading...
Loading
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
Contract ABI
API[{"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
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in S
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.