├── .gitattributes ├── .gitignore ├── FullSpec.md ├── License.md ├── README.md ├── benchmark.sh ├── e2e_test.sh ├── jenkins.sh ├── loom_test ├── License.md ├── Makefile ├── alice.key ├── authority.key ├── bob.key ├── charlie.key ├── dan.key ├── eth.key ├── eve.key ├── honest.genesis.json ├── hostile.genesis.json ├── loom-hostile-test.yml ├── loom-test.yml ├── mallory.key ├── oracle.key ├── plasma-config.yml ├── src │ ├── client │ │ ├── address_mapper_client.go │ │ ├── client.go │ │ ├── ganache_client.go │ │ ├── ganache_client_test.go │ │ ├── root_chain_service.go │ │ ├── setup.go │ │ └── token_contract.go │ ├── cmd │ │ ├── challenge_after_demo │ │ │ └── main.go │ │ ├── challenge_before_demo │ │ │ └── main.go │ │ ├── challenge_between_demo │ │ │ └── main.go │ │ ├── demo │ │ │ └── main.go │ │ └── respond_challenge_before_demo │ │ │ └── main.go │ ├── ethcontract │ │ └── cards.go │ └── hostile_operator │ │ ├── hostile_operator.go │ │ └── plugin │ │ └── hostile_operator_plugin.go ├── test.key └── trudy.key └── server ├── .babelrc ├── .soliumignore ├── .soliumrc.json ├── License.md ├── README.md ├── contracts ├── Core │ ├── Cards.sol │ ├── ERC20Receiver.sol │ ├── ExtendedERC20.sol │ ├── LoomToken.sol │ ├── RootChain.sol │ ├── SparseMerkleTree.sol │ └── ValidatorManagerContract.sol ├── Libraries │ ├── ChallengeLib.sol │ ├── ECVerify.sol │ └── Transaction │ │ ├── RLP.sol │ │ └── Transaction.sol └── Migrations.sol ├── migrations ├── 1_initial_migration.js └── 2_deploy_contract.js ├── package-lock.json ├── package.json ├── scripts └── ganache-cli.sh ├── test ├── SparseMerkleTree.js ├── UTXO.js ├── helpers │ ├── EVMRevert.js │ ├── EVMThrow.js │ ├── advanceToBlock.js │ ├── assertJump.js │ ├── assertRevert.js │ ├── decodeLogs.js │ ├── ether.js │ ├── expectEvent.js │ ├── expectThrow.js │ ├── increaseTime.js │ ├── latestTime.js │ ├── merkleTree.js │ ├── sign.js │ ├── toPromise.js │ └── transactionMined.js ├── testAllInOne.js ├── testChallengeAfter.js ├── testChallengeBefore.js ├── testChallengeBetween.js ├── testCooperativeExits.js └── testMultiERC721Validators.js ├── truffle-config.js └── yarn.lock /.gitattributes: -------------------------------------------------------------------------------- 1 | *.sol linguist-language=Solidity 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/.gitignore -------------------------------------------------------------------------------- /FullSpec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/FullSpec.md -------------------------------------------------------------------------------- /License.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/License.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/README.md -------------------------------------------------------------------------------- /benchmark.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/benchmark.sh -------------------------------------------------------------------------------- /e2e_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/e2e_test.sh -------------------------------------------------------------------------------- /jenkins.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/jenkins.sh -------------------------------------------------------------------------------- /loom_test/License.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/License.md -------------------------------------------------------------------------------- /loom_test/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/Makefile -------------------------------------------------------------------------------- /loom_test/alice.key: -------------------------------------------------------------------------------- 1 | iDAg84PiCWf4kAYzSnKtlu1rU///XpLqJUuimPEoV1Jp+GtLJa+yXdM/nZOZLcbm9CDAvnYMa/SKQeRNi/ciHA== -------------------------------------------------------------------------------- /loom_test/authority.key: -------------------------------------------------------------------------------- 1 | yM4Vuqf/MKjdA/n8mj5m+D6hZK/0VHXqMXlWyDMHQMxCRyGeGC1n6AfIwrSaqMAJYKcD1Nxl6vwgOkLCwACRwQ== -------------------------------------------------------------------------------- /loom_test/bob.key: -------------------------------------------------------------------------------- 1 | 3eHnPMZ9J67MT90L5UbFbDm+WYtguxmtGaVeMsebP0h3oS6er8TwYNoFzk5bbXioeehI2Qg2FH0i25CFj6AALw== -------------------------------------------------------------------------------- /loom_test/charlie.key: -------------------------------------------------------------------------------- 1 | DmYcg2tQreOUrljct8fI1IMp/eWxcR02W1O6tLFCgmMhjtTPv8N50ebTTLw0rFm0FsCGgOMHZQb/ZHN33YImtQ== -------------------------------------------------------------------------------- /loom_test/dan.key: -------------------------------------------------------------------------------- 1 | 24cBLX65S7rutcByV3c7SWHySj7vtEmMxaS4djLsy7z+yxfUutefMTovCMn2s0OJSy9DgNEu1uJUTs2iEVW6lg== -------------------------------------------------------------------------------- /loom_test/eth.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/eth.key -------------------------------------------------------------------------------- /loom_test/eve.key: -------------------------------------------------------------------------------- 1 | HwDk9DnZ3ALjSmH+K9JmYDZoaIFczVJL5rUfUAMhzL5cgZv8ipxXQsyhNG6FaqIrWKS6FahNsDxlFLlS3/PKGg== -------------------------------------------------------------------------------- /loom_test/honest.genesis.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/honest.genesis.json -------------------------------------------------------------------------------- /loom_test/hostile.genesis.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/hostile.genesis.json -------------------------------------------------------------------------------- /loom_test/loom-hostile-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/loom-hostile-test.yml -------------------------------------------------------------------------------- /loom_test/loom-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/loom-test.yml -------------------------------------------------------------------------------- /loom_test/mallory.key: -------------------------------------------------------------------------------- 1 | buCpQHL5EHiK9XeogXTykYOpBCLsqba2orCz4CzZ04oQ52tSpIUaHWSKxHUgsVsobOCkE+cWLQKqSv6hoX18SQ== -------------------------------------------------------------------------------- /loom_test/oracle.key: -------------------------------------------------------------------------------- 1 | D6XCGyCcDZ5TE22h66AlU+Bn6JqL4RnSl4a09RGU9LfM53JFG/T5GAnC0uiuIIiw9Dl0TwEAmdGb+WE0Bochkg== -------------------------------------------------------------------------------- /loom_test/plasma-config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/plasma-config.yml -------------------------------------------------------------------------------- /loom_test/src/client/address_mapper_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/client/address_mapper_client.go -------------------------------------------------------------------------------- /loom_test/src/client/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/client/client.go -------------------------------------------------------------------------------- /loom_test/src/client/ganache_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/client/ganache_client.go -------------------------------------------------------------------------------- /loom_test/src/client/ganache_client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/client/ganache_client_test.go -------------------------------------------------------------------------------- /loom_test/src/client/root_chain_service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/client/root_chain_service.go -------------------------------------------------------------------------------- /loom_test/src/client/setup.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/client/setup.go -------------------------------------------------------------------------------- /loom_test/src/client/token_contract.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/client/token_contract.go -------------------------------------------------------------------------------- /loom_test/src/cmd/challenge_after_demo/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/cmd/challenge_after_demo/main.go -------------------------------------------------------------------------------- /loom_test/src/cmd/challenge_before_demo/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/cmd/challenge_before_demo/main.go -------------------------------------------------------------------------------- /loom_test/src/cmd/challenge_between_demo/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/cmd/challenge_between_demo/main.go -------------------------------------------------------------------------------- /loom_test/src/cmd/demo/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/cmd/demo/main.go -------------------------------------------------------------------------------- /loom_test/src/cmd/respond_challenge_before_demo/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/cmd/respond_challenge_before_demo/main.go -------------------------------------------------------------------------------- /loom_test/src/ethcontract/cards.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/ethcontract/cards.go -------------------------------------------------------------------------------- /loom_test/src/hostile_operator/hostile_operator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/hostile_operator/hostile_operator.go -------------------------------------------------------------------------------- /loom_test/src/hostile_operator/plugin/hostile_operator_plugin.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/loom_test/src/hostile_operator/plugin/hostile_operator_plugin.go -------------------------------------------------------------------------------- /loom_test/test.key: -------------------------------------------------------------------------------- 1 | +tf/7hF/51XWl6FSjQQzDKfk/2BMW15Y3PKyHKm9gHHxugt562DduuWYlRFkEv7Fz/JRNOrSKToNjCrFoNJesQ== -------------------------------------------------------------------------------- /loom_test/trudy.key: -------------------------------------------------------------------------------- 1 | OCaglZBla+uurtHH6PRVL5M8C1L/4F0OO1kNn2O8T8Ry0MW5xk5D8tZHmog5Z1yZ95i8iUyFoeVArgJZbie0oQ== -------------------------------------------------------------------------------- /server/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/.babelrc -------------------------------------------------------------------------------- /server/.soliumignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/.soliumrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/.soliumrc.json -------------------------------------------------------------------------------- /server/License.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/License.md -------------------------------------------------------------------------------- /server/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/README.md -------------------------------------------------------------------------------- /server/contracts/Core/Cards.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Core/Cards.sol -------------------------------------------------------------------------------- /server/contracts/Core/ERC20Receiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Core/ERC20Receiver.sol -------------------------------------------------------------------------------- /server/contracts/Core/ExtendedERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Core/ExtendedERC20.sol -------------------------------------------------------------------------------- /server/contracts/Core/LoomToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Core/LoomToken.sol -------------------------------------------------------------------------------- /server/contracts/Core/RootChain.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Core/RootChain.sol -------------------------------------------------------------------------------- /server/contracts/Core/SparseMerkleTree.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Core/SparseMerkleTree.sol -------------------------------------------------------------------------------- /server/contracts/Core/ValidatorManagerContract.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Core/ValidatorManagerContract.sol -------------------------------------------------------------------------------- /server/contracts/Libraries/ChallengeLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Libraries/ChallengeLib.sol -------------------------------------------------------------------------------- /server/contracts/Libraries/ECVerify.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Libraries/ECVerify.sol -------------------------------------------------------------------------------- /server/contracts/Libraries/Transaction/RLP.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Libraries/Transaction/RLP.sol -------------------------------------------------------------------------------- /server/contracts/Libraries/Transaction/Transaction.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Libraries/Transaction/Transaction.sol -------------------------------------------------------------------------------- /server/contracts/Migrations.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/contracts/Migrations.sol -------------------------------------------------------------------------------- /server/migrations/1_initial_migration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/migrations/1_initial_migration.js -------------------------------------------------------------------------------- /server/migrations/2_deploy_contract.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/migrations/2_deploy_contract.js -------------------------------------------------------------------------------- /server/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/package-lock.json -------------------------------------------------------------------------------- /server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/package.json -------------------------------------------------------------------------------- /server/scripts/ganache-cli.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/scripts/ganache-cli.sh -------------------------------------------------------------------------------- /server/test/SparseMerkleTree.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/SparseMerkleTree.js -------------------------------------------------------------------------------- /server/test/UTXO.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/UTXO.js -------------------------------------------------------------------------------- /server/test/helpers/EVMRevert.js: -------------------------------------------------------------------------------- 1 | export default 'revert'; 2 | -------------------------------------------------------------------------------- /server/test/helpers/EVMThrow.js: -------------------------------------------------------------------------------- 1 | export default 'invalid opcode'; 2 | -------------------------------------------------------------------------------- /server/test/helpers/advanceToBlock.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/advanceToBlock.js -------------------------------------------------------------------------------- /server/test/helpers/assertJump.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/assertJump.js -------------------------------------------------------------------------------- /server/test/helpers/assertRevert.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/assertRevert.js -------------------------------------------------------------------------------- /server/test/helpers/decodeLogs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/decodeLogs.js -------------------------------------------------------------------------------- /server/test/helpers/ether.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/ether.js -------------------------------------------------------------------------------- /server/test/helpers/expectEvent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/expectEvent.js -------------------------------------------------------------------------------- /server/test/helpers/expectThrow.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/expectThrow.js -------------------------------------------------------------------------------- /server/test/helpers/increaseTime.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/increaseTime.js -------------------------------------------------------------------------------- /server/test/helpers/latestTime.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/latestTime.js -------------------------------------------------------------------------------- /server/test/helpers/merkleTree.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/merkleTree.js -------------------------------------------------------------------------------- /server/test/helpers/sign.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/sign.js -------------------------------------------------------------------------------- /server/test/helpers/toPromise.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/toPromise.js -------------------------------------------------------------------------------- /server/test/helpers/transactionMined.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/helpers/transactionMined.js -------------------------------------------------------------------------------- /server/test/testAllInOne.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/testAllInOne.js -------------------------------------------------------------------------------- /server/test/testChallengeAfter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/testChallengeAfter.js -------------------------------------------------------------------------------- /server/test/testChallengeBefore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/testChallengeBefore.js -------------------------------------------------------------------------------- /server/test/testChallengeBetween.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/testChallengeBetween.js -------------------------------------------------------------------------------- /server/test/testCooperativeExits.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/testCooperativeExits.js -------------------------------------------------------------------------------- /server/test/testMultiERC721Validators.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/test/testMultiERC721Validators.js -------------------------------------------------------------------------------- /server/truffle-config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/truffle-config.js -------------------------------------------------------------------------------- /server/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loomnetwork/plasma-cash/HEAD/server/yarn.lock --------------------------------------------------------------------------------