Sepolia Testnet

Contract

0x180c269C4a5211Aa4bAB78abdF6E4d87263fEbe6
Source Code Source Code

Overview

ETH Balance

31.577796574759165656 ETH

Token Holdings

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount
Transfer68426922024-10-09 6:26:24519 days ago1728455184IN
0x180c269C...7263fEbe6
10 ETH0.000031621.50019205

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Amount
Transfer103815622026-03-04 9:13:488 days ago1772615628
0x180c269C...7263fEbe6
0 ETH
Transfer103815042026-03-04 9:01:488 days ago1772614908
0x180c269C...7263fEbe6
0 ETH
Transfer103771052026-03-03 17:53:489 days ago1772560428
0x180c269C...7263fEbe6
0.00058564 ETH
Transfer103771022026-03-03 17:53:129 days ago1772560392
0x180c269C...7263fEbe6
0.00058564 ETH
Transfer103771002026-03-03 17:52:489 days ago1772560368
0x180c269C...7263fEbe6
0.00067937 ETH
Transfer103769702026-03-03 17:26:249 days ago1772558784
0x180c269C...7263fEbe6
0.0006783 ETH
Transfer103769542026-03-03 17:23:129 days ago1772558592
0x180c269C...7263fEbe6
0.00202731 ETH
Transfer102446152026-02-12 10:10:2428 days ago1770891024
0x180c269C...7263fEbe6
0.003 ETH
Transfer102445372026-02-12 9:54:1228 days ago1770890052
0x180c269C...7263fEbe6
0.003 ETH
Transfer102443582026-02-12 9:16:0028 days ago1770887760
0x180c269C...7263fEbe6
0.00058454 ETH
Transfer102430912026-02-12 4:36:3628 days ago1770870996
0x180c269C...7263fEbe6
0.001 ETH
Transfer102430652026-02-12 4:31:0028 days ago1770870660
0x180c269C...7263fEbe6
0.001 ETH
Transfer102394142026-02-11 15:52:1229 days ago1770825132
0x180c269C...7263fEbe6
0.00157825 ETH
Transfer102393312026-02-11 15:35:1229 days ago1770824112
0x180c269C...7263fEbe6
0.00059321 ETH
Transfer102392102026-02-11 15:10:0029 days ago1770822600
0x180c269C...7263fEbe6
0.01058715 ETH
Transfer102391602026-02-11 15:00:0029 days ago1770822000
0x180c269C...7263fEbe6
0.01058715 ETH
Transfer101331862026-01-27 8:11:0044 days ago1769501460
0x180c269C...7263fEbe6
0.0001 ETH
Transfer100761902026-01-19 7:02:4852 days ago1768806168
0x180c269C...7263fEbe6
0.01058715 ETH
Transfer100761902026-01-19 7:02:4852 days ago1768806168
0x180c269C...7263fEbe6
0.01058715 ETH
Transfer100761802026-01-19 7:00:4852 days ago1768806048
0x180c269C...7263fEbe6
0.00059321 ETH
Transfer100650082026-01-17 17:44:1254 days ago1768671852
0x180c269C...7263fEbe6
0.001 ETH
Transfer100650012026-01-17 17:42:4854 days ago1768671768
0x180c269C...7263fEbe6
0.00159449 ETH
Transfer100649452026-01-17 17:31:3654 days ago1768671096
0x180c269C...7263fEbe6
0.00158812 ETH
Transfer100649212026-01-17 17:26:4854 days ago1768670808
0x180c269C...7263fEbe6
0.00059449 ETH
Transfer100640562026-01-17 14:33:4854 days ago1768660428
0x180c269C...7263fEbe6
0.01058715 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Agent

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 20000 runs

Other Settings:
paris EvmVersion
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: 2023 Snowfork <[email protected]>
pragma solidity 0.8.25;

/// @title An agent contract that acts on behalf of a consensus system on Polkadot
/// @dev Instances of this contract act as an agents for arbitrary consensus systems on Polkadot. These consensus systems
/// can include toplevel parachains as as well as nested consensus systems within a parachain.
contract Agent {
    error Unauthorized();

    /// @dev The unique ID for this agent, derived from the MultiLocation of the corresponding consensus system on Polkadot
    bytes32 public immutable AGENT_ID;

    /// @dev The gateway contract controlling this agent
    address public immutable GATEWAY;

    constructor(bytes32 agentID) {
        AGENT_ID = agentID;
        GATEWAY = msg.sender;
    }

    /// @dev Agents can receive ether permissionlessly.
    /// This is important, as agents for top-level parachains also act as sovereign accounts from which message relayers
    /// are rewarded.
    receive() external payable {}

    /// @dev Allow the gateway to invoke some code within the context of this agent
    /// using `delegatecall`. Typically this code will be provided by `AgentExecutor.sol`.
    function invoke(address executor, bytes calldata data) external returns (bool, bytes memory) {
        if (msg.sender != GATEWAY) {
            revert Unauthorized();
        }
        return executor.delegatecall(data);
    }
}

Settings
{
  "remappings": [
    "canonical-weth/=lib/canonical-weth/contracts/",
    "ds-test/=lib/ds-test/src/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin/=lib/openzeppelin-contracts/contracts/",
    "prb/math/=lib/prb-math/",
    "@prb/test/=lib/prb-math/lib/prb-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "prb-math/=lib/prb-math/src/",
    "prb-test/=lib/prb-math/lib/prb-test/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 20000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": true,
  "libraries": {
    "src/Assets.sol": {
      "Assets": "0xcdF343dF71c1843F7A3074cc12fB1C2B5973010B"
    },
    "src/TokenLib.sol": {
      "TokenLib": "0xb454ee58caeA44473926FFB21F02ed26E896E452"
    },
    "src/Verification.sol": {
      "Verification": "0x30c740a2fa36fF3fF995086D565a6b8Cdb70c99c"
    }
  }
}

Contract ABI

API
[{"inputs":[{"internalType":"bytes32","name":"agentID","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"AGENT_ID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GATEWAY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"executor","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"invoke","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c034606a57601f61040938819003918201601f19168301916001600160401b03831184841017606f57808492602094604052833981010312606a57516080523360a05260405161038390816100868239608051816087015260a05181818161013801526103290152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c918263338c5371146102df575081639bb66b28146100ae575063e905182a146100535780610012565b346100aa57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100aa57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b8284346102dc57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102dc5773ffffffffffffffffffffffffffffffffffffffff92803584811681036102d85760243567ffffffffffffffff958682116102d457366023830112156102d45781840135908782116102d05736602483850101116102d0577f00000000000000000000000000000000000000000000000000000000000000001633036102a8579160248593928385948951938493018337810184815203915af4933d1561029d573d9080821161027157845192601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401918211848310176102455750845281523d82602083013e92905b82519384921515835260209084602085015280518095850152825b85811061022e57505050601f837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092606080968601015201168101030190f35b8181018301518782016060015286945082016101ee565b8460416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024846041857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050606092906101d3565b8386517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b8580fd5b8480fd5b8280fd5b80fd5b8490346100aa57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100aa5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f3fea26469706673582212201b1cc577f24b9d8e5472b448ec535a07efeb64b1500d66f0e9d785be4e3792d964736f6c6343000819003381c5ab2571199e3188135178f3c2c8e2d268be1313d029b30f534fa579b69b79

Deployed Bytecode

0x6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c918263338c5371146102df575081639bb66b28146100ae575063e905182a146100535780610012565b346100aa57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100aa57602090517f81c5ab2571199e3188135178f3c2c8e2d268be1313d029b30f534fa579b69b798152f35b5080fd5b8284346102dc57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102dc5773ffffffffffffffffffffffffffffffffffffffff92803584811681036102d85760243567ffffffffffffffff958682116102d457366023830112156102d45781840135908782116102d05736602483850101116102d0577f0000000000000000000000009ed8b47bc3417e3bd0507adc06e56e2fa360a4e91633036102a8579160248593928385948951938493018337810184815203915af4933d1561029d573d9080821161027157845192601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401918211848310176102455750845281523d82602083013e92905b82519384921515835260209084602085015280518095850152825b85811061022e57505050601f837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092606080968601015201168101030190f35b8181018301518782016060015286945082016101ee565b8460416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024846041857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050606092906101d3565b8386517f82b42900000000000000000000000000000000000000000000000000000000008152fd5b8580fd5b8480fd5b8280fd5b80fd5b8490346100aa57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100aa5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009ed8b47bc3417e3bd0507adc06e56e2fa360a4e9168152f3fea26469706673582212201b1cc577f24b9d8e5472b448ec535a07efeb64b1500d66f0e9d785be4e3792d964736f6c63430008190033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

81c5ab2571199e3188135178f3c2c8e2d268be1313d029b30f534fa579b69b79

-----Decoded View---------------
Arg [0] : agentID (bytes32): 0x81c5ab2571199e3188135178f3c2c8e2d268be1313d029b30f534fa579b69b79

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 81c5ab2571199e3188135178f3c2c8e2d268be1313d029b30f534fa579b69b79


Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
0x180c269C4a5211Aa4bAB78abdF6E4d87263fEbe6
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.