APE Price: $0.50 (-8.54%)

Contract

0x5b5b5840BECe4485C311c0C0DF0b563E93105351

Overview

APE Balance

Apechain LogoApechain LogoApechain Logo0 APE

APE Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Simulate Listen28892182024-10-30 23:13:51149 days ago1730330031IN
0x5b5b5840...E93105351
0 APE0.0112481225.42069

Parent Transaction Hash Block From To
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SimpleListenSimulator

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;

contract SimpleListenSimulator {
    address public constant ANALYTICS_CONTRACT = 0xb6A9a4E999CCA7e05a01DA9703276715064E0063;
    address public constant DIXO_TOKEN = 0xdB5fFfc581cc045583CF58afcA4F9EBa40dDd002;
    
    event RewardsEarned(address listener, uint256 amount);
    
    function simulateListen(
        uint256 episodeId,
        uint256 duration,
        uint256 completionRate
    ) external returns (uint256) {
        // Get balance before
        uint256 balanceBefore = getBalance(msg.sender);
        
        // Call analytics contract
        (bool success,) = ANALYTICS_CONTRACT.call(
            abi.encodeWithSignature(
                "recordListen(uint256,uint256,uint256)",
                episodeId,
                duration,
                completionRate
            )
        );
        require(success, "Listen recording failed");
        
        // Get balance after
        uint256 balanceAfter = getBalance(msg.sender);
        
        // Calculate rewards
        uint256 rewardsEarned = balanceAfter - balanceBefore;
        emit RewardsEarned(msg.sender, rewardsEarned);
        
        return rewardsEarned;
    }
    
    function getBalance(address account) public view returns (uint256) {
        (bool success, bytes memory data) = DIXO_TOKEN.staticcall(
            abi.encodeWithSignature("balanceOf(address)", account)
        );
        require(success, "Balance check failed");
        return abi.decode(data, (uint256));
    }
    
    function checkBalances(address listener) external view returns (
        uint256 listenerBalance,
        uint256 analyticsBalance
    ) {
        return (
            getBalance(listener),
            getBalance(ANALYTICS_CONTRACT)
        );
    }
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"listener","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsEarned","type":"event"},{"inputs":[],"name":"ANALYTICS_CONTRACT","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DIXO_TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"listener","type":"address"}],"name":"checkBalances","outputs":[{"internalType":"uint256","name":"listenerBalance","type":"uint256"},{"internalType":"uint256","name":"analyticsBalance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"episodeId","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"completionRate","type":"uint256"}],"name":"simulateListen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

6080604052348015600e575f5ffd5b506108a78061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806311cd682d1461005957806397137a8c1461008a578063dbd22d2a146100a8578063e4c2201a146100c6578063f8b2cb4f146100f6575b5f5ffd5b610073600480360381019061006e9190610509565b610126565b60405161008192919061054c565b60405180910390f35b610092610157565b60405161009f9190610582565b60405180910390f35b6100b061016f565b6040516100bd9190610582565b60405180910390f35b6100e060048036038101906100db91906105c5565b610187565b6040516100ed9190610615565b60405180910390f35b610110600480360381019061010b9190610509565b610343565b60405161011d9190610615565b60405180910390f35b5f5f61013183610343565b61014e73b6a9a4e999cca7e05a01da9703276715064e0063610343565b91509150915091565b73db5fffc581cc045583cf58afca4f9eba40ddd00281565b73b6a9a4e999cca7e05a01da9703276715064e006381565b5f5f61019233610343565b90505f73b6a9a4e999cca7e05a01da9703276715064e006373ffffffffffffffffffffffffffffffffffffffff168686866040516024016101d59392919061062e565b6040516020818303038152906040527fed27e8ff000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161025f91906106b5565b5f604051808303815f865af19150503d805f8114610298576040519150601f19603f3d011682016040523d82523d5f602084013e61029d565b606091505b50509050806102e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d890610725565b60405180910390fd5b5f6102eb33610343565b90505f83826102fa9190610770565b90507f4a67b15b85ce0aaa2d199db61b609a8b322a4717fb491c0ccb81dce634255e82338260405161032d9291906107a3565b60405180910390a1809450505050509392505050565b5f5f5f73db5fffc581cc045583cf58afca4f9eba40ddd00273ffffffffffffffffffffffffffffffffffffffff16846040516024016103829190610582565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161040c91906106b5565b5f60405180830381855afa9150503d805f8114610444576040519150601f19603f3d011682016040523d82523d5f602084013e610449565b606091505b50915091508161048e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048590610814565b60405180910390fd5b808060200190518101906104a29190610846565b92505050919050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104d8826104af565b9050919050565b6104e8816104ce565b81146104f2575f5ffd5b50565b5f81359050610503816104df565b92915050565b5f6020828403121561051e5761051d6104ab565b5b5f61052b848285016104f5565b91505092915050565b5f819050919050565b61054681610534565b82525050565b5f60408201905061055f5f83018561053d565b61056c602083018461053d565b9392505050565b61057c816104ce565b82525050565b5f6020820190506105955f830184610573565b92915050565b6105a481610534565b81146105ae575f5ffd5b50565b5f813590506105bf8161059b565b92915050565b5f5f5f606084860312156105dc576105db6104ab565b5b5f6105e9868287016105b1565b93505060206105fa868287016105b1565b925050604061060b868287016105b1565b9150509250925092565b5f6020820190506106285f83018461053d565b92915050565b5f6060820190506106415f83018661053d565b61064e602083018561053d565b61065b604083018461053d565b949350505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61068f82610663565b610699818561066d565b93506106a9818560208601610677565b80840191505092915050565b5f6106c08284610685565b915081905092915050565b5f82825260208201905092915050565b7f4c697374656e207265636f7264696e67206661696c65640000000000000000005f82015250565b5f61070f6017836106cb565b915061071a826106db565b602082019050919050565b5f6020820190508181035f83015261073c81610703565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61077a82610534565b915061078583610534565b925082820390508181111561079d5761079c610743565b5b92915050565b5f6040820190506107b65f830185610573565b6107c3602083018461053d565b9392505050565b7f42616c616e636520636865636b206661696c65640000000000000000000000005f82015250565b5f6107fe6014836106cb565b9150610809826107ca565b602082019050919050565b5f6020820190508181035f83015261082b816107f2565b9050919050565b5f815190506108408161059b565b92915050565b5f6020828403121561085b5761085a6104ab565b5b5f61086884828501610832565b9150509291505056fea26469706673582212201d5088991a6b9c9cd582fd6cdca3a07d863481395688d4baa38e19f02eaaa5c564736f6c634300081c0033

Deployed Bytecode

0x608060405234801561000f575f5ffd5b5060043610610055575f3560e01c806311cd682d1461005957806397137a8c1461008a578063dbd22d2a146100a8578063e4c2201a146100c6578063f8b2cb4f146100f6575b5f5ffd5b610073600480360381019061006e9190610509565b610126565b60405161008192919061054c565b60405180910390f35b610092610157565b60405161009f9190610582565b60405180910390f35b6100b061016f565b6040516100bd9190610582565b60405180910390f35b6100e060048036038101906100db91906105c5565b610187565b6040516100ed9190610615565b60405180910390f35b610110600480360381019061010b9190610509565b610343565b60405161011d9190610615565b60405180910390f35b5f5f61013183610343565b61014e73b6a9a4e999cca7e05a01da9703276715064e0063610343565b91509150915091565b73db5fffc581cc045583cf58afca4f9eba40ddd00281565b73b6a9a4e999cca7e05a01da9703276715064e006381565b5f5f61019233610343565b90505f73b6a9a4e999cca7e05a01da9703276715064e006373ffffffffffffffffffffffffffffffffffffffff168686866040516024016101d59392919061062e565b6040516020818303038152906040527fed27e8ff000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161025f91906106b5565b5f604051808303815f865af19150503d805f8114610298576040519150601f19603f3d011682016040523d82523d5f602084013e61029d565b606091505b50509050806102e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d890610725565b60405180910390fd5b5f6102eb33610343565b90505f83826102fa9190610770565b90507f4a67b15b85ce0aaa2d199db61b609a8b322a4717fb491c0ccb81dce634255e82338260405161032d9291906107a3565b60405180910390a1809450505050509392505050565b5f5f5f73db5fffc581cc045583cf58afca4f9eba40ddd00273ffffffffffffffffffffffffffffffffffffffff16846040516024016103829190610582565b6040516020818303038152906040527f70a08231000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161040c91906106b5565b5f60405180830381855afa9150503d805f8114610444576040519150601f19603f3d011682016040523d82523d5f602084013e610449565b606091505b50915091508161048e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048590610814565b60405180910390fd5b808060200190518101906104a29190610846565b92505050919050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104d8826104af565b9050919050565b6104e8816104ce565b81146104f2575f5ffd5b50565b5f81359050610503816104df565b92915050565b5f6020828403121561051e5761051d6104ab565b5b5f61052b848285016104f5565b91505092915050565b5f819050919050565b61054681610534565b82525050565b5f60408201905061055f5f83018561053d565b61056c602083018461053d565b9392505050565b61057c816104ce565b82525050565b5f6020820190506105955f830184610573565b92915050565b6105a481610534565b81146105ae575f5ffd5b50565b5f813590506105bf8161059b565b92915050565b5f5f5f606084860312156105dc576105db6104ab565b5b5f6105e9868287016105b1565b93505060206105fa868287016105b1565b925050604061060b868287016105b1565b9150509250925092565b5f6020820190506106285f83018461053d565b92915050565b5f6060820190506106415f83018661053d565b61064e602083018561053d565b61065b604083018461053d565b949350505050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61068f82610663565b610699818561066d565b93506106a9818560208601610677565b80840191505092915050565b5f6106c08284610685565b915081905092915050565b5f82825260208201905092915050565b7f4c697374656e207265636f7264696e67206661696c65640000000000000000005f82015250565b5f61070f6017836106cb565b915061071a826106db565b602082019050919050565b5f6020820190508181035f83015261073c81610703565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61077a82610534565b915061078583610534565b925082820390508181111561079d5761079c610743565b5b92915050565b5f6040820190506107b65f830185610573565b6107c3602083018461053d565b9392505050565b7f42616c616e636520636865636b206661696c65640000000000000000000000005f82015250565b5f6107fe6014836106cb565b9150610809826107ca565b602082019050919050565b5f6020820190508181035f83015261082b816107f2565b9050919050565b5f815190506108408161059b565b92915050565b5f6020828403121561085b5761085a6104ab565b5b5f61086884828501610832565b9150509291505056fea26469706673582212201d5088991a6b9c9cd582fd6cdca3a07d863481395688d4baa38e19f02eaaa5c564736f6c634300081c0033

Deployed Bytecode Sourcemap

61:1793:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:257;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;193:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;99:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;351:900;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1263:319;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1594:257;1668:23;1702:24;1767:20;1778:8;1767:10;:20::i;:::-;1802:30;144:42;1802:10;:30::i;:::-;1745:98;;;;1594:257;;;:::o;193:79::-;230:42;193:79;:::o;99:87::-;144:42;99:87;:::o;351:900::-;488:7;539:21;563:22;574:10;563;:22::i;:::-;539:46;;643:12;144:42;660:23;;798:9;826:8;853:14;698:184;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;660:233;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;642:251;;;912:7;904:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;998:20;1021:22;1032:10;1021;:22::i;:::-;998:45;;1094:21;1133:13;1118:12;:28;;;;:::i;:::-;1094:52;;1162:40;1176:10;1188:13;1162:40;;;;;;;:::i;:::-;;;;;;;;1230:13;1223:20;;;;;;351:900;;;;;:::o;1263:319::-;1321:7;1342:12;1356:17;230:42;1377:21;;1459:7;1413:54;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:101;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1341:137;;;;1497:7;1489:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;1558:4;1547:27;;;;;;;;;;;;:::i;:::-;1540:34;;;;1263:319;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:332::-;1504:4;1542:2;1531:9;1527:18;1519:26;;1555:71;1623:1;1612:9;1608:17;1599:6;1555:71;:::i;:::-;1636:72;1704:2;1693:9;1689:18;1680:6;1636:72;:::i;:::-;1383:332;;;;;:::o;1721:118::-;1808:24;1826:5;1808:24;:::i;:::-;1803:3;1796:37;1721:118;;:::o;1845:222::-;1938:4;1976:2;1965:9;1961:18;1953:26;;1989:71;2057:1;2046:9;2042:17;2033:6;1989:71;:::i;:::-;1845:222;;;;:::o;2073:122::-;2146:24;2164:5;2146:24;:::i;:::-;2139:5;2136:35;2126:63;;2185:1;2182;2175:12;2126:63;2073:122;:::o;2201:139::-;2247:5;2285:6;2272:20;2263:29;;2301:33;2328:5;2301:33;:::i;:::-;2201:139;;;;:::o;2346:619::-;2423:6;2431;2439;2488:2;2476:9;2467:7;2463:23;2459:32;2456:119;;;2494:79;;:::i;:::-;2456:119;2614:1;2639:53;2684:7;2675:6;2664:9;2660:22;2639:53;:::i;:::-;2629:63;;2585:117;2741:2;2767:53;2812:7;2803:6;2792:9;2788:22;2767:53;:::i;:::-;2757:63;;2712:118;2869:2;2895:53;2940:7;2931:6;2920:9;2916:22;2895:53;:::i;:::-;2885:63;;2840:118;2346:619;;;;;:::o;2971:222::-;3064:4;3102:2;3091:9;3087:18;3079:26;;3115:71;3183:1;3172:9;3168:17;3159:6;3115:71;:::i;:::-;2971:222;;;;:::o;3199:442::-;3348:4;3386:2;3375:9;3371:18;3363:26;;3399:71;3467:1;3456:9;3452:17;3443:6;3399:71;:::i;:::-;3480:72;3548:2;3537:9;3533:18;3524:6;3480:72;:::i;:::-;3562;3630:2;3619:9;3615:18;3606:6;3562:72;:::i;:::-;3199:442;;;;;;:::o;3647:98::-;3698:6;3732:5;3726:12;3716:22;;3647:98;;;:::o;3751:147::-;3852:11;3889:3;3874:18;;3751:147;;;;:::o;3904:139::-;3993:6;3988:3;3983;3977:23;4034:1;4025:6;4020:3;4016:16;4009:27;3904:139;;;:::o;4049:386::-;4153:3;4181:38;4213:5;4181:38;:::i;:::-;4235:88;4316:6;4311:3;4235:88;:::i;:::-;4228:95;;4332:65;4390:6;4385:3;4378:4;4371:5;4367:16;4332:65;:::i;:::-;4422:6;4417:3;4413:16;4406:23;;4157:278;4049:386;;;;:::o;4441:271::-;4571:3;4593:93;4682:3;4673:6;4593:93;:::i;:::-;4586:100;;4703:3;4696:10;;4441:271;;;;:::o;4718:169::-;4802:11;4836:6;4831:3;4824:19;4876:4;4871:3;4867:14;4852:29;;4718:169;;;;:::o;4893:173::-;5033:25;5029:1;5021:6;5017:14;5010:49;4893:173;:::o;5072:366::-;5214:3;5235:67;5299:2;5294:3;5235:67;:::i;:::-;5228:74;;5311:93;5400:3;5311:93;:::i;:::-;5429:2;5424:3;5420:12;5413:19;;5072:366;;;:::o;5444:419::-;5610:4;5648:2;5637:9;5633:18;5625:26;;5697:9;5691:4;5687:20;5683:1;5672:9;5668:17;5661:47;5725:131;5851:4;5725:131;:::i;:::-;5717:139;;5444:419;;;:::o;5869:180::-;5917:77;5914:1;5907:88;6014:4;6011:1;6004:15;6038:4;6035:1;6028:15;6055:194;6095:4;6115:20;6133:1;6115:20;:::i;:::-;6110:25;;6149:20;6167:1;6149:20;:::i;:::-;6144:25;;6193:1;6190;6186:9;6178:17;;6217:1;6211:4;6208:11;6205:37;;;6222:18;;:::i;:::-;6205:37;6055:194;;;;:::o;6255:332::-;6376:4;6414:2;6403:9;6399:18;6391:26;;6427:71;6495:1;6484:9;6480:17;6471:6;6427:71;:::i;:::-;6508:72;6576:2;6565:9;6561:18;6552:6;6508:72;:::i;:::-;6255:332;;;;;:::o;6593:170::-;6733:22;6729:1;6721:6;6717:14;6710:46;6593:170;:::o;6769:366::-;6911:3;6932:67;6996:2;6991:3;6932:67;:::i;:::-;6925:74;;7008:93;7097:3;7008:93;:::i;:::-;7126:2;7121:3;7117:12;7110:19;;6769:366;;;:::o;7141:419::-;7307:4;7345:2;7334:9;7330:18;7322:26;;7394:9;7388:4;7384:20;7380:1;7369:9;7365:17;7358:47;7422:131;7548:4;7422:131;:::i;:::-;7414:139;;7141:419;;;:::o;7566:143::-;7623:5;7654:6;7648:13;7639:22;;7670:33;7697:5;7670:33;:::i;:::-;7566:143;;;;:::o;7715:351::-;7785:6;7834:2;7822:9;7813:7;7809:23;7805:32;7802:119;;;7840:79;;:::i;:::-;7802:119;7960:1;7985:64;8041:7;8032:6;8021:9;8017:22;7985:64;:::i;:::-;7975:74;;7931:128;7715:351;;;;:::o

Swarm Source

ipfs://1d5088991a6b9c9cd582fd6cdca3a07d863481395688d4baa38e19f02eaaa5c5

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.