From 0ce9302e50b6bb2107be85937467459c3c5a802a Mon Sep 17 00:00:00 2001 From: Aaron Fiore Date: Fri, 1 Aug 2025 14:55:36 -0700 Subject: [PATCH] container: hledger-flow: ethereum-based: rules (spam): add arbitrum/base/optimism, update polygon --- .../ethereum-based-shared.rules | 9 +++++ .../rules.d/spam.d/arbitrum.rules | 35 +++++++++++++++++++ .../ethereum-based/rules.d/spam.d/base.rules | 30 ++++++++++++++++ .../rules.d/spam.d/optimism.rules | 30 ++++++++++++++++ .../rules.d/spam.d/polygon.rules | 11 +++++- 5 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/arbitrum.rules create mode 100644 container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/base.rules create mode 100644 container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/optimism.rules diff --git a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/ethereum-based-shared.rules b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/ethereum-based-shared.rules index 7395e9e..ef97750 100644 --- a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/ethereum-based-shared.rules +++ b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/ethereum-based-shared.rules @@ -200,7 +200,16 @@ include ./rules.d/staking.d/rocket-pool.rules # Spam / Scamdrops # # ---------------------------------------------------------------------------- # +include ./rules.d/spam.d/arbitrum.rules +include ./rules.d/spam.d/base.rules include ./rules.d/spam.d/ethereum.rules +include ./rules.d/spam.d/optimism.rules include ./rules.d/spam.d/polygon.rules +# If an ERC-{721,1155} token has no name and ID of 0, assume it's spam +if %type (^erc-721$|^erc-1155$) +& %token_name ^[^a-z1-9]*$ +& %token_id 0 + skip + # vim: sw=2 sts=2 si ai et diff --git a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/arbitrum.rules b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/arbitrum.rules new file mode 100644 index 0000000..fafb636 --- /dev/null +++ b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/arbitrum.rules @@ -0,0 +1,35 @@ +# docker-finance | modern accounting for the power-user +# +# Copyright (C) 2025 Aaron Fiore (Founder, Evergreen Crypto LLC) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# ---------------------------------------------------------------------------- # +# Spam / Scamdrops # +# ---------------------------------------------------------------------------- # + +# Aribtrum + +# 0x083023e4b516c251d7993e0d59af91c382f5ce03 - ✅$ARB AIRDROP +# 0x4428cc2c4e4c5b79c54dd205a077b0b08353346d - ✅$ARB AIRDROP +# 0x483bddd46e5d0ce955b202a42c2bae5ae98fcc66 - ✅$ARB Airdrop ROUND 1 +# 0x6e2c68d1769c8d2c6ba423fb2c657debfcd7b5b4 - ✅$ARB AIRDROP +# 0xcdefc0846cc0e95d2f6a221bf469e96b986e96b4 - ✅$ARB Airdrop ROUND 1 +# 0xf2a20438704a424b22bd6d71a87772ce9deec3be - ✅$ARB AIRDROP + +if %contract_address (^0x083023e4b516c251d7993e0d59af91c382f5ce03$|^0x4428cc2c4e4c5b79c54dd205a077b0b08353346d$|^0x483bddd46e5d0ce955b202a42c2bae5ae98fcc66$|^0x6e2c68d1769c8d2c6ba423fb2c657debfcd7b5b4$|^0xcdefc0846cc0e95d2f6a221bf469e96b986e96b4$|^0xf2a20438704a424b22bd6d71a87772ce9deec3be$) +& %blockchain ^arbitrum$ + skip + +# vim: sw=2 sts=2 si ai et diff --git a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/base.rules b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/base.rules new file mode 100644 index 0000000..7f6a864 --- /dev/null +++ b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/base.rules @@ -0,0 +1,30 @@ +# docker-finance | modern accounting for the power-user +# +# Copyright (C) 2025 Aaron Fiore (Founder, Evergreen Crypto LLC) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# ---------------------------------------------------------------------------- # +# Spam / Scamdrops # +# ---------------------------------------------------------------------------- # + +# Base + +# TODO: add as needed + +#if %contract_address (^$) +#& %blockchain ^base$ +# skip + +# vim: sw=2 sts=2 si ai et diff --git a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/optimism.rules b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/optimism.rules new file mode 100644 index 0000000..80b39fd --- /dev/null +++ b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/optimism.rules @@ -0,0 +1,30 @@ +# docker-finance | modern accounting for the power-user +# +# Copyright (C) 2025 Aaron Fiore (Founder, Evergreen Crypto LLC) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# ---------------------------------------------------------------------------- # +# Spam / Scamdrops # +# ---------------------------------------------------------------------------- # + +# Optimism + +# TODO: add as needed + +#if %contract_address (^$) +#& %blockchain ^optimism$ +# skip + +# vim: sw=2 sts=2 si ai et diff --git a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/polygon.rules b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/polygon.rules index 20ba151..56b3a37 100644 --- a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/polygon.rules +++ b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/polygon.rules @@ -85,8 +85,17 @@ # 0x825f8430d24ddd2024e7334197b7dc593193608d - Ads: SOL Casino www.MaticSlot.io # 0x950ddb91842c58814ed4ee7077ce35632225797e - Ads: POL Casino www.MaticSlot.io # 0xb4e073b6030691abc0abba383aff2098d90279aa - !Ads ETH Casino www.MaticSlot.io +# 0x4c23265223d743a74c23e0614adf14d1409b2cc1 - 10USD wwwkshield io refID is ddkmcv +# 0x4d92f15860893bdc19c8378354623d795a64d858 - Acces Liquid-ether.com +# 0x1b87e6167afbf8d380320d3a992082dea23d00da - ETH voucher by EigenLayer(AIRDROP) +# 0x3793fb8af68f517a9aae5df6a68a136bc5e46550 - droppradar.site stETH Airdrop +# 0xe6b6121d5dd52013d55056d0ee508309c44a36bc - Swap your voucher for stETH ( steth-voucher.site ) +# 0xea7e8cbb9f0fa3389aea94f472bf309cbfd1067d - 5000usdt.com +# 0x6413b76992be49654b2f73d08c858915e0e65e30 - 2000usdc.org +# 0xde1484a4d1e90fe75faee5efea1e2eb22ff74668 - 5eth.net +# 0xba640568a3f89d6a3053fc3bd55b8cc8db2c2768 - Reward at [2000usdc ,net] -if %contract_address (^0x14f2c84a58e065c846c5fdddade0d3548f97a517$|^0x21fDf5D0246A19D50e20FfB63f013B6173763809$|^0x6e05e04dd7f18f6638c274c7b09d0a587232f0b4$|^0x790dcb85438321561157037583d81f8d9fec9ee9$|^0x7f4c2f7671e6817bb01195d24e4eafc94435f5d0$|^0x8a5f7bcc06556ae170f9cd6e6c53c27106b29837$|^0x8a6b62f5501410d179641e731a8f1cecef1c28ec$|^0x98bdd144ad6d3f95e8d2287faf5b47b243abe888$|^0x9e2d266d6c90f6c0d80a88159b15958f7135b8af$|^0xaf6b1a3067bb5245114225556e5b7a52cf002752$|^0xb5466ab4f8eff1aab6ba562b2f51f58ebdee23c4$|^0xb76c90b51338016011eaf27c348e3d84a623c5bf$|^0xf02fd2de6aa66972f532356d690abe1b4eba379b$|^0xf31cdb090d1d4b86a7af42b62dc5144be8e42906$|^0xf6dea5041153702b70b55Adf3bC38ef8cF2153c9$|^0xfba293f837b6b4188f6992fdb4db00842fd43a28$|^0x779e6b4eb663b8d937c1c611238e66434d772ac7$|^0x593ba07c5fa550081c5935489105cc63c24fe37e$|^0xfdee1501c09a6428eccb7b1fed198176161db9ce$|^0xa91e78a93a9c8886c463289f2754efdf6e79c44f$|^0xef5a815764fbf9e2ca4aa107fa6abb1c25bc67ac$|^0x4595fd3ff721bd35d10b9f715fd1589bd002a7ca$|^0xdb76d1f62a747b080eadcc7194d408d4bcca8087$|^0xf8e9e42377f9e165793a5c2a1ddd22a53cc7210b$|^0x721701ee6c52757fdca15af205f096e28af71627$|^0x9efbf48fc4e84d7cc9069ae2480f8c127bcec26a$|^0x1f09b16a9ed1c6c1140464ab0bca8dc2af61f0a4$|^0x196ff1439c06dcf528a1e2f193db79e49a1b9c14$|^0xc08b805250ddbb1a87810de3965f93feae3f80af$|^0x08249ee711b2f0c6e70767d9839511c30e5b7be9$|^0x957ccfd9c8c51994d5c3b6ab5fed69887ff367fb$|^0x34feb390055dd9bdc49e9aee7efb5bec01f7a124$|^0x23ff9047c822e26f5ab365c6a8d6ed43a82156ed$|^0xc37d76acc7b9482738ddec4370e6357776ab4619$|^0x58d1260ce4b35e388a21c1953f66bbb456333aeb$|^0xde408e69d96aa5296730582e8234d80df34b1b79$|^0xdb3fb8da20309df8bbd7521ac10d8c2204a4e789$|^0x4cff24419d440b3b90144ad47b600a2a4334202e$|^0x7b17d32add6db022e167536f210d2508a595ec16$|^0x58e48206d53abfd3b7cded3163e58da125739f4e$|^0x649efcea47fe7850d89b3b86fcf4b061941b60bc$|^0xc8c1ff02c2b8860e27c3bfdcd4b9b0390c6f6f20$|^0xb5bf5b81f05a39a877006141096acf46d9089bb8$|^0xd2da8c2677252c7809a0c3b3f048db4833fe2583$|^0x3fef2533a3281cf208133cbe83f7212cb11d5e13$|^0x742242f19e3162dd3c4615762049b7b903813750$|^0x8a4895404897bcd296ab64923a2cf8e2dff86b92$|^0x3735268eaa555f2bcf1ba27d31cb87186aed1ede$|^0x56b92dc3dd0522deb6d1025b6c884e80ad1339c0$|^0x21990b8d596d4c3fb2c10309258ef63cce75e576$|^0x0b4bad7129a39b42800143ff15a73bc12d2200eb$|^0x36656feb13ac260338ca234d375bbe0ee9c1e966$|^0xdad9532c599db42c22fd3bd06021bb717484634f$|^0x370827440916fbebef8f3862f32ab10423ec8dde$|^0xff3cf709c1e602b4abd8f3eec73f87a85ae0f8e7$|^0x65fdb4dbabaeae9c78af7d3aeb3bd296843095aa$|^0x2421cb86651c1c1eeaf9fc1df70800176fdfb6fd$|^0xa39621f9d01792699d4368eef3031fef2aafd3ca$|^0x95d6935cb994f9c043d42055c4d8f6769aac7a68$|^0x07b1d6c3f66f800a8e6274a3c5331f76e7b58c39$|^0x191bbe4fa88617700fc9d2f29c34151f32deeab7$|^0x825f8430d24ddd2024e7334197b7dc593193608d$|^0x950ddb91842c58814ed4ee7077ce35632225797e$|^0xb4e073b6030691abc0abba383aff2098d90279aa$) +if %contract_address (^0x14f2c84a58e065c846c5fdddade0d3548f97a517$|^0x21fDf5D0246A19D50e20FfB63f013B6173763809$|^0x6e05e04dd7f18f6638c274c7b09d0a587232f0b4$|^0x790dcb85438321561157037583d81f8d9fec9ee9$|^0x7f4c2f7671e6817bb01195d24e4eafc94435f5d0$|^0x8a5f7bcc06556ae170f9cd6e6c53c27106b29837$|^0x8a6b62f5501410d179641e731a8f1cecef1c28ec$|^0x98bdd144ad6d3f95e8d2287faf5b47b243abe888$|^0x9e2d266d6c90f6c0d80a88159b15958f7135b8af$|^0xaf6b1a3067bb5245114225556e5b7a52cf002752$|^0xb5466ab4f8eff1aab6ba562b2f51f58ebdee23c4$|^0xb76c90b51338016011eaf27c348e3d84a623c5bf$|^0xf02fd2de6aa66972f532356d690abe1b4eba379b$|^0xf31cdb090d1d4b86a7af42b62dc5144be8e42906$|^0xf6dea5041153702b70b55Adf3bC38ef8cF2153c9$|^0xfba293f837b6b4188f6992fdb4db00842fd43a28$|^0x779e6b4eb663b8d937c1c611238e66434d772ac7$|^0x593ba07c5fa550081c5935489105cc63c24fe37e$|^0xfdee1501c09a6428eccb7b1fed198176161db9ce$|^0xa91e78a93a9c8886c463289f2754efdf6e79c44f$|^0xef5a815764fbf9e2ca4aa107fa6abb1c25bc67ac$|^0x4595fd3ff721bd35d10b9f715fd1589bd002a7ca$|^0xdb76d1f62a747b080eadcc7194d408d4bcca8087$|^0xf8e9e42377f9e165793a5c2a1ddd22a53cc7210b$|^0x721701ee6c52757fdca15af205f096e28af71627$|^0x9efbf48fc4e84d7cc9069ae2480f8c127bcec26a$|^0x1f09b16a9ed1c6c1140464ab0bca8dc2af61f0a4$|^0x196ff1439c06dcf528a1e2f193db79e49a1b9c14$|^0xc08b805250ddbb1a87810de3965f93feae3f80af$|^0x08249ee711b2f0c6e70767d9839511c30e5b7be9$|^0x957ccfd9c8c51994d5c3b6ab5fed69887ff367fb$|^0x34feb390055dd9bdc49e9aee7efb5bec01f7a124$|^0x23ff9047c822e26f5ab365c6a8d6ed43a82156ed$|^0xc37d76acc7b9482738ddec4370e6357776ab4619$|^0x58d1260ce4b35e388a21c1953f66bbb456333aeb$|^0xde408e69d96aa5296730582e8234d80df34b1b79$|^0xdb3fb8da20309df8bbd7521ac10d8c2204a4e789$|^0x4cff24419d440b3b90144ad47b600a2a4334202e$|^0x7b17d32add6db022e167536f210d2508a595ec16$|^0x58e48206d53abfd3b7cded3163e58da125739f4e$|^0x649efcea47fe7850d89b3b86fcf4b061941b60bc$|^0xc8c1ff02c2b8860e27c3bfdcd4b9b0390c6f6f20$|^0xb5bf5b81f05a39a877006141096acf46d9089bb8$|^0xd2da8c2677252c7809a0c3b3f048db4833fe2583$|^0x3fef2533a3281cf208133cbe83f7212cb11d5e13$|^0x742242f19e3162dd3c4615762049b7b903813750$|^0x8a4895404897bcd296ab64923a2cf8e2dff86b92$|^0x3735268eaa555f2bcf1ba27d31cb87186aed1ede$|^0x56b92dc3dd0522deb6d1025b6c884e80ad1339c0$|^0x21990b8d596d4c3fb2c10309258ef63cce75e576$|^0x0b4bad7129a39b42800143ff15a73bc12d2200eb$|^0x36656feb13ac260338ca234d375bbe0ee9c1e966$|^0xdad9532c599db42c22fd3bd06021bb717484634f$|^0x370827440916fbebef8f3862f32ab10423ec8dde$|^0xff3cf709c1e602b4abd8f3eec73f87a85ae0f8e7$|^0x65fdb4dbabaeae9c78af7d3aeb3bd296843095aa$|^0x2421cb86651c1c1eeaf9fc1df70800176fdfb6fd$|^0xa39621f9d01792699d4368eef3031fef2aafd3ca$|^0x95d6935cb994f9c043d42055c4d8f6769aac7a68$|^0x07b1d6c3f66f800a8e6274a3c5331f76e7b58c39$|^0x191bbe4fa88617700fc9d2f29c34151f32deeab7$|^0x825f8430d24ddd2024e7334197b7dc593193608d$|^0x950ddb91842c58814ed4ee7077ce35632225797e$|^0xb4e073b6030691abc0abba383aff2098d90279aa$|^0x4c23265223d743a74c23e0614adf14d1409b2cc1$|^0x4d92f15860893bdc19c8378354623d795a64d858$|^0x1b87e6167afbf8d380320d3a992082dea23d00da$|^0x3793fb8af68f517a9aae5df6a68a136bc5e46550$|^0xe6b6121d5dd52013d55056d0ee508309c44a36bc$|^0xea7e8cbb9f0fa3389aea94f472bf309cbfd1067d$|^0x6413b76992be49654b2f73d08c858915e0e65e30$|^0xde1484a4d1e90fe75faee5efea1e2eb22ff74668$|^0xba640568a3f89d6a3053fc3bd55b8cc8db2c2768$) & %blockchain ^polygon$ skip