Overview
XDAI Balance
XDAI Value
$0.00Latest 1 from a total of 1 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Set Mech Marketp... | 38662375 | 338 days ago | IN | 0 XDAI | 0.00005577 |
View more zero value Internal Transactions in Advanced View mode
Cross-Chain Transactions
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xD7Dd95c9...b281D45b8 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
KarmaProxy
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 1000000 runs
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.28; /// @dev Zero implementation address. error ZeroImplementationAddress(); /// @dev Zero karma data. error ZeroKarmaData(); /// @dev Proxy initialization failed. error InitializationFailed(); /* * This is a Karma proxy contract. * Proxy implementation is created based on the Universal Upgradeable Proxy Standard (UUPS) EIP-1822. * The implementation address must be located in a unique storage slot of the proxy contract. * The upgrade logic must be located in the implementation contract. * Special karma implementation address slot is produced by hashing the "KARMA_PROXY" * string in order to make the slot unique. * The fallback() implementation for all the delegatecall-s is inspired by the Gnosis Safe set of contracts. */ /// @title KarmaProxy - Smart contract for karma proxy /// @author Aleksandr Kuperman - <[email protected]> /// @author Andrey Lebedev - <[email protected]> /// @author Mariapia Moscatiello - <[email protected]> contract KarmaProxy { // Code position in storage is keccak256("KARMA_PROXY") = "0x1e4b6d67098d4183ce03b91c95f9376a98c5440ec22f2cf171d6dca04a5a29d8" bytes32 public constant KARMA_PROXY = 0x1e4b6d67098d4183ce03b91c95f9376a98c5440ec22f2cf171d6dca04a5a29d8; /// @dev KarmaProxy constructor. /// @param implementation Karma implementation address. /// @param karmaData Karma initialization data. constructor(address implementation, bytes memory karmaData) { // Check for the zero address, since the delegatecall works even with the zero one if (implementation == address(0)) { revert ZeroImplementationAddress(); } // Check for the zero data if (karmaData.length == 0) { revert ZeroKarmaData(); } // Store the karma implementation address assembly { sstore(KARMA_PROXY, implementation) } // Initialize proxy tokenomics storage (bool success, ) = implementation.delegatecall(karmaData); if (!success) { revert InitializationFailed(); } } /// @dev Delegatecall to all the incoming data. fallback() external { assembly { let implementation := sload(KARMA_PROXY) calldatacopy(0, 0, calldatasize()) let success := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) if eq(success, 0) { revert(0, returndatasize()) } return(0, returndatasize()) } } /// @dev Gets the implementation address. /// @return implementation Implementation address. function getImplementation() external view returns (address implementation) { // solhint-disable-next-line avoid-low-level-calls assembly { implementation := sload(KARMA_PROXY) } } }
{
"optimizer": {
"enabled": true,
"runs": 1000000
},
"evmVersion": "cancun",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"metadata": {
"useLiteralContent": true
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"bytes","name":"karmaData","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InitializationFailed","type":"error"},{"inputs":[],"name":"ZeroImplementationAddress","type":"error"},{"inputs":[],"name":"ZeroKarmaData","type":"error"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"KARMA_PROXY","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
0x608060405234801561000f575f5ffd5b5060405161034438038061034483398101604081905261002e9161012d565b6001600160a01b0382166100555760405163d02c623d60e01b815260040160405180910390fd5b80515f0361007657604051630113854b60e61b815260040160405180910390fd5b817f1e4b6d67098d4183ce03b91c95f9376a98c5440ec22f2cf171d6dca04a5a29d8555f826001600160a01b0316826040516100b291906101fc565b5f60405180830381855af49150503d805f81146100ea576040519150601f19603f3d011682016040523d82523d5f602084013e6100ef565b606091505b505090508061011157604051630337323560e31b815260040160405180910390fd5b505050610212565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561013e575f5ffd5b82516001600160a01b0381168114610154575f5ffd5b60208401519092506001600160401b0381111561016f575f5ffd5b8301601f8101851361017f575f5ffd5b80516001600160401b0381111561019857610198610119565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101c6576101c6610119565b6040528181528282016020018710156101dd575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b6101258061021f5f395ff3fe6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063aaf10f42146070578063fc3aecd01460bc575b7f1e4b6d67098d4183ce03b91c95f9376a98c5440ec22f2cf171d6dca04a5a29d854365f5f375f5f365f845af490503d5f5f3e80606b573d5ffd5b503d5ff35b7f1e4b6d67098d4183ce03b91c95f9376a98c5440ec22f2cf171d6dca04a5a29d85460405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b60e27f1e4b6d67098d4183ce03b91c95f9376a98c5440ec22f2cf171d6dca04a5a29d881565b60405190815260200160b356fea26469706673582212200379ea759833b3f61cbc782b89307b78c478ea4aa7554d50901f54573747fc9c64736f6c634300081c0033000000000000000000000000e3fd2799dbe6847b9161229e7f346f73b270e6a4000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000048129fc1c00000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063aaf10f42146070578063fc3aecd01460bc575b7f1e4b6d67098d4183ce03b91c95f9376a98c5440ec22f2cf171d6dca04a5a29d854365f5f375f5f365f845af490503d5f5f3e80606b573d5ffd5b503d5ff35b7f1e4b6d67098d4183ce03b91c95f9376a98c5440ec22f2cf171d6dca04a5a29d85460405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b60e27f1e4b6d67098d4183ce03b91c95f9376a98c5440ec22f2cf171d6dca04a5a29d881565b60405190815260200160b356fea26469706673582212200379ea759833b3f61cbc782b89307b78c478ea4aa7554d50901f54573747fc9c64736f6c634300081c0033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in XDAI
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
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.