Pocket Arena’s mission is to create a decentralised micro eSports platform for everyone to enjoy and to allow safe in-game item trading through blockchain technology.We believe in the power of decentralised casual eSports and the power of its blockchain tokenized games in the online gaming world. With the aid of blockchain technology, Pocket Arena is building a decentralised eSports and an in-game item exchange platform so that end-users and game developers are empowered with the following benefits:For end-users,High quality entertainment with eSports features (PA Casual League and PA Championship) rewarded with crypto Pocket Arena Tokens which have real world value for users, real ownership of virtual in-game items, easy and safe in-game item trading.Game developers can be Free from strict policies of Google Play and App Store, community booster through decentralised eSports with many micro tournaments and so on.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
BEP20POC.pegout_submit(uint256) (#795-822) uses timestamp for comparisons
Dangerous comparisons:
- (block.timestamp - arr_pegout_submit[arr_pegout_submit_key[i]].reg_date) < 86400 (#801)
Avoid relying on block.timestamp.
Additional information: link
Different versions of Solidity is used:
- Version used: ['^0.8.0', '^0.8.9']
- ^0.8.0 (#6)
- ^0.8.0 (#32)
- ^0.8.0 (#116)
- ^0.8.0 (#145)
- ^0.8.9 (#501)
Use one Solidity version.
Additional information: link
BEP20POC.staff_del() (#627-647) has costly operations inside a loop:
- delete arr_staff[i] (#632)
BEP20POC.pegout_submit_cancel(bytes32[]) (#883-896) has costly operations inside a loop:
- _unlocked_POC_total -= arr_pegout_submit[del_id[i]].amount (#889)
BEP20POC.pegout_submit_cancel(bytes32[]) (#883-896) has costly operations inside a loop:
- _fee_income -= arr_pegout_submit[del_id[i]].fee (#890)
BEP20POC.pegin_reserve(uint256[],bytes32[],address[],uint256[],uint256[]) (#901-921) has costly operations inside a loop:
- arr_pegin_reserve_key_last += 1 (#917)
BEP20POC.pegin_run(bytes32[]) (#971-991) has costly operations inside a loop:
- _unlocked_POC_total += (arr_pegin_reserve[id[i]].amount + arr_pegin_reserve[id[i]].fee) (#981)
BEP20POC.pegin_run(bytes32[]) (#971-991) has costly operations inside a loop:
- _fee_income += arr_pegin_reserve[id[i]].fee (#982)
Use a local variable to hold the loop computation result.
Additional information: link
Context._msgData() (#23-25) is never used and should be removed
ERC20._burn(address,uint256) (#415-430) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#6) allows old versions
Pragma version^0.8.0 (#32) allows old versions
Pragma version^0.8.0 (#116) allows old versions
Pragma version^0.8.0 (#145) allows old versions
Pragma version^0.8.9 (#501) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
solc-0.8.10 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Struct BEP20POC.bridge_staff (#514-517) is not in CapWords
Struct BEP20POC.pegout_data (#521-528) is not in CapWords
Struct BEP20POC.pegin_data (#535-543) is not in CapWords
Event BEP20POCevt_staff_del(bool) (#626) is not in CapWords
Event BEP20POCevt_staff_quota_add(bool) (#662) is not in CapWords
Event BEP20POCevt_staff_quota_minus(bool) (#677) is not in CapWords
Event BEP20POCevt_fee_rate_set(uint256) (#705) is not in CapWords
Event BEP20POCevt_unlocked_POC_total_add(uint256) (#726) is not in CapWords
Event BEP20POCevt_unlocked_POC_total_minus(uint256) (#733) is not in CapWords
Event BEP20POCevt_submit_daily_limit_total_set(uint256) (#746) is not in CapWords
Event BEP20POCevt_submit_daily_limit_personal_set(uint256) (#756) is not in CapWords
Event BEP20POCevt_arr_pegout_submit_key_start_set(uint256) (#772) is not in CapWords
Event BEP20POCevt_arr_pegin_reserve_key_start_set(uint256) (#786) is not in CapWords
Event BEP20POCevt_pegout_submit(BEP20POC.pegout_data) (#794) is not in CapWords
Event BEP20POCevt_pegout_submit_complete(bool) (#871) is not in CapWords
Event BEP20POCevt_pegout_submit_cancel(bool) (#882) is not in CapWords
Event BEP20POCevt_pegin_reserve(bool) (#900) is not in CapWords
Event BEP20POCevt_pegin_run(bytes32[]) (#970) is not in CapWords
Event BEP20POCevt_pegin_reserve_cancel(bool) (#993) is not in CapWords
Function BEP20POC.staff_list() (#612-614) is not in mixedCase
Function BEP20POC.staff_add(address,uint256) (#616-624) is not in mixedCase
Parameter BEP20POC.staff_add(address,uint256).new_staff (#616) is not in mixedCase
Parameter BEP20POC.staff_add(address,uint256).new_staff_unlocked_POC (#616) is not in mixedCase
Function BEP20POC.staff_del() (#627-647) is not in mixedCase
Function BEP20POC.staff_check(address) (#649-660) is not in mixedCase
Function BEP20POC.staff_quota_add(address,uint256) (#663-675) is not in mixedCase
Function BEP20POC.staff_quota_minus(uint256) (#678-689) is not in mixedCase
Function BEP20POC.staff_quota_total() (#691-697) is not in mixedCase
Function BEP20POC._fee_rate_get() (#701-703) is not in mixedCase
Function BEP20POC._fee_rate_set(uint256) (#706-710) is not in mixedCase
Parameter BEP20POC._fee_rate_set(uint256).new_fee_rate (#706) is not in mixedCase
Function BEP20POC.fee_get(uint256) (#712-714) is not in mixedCase
Function BEP20POC.fee_income() (#716-718) is not in mixedCase
Function BEP20POC.unlocked_POC_total() (#722-724) is not in mixedCase
Function BEP20POC.unlocked_POC_total_add(uint256) (#727-731) is not in mixedCase
Function BEP20POC.unlocked_POC_total_minus(uint256) (#734-738) is not in mixedCase
Function BEP20POC._submit_daily_limit_total_get() (#742-744) is not in mixedCase
Function BEP20POC._submit_daily_limit_total_set(uint256) (#747-750) is not in mixedCase
Parameter BEP20POC._submit_daily_limit_total_set(uint256).new_submit_daily_limit_total (#747) is not in mixedCase
Function BEP20POC._submit_daily_limit_personal_get() (#752-754) is not in mixedCase
Function BEP20POC._submit_daily_limit_personal_set(uint256) (#757-760) is not in mixedCase
Parameter BEP20POC._submit_daily_limit_personal_set(uint256).new_submit_daily_limit_personal (#757) is not in mixedCase
Function BEP20POC.arr_pegout_submit_key_last_get() (#764-766) is not in mixedCase
Function BEP20POC.arr_pegout_submit_key_start_get() (#768-770) is not in mixedCase
Function BEP20POC.arr_pegout_submit_key_start_set(uint256) (#773-776) is not in mixedCase
Parameter BEP20POC.arr_pegout_submit_key_start_set(uint256).new_arr_pegout_submit_key_start (#773) is not in mixedCase
Function BEP20POC.arr_pegin_reserve_key_last_get() (#778-780) is not in mixedCase
Function BEP20POC.arr_pegin_reserve_key_start_get() (#782-784) is not in mixedCase
Function BEP20POC.arr_pegin_reserve_key_start_set(uint256) (#787-790) is not in mixedCase
Parameter BEP20POC.arr_pegin_reserve_key_start_set(uint256).new_arr_pegin_reserve_key_start (#787) is not in mixedCase
Function BEP20POC.pegout_submit(uint256) (#795-822) is not in mixedCase
Function BEP20POC.pegout_submit_list(bytes32) (#824-826) is not in mixedCase
Function BEP20POC.pegout_submit_list(uint256,uint256) (#828-869) is not in mixedCase
Parameter BEP20POC.pegout_submit_list(uint256,uint256).count_per_page (#828) is not in mixedCase
Parameter BEP20POC.pegout_submit_list(uint256,uint256).current_page (#828) is not in mixedCase
Function BEP20POC.pegout_submit_complete(bytes32[]) (#872-880) is not in mixedCase
Parameter BEP20POC.pegout_submit_complete(bytes32[]).complete_id (#872) is not in mixedCase
Function BEP20POC.pegout_submit_cancel(bytes32[]) (#883-896) is not in mixedCase
Parameter BEP20POC.pegout_submit_cancel(bytes32[]).del_id (#883) is not in mixedCase
Function BEP20POC.pegin_reserve(uint256[],bytes32[],address[],uint256[],uint256[]) (#901-921) is not in mixedCase
Parameter BEP20POC.pegin_reserve(uint256[],bytes32[],address[],uint256[],uint256[]).reg_date (#901) is not in mixedCase
Function BEP20POC.pegin_reserve_list(bytes32) (#923-925) is not in mixedCase
Function BEP20POC.pegin_reserve_list(uint256,uint256) (#927-968) is not in mixedCase
Parameter BEP20POC.pegin_reserve_list(uint256,uint256).count_per_page (#927) is not in mixedCase
Parameter BEP20POC.pegin_reserve_list(uint256,uint256).current_page (#927) is not in mixedCase
Function BEP20POC.pegin_run(bytes32[]) (#971-991) is not in mixedCase
Function BEP20POC.pegin_reserve_cancel(bytes32[]) (#994-1005) is not in mixedCase
Parameter BEP20POC.pegin_reserve_cancel(bytes32[]).del_id (#994) is not in mixedCase
Variable BEP20POC._owner (#507) is not in mixedCase
Variable BEP20POC._unlocked_POC_total (#508) is not in mixedCase
Variable BEP20POC._fee_rate (#509) is not in mixedCase
Variable BEP20POC._fee_income (#510) is not in mixedCase
Variable BEP20POC._submit_daily_limit_total (#511) is not in mixedCase
Variable BEP20POC._submit_daily_limit_personal (#512) is not in mixedCase
Variable BEP20POC.arr_staff (#518) is not in mixedCase
Variable BEP20POC.arr_pegout_submit (#529) is not in mixedCase
Variable BEP20POC.arr_pegout_submit_key (#530) is not in mixedCase
Variable BEP20POC.arr_pegout_submit_key_start (#531) is not in mixedCase
Variable BEP20POC.arr_pegout_submit_key_last (#532) is not in mixedCase
Variable BEP20POC.arr_pegin_reserve (#544) is not in mixedCase
Variable BEP20POC.arr_pegin_reserve_key (#545) is not in mixedCase
Variable BEP20POC.arr_pegin_reserve_key_start (#546) is not in mixedCase
Variable BEP20POC.arr_pegin_reserve_key_last (#547) is not in mixedCase
Enum BEP20POC.Submit_state (#520) is not in CapWords
Enum BEP20POC.Reserve_state (#534) is not in CapWords
Follow the Solidity naming convention.
Additional information: link
BEP20POC._fee_rate_set(uint256) (#706-710) uses literals with too many digits:
- require(bool,string)(new_fee_rate <= 10000 * 100,rate should be 1000000 or less) (#707)
BEP20POC.slitherConstructorConstantVariables() (#504-1007) uses literals with too many digits:
- INIT_SUPPLY_POC = 1000000000 (#505)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
name() should be declared external:
- ERC20.name() (#202-204)
symbol() should be declared external:
- ERC20.symbol() (#210-212)
totalSupply() should be declared external:
- ERC20.totalSupply() (#234-236)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#272-275)
Use the external attribute for functions never called from the contract.
Additional information: link
Token has relatively low CoinMarketCap rank
Young tokens have high risks of price dump / death