├── .gitignore ├── LICENSE ├── README.md ├── cmd └── go-ethrelay │ ├── account.go │ ├── balance.go │ ├── cmd.go │ ├── deploy.go │ ├── deployEthash.go │ ├── deployEthrelay.go │ ├── dispute.go │ ├── generate.go │ ├── get.go │ ├── getBlock.go │ ├── getLongestChainEndpoint.go │ ├── getTransaction.go │ ├── init.go │ ├── main.go │ ├── stake.go │ ├── stakeDeposit.go │ ├── stakeGet.go │ ├── stakeWithdraw.go │ ├── submit.go │ ├── submitBlock.go │ ├── submitEpoch.go │ ├── verify.go │ ├── verifyBlock.go │ ├── verifyReceipt.go │ └── verifyTransaction.go ├── configs └── ethrelay.example.yml ├── go.mod ├── go.sum ├── internal ├── ethereum │ ├── conversions │ │ └── conversions.go │ ├── encoding │ │ └── rlp.go │ ├── ethash │ │ ├── algorithm.go │ │ ├── block_meta_data.go │ │ ├── ethash.go │ │ └── probatio_ext.go │ ├── ethashsol │ │ └── EthashContract.go │ ├── mtree │ │ ├── branch.go │ │ ├── branch_tree.go │ │ ├── dag_mt.go │ │ ├── merkle_tree.go │ │ └── util.go │ └── typedefs │ │ └── typedefs.go ├── ethrelay │ ├── EthrelayContract.go │ └── stringers.go └── io │ └── io.go ├── pkg └── ethrelay │ ├── account.go │ ├── balance.go │ ├── client.go │ ├── deploy.go │ ├── dispute.go │ ├── get.go │ ├── merkleproof.go │ ├── stake.go │ ├── submit.go │ └── verify.go └── scripts └── setup-relay.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/README.md -------------------------------------------------------------------------------- /cmd/go-ethrelay/account.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/account.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/balance.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/balance.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/cmd.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/cmd.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/deploy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/deploy.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/deployEthash.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/deployEthash.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/deployEthrelay.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/deployEthrelay.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/dispute.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/dispute.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/generate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/generate.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/get.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/get.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/getBlock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/getBlock.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/getLongestChainEndpoint.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/getLongestChainEndpoint.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/getTransaction.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/getTransaction.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/init.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/init.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/main.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/stake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/stake.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/stakeDeposit.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/stakeDeposit.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/stakeGet.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/stakeGet.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/stakeWithdraw.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/stakeWithdraw.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/submit.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/submit.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/submitBlock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/submitBlock.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/submitEpoch.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/submitEpoch.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/verify.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/verify.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/verifyBlock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/verifyBlock.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/verifyReceipt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/verifyReceipt.go -------------------------------------------------------------------------------- /cmd/go-ethrelay/verifyTransaction.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/cmd/go-ethrelay/verifyTransaction.go -------------------------------------------------------------------------------- /configs/ethrelay.example.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/configs/ethrelay.example.yml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/go.sum -------------------------------------------------------------------------------- /internal/ethereum/conversions/conversions.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/conversions/conversions.go -------------------------------------------------------------------------------- /internal/ethereum/encoding/rlp.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/encoding/rlp.go -------------------------------------------------------------------------------- /internal/ethereum/ethash/algorithm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/ethash/algorithm.go -------------------------------------------------------------------------------- /internal/ethereum/ethash/block_meta_data.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/ethash/block_meta_data.go -------------------------------------------------------------------------------- /internal/ethereum/ethash/ethash.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/ethash/ethash.go -------------------------------------------------------------------------------- /internal/ethereum/ethash/probatio_ext.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/ethash/probatio_ext.go -------------------------------------------------------------------------------- /internal/ethereum/ethashsol/EthashContract.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/ethashsol/EthashContract.go -------------------------------------------------------------------------------- /internal/ethereum/mtree/branch.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/mtree/branch.go -------------------------------------------------------------------------------- /internal/ethereum/mtree/branch_tree.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/mtree/branch_tree.go -------------------------------------------------------------------------------- /internal/ethereum/mtree/dag_mt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/mtree/dag_mt.go -------------------------------------------------------------------------------- /internal/ethereum/mtree/merkle_tree.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/mtree/merkle_tree.go -------------------------------------------------------------------------------- /internal/ethereum/mtree/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/mtree/util.go -------------------------------------------------------------------------------- /internal/ethereum/typedefs/typedefs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethereum/typedefs/typedefs.go -------------------------------------------------------------------------------- /internal/ethrelay/EthrelayContract.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethrelay/EthrelayContract.go -------------------------------------------------------------------------------- /internal/ethrelay/stringers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/ethrelay/stringers.go -------------------------------------------------------------------------------- /internal/io/io.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/internal/io/io.go -------------------------------------------------------------------------------- /pkg/ethrelay/account.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/account.go -------------------------------------------------------------------------------- /pkg/ethrelay/balance.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/balance.go -------------------------------------------------------------------------------- /pkg/ethrelay/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/client.go -------------------------------------------------------------------------------- /pkg/ethrelay/deploy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/deploy.go -------------------------------------------------------------------------------- /pkg/ethrelay/dispute.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/dispute.go -------------------------------------------------------------------------------- /pkg/ethrelay/get.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/get.go -------------------------------------------------------------------------------- /pkg/ethrelay/merkleproof.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/merkleproof.go -------------------------------------------------------------------------------- /pkg/ethrelay/stake.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/stake.go -------------------------------------------------------------------------------- /pkg/ethrelay/submit.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/submit.go -------------------------------------------------------------------------------- /pkg/ethrelay/verify.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/pkg/ethrelay/verify.go -------------------------------------------------------------------------------- /scripts/setup-relay.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pantos-io/research-go-ethrelay/HEAD/scripts/setup-relay.sh --------------------------------------------------------------------------------