Orica Token Logo

ORI [Orica] Token

About ORI

Listings

Token 3 years
CoinMarketCap 3 years

Website

white paper

What is Orica?

Orica is the ethical funding platform for digital creatives and social impact projects. Our mission is to accelerate wealth equality through digital assets. Orica currently supports artists and social impact organisations (SIOs) to create and sell NFTs. We will shortly release Orica Projects, a new funding and co-royalty solution for artists and social entrepreneurs. With Orica Projects, artists and SIOs will be able to access funding and share creative royalties. Collectors can then invest in early-stage, impactful NFT projects and build portfolios for ethical growth.

Built in Security & Sustainability

Orica uses the Delegated Proof of Stake (DPoS) consensus protocol with the Binance Smart Chain (BSC). This enables secure, quick transactions at low network cost, generally a few cents. BSC also offers negligible energy consumption when compared to Proof of Work (PoW) blockchains like Ethereum.

Orica Offers a Native Token

Orica offers $ORI, a native token with a limited supply of 100M and a deflationary plan through buybacks and token burns. ORI is listed on CoinMarketCap, PancakeSwap, CoinGecko and OricaSwap.

Laser Scorebeta Last Audit: 7 December 2021

report
Token seems to be (relatively) fine. It still become a scam, but probability is moderate.

Anti-Scam

Links


Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)

OricaToken.burnPresaleTokens(uint256) (OricaToken.sol#603-607) contains a tautology or contradiction:
- require(bool,string)(presale_group[msg.sender].frozen_tokens - amount >= 0,Frozen_tokens must be non zero) (OricaToken.sol#604)
OricaToken.burnTeamTokens(uint256) (OricaToken.sol#619-623) contains a tautology or contradiction:
- require(bool,string)(team_group[msg.sender].frozen_tokens - amount >= 0,Frozen_tokens must be non zero) (OricaToken.sol#620)
Fix the incorrect comparison by changing the value type or the comparison.

Additional information: link

OricaToken.unlockPresaleTokens().new_percent (OricaToken.sol#643) is a local variable never initialized
OricaToken.unlockTeamTokens().new_percent (OricaToken.sol#689) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.

Additional information: link

OricaToken.externalApproveTo(address,bool,address) (OricaToken.sol#793-800) ignores return value by BEP20Token(contractAddress).approve(spender,uint256(- 1)) (OricaToken.sol#799)
Ensure that all the return values of the function calls are used.

Additional information: link

BEP20Token.allowance(address,address).owner (BEP20Token.sol#419) shadows:
- Ownable.owner() (BEP20Token.sol#297-299) (function)
BEP20Token._approve(address,address,uint256).owner (BEP20Token.sol#574) shadows:
- Ownable.owner() (BEP20Token.sol#297-299) (function)
Rename the local variables that shadow another component.

Additional information: link

OricaToken.addMoneyPresale(address,uint256) (OricaToken.sol#309-330) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now >= Aug142021,The purchase of a token for the Presale stage is not available. Too early.) (OricaToken.sol#312)
- require(bool,string)(now < Sep12021,The purchase of a token for the Presale stage is not available. Too late.) (OricaToken.sol#314)
- now < deadline_for_whitelist (OricaToken.sol#316)
OricaToken.openNextPresaleStage(uint256) (OricaToken.sol#349-366) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now >= Sep12021,Not available for spending. It's too early.) (OricaToken.sol#351)
OricaToken.addMoneyTeam(address,uint256) (OricaToken.sol#495-510) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now < Sep12022,Too late to add money for the team.) (OricaToken.sol#496)
OricaToken.openNextTeamStage(uint256) (OricaToken.sol#529-545) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now >= Sep12022,Not available for spending. It's too early.) (OricaToken.sol#531)
OricaToken.unlockPresaleTokens() (OricaToken.sol#640-670) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now >= Sep12021,Too early) (OricaToken.sol#642)
- now >= Sep12021 (OricaToken.sol#644)
- now >= Oct12021 (OricaToken.sol#647)
- now >= Nov12021 (OricaToken.sol#650)
- now >= Dec12021 (OricaToken.sol#653)
- now >= Jan12022 (OricaToken.sol#656)
- now >= Feb12022 (OricaToken.sol#659)
- now >= Mar12022 (OricaToken.sol#662)
OricaToken.unlockTeamTokens() (OricaToken.sol#686-716) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now >= Sep12022,Too early) (OricaToken.sol#688)
- now >= Sep12022 (OricaToken.sol#690)
- now >= Oct12022 (OricaToken.sol#693)
- now >= Nov12022 (OricaToken.sol#696)
- now >= Dec12022 (OricaToken.sol#699)
- now >= Jan12023 (OricaToken.sol#702)
- now >= Feb12023 (OricaToken.sol#705)
- now >= Mar12023 (OricaToken.sol#708)
Avoid relying on block.timestamp.

Additional information: link

Different versions of Solidity is used:
- Version used: ['>=0.5.16', '^0.5.0', '^0.5.16']
- >=0.5.16 (BEP20Token.sol#1)
- ^0.5.0 (IERC721.sol#1)
- ^0.5.16 (OricaToken.sol#4)
Use one Solidity version.

Additional information: link

BEP20Token._burnFrom(address,uint256) (BEP20Token.sol#588-591) is never used and should be removed
Context._msgData() (BEP20Token.sol#113-116) is never used and should be removed
SafeMath.div(uint256,uint256) (BEP20Token.sol#212-214) is never used and should be removed
SafeMath.div(uint256,uint256,string) (BEP20Token.sol#227-234) is never used and should be removed
SafeMath.mod(uint256,uint256) (BEP20Token.sol#247-249) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (BEP20Token.sol#262-265) is never used and should be removed
SafeMath.mul(uint256,uint256) (BEP20Token.sol#187-199) is never used and should be removed
Remove unused functions.

Additional information: link

Pragma version^0.5.0 (IERC721.sol#1) allows old versions
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 OricaToken.frozen_tokens (OricaToken.sol#64-67) is not in CapWords
Parameter OricaToken.openNextPresaleStage(uint256).increase_percentage (OricaToken.sol#349) is not in mixedCase
Parameter OricaToken.addToWhitelist(address[]).u_addr (OricaToken.sol#408) is not in mixedCase
Parameter OricaToken.delFromWhitelist(address[]).u_addr (OricaToken.sol#424) is not in mixedCase
Parameter OricaToken.extendWhitelistDeadline(uint256).extended_seconds (OricaToken.sol#448) is not in mixedCase
Parameter OricaToken.openNextTeamStage(uint256).increase_percentage (OricaToken.sol#529) is not in mixedCase
Parameter OricaToken.setRole(address,uint256).u_addr (OricaToken.sol#731) is not in mixedCase
Variable OricaToken.is_presale_enable (OricaToken.sol#38) is not in mixedCase
Variable OricaToken.seed_group (OricaToken.sol#40) is not in mixedCase
Variable OricaToken.seed_amount (OricaToken.sol#41) is not in mixedCase
Variable OricaToken.presale_group (OricaToken.sol#43) is not in mixedCase
Variable OricaToken.team_group (OricaToken.sol#45) is not in mixedCase
Variable OricaToken.team_amount (OricaToken.sol#46) is not in mixedCase
Variable OricaToken.advisors_group (OricaToken.sol#48) is not in mixedCase
Variable OricaToken.advisors_amount (OricaToken.sol#49) is not in mixedCase
Variable OricaToken.seed_users (OricaToken.sol#55) is not in mixedCase
Variable OricaToken._is_seed_user (OricaToken.sol#56) is not in mixedCase
Variable OricaToken.presale_users (OricaToken.sol#57) is not in mixedCase
Variable OricaToken._is_presale_user (OricaToken.sol#58) is not in mixedCase
Variable OricaToken.team_users (OricaToken.sol#59) is not in mixedCase
Variable OricaToken._is_team_user (OricaToken.sol#60) is not in mixedCase
Variable OricaToken.advisor_users (OricaToken.sol#61) is not in mixedCase
Variable OricaToken._is_advisor_user (OricaToken.sol#62) is not in mixedCase
Variable OricaToken.allowed_presale (OricaToken.sol#80) is not in mixedCase
Variable OricaToken.allowed_team (OricaToken.sol#81) is not in mixedCase
Variable OricaToken.deadline_for_whitelist (OricaToken.sol#82) is not in mixedCase
Constant OricaToken.Aug142021 (OricaToken.sol#84) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Aug282021 (OricaToken.sol#85) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Sep12021 (OricaToken.sol#86) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Oct12021 (OricaToken.sol#87) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Nov12021 (OricaToken.sol#88) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Dec12021 (OricaToken.sol#89) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Jan12022 (OricaToken.sol#90) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Feb12022 (OricaToken.sol#91) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Mar12022 (OricaToken.sol#92) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Sep12022 (OricaToken.sol#93) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Oct12022 (OricaToken.sol#94) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Nov12022 (OricaToken.sol#95) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Dec12022 (OricaToken.sol#96) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Jan12023 (OricaToken.sol#97) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Feb12023 (OricaToken.sol#98) is not in UPPER_CASE_WITH_UNDERSCORES
Constant OricaToken.Mar12023 (OricaToken.sol#99) is not in UPPER_CASE_WITH_UNDERSCORES
Variable OricaToken._timetamp_last_block (OricaToken.sol#101) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

Redundant expression "this (BEP20Token.sol#114)" inContext (BEP20Token.sol#104-117)
Remove redundant statements if they congest code but offer no value.

Additional information: link

BEP20Token.constructor() (BEP20Token.sol#351-359) uses literals with too many digits:
- _totalSupply = 100000000000000000000000000 (BEP20Token.sol#355)
OricaToken.constructor() (OricaToken.sol#161-171) uses literals with too many digits:
- seed_amount = 5000000000000000000000000 (OricaToken.sol#162)
OricaToken.constructor() (OricaToken.sol#161-171) uses literals with too many digits:
- team_amount = 15000000000000000000000000 (OricaToken.sol#163)
OricaToken.constructor() (OricaToken.sol#161-171) uses literals with too many digits:
- advisors_amount = 10000000000000000000000000 (OricaToken.sol#164)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (BEP20Token.sol#316-319)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (BEP20Token.sol#325-327)
increaseAllowance(address,uint256) should be declared external:
- BEP20Token.increaseAllowance(address,uint256) (BEP20Token.sol#465-468)
decreaseAllowance(address,uint256) should be declared external:
- BEP20Token.decreaseAllowance(address,uint256) (BEP20Token.sol#484-487)
mint(uint256) should be declared external:
- BEP20Token.mint(uint256) (BEP20Token.sol#497-500)
getSeedUsers() should be declared external:
- OricaToken.getSeedUsers() (OricaToken.sol#198-200)
getPresaleUsers() should be declared external:
- OricaToken.getPresaleUsers() (OricaToken.sol#213-215)
getTeamUsers() should be declared external:
- OricaToken.getTeamUsers() (OricaToken.sol#227-229)
getAdvisorsUsers() should be declared external:
- OricaToken.getAdvisorsUsers() (OricaToken.sol#249-251)
addMoneySeed(address,uint256) should be declared external:
- OricaToken.addMoneySeed(address,uint256) (OricaToken.sol#274-287)
openNextPresaleStage(uint256) should be declared external:
- OricaToken.openNextPresaleStage(uint256) (OricaToken.sol#349-366)
startPresale() should be declared external:
- OricaToken.startPresale() (OricaToken.sol#378-381)
stopPresale() should be declared external:
- OricaToken.stopPresale() (OricaToken.sol#393-396)
addToWhitelist(address[]) should be declared external:
- OricaToken.addToWhitelist(address[]) (OricaToken.sol#408-412)
delFromWhitelist(address[]) should be declared external:
- OricaToken.delFromWhitelist(address[]) (OricaToken.sol#424-428)
extendWhitelistDeadline(uint256) should be declared external:
- OricaToken.extendWhitelistDeadline(uint256) (OricaToken.sol#448-455)
allowForAll() should be declared external:
- OricaToken.allowForAll() (OricaToken.sol#467-470)
addMoneyTeam(address,uint256) should be declared external:
- OricaToken.addMoneyTeam(address,uint256) (OricaToken.sol#495-510)
openNextTeamStage(uint256) should be declared external:
- OricaToken.openNextTeamStage(uint256) (OricaToken.sol#529-545)
awardAdvisors(address,uint256) should be declared external:
- OricaToken.awardAdvisors(address,uint256) (OricaToken.sol#567-578)
burn(uint256) should be declared external:
- OricaToken.burn(uint256) (OricaToken.sol#589-591)
burnPresaleTokens(uint256) should be declared external:
- OricaToken.burnPresaleTokens(uint256) (OricaToken.sol#603-607)
burnTeamTokens(uint256) should be declared external:
- OricaToken.burnTeamTokens(uint256) (OricaToken.sol#619-623)
unlockPresaleTokens() should be declared external:
- OricaToken.unlockPresaleTokens() (OricaToken.sol#640-670)
unlockTeamTokens() should be declared external:
- OricaToken.unlockTeamTokens() (OricaToken.sol#686-716)
setRole(address,uint256) should be declared external:
- OricaToken.setRole(address,uint256) (OricaToken.sol#731-733)
externalApprove(address,bool) should be declared external:
- OricaToken.externalApprove(address,bool) (OricaToken.sol#787-790)
Use the external attribute for functions never called from the contract.

Additional information: link

Holders:


Token is deployed only at one blockchain


Unable to find PancakeSwap trading pair to compute liquidity.


Unable to find PancakeSwap trading pair to compute number of swaps.


Twitter account link seems to be invalid


BscScan page for the token does not contain additional info: website, socials, description, etc.

Additional information: link


Unable to find audit link on the website


Young tokens have high risks of scam / price dump / death


Young tokens have high risks of scam / price dump / death


Young tokens have high risks of price dump / death


Token has relatively low CoinGecko rank


Token has relatively low CoinMarketCap rank

Price for ORI