diff --git a/.env.example b/.env.example index d7379cb..baf6079 100644 --- a/.env.example +++ b/.env.example @@ -985,6 +985,61 @@ MODULE_zcash-main_NODES[]=http://login:password@127.0.0.2:1234/ MODULE_zcash-main_REQUESTER_TIMEOUT=60 MODULE_zcash-main_REQUESTER_THREADS=12 +###################### +## Main EVM Sei Module +###################### + +MODULES[]=sei-evm-main +MODULE_sei-evm-main_CLASS=SeiEVMMainModule +MODULE_sei-evm-main_NODES[]=http://login:password@127.0.0.1:1234/ +MODULE_sei-evm-main_NODES[]=http://login:password@127.0.0.1:1234/ +MODULE_sei-evm-main_REQUESTER_TIMEOUT=60 +MODULE_sei-evm-main_REQUESTER_THREADS=12 + +####################### +## Trace Sei EVM Module +####################### + +MODULES[]=sei-evm-trace +MODULE_sei-evm-trace_CLASS=SeiEVMTraceModule +MODULE_sei-evm-trace_NODES[]=http://login:password@127.0.0.1:1234/ +MODULE_sei-evm-trace_NODES[]=http://login:password@127.0.0.2:1234/ +MODULE_sei-evm-trace_REQUESTER_TIMEOUT=60 +MODULE_sei-evm-trace_REQUESTER_THREADS=12 + +###################### +## EVM ERC20 Sei Module +###################### + +MODULES[]=sei-evm-erc-20 +MODULE_sei-evm-erc-20_CLASS=SeiEVMERC20Module +MODULE_sei-evm-erc-20_NODES[]=http://login:password@127.0.0.1:1234/ +MODULE_sei-evm-erc-20_NODES[]=http://login:password@127.0.0.1:1234/ +MODULE_sei-evm-erc-20_REQUESTER_TIMEOUT=60 +MODULE_sei-evm-erc-20_REQUESTER_THREADS=12 + +###################### +## EVM ERC721 Sei Module +###################### + +MODULES[]=sei-evm-erc-721 +MODULE_sei-evm-erc-721_CLASS=SeiEVMERC721Module +MODULE_sei-evm-erc-721_NODES[]=http://login:password@127.0.0.1:1234/ +MODULE_sei-evm-erc-721_NODES[]=http://login:password@127.0.0.1:1234/ +MODULE_sei-evm-erc-721_REQUESTER_TIMEOUT=60 +MODULE_sei-evm-erc-721_REQUESTER_THREADS=12 + +###################### +## EVM ERC1155 Sei Module +###################### + +MODULES[]=sei-evm-erc-1155 +MODULE_sei-evm-erc-1155_CLASS=SeiEVMERC1155Module +MODULE_sei-evm-erc-1155_NODES[]=http://login:password@127.0.0.1:1234/ +MODULE_sei-evm-erc-1155_NODES[]=http://login:password@127.0.0.1:1234/ +MODULE_sei-evm-erc-1155_REQUESTER_TIMEOUT=60 +MODULE_sei-evm-erc-1155_REQUESTER_THREADS=12 + ###################### ## Main Rootstock Module ###################### diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index f041e1f..888ccfe 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -12,3 +12,4 @@ - Cardano Tokens modules * [Kirill Kuzminykh](https://github.com/Oskal174) - Rootstock modules + - Sei modules diff --git a/Modules/Common/EVMMainModule.php b/Modules/Common/EVMMainModule.php index 6bb75b2..0e360bb 100644 --- a/Modules/Common/EVMMainModule.php +++ b/Modules/Common/EVMMainModule.php @@ -238,6 +238,9 @@ final public function pre_process_block($block_id) // Data processing + if (in_array(EVMSpecialFeatures::FeesToTreasury, $this->extra_features)) + $miner = 'treasury'; + $this->block_time = date('Y-m-d H:i:s', to_int64_from_0xhex($block_time)); if (($ic = count($general_data)) !== count($receipt_data)) diff --git a/Modules/Common/EVMTraits.php b/Modules/Common/EVMTraits.php index 880732a..6d5f60c 100644 --- a/Modules/Common/EVMTraits.php +++ b/Modules/Common/EVMTraits.php @@ -38,6 +38,7 @@ enum EVMSpecialFeatures case rskEVM; // Rootstock has different traces and deferred validators rewards (in N+4000 block). case TraceBlockSupport; // Support for `trace_block` in RPC API case EIP4844; // Support of blob transaction + case FeesToTreasury; } trait EVMTraits diff --git a/Modules/SeiEVMERC1155Module.php b/Modules/SeiEVMERC1155Module.php new file mode 100644 index 0000000..0cf0fa0 --- /dev/null +++ b/Modules/SeiEVMERC1155Module.php @@ -0,0 +1,20 @@ +blockchain = 'sei-evm'; + $this->module = 'sei-evm-erc-1155'; + $this->is_main = false; + $this->first_block_date = '2024-01-25'; // This is for the devnet + $this->first_block_id = 0; + } +} diff --git a/Modules/SeiEVMERC20Module.php b/Modules/SeiEVMERC20Module.php new file mode 100644 index 0000000..91f7d97 --- /dev/null +++ b/Modules/SeiEVMERC20Module.php @@ -0,0 +1,20 @@ +blockchain = 'sei-evm'; + $this->module = 'sei-evm-erc-20'; + $this->is_main = false; + $this->first_block_date = '2024-01-25'; // This is for the devnet + $this->first_block_id = 0; + } +} diff --git a/Modules/SeiEVMERC721Module.php b/Modules/SeiEVMERC721Module.php new file mode 100644 index 0000000..15649a2 --- /dev/null +++ b/Modules/SeiEVMERC721Module.php @@ -0,0 +1,20 @@ +blockchain = 'sei-evm'; + $this->module = 'sei-evm-erc-721'; + $this->is_main = false; + $this->first_block_date = '2024-01-25'; // This is for the devnet + $this->first_block_id = 0; + } +} diff --git a/Modules/SeiEVMMainModule.php b/Modules/SeiEVMMainModule.php new file mode 100644 index 0000000..e0fbd8b --- /dev/null +++ b/Modules/SeiEVMMainModule.php @@ -0,0 +1,30 @@ +blockchain = 'sei-evm'; + $this->module = 'sei-evm-main'; + $this->is_main = true; + $this->first_block_date = '2024-01-25'; // This is for the devnet + $this->first_block_id = 0; + $this->currency = 'sei-evm'; + $this->currency_details = ['name' => 'Sei', 'symbol' => 'SEI', 'decimals' => 18, 'description' => null]; + + // EVMMainModule + $this->evm_implementation = EVMImplementation::geth; + $this->extra_features = [EVMSpecialFeatures::FeesToTreasury]; + $this->reward_function = function($block_id) + { + return '0'; + }; + } +} diff --git a/Modules/SeiEVMTraceModule.php b/Modules/SeiEVMTraceModule.php new file mode 100644 index 0000000..6c58c81 --- /dev/null +++ b/Modules/SeiEVMTraceModule.php @@ -0,0 +1,24 @@ +blockchain = 'sei-evm'; + $this->module = 'sei-evm-trace'; + $this->complements = 'sei-evm-main'; + $this->is_main = false; + $this->first_block_date = '2024-01-25'; // This is for the devnet + $this->first_block_id = 0; + + // EVMTraceModule + $this->evm_implementation = EVMImplementation::geth; + } +}