APE Price: $1.02 (-4.49%)

Contract

0xb6A9a4E999CCA7e05a01DA9703276715064E0063

Overview

APE Balance

Apechain LogoApechain LogoApechain Logo0 APE

APE Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x6080604028787312024-10-30 21:02:268 days ago1730322146IN
 Create: EnhancedPodcastAnalytics
0 APE0.0246783525.42069

Parent Transaction Hash Block From To
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EnhancedPodcastAnalytics

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at apescan.io on 2024-10-30
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

// Simple interface for the main contract
interface IPodcastContract {
    function podcastInfo() external view returns (
        string memory name,
        string memory description,
        string memory author,
        string memory category,
        string memory language,
        string memory imageUrl,
        bool explicit
    );
}

contract EnhancedPodcastAnalytics {
    address public mainContract;
    address public owner;
    uint256 public totalPodcastListens;
    uint256 public totalUniqueListeners;
    uint256 public totalListeningTime;

    struct EpisodeStats {
        uint256 totalListens;
        uint256 uniqueListeners;
        uint256 lastListenTime;
        uint256 totalListeningTime;
        uint256 averageCompletionRate;
        mapping(address => bool) hasListened;
        mapping(uint256 => uint256) dailyListens;
    }

    struct ListenerStats {
        uint256 totalListens;
        uint256 firstListenTime;
        uint256 lastListenTime;
        uint256 totalListeningTime;
        uint256 episodesListened;
        mapping(uint256 => uint256) episodeCompletionRates;
    }

    // Main storage
    mapping(uint256 => EpisodeStats) public episodeStats;
    mapping(address => ListenerStats) public listenerStats;
    mapping(uint256 => uint256) public dailyListens;    // timestamp => listens
    mapping(uint256 => uint256) public weeklyListens;   // weekNumber => listens
    mapping(uint256 => uint256) public monthlyListens;  // monthNumber => listens

    event ListenRecorded(
        uint256 indexed episodeId,
        address indexed listener,
        uint256 timestamp,
        uint256 duration,
        uint256 completionRate
    );

    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }

    constructor(address _mainContract) {
        mainContract = _mainContract;
        owner = msg.sender;
    }

    function recordListen(
        uint256 episodeId,
        uint256 duration,
        uint256 completionRate
    ) external {
        require(completionRate <= 100, "Invalid completion rate");
        require(duration > 0, "Duration must be positive");

        uint256 currentTime = block.timestamp;
        uint256 dayTimestamp = currentTime / 86400;
        uint256 weekNumber = currentTime / 604800;
        uint256 monthNumber = currentTime / 2628000;

        // Update episode stats
        EpisodeStats storage stats = episodeStats[episodeId];
        if (!stats.hasListened[msg.sender]) {
            stats.uniqueListeners++;
            stats.hasListened[msg.sender] = true;
        }
        stats.totalListens++;
        stats.lastListenTime = currentTime;
        stats.totalListeningTime += duration;
        
        // Update average completion rate
        uint256 newTotalRate = (stats.averageCompletionRate * (stats.totalListens - 1) + completionRate);
        stats.averageCompletionRate = newTotalRate / stats.totalListens;

        // Update listener stats
        ListenerStats storage listener = listenerStats[msg.sender];
        if (listener.firstListenTime == 0) {
            listener.firstListenTime = currentTime;
            totalUniqueListeners++;
        }
        if (listener.episodeCompletionRates[episodeId] == 0) {
            listener.episodesListened++;
        }
        listener.totalListens++;
        listener.lastListenTime = currentTime;
        listener.totalListeningTime += duration;
        listener.episodeCompletionRates[episodeId] = completionRate;

        // Update timeframe stats
        dailyListens[dayTimestamp]++;
        weeklyListens[weekNumber]++;
        monthlyListens[monthNumber]++;

        totalPodcastListens++;
        totalListeningTime += duration;

        emit ListenRecorded(episodeId, msg.sender, currentTime, duration, completionRate);
    }

    // View functions
    function getEpisodeStats(uint256 episodeId) external view returns (
        uint256 totalListens,
        uint256 uniqueListeners,
        uint256 lastListenTime,
        uint256 averageCompletionRate
    ) {
        EpisodeStats storage stats = episodeStats[episodeId];
        return (
            stats.totalListens,
            stats.uniqueListeners,
            stats.lastListenTime,
            stats.averageCompletionRate
        );
    }

    function getListenerStats(address listener) external view returns (
        uint256 totalListens,
        uint256 firstListenTime,
        uint256 lastListenTime,
        uint256 totalListeningTime,
        uint256 episodesListened
    ) {
        ListenerStats storage stats = listenerStats[listener];
        return (
            stats.totalListens,
            stats.firstListenTime,
            stats.lastListenTime,
            stats.totalListeningTime,
            stats.episodesListened
        );
    }

    function transferOwnership(address newOwner) external onlyOwner {
        require(newOwner != address(0), "Invalid address");
        owner = newOwner;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_mainContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"episodeId","type":"uint256"},{"indexed":true,"internalType":"address","name":"listener","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"duration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"completionRate","type":"uint256"}],"name":"ListenRecorded","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"dailyListens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"episodeStats","outputs":[{"internalType":"uint256","name":"totalListens","type":"uint256"},{"internalType":"uint256","name":"uniqueListeners","type":"uint256"},{"internalType":"uint256","name":"lastListenTime","type":"uint256"},{"internalType":"uint256","name":"totalListeningTime","type":"uint256"},{"internalType":"uint256","name":"averageCompletionRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"episodeId","type":"uint256"}],"name":"getEpisodeStats","outputs":[{"internalType":"uint256","name":"totalListens","type":"uint256"},{"internalType":"uint256","name":"uniqueListeners","type":"uint256"},{"internalType":"uint256","name":"lastListenTime","type":"uint256"},{"internalType":"uint256","name":"averageCompletionRate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"listener","type":"address"}],"name":"getListenerStats","outputs":[{"internalType":"uint256","name":"totalListens","type":"uint256"},{"internalType":"uint256","name":"firstListenTime","type":"uint256"},{"internalType":"uint256","name":"lastListenTime","type":"uint256"},{"internalType":"uint256","name":"totalListeningTime","type":"uint256"},{"internalType":"uint256","name":"episodesListened","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"listenerStats","outputs":[{"internalType":"uint256","name":"totalListens","type":"uint256"},{"internalType":"uint256","name":"firstListenTime","type":"uint256"},{"internalType":"uint256","name":"lastListenTime","type":"uint256"},{"internalType":"uint256","name":"totalListeningTime","type":"uint256"},{"internalType":"uint256","name":"episodesListened","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mainContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"monthlyListens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"episodeId","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"completionRate","type":"uint256"}],"name":"recordListen","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalListeningTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalPodcastListens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUniqueListeners","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"weeklyListens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

608060405234801561000f575f5ffd5b5060405161110438038061110483398181016040528101906100319190610114565b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061013f565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100e3826100ba565b9050919050565b6100f3816100d9565b81146100fd575f5ffd5b50565b5f8151905061010e816100ea565b92915050565b5f60208284031215610129576101286100b6565b5b5f61013684828501610100565b91505092915050565b610fb88061014c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100e8575f3560e01c8063d270e7ab1161008a578063ed27e8ff11610064578063ed27e8ff1461028f578063f2fde38b146102ab578063f90167d1146102c7578063ff50b5d9146102fb576100e8565b8063d270e7ab1461020d578063dcc79b701461022b578063e455428f1461025f576100e8565b80638da5cb5b116100c65780638da5cb5b1461016a578063a947017714610188578063afd8e608146101bc578063d21ed6e0146101ef576100e8565b80631886ff5d146100ec5780632630c56b1461010a57806336151afc1461013a575b5f5ffd5b6100f4610319565b6040516101019190610a22565b60405180910390f35b610124600480360381019061011f9190610a69565b61031f565b6040516101319190610a22565b60405180910390f35b610154600480360381019061014f9190610a69565b610334565b6040516101619190610a22565b60405180910390f35b610172610349565b60405161017f9190610ad3565b60405180910390f35b6101a2600480360381019061019d9190610a69565b61036e565b6040516101b3959493929190610aec565b60405180910390f35b6101d660048036038101906101d19190610a69565b6103a0565b6040516101e69493929190610b3d565b60405180910390f35b6101f76103db565b6040516102049190610a22565b60405180910390f35b6102156103e1565b6040516102229190610ad3565b60405180910390f35b61024560048036038101906102409190610baa565b610405565b604051610256959493929190610aec565b60405180910390f35b61027960048036038101906102749190610a69565b610437565b6040516102869190610a22565b60405180910390f35b6102a960048036038101906102a49190610bd5565b61044c565b005b6102c560048036038101906102c09190610baa565b610853565b005b6102e160048036038101906102dc9190610baa565b610993565b6040516102f2959493929190610aec565b60405180910390f35b610303610a04565b6040516103109190610a22565b60405180910390f35b60035481565b6007602052805f5260405f205f915090505481565b6009602052805f5260405f205f915090505481565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b5f5f5f5f5f60055f8781526020019081526020015f209050805f01548160010154826002015483600401549450945094509450509193509193565b60025481565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6006602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b6008602052805f5260405f205f915090505481565b6064811115610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610c7f565b60405180910390fd5b5f82116104d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c990610ce7565b60405180910390fd5b5f4290505f62015180826104e69190610d5f565b90505f62093a80836104f89190610d5f565b90505f622819a08461050a9190610d5f565b90505f60055f8981526020019081526020015f209050806005015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166105e157806001015f81548092919061058490610d8f565b91905055506001816005015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b805f015f8154809291906105f490610d8f565b919050555084816002018190555086816003015f8282546106159190610dd6565b925050819055505f866001835f015461062e9190610e09565b836004015461063d9190610e3c565b6106479190610dd6565b9050815f0154816106589190610d5f565b82600401819055505f60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f8160010154036106cc5786816001018190555060035f8154809291906106c690610d8f565b91905055505b5f816005015f8c81526020019081526020015f20540361070057806004015f8154809291906106fa90610d8f565b91905055505b805f015f81548092919061071390610d8f565b919050555086816002018190555088816003015f8282546107349190610dd6565b9250508190555087816005015f8c81526020019081526020015f208190555060075f8781526020019081526020015f205f81548092919061077490610d8f565b919050555060085f8681526020019081526020015f205f81548092919061079a90610d8f565b919050555060095f8581526020019081526020015f205f8154809291906107c090610d8f565b919050555060025f8154809291906107d790610d8f565b91905055508860045f8282546107ed9190610dd6565b925050819055503373ffffffffffffffffffffffffffffffffffffffff168a7f6941de8bd01e5fc6b89c3b7d32c9426b95927ff600680ace50ad6edd78134143898c8c60405161083f93929190610e7d565b60405180910390a350505050505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d990610efc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094790610f64565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f5f5f5f5f60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050805f01548160010154826002015483600301548460040154955095509550955095505091939590929450565b60045481565b5f819050919050565b610a1c81610a0a565b82525050565b5f602082019050610a355f830184610a13565b92915050565b5f5ffd5b610a4881610a0a565b8114610a52575f5ffd5b50565b5f81359050610a6381610a3f565b92915050565b5f60208284031215610a7e57610a7d610a3b565b5b5f610a8b84828501610a55565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610abd82610a94565b9050919050565b610acd81610ab3565b82525050565b5f602082019050610ae65f830184610ac4565b92915050565b5f60a082019050610aff5f830188610a13565b610b0c6020830187610a13565b610b196040830186610a13565b610b266060830185610a13565b610b336080830184610a13565b9695505050505050565b5f608082019050610b505f830187610a13565b610b5d6020830186610a13565b610b6a6040830185610a13565b610b776060830184610a13565b95945050505050565b610b8981610ab3565b8114610b93575f5ffd5b50565b5f81359050610ba481610b80565b92915050565b5f60208284031215610bbf57610bbe610a3b565b5b5f610bcc84828501610b96565b91505092915050565b5f5f5f60608486031215610bec57610beb610a3b565b5b5f610bf986828701610a55565b9350506020610c0a86828701610a55565b9250506040610c1b86828701610a55565b9150509250925092565b5f82825260208201905092915050565b7f496e76616c696420636f6d706c6574696f6e20726174650000000000000000005f82015250565b5f610c69601783610c25565b9150610c7482610c35565b602082019050919050565b5f6020820190508181035f830152610c9681610c5d565b9050919050565b7f4475726174696f6e206d75737420626520706f736974697665000000000000005f82015250565b5f610cd1601983610c25565b9150610cdc82610c9d565b602082019050919050565b5f6020820190508181035f830152610cfe81610cc5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d6982610a0a565b9150610d7483610a0a565b925082610d8457610d83610d05565b5b828204905092915050565b5f610d9982610a0a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610dcb57610dca610d32565b5b600182019050919050565b5f610de082610a0a565b9150610deb83610a0a565b9250828201905080821115610e0357610e02610d32565b5b92915050565b5f610e1382610a0a565b9150610e1e83610a0a565b9250828203905081811115610e3657610e35610d32565b5b92915050565b5f610e4682610a0a565b9150610e5183610a0a565b9250828202610e5f81610a0a565b91508282048414831517610e7657610e75610d32565b5b5092915050565b5f606082019050610e905f830186610a13565b610e9d6020830185610a13565b610eaa6040830184610a13565b949350505050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f610ee6600983610c25565b9150610ef182610eb2565b602082019050919050565b5f6020820190508181035f830152610f1381610eda565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f610f4e600f83610c25565b9150610f5982610f1a565b602082019050919050565b5f6020820190508181035f830152610f7b81610f42565b905091905056fea2646970667358221220234ff89539a5fc9d785df15a698b075337d54b47ad8e426ef3192ba03151bade64736f6c634300081c0033000000000000000000000000e7bccd6afed2f506c6099d78e47855a765158337

Deployed Bytecode

0x608060405234801561000f575f5ffd5b50600436106100e8575f3560e01c8063d270e7ab1161008a578063ed27e8ff11610064578063ed27e8ff1461028f578063f2fde38b146102ab578063f90167d1146102c7578063ff50b5d9146102fb576100e8565b8063d270e7ab1461020d578063dcc79b701461022b578063e455428f1461025f576100e8565b80638da5cb5b116100c65780638da5cb5b1461016a578063a947017714610188578063afd8e608146101bc578063d21ed6e0146101ef576100e8565b80631886ff5d146100ec5780632630c56b1461010a57806336151afc1461013a575b5f5ffd5b6100f4610319565b6040516101019190610a22565b60405180910390f35b610124600480360381019061011f9190610a69565b61031f565b6040516101319190610a22565b60405180910390f35b610154600480360381019061014f9190610a69565b610334565b6040516101619190610a22565b60405180910390f35b610172610349565b60405161017f9190610ad3565b60405180910390f35b6101a2600480360381019061019d9190610a69565b61036e565b6040516101b3959493929190610aec565b60405180910390f35b6101d660048036038101906101d19190610a69565b6103a0565b6040516101e69493929190610b3d565b60405180910390f35b6101f76103db565b6040516102049190610a22565b60405180910390f35b6102156103e1565b6040516102229190610ad3565b60405180910390f35b61024560048036038101906102409190610baa565b610405565b604051610256959493929190610aec565b60405180910390f35b61027960048036038101906102749190610a69565b610437565b6040516102869190610a22565b60405180910390f35b6102a960048036038101906102a49190610bd5565b61044c565b005b6102c560048036038101906102c09190610baa565b610853565b005b6102e160048036038101906102dc9190610baa565b610993565b6040516102f2959493929190610aec565b60405180910390f35b610303610a04565b6040516103109190610a22565b60405180910390f35b60035481565b6007602052805f5260405f205f915090505481565b6009602052805f5260405f205f915090505481565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b5f5f5f5f5f60055f8781526020019081526020015f209050805f01548160010154826002015483600401549450945094509450509193509193565b60025481565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6006602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154905085565b6008602052805f5260405f205f915090505481565b6064811115610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610c7f565b60405180910390fd5b5f82116104d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c990610ce7565b60405180910390fd5b5f4290505f62015180826104e69190610d5f565b90505f62093a80836104f89190610d5f565b90505f622819a08461050a9190610d5f565b90505f60055f8981526020019081526020015f209050806005015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166105e157806001015f81548092919061058490610d8f565b91905055506001816005015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b805f015f8154809291906105f490610d8f565b919050555084816002018190555086816003015f8282546106159190610dd6565b925050819055505f866001835f015461062e9190610e09565b836004015461063d9190610e3c565b6106479190610dd6565b9050815f0154816106589190610d5f565b82600401819055505f60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f8160010154036106cc5786816001018190555060035f8154809291906106c690610d8f565b91905055505b5f816005015f8c81526020019081526020015f20540361070057806004015f8154809291906106fa90610d8f565b91905055505b805f015f81548092919061071390610d8f565b919050555086816002018190555088816003015f8282546107349190610dd6565b9250508190555087816005015f8c81526020019081526020015f208190555060075f8781526020019081526020015f205f81548092919061077490610d8f565b919050555060085f8681526020019081526020015f205f81548092919061079a90610d8f565b919050555060095f8581526020019081526020015f205f8154809291906107c090610d8f565b919050555060025f8154809291906107d790610d8f565b91905055508860045f8282546107ed9190610dd6565b925050819055503373ffffffffffffffffffffffffffffffffffffffff168a7f6941de8bd01e5fc6b89c3b7d32c9426b95927ff600680ace50ad6edd78134143898c8c60405161083f93929190610e7d565b60405180910390a350505050505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d990610efc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094790610f64565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f5f5f5f5f60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050805f01548160010154826002015483600301548460040154955095509550955095505091939590929450565b60045481565b5f819050919050565b610a1c81610a0a565b82525050565b5f602082019050610a355f830184610a13565b92915050565b5f5ffd5b610a4881610a0a565b8114610a52575f5ffd5b50565b5f81359050610a6381610a3f565b92915050565b5f60208284031215610a7e57610a7d610a3b565b5b5f610a8b84828501610a55565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610abd82610a94565b9050919050565b610acd81610ab3565b82525050565b5f602082019050610ae65f830184610ac4565b92915050565b5f60a082019050610aff5f830188610a13565b610b0c6020830187610a13565b610b196040830186610a13565b610b266060830185610a13565b610b336080830184610a13565b9695505050505050565b5f608082019050610b505f830187610a13565b610b5d6020830186610a13565b610b6a6040830185610a13565b610b776060830184610a13565b95945050505050565b610b8981610ab3565b8114610b93575f5ffd5b50565b5f81359050610ba481610b80565b92915050565b5f60208284031215610bbf57610bbe610a3b565b5b5f610bcc84828501610b96565b91505092915050565b5f5f5f60608486031215610bec57610beb610a3b565b5b5f610bf986828701610a55565b9350506020610c0a86828701610a55565b9250506040610c1b86828701610a55565b9150509250925092565b5f82825260208201905092915050565b7f496e76616c696420636f6d706c6574696f6e20726174650000000000000000005f82015250565b5f610c69601783610c25565b9150610c7482610c35565b602082019050919050565b5f6020820190508181035f830152610c9681610c5d565b9050919050565b7f4475726174696f6e206d75737420626520706f736974697665000000000000005f82015250565b5f610cd1601983610c25565b9150610cdc82610c9d565b602082019050919050565b5f6020820190508181035f830152610cfe81610cc5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d6982610a0a565b9150610d7483610a0a565b925082610d8457610d83610d05565b5b828204905092915050565b5f610d9982610a0a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610dcb57610dca610d32565b5b600182019050919050565b5f610de082610a0a565b9150610deb83610a0a565b9250828201905080821115610e0357610e02610d32565b5b92915050565b5f610e1382610a0a565b9150610e1e83610a0a565b9250828203905081811115610e3657610e35610d32565b5b92915050565b5f610e4682610a0a565b9150610e5183610a0a565b9250828202610e5f81610a0a565b91508282048414831517610e7657610e75610d32565b5b5092915050565b5f606082019050610e905f830186610a13565b610e9d6020830185610a13565b610eaa6040830184610a13565b949350505050565b7f4e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f610ee6600983610c25565b9150610ef182610eb2565b602082019050919050565b5f6020820190508181035f830152610f1381610eda565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f610f4e600f83610c25565b9150610f5982610f1a565b602082019050919050565b5f6020820190508181035f830152610f7b81610f42565b905091905056fea2646970667358221220234ff89539a5fc9d785df15a698b075337d54b47ad8e426ef3192ba03151bade64736f6c634300081c0033

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

000000000000000000000000e7bccd6afed2f506c6099d78e47855a765158337

-----Decoded View---------------
Arg [0] : _mainContract (address): 0xE7bccD6aFED2F506C6099d78e47855A765158337

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e7bccd6afed2f506c6099d78e47855a765158337


Deployed Bytecode Sourcemap

417:4769:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;560:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1362:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1525:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;492:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1242:52;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;4024:458;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;519:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;458:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1301:54;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;1443:48;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2025:1968;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5023:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4490:525;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;602:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;560:35;;;;:::o;1362:47::-;;;;;;;;;;;;;;;;;:::o;1525:49::-;;;;;;;;;;;;;;;;;:::o;492:20::-;;;;;;;;;;;;;:::o;1242:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4024:458::-;4101:20;4132:23;4166:22;4199:29;4247:26;4276:12;:23;4289:9;4276:23;;;;;;;;;;;4247:52;;4332:5;:18;;;4365:5;:21;;;4401:5;:20;;;4436:5;:27;;;4310:164;;;;;;;;;4024:458;;;;;:::o;519:34::-;;;;:::o;458:27::-;;;;;;;;;;;;;:::o;1301:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1443:48::-;;;;;;;;;;;;;;;;;:::o;2025:1968::-;2188:3;2170:14;:21;;2162:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;2249:1;2238:8;:12;2230:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2293:19;2315:15;2293:37;;2341:20;2378:5;2364:11;:19;;;;:::i;:::-;2341:42;;2394:18;2429:6;2415:11;:20;;;;:::i;:::-;2394:41;;2446:19;2482:7;2468:11;:21;;;;:::i;:::-;2446:43;;2535:26;2564:12;:23;2577:9;2564:23;;;;;;;;;;;2535:52;;2603:5;:17;;:29;2621:10;2603:29;;;;;;;;;;;;;;;;;;;;;;;;;2598:137;;2649:5;:21;;;:23;;;;;;;;;:::i;:::-;;;;;;2719:4;2687:5;:17;;:29;2705:10;2687:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;2598:137;2745:5;:18;;;:20;;;;;;;;;:::i;:::-;;;;;;2799:11;2776:5;:20;;:34;;;;2849:8;2821:5;:24;;;:36;;;;;;;:::i;:::-;;;;;;;;2921:20;3002:14;2997:1;2976:5;:18;;;:22;;;;:::i;:::-;2945:5;:27;;;:54;;;;:::i;:::-;:71;;;;:::i;:::-;2921:96;;3073:5;:18;;;3058:12;:33;;;;:::i;:::-;3028:5;:27;;:63;;;;3138:30;3171:13;:25;3185:10;3171:25;;;;;;;;;;;;;;;3138:58;;3239:1;3211:8;:24;;;:29;3207:137;;3284:11;3257:8;:24;;:38;;;;3310:20;;:22;;;;;;;;;:::i;:::-;;;;;;3207:137;3404:1;3358:8;:31;;:42;3390:9;3358:42;;;;;;;;;;;;:47;3354:107;;3422:8;:25;;;:27;;;;;;;;;:::i;:::-;;;;;;3354:107;3471:8;:21;;;:23;;;;;;;;;:::i;:::-;;;;;;3531:11;3505:8;:23;;:37;;;;3584:8;3553;:27;;;:39;;;;;;;:::i;:::-;;;;;;;;3648:14;3603:8;:31;;:42;3635:9;3603:42;;;;;;;;;;;:59;;;;3710:12;:26;3723:12;3710:26;;;;;;;;;;;;:28;;;;;;;;;:::i;:::-;;;;;;3749:13;:25;3763:10;3749:25;;;;;;;;;;;;:27;;;;;;;;;:::i;:::-;;;;;;3787:14;:27;3802:11;3787:27;;;;;;;;;;;;:29;;;;;;;;;:::i;:::-;;;;;;3829:19;;:21;;;;;;;;;:::i;:::-;;;;;;3883:8;3861:18;;:30;;;;;;;:::i;:::-;;;;;;;;3935:10;3909:76;;3924:9;3909:76;3947:11;3960:8;3970:14;3909:76;;;;;;;;:::i;:::-;;;;;;;;2151:1842;;;;;;;2025:1968;;;:::o;5023:160::-;1859:5;;;;;;;;;;;1845:19;;:10;:19;;;1837:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;5126:1:::1;5106:22;;:8;:22;;::::0;5098:50:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5167:8;5159:5;;:16;;;;;;;;;;;;;;;;;;5023:160:::0;:::o;4490:525::-;4567:20;4598:23;4632:22;4665:26;4702:24;4745:27;4775:13;:23;4789:8;4775:23;;;;;;;;;;;;;;;4745:53;;4831:5;:18;;;4864:5;:21;;;4900:5;:20;;;4935:5;:24;;;4974:5;:22;;;4809:198;;;;;;;;;;;4490:525;;;;;;;:::o;602:33::-;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o;1377:126::-;1414:7;1454:42;1447:5;1443:54;1432:65;;1377:126;;;:::o;1509:96::-;1546:7;1575:24;1593:5;1575:24;:::i;:::-;1564:35;;1509:96;;;:::o;1611:118::-;1698:24;1716:5;1698:24;:::i;:::-;1693:3;1686:37;1611:118;;:::o;1735:222::-;1828:4;1866:2;1855:9;1851:18;1843:26;;1879:71;1947:1;1936:9;1932:17;1923:6;1879:71;:::i;:::-;1735:222;;;;:::o;1963:664::-;2168:4;2206:3;2195:9;2191:19;2183:27;;2220:71;2288:1;2277:9;2273:17;2264:6;2220:71;:::i;:::-;2301:72;2369:2;2358:9;2354:18;2345:6;2301:72;:::i;:::-;2383;2451:2;2440:9;2436:18;2427:6;2383:72;:::i;:::-;2465;2533:2;2522:9;2518:18;2509:6;2465:72;:::i;:::-;2547:73;2615:3;2604:9;2600:19;2591:6;2547:73;:::i;:::-;1963:664;;;;;;;;:::o;2633:553::-;2810:4;2848:3;2837:9;2833:19;2825:27;;2862:71;2930:1;2919:9;2915:17;2906:6;2862:71;:::i;:::-;2943:72;3011:2;3000:9;2996:18;2987:6;2943:72;:::i;:::-;3025;3093:2;3082:9;3078:18;3069:6;3025:72;:::i;:::-;3107;3175:2;3164:9;3160:18;3151:6;3107:72;:::i;:::-;2633:553;;;;;;;:::o;3192:122::-;3265:24;3283:5;3265:24;:::i;:::-;3258:5;3255:35;3245:63;;3304:1;3301;3294:12;3245:63;3192:122;:::o;3320:139::-;3366:5;3404:6;3391:20;3382:29;;3420:33;3447:5;3420:33;:::i;:::-;3320:139;;;;:::o;3465:329::-;3524:6;3573:2;3561:9;3552:7;3548:23;3544:32;3541:119;;;3579:79;;:::i;:::-;3541:119;3699:1;3724:53;3769:7;3760:6;3749:9;3745:22;3724:53;:::i;:::-;3714:63;;3670:117;3465:329;;;;:::o;3800:619::-;3877:6;3885;3893;3942:2;3930:9;3921:7;3917:23;3913:32;3910:119;;;3948:79;;:::i;:::-;3910:119;4068:1;4093:53;4138:7;4129:6;4118:9;4114:22;4093:53;:::i;:::-;4083:63;;4039:117;4195:2;4221:53;4266:7;4257:6;4246:9;4242:22;4221:53;:::i;:::-;4211:63;;4166:118;4323:2;4349:53;4394:7;4385:6;4374:9;4370:22;4349:53;:::i;:::-;4339:63;;4294:118;3800:619;;;;;:::o;4425:169::-;4509:11;4543:6;4538:3;4531:19;4583:4;4578:3;4574:14;4559:29;;4425:169;;;;:::o;4600:173::-;4740:25;4736:1;4728:6;4724:14;4717:49;4600:173;:::o;4779:366::-;4921:3;4942:67;5006:2;5001:3;4942:67;:::i;:::-;4935:74;;5018:93;5107:3;5018:93;:::i;:::-;5136:2;5131:3;5127:12;5120:19;;4779:366;;;:::o;5151:419::-;5317:4;5355:2;5344:9;5340:18;5332:26;;5404:9;5398:4;5394:20;5390:1;5379:9;5375:17;5368:47;5432:131;5558:4;5432:131;:::i;:::-;5424:139;;5151:419;;;:::o;5576:175::-;5716:27;5712:1;5704:6;5700:14;5693:51;5576:175;:::o;5757:366::-;5899:3;5920:67;5984:2;5979:3;5920:67;:::i;:::-;5913:74;;5996:93;6085:3;5996:93;:::i;:::-;6114:2;6109:3;6105:12;6098:19;;5757:366;;;:::o;6129:419::-;6295:4;6333:2;6322:9;6318:18;6310:26;;6382:9;6376:4;6372:20;6368:1;6357:9;6353:17;6346:47;6410:131;6536:4;6410:131;:::i;:::-;6402:139;;6129:419;;;:::o;6554:180::-;6602:77;6599:1;6592:88;6699:4;6696:1;6689:15;6723:4;6720:1;6713:15;6740:180;6788:77;6785:1;6778:88;6885:4;6882:1;6875:15;6909:4;6906:1;6899:15;6926:185;6966:1;6983:20;7001:1;6983:20;:::i;:::-;6978:25;;7017:20;7035:1;7017:20;:::i;:::-;7012:25;;7056:1;7046:35;;7061:18;;:::i;:::-;7046:35;7103:1;7100;7096:9;7091:14;;6926:185;;;;:::o;7117:233::-;7156:3;7179:24;7197:5;7179:24;:::i;:::-;7170:33;;7225:66;7218:5;7215:77;7212:103;;7295:18;;:::i;:::-;7212:103;7342:1;7335:5;7331:13;7324:20;;7117:233;;;:::o;7356:191::-;7396:3;7415:20;7433:1;7415:20;:::i;:::-;7410:25;;7449:20;7467:1;7449:20;:::i;:::-;7444:25;;7492:1;7489;7485:9;7478:16;;7513:3;7510:1;7507:10;7504:36;;;7520:18;;:::i;:::-;7504:36;7356:191;;;;:::o;7553:194::-;7593:4;7613:20;7631:1;7613:20;:::i;:::-;7608:25;;7647:20;7665:1;7647:20;:::i;:::-;7642:25;;7691:1;7688;7684:9;7676:17;;7715:1;7709:4;7706:11;7703:37;;;7720:18;;:::i;:::-;7703:37;7553:194;;;;:::o;7753:410::-;7793:7;7816:20;7834:1;7816:20;:::i;:::-;7811:25;;7850:20;7868:1;7850:20;:::i;:::-;7845:25;;7905:1;7902;7898:9;7927:30;7945:11;7927:30;:::i;:::-;7916:41;;8106:1;8097:7;8093:15;8090:1;8087:22;8067:1;8060:9;8040:83;8017:139;;8136:18;;:::i;:::-;8017:139;7801:362;7753:410;;;;:::o;8169:442::-;8318:4;8356:2;8345:9;8341:18;8333:26;;8369:71;8437:1;8426:9;8422:17;8413:6;8369:71;:::i;:::-;8450:72;8518:2;8507:9;8503:18;8494:6;8450:72;:::i;:::-;8532;8600:2;8589:9;8585:18;8576:6;8532:72;:::i;:::-;8169:442;;;;;;:::o;8617:159::-;8757:11;8753:1;8745:6;8741:14;8734:35;8617:159;:::o;8782:365::-;8924:3;8945:66;9009:1;9004:3;8945:66;:::i;:::-;8938:73;;9020:93;9109:3;9020:93;:::i;:::-;9138:2;9133:3;9129:12;9122:19;;8782:365;;;:::o;9153:419::-;9319:4;9357:2;9346:9;9342:18;9334:26;;9406:9;9400:4;9396:20;9392:1;9381:9;9377:17;9370:47;9434:131;9560:4;9434:131;:::i;:::-;9426:139;;9153:419;;;:::o;9578:165::-;9718:17;9714:1;9706:6;9702:14;9695:41;9578:165;:::o;9749:366::-;9891:3;9912:67;9976:2;9971:3;9912:67;:::i;:::-;9905:74;;9988:93;10077:3;9988:93;:::i;:::-;10106:2;10101:3;10097:12;10090:19;;9749:366;;;:::o;10121:419::-;10287:4;10325:2;10314:9;10310:18;10302:26;;10374:9;10368:4;10364:20;10360:1;10349:9;10345:17;10338:47;10402:131;10528:4;10402:131;:::i;:::-;10394:139;;10121:419;;;:::o

Swarm Source

ipfs://234ff89539a5fc9d785df15a698b075337d54b47ad8e426ef3192ba03151bade

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.