Skip to content

Commit 8e45ad0

Browse files
author
jzethar
committed
Mantle modules
1 parent 58a5c1e commit 8e45ad0

6 files changed

Lines changed: 188 additions & 0 deletions

File tree

‎.env.example‎

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -721,6 +721,61 @@ MODULE_litecoin-mweb_NODES[]=http://login:password@127.0.0.2:1234/
721721
MODULE_litecoin-mweb_REQUESTER_TIMEOUT=60
722722
MODULE_litecoin-mweb_REQUESTER_THREADS=12
723723

724+
####################
725+
# Mantle Main Module
726+
####################
727+
728+
MODULES[]=mantle-main
729+
MODULE_mantle-main_CLASS=MantleMainModule
730+
MODULE_mantle-main_NODES[]=http://login:password@127.0.0.1:1234/
731+
MODULE_mantle-main_NODES[]=http://login:password@127.0.0.2:1234/
732+
MODULE_mantle-main_REQUESTER_TIMEOUT=60
733+
MODULE_mantle-main_REQUESTER_THREADS=12
734+
735+
######################
736+
## Trace Mantle Module
737+
######################
738+
739+
MODULES[]=mantle-trace
740+
MODULE_mantle-trace_CLASS=MantleTraceModule
741+
MODULE_mantle-trace_NODES[]=http://login:password@127.0.0.1:1234/
742+
MODULE_mantle-trace_NODES[]=http://login:password@127.0.0.2:1234/
743+
MODULE_mantle-trace_REQUESTER_TIMEOUT=60
744+
MODULE_mantle-trace_REQUESTER_THREADS=12
745+
746+
######################
747+
## ERC20 Mantle Module
748+
######################
749+
750+
MODULES[]=mantle-erc-20
751+
MODULE_mantle-erc-20_CLASS=MantleERC20Module
752+
MODULE_mantle-erc-20_NODES[]=http://login:password@127.0.0.1:1234/
753+
MODULE_mantle-erc-20_NODES[]=http://login:password@127.0.0.2:1234/
754+
MODULE_mantle-erc-20_REQUESTER_TIMEOUT=60
755+
MODULE_mantle-erc-20_REQUESTER_THREADS=12
756+
757+
#######################
758+
## ERC721 Mantle Module
759+
#######################
760+
761+
MODULES[]=mantle-erc-721
762+
MODULE_mantle-erc-721_CLASS=MantleERC721Module
763+
MODULE_mantle-erc-721_NODES[]=http://login:password@127.0.0.1:1234/
764+
MODULE_mantle-erc-721_NODES[]=http://login:password@127.0.0.2:1234/
765+
MODULE_mantle-erc-721_REQUESTER_TIMEOUT=60
766+
MODULE_mantle-erc-721_REQUESTER_THREADS=12
767+
768+
#########################
769+
## ERC-1155 Mantle Module
770+
#########################
771+
772+
MODULES[]=mantle-erc-1155
773+
MODULE_mantle-erc-1155_CLASS=MantleERC1155Module
774+
MODULE_mantle-erc-1155_NODES[]=http://login:password@127.0.0.1:1234/
775+
MODULE_mantle-erc-1155_NODES[]=http://login:password@127.0.0.2:1234/
776+
MODULE_mantle-erc-1155_REQUESTER_TIMEOUT=60
777+
MODULE_mantle-erc-1155_REQUESTER_THREADS=12
778+
724779
#######################
725780
## Main Optimism Module
726781
#######################

‎Modules/MantleERC1155Module.php‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php declare(strict_types = 1);
2+
3+
/* Idea (c) 2023 Nikita Zhavoronkov, nikzh@nikzh.com
4+
* Copyright (c) 2023-2024 3xpl developers, 3@3xpl.com, see CONTRIBUTORS.md
5+
* Distributed under the MIT software license, see LICENSE.md */
6+
7+
/* This module processes ERC-1155 MT transfers in Mantle. It requires a geth node to run. */
8+
9+
final class MantleERC1155Module extends EVMERC1155Module implements Module, MultipleBalanceSpecial
10+
{
11+
function initialize()
12+
{
13+
// CoreModule
14+
$this->blockchain = 'mantle';
15+
$this->module = 'mantle-erc-1155';
16+
$this->is_main = false;
17+
$this->first_block_date = '2023-07-02';
18+
$this->first_block_id = 0;
19+
20+
$this->tests = [
21+
['block' => 66812356, 'result' => 'a:2:{s:6:"events";a:2:{i:0;a:8:{s:11:"transaction";s:66:"0x54a4b4de8934ad2868107eaacc9e640d1fddfc0660ec8a338191af26adfc0f0e";s:8:"currency";s:42:"0x47cadd4d96bb9576801daea369e6e2e56fee0d19";s:7:"address";s:42:"0x0000000000000000000000000000000000000000";s:8:"sort_key";i:0;s:6:"effect";s:2:"-1";s:5:"extra";s:1:"1";s:5:"block";i:66812356;s:4:"time";s:19:"2024-07-23 17:17:04";}i:1;a:8:{s:11:"transaction";s:66:"0x54a4b4de8934ad2868107eaacc9e640d1fddfc0660ec8a338191af26adfc0f0e";s:8:"currency";s:42:"0x47cadd4d96bb9576801daea369e6e2e56fee0d19";s:7:"address";s:42:"0x27076726568ccf183402b12b9edcdbfb79f38407";s:8:"sort_key";i:1;s:6:"effect";s:1:"1";s:5:"extra";s:1:"1";s:5:"block";i:66812356;s:4:"time";s:19:"2024-07-23 17:17:04";}}s:10:"currencies";a:1:{i:0;a:3:{s:2:"id";s:42:"0x47cadd4d96bb9576801daea369e6e2e56fee0d19";s:4:"name";s:0:"";s:6:"symbol";s:0:"";}}}'],
22+
];
23+
}
24+
}

‎Modules/MantleERC20Module.php‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php declare(strict_types = 1);
2+
3+
/* Idea (c) 2023 Nikita Zhavoronkov, nikzh@nikzh.com
4+
* Copyright (c) 2023-2024 3xpl developers, 3@3xpl.com, see CONTRIBUTORS.md
5+
* Distributed under the MIT software license, see LICENSE.md */
6+
7+
/* This module processes ERC-20 token transfers in Mantle. It requires a geth node to run. */
8+
9+
final class MantleERC20Module extends EVMERC20Module implements Module, MultipleBalanceSpecial, SupplySpecial
10+
{
11+
function initialize()
12+
{
13+
// CoreModule
14+
$this->blockchain = 'mantle';
15+
$this->module = 'mantle-erc-20';
16+
$this->is_main = false;
17+
$this->first_block_date = '2023-07-02';
18+
$this->first_block_id = 0;
19+
20+
$this->tests = [
21+
['block' => 66807079, 'result' => 'a:2:{s:6:"events";a:16:{i:0;a:7:{s:11:"transaction";s:66:"0xca7b6e2081063f0c97de46dd4be3ab1f259a8d9f393795a220607c66f9eb3e47";s:8:"currency";s:42:"0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111";s:7:"address";s:42:"0x628f7131cf43e88ebe3921ae78c4ba0c31872bd4";s:8:"sort_key";i:0;s:6:"effect";s:15:"-58325636664052";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:1;a:7:{s:11:"transaction";s:66:"0xca7b6e2081063f0c97de46dd4be3ab1f259a8d9f393795a220607c66f9eb3e47";s:8:"currency";s:42:"0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111";s:7:"address";s:42:"0x29161e1463e72a326abaed44cdcc1a0356371fb8";s:8:"sort_key";i:1;s:6:"effect";s:14:"58325636664052";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:2;a:7:{s:11:"transaction";s:66:"0xca7b6e2081063f0c97de46dd4be3ab1f259a8d9f393795a220607c66f9eb3e47";s:8:"currency";s:42:"0x201eba5cc46d216ce6dc03f6a759e8e766e956ae";s:7:"address";s:42:"0x29161e1463e72a326abaed44cdcc1a0356371fb8";s:8:"sort_key";i:2;s:6:"effect";s:7:"-202500";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:3;a:7:{s:11:"transaction";s:66:"0xca7b6e2081063f0c97de46dd4be3ab1f259a8d9f393795a220607c66f9eb3e47";s:8:"currency";s:42:"0x201eba5cc46d216ce6dc03f6a759e8e766e956ae";s:7:"address";s:42:"0x628f7131cf43e88ebe3921ae78c4ba0c31872bd4";s:8:"sort_key";i:3;s:6:"effect";s:6:"202500";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:4;a:7:{s:11:"transaction";s:66:"0xf8675aaf1293d2bb0b3f8ffed5185437fcf5fe5680392e2c468c0c49e39a1745";s:8:"currency";s:42:"0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111";s:7:"address";s:42:"0x628f7131cf43e88ebe3921ae78c4ba0c31872bd4";s:8:"sort_key";i:4;s:6:"effect";s:15:"-74886501675749";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:5;a:7:{s:11:"transaction";s:66:"0xf8675aaf1293d2bb0b3f8ffed5185437fcf5fe5680392e2c468c0c49e39a1745";s:8:"currency";s:42:"0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111";s:7:"address";s:42:"0x8b06c0a45791064bf2d4f4e87559691d4ec39725";s:8:"sort_key";i:5;s:6:"effect";s:14:"74886501675749";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:6;a:7:{s:11:"transaction";s:66:"0xf8675aaf1293d2bb0b3f8ffed5185437fcf5fe5680392e2c468c0c49e39a1745";s:8:"currency";s:42:"0x201eba5cc46d216ce6dc03f6a759e8e766e956ae";s:7:"address";s:42:"0x8b06c0a45791064bf2d4f4e87559691d4ec39725";s:8:"sort_key";i:6;s:6:"effect";s:7:"-260000";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:7;a:7:{s:11:"transaction";s:66:"0xf8675aaf1293d2bb0b3f8ffed5185437fcf5fe5680392e2c468c0c49e39a1745";s:8:"currency";s:42:"0x201eba5cc46d216ce6dc03f6a759e8e766e956ae";s:7:"address";s:42:"0x628f7131cf43e88ebe3921ae78c4ba0c31872bd4";s:8:"sort_key";i:7;s:6:"effect";s:6:"260000";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:8;a:7:{s:11:"transaction";s:66:"0x5924bb978b10140c9789da5d7a3c63790dd3530c7c2b852495fd4bb6cfc39599";s:8:"currency";s:42:"0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111";s:7:"address";s:42:"0xa125af1a4704044501fe12ca9567ef1550e430e8";s:8:"sort_key";i:8;s:6:"effect";s:15:"-66940537480942";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:9;a:7:{s:11:"transaction";s:66:"0x5924bb978b10140c9789da5d7a3c63790dd3530c7c2b852495fd4bb6cfc39599";s:8:"currency";s:42:"0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111";s:7:"address";s:42:"0x41621b2e924a3746ab6ec90bfbf3835e2a71648a";s:8:"sort_key";i:9;s:6:"effect";s:14:"66940537480942";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:10;a:7:{s:11:"transaction";s:66:"0x5924bb978b10140c9789da5d7a3c63790dd3530c7c2b852495fd4bb6cfc39599";s:8:"currency";s:42:"0x201eba5cc46d216ce6dc03f6a759e8e766e956ae";s:7:"address";s:42:"0x41621b2e924a3746ab6ec90bfbf3835e2a71648a";s:8:"sort_key";i:10;s:6:"effect";s:7:"-232500";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:11;a:7:{s:11:"transaction";s:66:"0x5924bb978b10140c9789da5d7a3c63790dd3530c7c2b852495fd4bb6cfc39599";s:8:"currency";s:42:"0x201eba5cc46d216ce6dc03f6a759e8e766e956ae";s:7:"address";s:42:"0xa125af1a4704044501fe12ca9567ef1550e430e8";s:8:"sort_key";i:11;s:6:"effect";s:6:"232500";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:12;a:7:{s:11:"transaction";s:66:"0x9d3bf485c6fb13b3980cb1706c40f5ce741edc4b08e0830cf067149a5080420c";s:8:"currency";s:42:"0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9";s:7:"address";s:42:"0x08fdf9fc4a6eb2a28007d82ae2d9fa4ac29ffa7a";s:8:"sort_key";i:12;s:6:"effect";s:7:"-175000";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:13;a:7:{s:11:"transaction";s:66:"0x9d3bf485c6fb13b3980cb1706c40f5ce741edc4b08e0830cf067149a5080420c";s:8:"currency";s:42:"0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9";s:7:"address";s:42:"0x8e3a13418743ab1a98434551937ea687e451b589";s:8:"sort_key";i:13;s:6:"effect";s:6:"175000";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:14;a:7:{s:11:"transaction";s:66:"0x9d3bf485c6fb13b3980cb1706c40f5ce741edc4b08e0830cf067149a5080420c";s:8:"currency";s:42:"0x201eba5cc46d216ce6dc03f6a759e8e766e956ae";s:7:"address";s:42:"0x8e3a13418743ab1a98434551937ea687e451b589";s:8:"sort_key";i:14;s:6:"effect";s:7:"-173904";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}i:15;a:7:{s:11:"transaction";s:66:"0x9d3bf485c6fb13b3980cb1706c40f5ce741edc4b08e0830cf067149a5080420c";s:8:"currency";s:42:"0x201eba5cc46d216ce6dc03f6a759e8e766e956ae";s:7:"address";s:42:"0x08fdf9fc4a6eb2a28007d82ae2d9fa4ac29ffa7a";s:8:"sort_key";i:15;s:6:"effect";s:6:"173904";s:5:"block";i:66807079;s:4:"time";s:19:"2024-07-23 14:21:10";}}s:10:"currencies";a:3:{i:0;a:4:{s:2:"id";s:42:"0xdeaddeaddeaddeaddeaddeaddeaddeaddead1111";s:4:"name";s:5:"Ether";s:6:"symbol";s:4:"WETH";s:8:"decimals";i:18;}i:1;a:4:{s:2:"id";s:42:"0x201eba5cc46d216ce6dc03f6a759e8e766e956ae";s:4:"name";s:10:"Tether USD";s:6:"symbol";s:4:"USDT";s:8:"decimals";i:6;}i:2;a:4:{s:2:"id";s:42:"0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9";s:4:"name";s:8:"USD Coin";s:6:"symbol";s:4:"USDC";s:8:"decimals";i:6;}}}'],
22+
];
23+
}
24+
}

‎Modules/MantleERC721Module.php‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php declare(strict_types = 1);
2+
3+
/* Idea (c) 2023 Nikita Zhavoronkov, nikzh@nikzh.com
4+
* Copyright (c) 2023-2024 3xpl developers, 3@3xpl.com, see CONTRIBUTORS.md
5+
* Distributed under the MIT software license, see LICENSE.md */
6+
7+
/* This module processes ERC-721 NFT transfers in Mantle. It requires a geth node to run. */
8+
9+
final class MantleERC721Module extends EVMERC721Module implements Module, MultipleBalanceSpecial
10+
{
11+
function initialize()
12+
{
13+
// CoreModule
14+
$this->blockchain = 'mantle';
15+
$this->module = 'mantle-erc-721';
16+
$this->is_main = false;
17+
$this->first_block_date = '2023-07-02';
18+
$this->first_block_id = 0;
19+
20+
$this->tests = [
21+
['block' => 66730218, 'result' => 'a:2:{s:6:"events";a:6:{i:0;a:8:{s:11:"transaction";s:66:"0xa5548a905a5ec01bc5cf1320e87089b14d6ef6624d6d6ad084c33c641bb8f54f";s:8:"currency";s:42:"0x03ddc4b60d6bbf399a8397d73462060fdfb83476";s:7:"address";s:42:"0xe4ad52868492c281c206520569d90ce977223ab1";s:8:"sort_key";i:0;s:6:"effect";s:2:"-1";s:5:"extra";s:6:"882330";s:5:"block";i:66730218;s:4:"time";s:19:"2024-07-21 19:39:08";}i:1;a:8:{s:11:"transaction";s:66:"0xa5548a905a5ec01bc5cf1320e87089b14d6ef6624d6d6ad084c33c641bb8f54f";s:8:"currency";s:42:"0x03ddc4b60d6bbf399a8397d73462060fdfb83476";s:7:"address";s:42:"0xe4b1b9eb079219d0e2931a396dd3bfab00d04501";s:8:"sort_key";i:1;s:6:"effect";s:1:"1";s:5:"extra";s:6:"882330";s:5:"block";i:66730218;s:4:"time";s:19:"2024-07-21 19:39:08";}i:2;a:8:{s:11:"transaction";s:66:"0x50665383bf825accbf8f792c92f8a4e4c6d143bb2be335a0b5bb4ed451aaf2cc";s:8:"currency";s:42:"0x1195cf65f83b3a5768f3c496d3a05ad6412c64b7";s:7:"address";s:42:"0x0000000000000000000000000000000000000000";s:8:"sort_key";i:2;s:6:"effect";s:2:"-1";s:5:"extra";s:6:"210923";s:5:"block";i:66730218;s:4:"time";s:19:"2024-07-21 19:39:08";}i:3;a:8:{s:11:"transaction";s:66:"0x50665383bf825accbf8f792c92f8a4e4c6d143bb2be335a0b5bb4ed451aaf2cc";s:8:"currency";s:42:"0x1195cf65f83b3a5768f3c496d3a05ad6412c64b7";s:7:"address";s:42:"0xcc7ee56ef12b3426215e125d4284cdd5f3877ede";s:8:"sort_key";i:3;s:6:"effect";s:1:"1";s:5:"extra";s:6:"210923";s:5:"block";i:66730218;s:4:"time";s:19:"2024-07-21 19:39:08";}i:4;a:8:{s:11:"transaction";s:66:"0xc26d584e0553b5939984d4f818bdc8f3eda7b0b062971abe5c35c7b722477180";s:8:"currency";s:42:"0x1195cf65f83b3a5768f3c496d3a05ad6412c64b7";s:7:"address";s:42:"0x0000000000000000000000000000000000000000";s:8:"sort_key";i:4;s:6:"effect";s:2:"-1";s:5:"extra";s:6:"210924";s:5:"block";i:66730218;s:4:"time";s:19:"2024-07-21 19:39:08";}i:5;a:8:{s:11:"transaction";s:66:"0xc26d584e0553b5939984d4f818bdc8f3eda7b0b062971abe5c35c7b722477180";s:8:"currency";s:42:"0x1195cf65f83b3a5768f3c496d3a05ad6412c64b7";s:7:"address";s:42:"0x6b9967e4b0135948ba2ea871d1d8867417298065";s:8:"sort_key";i:5;s:6:"effect";s:1:"1";s:5:"extra";s:6:"210924";s:5:"block";i:66730218;s:4:"time";s:19:"2024-07-21 19:39:08";}}s:10:"currencies";a:2:{i:0;a:3:{s:2:"id";s:42:"0x03ddc4b60d6bbf399a8397d73462060fdfb83476";s:4:"name";s:21:"Pandra: CodeConqueror";s:6:"symbol";s:21:"Pandra: CodeConqueror";}i:1;a:3:{s:2:"id";s:42:"0x1195cf65f83b3a5768f3c496d3a05ad6412c64b7";s:4:"name";s:11:"Layer3 CUBE";s:6:"symbol";s:4:"CUBE";}}}'],
22+
];
23+
}
24+
}

0 commit comments

Comments
 (0)