Token GoodDollar

Overview ERC20

Price
$0.00 @ 0.000000 CELO
Fully Diluted Market Cap
Total Supply:
651,125,081.958072 G$

Holders:
79,872 addresses
Contract:
0x62b8b11039fcfe5ab0c56e502b1c372a3d2a9c7a0x62B8B11039FcfE5aB0C56E502b1C372A3d2a9c7A

Decimals:
18

Social Profiles:
Not Available, Update ?

Balance
1,990.460607494351288756 G$

Value
$0.00
0xbbe9036b1de229593e24f0902f7d3b6c426f677d
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

Click here to update the token ICO / general information
# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x61FA0fB802fd8345C06da558240E0651886fec69

Contract Name:
UUPSProxy

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 0 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-01-15
*/

// Sources flattened with hardhat v2.12.4 https://hardhat.org

// File contracts/upgradability/UUPSUtils.sol

// SPDX-License-Identifier: AGPLv3
pragma solidity 0.8.16;

/**
 * @title UUPS (Universal Upgradeable Proxy Standard) Shared Library
 */
library UUPSUtils {
	/**
	 * @dev Implementation slot constant.
	 * Using https://eips.ethereum.org/EIPS/eip-1967 standard
	 * Storage slot 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
	 * (obtained as bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)).
	 */
	bytes32 internal constant _IMPLEMENTATION_SLOT =
		0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

	/// @dev Get implementation address.
	function implementation() internal view returns (address impl) {
		assembly {
			// solium-disable-line
			impl := sload(_IMPLEMENTATION_SLOT)
		}
	}

	/// @dev Set new implementation address.
	function setImplementation(address codeAddress) internal {
		assembly {
			// solium-disable-line
			sstore(_IMPLEMENTATION_SLOT, codeAddress)
		}
	}
}

// File @openzeppelin/contracts/proxy/[email protected]

/**
 * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
 * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
 * be specified by overriding the virtual {_implementation} function.
 *
 * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
 * different contract through the {_delegate} function.
 *
 * The success and return data of the delegated call will be returned back to the caller of the proxy.
 */
abstract contract Proxy {
	/**
	 * @dev Delegates the current call to `implementation`.
	 *
	 * This function does not return to its internal call site, it will return directly to the external caller.
	 */
	function _delegate(address implementation) internal virtual {
		assembly {
			// Copy msg.data. We take full control of memory in this inline assembly
			// block because it will not return to Solidity code. We overwrite the
			// Solidity scratch pad at memory position 0.
			calldatacopy(0, 0, calldatasize())

			// Call the implementation.
			// out and outsize are 0 because we don't know the size yet.
			let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

			// Copy the returned data.
			returndatacopy(0, 0, returndatasize())

			switch result
			// delegatecall returns 0 on error.
			case 0 {
				revert(0, returndatasize())
			}
			default {
				return(0, returndatasize())
			}
		}
	}

	/**
	 * @dev This is a virtual function that should be overridden so it returns the address to which the fallback function
	 * and {_fallback} should delegate.
	 */
	function _implementation() internal view virtual returns (address);

	/**
	 * @dev Delegates the current call to the address returned by `_implementation()`.
	 *
	 * This function does not return to its internal call site, it will return directly to the external caller.
	 */
	function _fallback() internal virtual {
		_beforeFallback();
		_delegate(_implementation());
	}

	/**
	 * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other
	 * function in the contract matches the call data.
	 */
	fallback() external payable virtual {
		_fallback();
	}

	/**
	 * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data
	 * is empty.
	 */
	receive() external payable virtual {
		_fallback();
	}

	/**
	 * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`
	 * call, or as part of the Solidity `fallback` or `receive` functions.
	 *
	 * If overridden should call `super._beforeFallback()`.
	 */
	function _beforeFallback() internal virtual {}
}

// File contracts/upgradability/UUPSProxy.sol

/**
 * @title UUPS (Universal Upgradeable Proxy Standard) Proxy
 *
 * NOTE:
 * - Compliant with [Universal Upgradeable Proxy Standard](https://eips.ethereum.org/EIPS/eip-1822)
 * - Compiiant with [Standard Proxy Storage Slots](https://eips.ethereum.org/EIPS/eip-1967)
 * - Implements delegation of calls to other contracts, with proper forwarding of
 *   return values and bubbling of failures.
 * - It defines a fallback function that delegates all calls to the implementation.
 */
contract UUPSProxy is Proxy {
	/**
	 * @dev Proxy initialization function.
	 *      This should only be called once and it is permission-less.
	 * @param initialAddress Initial logic contract code address to be used.
	 */
	function initializeProxy(address initialAddress) external {
		require(initialAddress != address(0), "UUPSProxy: zero address");
		require(
			UUPSUtils.implementation() == address(0),
			"UUPSProxy: already initialized"
		);
		UUPSUtils.setImplementation(initialAddress);
	}

	/// @dev Proxy._implementation implementation
	function _implementation() internal view virtual override returns (address) {
		return UUPSUtils.implementation();
	}
}

Contract Security Audit

Contract ABI

[{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"initialAddress","type":"address"}],"name":"initializeProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b50610205806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f61005436600461017f565b61006b565b610069610064610139565b610148565b565b6001600160a01b0381166100c05760405162461bcd60e51b81526020600482015260176024820152765555505350726f78793a207a65726f206164647265737360481b60448201526064015b60405180910390fd5b60006100ca61016c565b6001600160a01b0316146101205760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100b7565b610136816000805160206101b083398151915255565b50565b600061014361016c565b905090565b3660008037600080366000845af43d6000803e808015610167573d6000f35b3d6000fd5b6000805160206101b08339815191525490565b60006020828403121561019157600080fd5b81356001600160a01b03811681146101a857600080fd5b939250505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212207c33c3974a940a4eeeb4a7bd07086a7abf0876a8f9ebb856a5a88983d041b07064736f6c63430008100033

Deployed ByteCode Sourcemap

4583:685:0:-:0;;;;;;;;;;;;;;;;;;;;;;;3703:11;:9;:11::i;:::-;4583:685;;3496:11;:9;:11::i;4812:281::-;;;;;;;;;;-1:-1:-1;4812:281:0;;;;;:::i;:::-;;:::i;3169:98::-;3234:28;3244:17;:15;:17::i;:::-;3234:9;:28::i;:::-;3169:98::o;4812:281::-;-1:-1:-1;;;;;4883:28:0;;4875:64;;;;-1:-1:-1;;;4875:64:0;;507:2:1;4875:64:0;;;489:21:1;546:2;526:18;;;519:30;-1:-1:-1;;;565:18:1;;;558:53;628:18;;4875:64:0;;;;;;;;;4995:1;4957:26;:24;:26::i;:::-;-1:-1:-1;;;;;4957:40:0;;4944:96;;;;-1:-1:-1;;;4944:96:0;;859:2:1;4944:96:0;;;841:21:1;898:2;878:18;;;871:30;937:32;917:18;;;910:60;987:18;;4944:96:0;657:354:1;4944:96:0;5045:43;5073:14;-1:-1:-1;;;;;;;;;;;1029:41:0;925:154;5045:43;4812:281;:::o;5146:119::-;5213:7;5234:26;:24;:26::i;:::-;5227:33;;5146:119;:::o;1966:744::-;2267:14;2264:1;2261;2248:34;2458:1;2455;2439:14;2436:1;2420:14;2413:5;2400:60;2519:16;2516:1;2513;2498:38;2550:6;2601:47;;;;2678:16;2675:1;2668:27;2601:47;2625:16;2622:1;2615:27;723:154;-1:-1:-1;;;;;;;;;;;841:27:0;;723:154::o;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:1:o

Swarm Source

ipfs://7c33c3974a940a4eeeb4a7bd07086a7abf0876a8f9ebb856a5a88983d041b070
Loading