Important: You MUST deploy and verify with the SAME source code. So, DO NOT CHANGE ANYTHING OF CONTRACTS. If you change, the byte codes are different and verify smart contract never passes.
To flatten your solidity files we recommended to use Truffle Flattener lib.npm install truffle-flattener -gtruffle-flattener <solidity-files>Or you can use any other flattener lib.
2. Deploy Contract to POSI Chain
To easier the verification we recommend the contract deployment using Ethereum Remix.
It is important to use the correct parameters (same as on deployment):
Contract address
Contract name
Compiler version
Optimizer
Chain Type (mainnet or testnet)
Sources
Imported libs
Then click on Sumbit button. If all params was correct - you will see Success message, or Error if bytecodes are not equal. On the Success case - your contract will verify and you will see all contract details on contract explorer page.