Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BridgeToken
Compiler Version
v0.8.30+commit.73712a01
Optimization Enabled:
No with 200 runs
Other Settings:
prague EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import {IBridgeToken} from "./interfaces/IBridgeToken.sol";
/// @title BridgeToken
/// @notice ERC20 token with mint/burn capabilities for cross-chain bridges
/// @dev Design decisions and tradeoffs:
///
/// TRUST ASSUMPTIONS:
/// - Minters (bridge contracts) are trusted to only mint when valid burns occur
/// - If a minter is compromised, they can mint unlimited tokens
/// - This is why minter management is critical (see setMinter)
///
/// WHY MINT/BURN vs LOCK/UNLOCK?
/// Mint/Burn:
/// + No liquidity fragmentation (tokens exist on one chain at a time)
/// + Total supply remains constant across all chains
/// + Simpler accounting
/// - Requires token to have mint authority (can't use for existing tokens like USDC)
/// - Trust in bridge's mint/burn logic
///
/// Lock/Unlock:
/// + Works with any existing token
/// + No special token permissions needed
/// - Liquidity locked on source chain (capital inefficient)
/// - Wrapped tokens on destination (not fungible with native)
/// - TVL in bridge contract = honeypot for hackers
contract BridgeToken is IBridgeToken {
string public name;
string public symbol;
uint8 public constant decimals = 18;
uint256 public totalSupply;
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
/// @notice Addresses authorized to mint tokens
/// @dev Critical security surface - compromise = unlimited minting
mapping(address => bool) public isMinter;
/// @notice Contract owner who can manage minters
address public owner;
/// @notice Pending owner for 2-step ownership transfer
/// @dev 2-step prevents accidentally transferring to wrong address
address public pendingOwner;
event MinterSet(address indexed minter, bool authorized);
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
error Unauthorized();
error ZeroAddress();
error InsufficientBalance();
error InsufficientAllowance();
modifier onlyOwner() {
if (msg.sender != owner) revert Unauthorized();
_;
}
modifier onlyMinter() {
if (!isMinter[msg.sender]) revert Unauthorized();
_;
}
constructor(string memory _name, string memory _symbol) {
name = _name;
symbol = _symbol;
owner = msg.sender;
}
// ============ Minter Management ============
/// @notice Authorize or revoke a minter
/// @dev SECURITY: This is the most critical function
/// - Should be behind timelock in production
/// - Consider multisig ownership
/// - Monitor for unexpected minter additions
function setMinter(address minter, bool authorized) external onlyOwner {
if (minter == address(0)) revert ZeroAddress();
isMinter[minter] = authorized;
emit MinterSet(minter, authorized);
}
// ============ Ownership Transfer ============
/// @notice Start ownership transfer (2-step process)
/// @dev Why 2-step? Prevents losing ownership to typos or wrong addresses
function transferOwnership(address newOwner) external onlyOwner {
pendingOwner = newOwner;
emit OwnershipTransferStarted(owner, newOwner);
}
/// @notice Accept ownership transfer
function acceptOwnership() external {
if (msg.sender != pendingOwner) revert Unauthorized();
emit OwnershipTransferred(owner, msg.sender);
owner = msg.sender;
pendingOwner = address(0);
}
// ============ Mint/Burn (Bridge Operations) ============
/// @notice Mint tokens to recipient
/// @dev Called by bridge when tokens are burned on source chain
/// TRUST: We trust the bridge verified the burn before calling
function mint(address to, uint256 amount) external onlyMinter {
if (to == address(0)) revert ZeroAddress();
totalSupply += amount;
balanceOf[to] += amount;
emit Transfer(address(0), to, amount);
}
/// @notice Burn tokens from caller
/// @dev User initiates bridge by burning their tokens
function burn(uint256 amount) external {
if (balanceOf[msg.sender] < amount) revert InsufficientBalance();
balanceOf[msg.sender] -= amount;
totalSupply -= amount;
emit Transfer(msg.sender, address(0), amount);
}
/// @notice Burn tokens from address (requires approval)
/// @dev Bridge contract can burn on behalf of user
function burnFrom(address from, uint256 amount) external {
uint256 currentAllowance = allowance[from][msg.sender];
if (currentAllowance < amount) revert InsufficientAllowance();
if (balanceOf[from] < amount) revert InsufficientBalance();
allowance[from][msg.sender] = currentAllowance - amount;
balanceOf[from] -= amount;
totalSupply -= amount;
emit Transfer(from, address(0), amount);
}
// ============ Standard ERC20 ============
function transfer(address to, uint256 amount) external returns (bool) {
if (to == address(0)) revert ZeroAddress();
if (balanceOf[msg.sender] < amount) revert InsufficientBalance();
balanceOf[msg.sender] -= amount;
balanceOf[to] += amount;
emit Transfer(msg.sender, to, amount);
return true;
}
function approve(address spender, uint256 amount) external returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function transferFrom(address from, address to, uint256 amount) external returns (bool) {
if (to == address(0)) revert ZeroAddress();
uint256 currentAllowance = allowance[from][msg.sender];
if (currentAllowance < amount) revert InsufficientAllowance();
if (balanceOf[from] < amount) revert InsufficientBalance();
allowance[from][msg.sender] = currentAllowance - amount;
balanceOf[from] -= amount;
balanceOf[to] += amount;
emit Transfer(from, to, amount);
return true;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import {IERC20} from "forge-std/interfaces/IERC20.sol";
/// @title IBridgeToken
/// @notice Interface for tokens that can be minted/burned by a bridge
/// @dev Key design decision: Who has mint/burn authority?
/// - Option 1: Single bridge contract (simpler, but single point of failure)
/// - Option 2: Multiple authorized bridges (more flexible, but harder access control)
/// - Option 3: Governance-controlled minter list (most decentralized, but slower to update)
interface IBridgeToken is IERC20 {
/// @notice Mints tokens to a recipient
/// @dev Only callable by authorized minters (bridge contracts)
/// @param to The recipient address
/// @param amount The amount to mint
function mint(address to, uint256 amount) external;
/// @notice Burns tokens from the caller
/// @dev Anyone can burn their own tokens
/// @param amount The amount to burn
function burn(uint256 amount) external;
/// @notice Burns tokens from an address (requires approval)
/// @dev Used by bridge contracts to burn tokens on behalf of users
/// @param from The address to burn from
/// @param amount The amount to burn
function burnFrom(address from, uint256 amount) external;
}// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity >=0.8.13 <0.9.0;
/// @dev Interface of the ERC20 standard as defined in the EIP.
/// @dev This includes the optional name, symbol, and decimals metadata.
interface IERC20 {
/// @dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`).
event Transfer(address indexed from, address indexed to, uint256 value);
/// @dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`
/// is the new allowance.
event Approval(address indexed owner, address indexed spender, uint256 value);
/// @notice Returns the amount of tokens in existence.
function totalSupply() external view returns (uint256);
/// @notice Returns the amount of tokens owned by `account`.
function balanceOf(address account) external view returns (uint256);
/// @notice Moves `amount` tokens from the caller's account to `to`.
function transfer(address to, uint256 amount) external returns (bool);
/// @notice Returns the remaining number of tokens that `spender` is allowed
/// to spend on behalf of `owner`
function allowance(address owner, address spender) external view returns (uint256);
/// @notice Sets `amount` as the allowance of `spender` over the caller's tokens.
/// @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
function approve(address spender, uint256 amount) external returns (bool);
/// @notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.
/// `amount` is then deducted from the caller's allowance.
function transferFrom(address from, address to, uint256 amount) external returns (bool);
/// @notice Returns the name of the token.
function name() external view returns (string memory);
/// @notice Returns the symbol of the token.
function symbol() external view returns (string memory);
/// @notice Returns the decimals places of the token.
function decimals() external view returns (uint8);
}{
"remappings": [
"forge-std/=lib/forge-std/src/"
],
"optimizer": {
"enabled": false,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "prague",
"viaIR": false
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InsufficientAllowance","type":"error"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"bool","name":"authorized","type":"bool"}],"name":"MinterSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"minter","type":"address"},{"internalType":"bool","name":"authorized","type":"bool"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561000f575f5ffd5b50604051611f04380380611f04833981810160405281019061003191906101e4565b815f908161003f919061046a565b50806001908161004f919061046a565b503360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610539565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100f6826100b0565b810181811067ffffffffffffffff82111715610115576101146100c0565b5b80604052505050565b5f610127610097565b905061013382826100ed565b919050565b5f67ffffffffffffffff821115610152576101516100c0565b5b61015b826100b0565b9050602081019050919050565b8281835e5f83830152505050565b5f61018861018384610138565b61011e565b9050828152602081018484840111156101a4576101a36100ac565b5b6101af848285610168565b509392505050565b5f82601f8301126101cb576101ca6100a8565b5b81516101db848260208601610176565b91505092915050565b5f5f604083850312156101fa576101f96100a0565b5b5f83015167ffffffffffffffff811115610217576102166100a4565b5b610223858286016101b7565b925050602083015167ffffffffffffffff811115610244576102436100a4565b5b610250858286016101b7565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806102a857607f821691505b6020821081036102bb576102ba610264565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261031d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102e2565b61032786836102e2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61036b6103666103618461033f565b610348565b61033f565b9050919050565b5f819050919050565b61038483610351565b61039861039082610372565b8484546102ee565b825550505050565b5f5f905090565b6103af6103a0565b6103ba81848461037b565b505050565b5b818110156103dd576103d25f826103a7565b6001810190506103c0565b5050565b601f821115610422576103f3816102c1565b6103fc846102d3565b8101602085101561040b578190505b61041f610417856102d3565b8301826103bf565b50505b505050565b5f82821c905092915050565b5f6104425f1984600802610427565b1980831691505092915050565b5f61045a8383610433565b9150826002028217905092915050565b6104738261025a565b67ffffffffffffffff81111561048c5761048b6100c0565b5b6104968254610291565b6104a18282856103e1565b5f60209050601f8311600181146104d2575f84156104c0578287015190505b6104ca858261044f565b865550610531565b601f1984166104e0866102c1565b5f5b82811015610507578489015182556001820191506020850194506020810190506104e2565b868310156105245784890151610520601f891682610433565b8355505b6001600288020188555050505b505050505050565b6119be806105465f395ff3fe608060405234801561000f575f5ffd5b5060043610610114575f3560e01c806379cc6790116100a0578063aa271e1a1161006f578063aa271e1a146102cc578063cf456ae7146102fc578063dd62ed3e14610318578063e30c397814610348578063f2fde38b1461036657610114565b806379cc6790146102445780638da5cb5b1461026057806395d89b411461027e578063a9059cbb1461029c57610114565b8063313ce567116100e7578063313ce567146101b457806340c10f19146101d257806342966c68146101ee57806370a082311461020a57806379ba50971461023a57610114565b806306fdde0314610118578063095ea7b31461013657806318160ddd1461016657806323b872dd14610184575b5f5ffd5b610120610382565b60405161012d91906115a6565b60405180910390f35b610150600480360381019061014b9190611657565b61040d565b60405161015d91906116af565b60405180910390f35b61016e6104fa565b60405161017b91906116d7565b60405180910390f35b61019e600480360381019061019991906116f0565b610500565b6040516101ab91906116af565b60405180910390f35b6101bc610832565b6040516101c9919061175b565b60405180910390f35b6101ec60048036038101906101e79190611657565b610837565b005b61020860048036038101906102039190611774565b6109f0565b005b610224600480360381019061021f919061179f565b610b3a565b60405161023191906116d7565b60405180910390f35b610242610b4f565b005b61025e60048036038101906102599190611657565b610cd2565b005b610268610f5c565b60405161027591906117d9565b60405180910390f35b610286610f81565b60405161029391906115a6565b60405180910390f35b6102b660048036038101906102b19190611657565b61100d565b6040516102c391906116af565b60405180910390f35b6102e660048036038101906102e1919061179f565b6111ff565b6040516102f391906116af565b60405180910390f35b6103166004803603810190610311919061181c565b61121c565b005b610332600480360381019061032d919061185a565b6113ad565b60405161033f91906116d7565b60405180910390f35b6103506113cd565b60405161035d91906117d9565b60405180910390f35b610380600480360381019061037b919061179f565b6113f2565b005b5f805461038e906118c5565b80601f01602080910402602001604051908101604052809291908181526020018280546103ba906118c5565b80156104055780601f106103dc57610100808354040283529160200191610405565b820191905f5260205f20905b8154815290600101906020018083116103e857829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104e891906116d7565b60405180910390a36001905092915050565b60025481565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610566576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561061c576040517f13be252b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610693576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828161069f9190611922565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107679190611922565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107ba9190611955565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161081e91906116d7565b60405180910390a360019150509392505050565b601281565b60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166108b7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361091c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060025f82825461092d9190611955565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109809190611955565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109e491906116d7565b60405180910390a35050565b8060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610a67576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ab39190611922565b925050819055508060025f828254610acb9190611922565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b2f91906116d7565b60405180910390a350565b6003602052805f5260405f205f915090505481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bd5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a33360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610d88576040517f13be252b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610dff576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610e0b9190611922565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ed39190611922565b925050819055508160025f828254610eeb9190611922565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f4f91906116d7565b60405180910390a3505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610f8e906118c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610fba906118c5565b80156110055780601f10610fdc57610100808354040283529160200191611005565b820191905f5260205f20905b815481529060010190602001808311610fe857829003601f168201915b505050505081565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611073576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156110ea576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111369190611922565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111899190611955565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111ed91906116d7565b60405180910390a36001905092915050565b6005602052805f5260405f205f915054906101000a900460ff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112a2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611307576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f583b0aa0e528532caf4b907c11d7a8158a122fe2a6fb80cd9b09776ebea8d92d826040516113a191906116af565b60405180910390a25050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611478576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61157882611536565b6115828185611540565b9350611592818560208601611550565b61159b8161155e565b840191505092915050565b5f6020820190508181035f8301526115be818461156e565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6115f3826115ca565b9050919050565b611603816115e9565b811461160d575f5ffd5b50565b5f8135905061161e816115fa565b92915050565b5f819050919050565b61163681611624565b8114611640575f5ffd5b50565b5f813590506116518161162d565b92915050565b5f5f6040838503121561166d5761166c6115c6565b5b5f61167a85828601611610565b925050602061168b85828601611643565b9150509250929050565b5f8115159050919050565b6116a981611695565b82525050565b5f6020820190506116c25f8301846116a0565b92915050565b6116d181611624565b82525050565b5f6020820190506116ea5f8301846116c8565b92915050565b5f5f5f60608486031215611707576117066115c6565b5b5f61171486828701611610565b935050602061172586828701611610565b925050604061173686828701611643565b9150509250925092565b5f60ff82169050919050565b61175581611740565b82525050565b5f60208201905061176e5f83018461174c565b92915050565b5f60208284031215611789576117886115c6565b5b5f61179684828501611643565b91505092915050565b5f602082840312156117b4576117b36115c6565b5b5f6117c184828501611610565b91505092915050565b6117d3816115e9565b82525050565b5f6020820190506117ec5f8301846117ca565b92915050565b6117fb81611695565b8114611805575f5ffd5b50565b5f81359050611816816117f2565b92915050565b5f5f60408385031215611832576118316115c6565b5b5f61183f85828601611610565b925050602061185085828601611808565b9150509250929050565b5f5f604083850312156118705761186f6115c6565b5b5f61187d85828601611610565b925050602061188e85828601611610565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806118dc57607f821691505b6020821081036118ef576118ee611898565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61192c82611624565b915061193783611624565b925082820390508181111561194f5761194e6118f5565b5b92915050565b5f61195f82611624565b915061196a83611624565b9250828201905080821115611982576119816118f5565b5b9291505056fea2646970667358221220735759008247e8e2c0fb5dc4acecc39172df1e78da683e66007a5ea8f59707db64736f6c634300081e003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000c42726964676520546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034252470000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561000f575f5ffd5b5060043610610114575f3560e01c806379cc6790116100a0578063aa271e1a1161006f578063aa271e1a146102cc578063cf456ae7146102fc578063dd62ed3e14610318578063e30c397814610348578063f2fde38b1461036657610114565b806379cc6790146102445780638da5cb5b1461026057806395d89b411461027e578063a9059cbb1461029c57610114565b8063313ce567116100e7578063313ce567146101b457806340c10f19146101d257806342966c68146101ee57806370a082311461020a57806379ba50971461023a57610114565b806306fdde0314610118578063095ea7b31461013657806318160ddd1461016657806323b872dd14610184575b5f5ffd5b610120610382565b60405161012d91906115a6565b60405180910390f35b610150600480360381019061014b9190611657565b61040d565b60405161015d91906116af565b60405180910390f35b61016e6104fa565b60405161017b91906116d7565b60405180910390f35b61019e600480360381019061019991906116f0565b610500565b6040516101ab91906116af565b60405180910390f35b6101bc610832565b6040516101c9919061175b565b60405180910390f35b6101ec60048036038101906101e79190611657565b610837565b005b61020860048036038101906102039190611774565b6109f0565b005b610224600480360381019061021f919061179f565b610b3a565b60405161023191906116d7565b60405180910390f35b610242610b4f565b005b61025e60048036038101906102599190611657565b610cd2565b005b610268610f5c565b60405161027591906117d9565b60405180910390f35b610286610f81565b60405161029391906115a6565b60405180910390f35b6102b660048036038101906102b19190611657565b61100d565b6040516102c391906116af565b60405180910390f35b6102e660048036038101906102e1919061179f565b6111ff565b6040516102f391906116af565b60405180910390f35b6103166004803603810190610311919061181c565b61121c565b005b610332600480360381019061032d919061185a565b6113ad565b60405161033f91906116d7565b60405180910390f35b6103506113cd565b60405161035d91906117d9565b60405180910390f35b610380600480360381019061037b919061179f565b6113f2565b005b5f805461038e906118c5565b80601f01602080910402602001604051908101604052809291908181526020018280546103ba906118c5565b80156104055780601f106103dc57610100808354040283529160200191610405565b820191905f5260205f20905b8154815290600101906020018083116103e857829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104e891906116d7565b60405180910390a36001905092915050565b60025481565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610566576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561061c576040517f13be252b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610693576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828161069f9190611922565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508260035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107679190611922565b925050819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107ba9190611955565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161081e91906116d7565b60405180910390a360019150509392505050565b601281565b60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166108b7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361091c576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060025f82825461092d9190611955565b925050819055508060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109809190611955565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109e491906116d7565b60405180910390a35050565b8060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610a67576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ab39190611922565b925050819055508060025f828254610acb9190611922565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b2f91906116d7565b60405180910390a350565b6003602052805f5260405f205f915090505481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bd5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a33360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610d88576040517f13be252b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610dff576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610e0b9190611922565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ed39190611922565b925050819055508160025f828254610eeb9190611922565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f4f91906116d7565b60405180910390a3505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610f8e906118c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610fba906118c5565b80156110055780601f10610fdc57610100808354040283529160200191611005565b820191905f5260205f20905b815481529060010190602001808311610fe857829003601f168201915b505050505081565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611073576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156110ea576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111369190611922565b925050819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111899190611955565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111ed91906116d7565b60405180910390a36001905092915050565b6005602052805f5260405f205f915054906101000a900460ff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112a2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611307576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f583b0aa0e528532caf4b907c11d7a8158a122fe2a6fb80cd9b09776ebea8d92d826040516113a191906116af565b60405180910390a25050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611478576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61157882611536565b6115828185611540565b9350611592818560208601611550565b61159b8161155e565b840191505092915050565b5f6020820190508181035f8301526115be818461156e565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6115f3826115ca565b9050919050565b611603816115e9565b811461160d575f5ffd5b50565b5f8135905061161e816115fa565b92915050565b5f819050919050565b61163681611624565b8114611640575f5ffd5b50565b5f813590506116518161162d565b92915050565b5f5f6040838503121561166d5761166c6115c6565b5b5f61167a85828601611610565b925050602061168b85828601611643565b9150509250929050565b5f8115159050919050565b6116a981611695565b82525050565b5f6020820190506116c25f8301846116a0565b92915050565b6116d181611624565b82525050565b5f6020820190506116ea5f8301846116c8565b92915050565b5f5f5f60608486031215611707576117066115c6565b5b5f61171486828701611610565b935050602061172586828701611610565b925050604061173686828701611643565b9150509250925092565b5f60ff82169050919050565b61175581611740565b82525050565b5f60208201905061176e5f83018461174c565b92915050565b5f60208284031215611789576117886115c6565b5b5f61179684828501611643565b91505092915050565b5f602082840312156117b4576117b36115c6565b5b5f6117c184828501611610565b91505092915050565b6117d3816115e9565b82525050565b5f6020820190506117ec5f8301846117ca565b92915050565b6117fb81611695565b8114611805575f5ffd5b50565b5f81359050611816816117f2565b92915050565b5f5f60408385031215611832576118316115c6565b5b5f61183f85828601611610565b925050602061185085828601611808565b9150509250929050565b5f5f604083850312156118705761186f6115c6565b5b5f61187d85828601611610565b925050602061188e85828601611610565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806118dc57607f821691505b6020821081036118ef576118ee611898565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61192c82611624565b915061193783611624565b925082820390508181111561194f5761194e6118f5565b5b92915050565b5f61195f82611624565b915061196a83611624565b9250828201905080821115611982576119816118f5565b5b9291505056fea2646970667358221220735759008247e8e2c0fb5dc4acecc39172df1e78da683e66007a5ea8f59707db64736f6c634300081e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000c42726964676520546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034252470000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Bridge Token
Arg [1] : _symbol (string): BRG
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [3] : 42726964676520546f6b656e0000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 4252470000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 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.