From d31ed3a18bd769f605cb456b2b4b1e0a819ced4d Mon Sep 17 00:00:00 2001 From: Aaron Fiore Date: Sun, 24 Mar 2024 00:31:32 -0700 Subject: [PATCH 1/2] hledger-flow: ethereum-based: add to Ethereum spam rules --- .../ethereum-based/rules.d/spam.d/ethereum.rules | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/ethereum.rules b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/ethereum.rules index 78b2063..41df4fe 100644 --- a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/ethereum.rules +++ b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/spam.d/ethereum.rules @@ -182,7 +182,10 @@ # 0xe678f77756f3b98b7d82749cf78198ed0ca21538 - ЕТН (fake) # 0x392992b34d5cdc8e49eb17d6c28b437ded103897 - StakeEther.net # 0x34132afdc139c677582d33b599cb16354f7e4135 - Liquid-tether.com +# 0x49d38c87a8d5c8c67c6d84321752d9af0bcb428c - aaveprotocol.net +# 0xbeb7dacc48db75c48d9db98092130fb4926ed51a - AaveLP.xyz +# 0xcbd85fff5106a42d622be7f9e528db0bff07da8a - aaveprotocol.net -if %contract_address (^0x00a3e70637e5d897e0c19bf1c6369a97ab07b163$|^0x01d60dd27e94e03662d5878d7bfef60b8a4cb502$|^0x04dbdce62abfd180cf1d3cd05b693d7dec541b20$|^0x07e3f9478b18061b30d3fc1d0c18fc5c36b0be40$|^0x0d3716e3e411af431a6e87e715d4b05bbcd67000$|^0x0dd08a67d494d79b556712fb2a6e8b48467a64c2$|^0x1220902299fc2807dd6fa4a0900ae34bc11bed5e$|^0x1480968b9e35d216bdb367a883cc155fb6daf9c4$|^0x15a753c7ac072a3bfd09fde0721140c339ef87e0$|^0x1974873107059f7c7da0d5c61609943cdd9bc7b0$|^0x1a4a94011794a48a9327f99e240361a7c582324f$|^0x1ec5c69674c414aa2e6416fa91a019a4ad9fbbaa$|^0x20189f380660d6e7023936ff88ba33164dbffef4$|^0x2141f500e84242fb1a0d3f13122e8075e7028ea3$|^0x2213d577f68871f497bdd390ad04114e5cb99bca$|^0x2504d11b517f17e5b3336e08dc4443690031216d$|^0x2961ce96d2862cfb56d522d86d9c3aad6ea42aad$|^0x36f4d7bfa207223e7324fb2bd2bac7aded147317$|^0x39c5166d2cc3bb570bbf5cd879c8c35b15dc170f$|^0x3c602d13a7460406d3349d870177ed945d09d458$|^0x3d0c7901c8824bff9b559ada2a4b0ec8868b9814$|^0x41a014616bbbc9ebba81cd23a884b2d300045d48$|^0x45bb6f092670ab5128cdeffd56fea20e59224332$|^0x471c3A7f132bc94938516CB2Bf6f02C7521D2797$|^0x4d3d07f4e7a154c32d36bbcbe2ea64e0b6f98440$|^0x52a75cae1fa451bf20dad93c8b19ab763a1bad59$|^0x563851297fe12bbb313c6565d12c2943e4a2a8a6$|^0x582a74afba6acfb4ae82c60d3ceb6d67c3b147c9$|^0x5d80a8d8cb80696073e82407968600a37e1dd780$|^0x6959e3bdb6757bbd5f672368ef8cc0b73c9fc12e$|^0x6981b63574ce3c5d3987179a417c7b66feb5d579$|^0x6c332d44dd96318e647017b01290ad2f5e7912a4$|^0x6d20d4d071265d317ab36028819d55beb4edda88$|^0x6fd6679c599afc1b78985a614adc8a3f8c02eb6b$|^0x73e5b26f9dde3cf9a284bbb6025b188b33dd30b4$|^0x73ee19c25ce267dc45e307d65c7097dee53d3a7a$|^0x75e220fd929c953dbd014b7c23247a94d0deee0e$|^0x77b7340faa3d8f75eed612d051b64a5a5f6167f3$|^0x781017d53a28af7c1eb3bb63035a708b4109bb29$|^0x7af22777c70ef7e673f70ccd3148731e8aa74b22$|^0x8005a533ff460ba4682a5c890b08285f16009a0d$|^0x818d1ef5252723022f31b0ef35b84af91a9c4e8f$|^0x8ee9be0b2474f182ede855f98850a27057b4c34b$|^0x94ab8e298b32c90b6add98744ef7b51462a6bdb1$|^0x98d1c76831c0abea30e3dac8628bd72d6b0e3dd2$|^0x9b93a39da82806ea29e72cb6aa8a68acf51e4d2d$|^0x9ddec70ab6ff39491c449d5ce3a02a852dc8b80a$|^0x9e5706082180fb16456187dbd1bd5ae1987fdaa6$|^0x9ed6cb6c2a567df9f22ba5ad0630be81ea3c05d5$|^0x9f14db5a794565d952f01e65600793bee20e9269$|^0xa257757dab77a9a44dad6ad1907dbfc385b48574$|^0xaba09ad69d0d1fed4167487ff955ea4db81bc260$|^0xadb6be8524e5f862dc948e14cede204a2cec1457$|^0xb0584c7855306640ac931574dd2feeba0d27f167$|^0xb2fad23a7d84fe959c584e54e82fc6e5e98b926b$|^0xb3c4e9e07ed39708231ff357e8d54096406c2788$|^0xb46c7f6c6d6ccb41e9841d5fa4b69b3e478647f8$|^0xb506cb2dbc9fa66182f13f5a560d8e54c06bdd46$|^0xb65444540c94507f89c82a1db87219fcb3cbd3bd$|^0xb7cb432c314a7da1d5615304ec66a2a97fe9866b$|^0xbbfbb2e65da09897cfb1318f827bad1934079660$|^0xbd38995e41287ebd91b62004e7f906d6c1e96cbd$|^0xc2e39d0afa884192f2cc55d841c2c8c5681dbf17$|^0xc371dc25bbc88bfd84f02a36389f39a860963315$|^0xcd6c67a2f4313039672b5ba6181112f5de43f779$|^0xd1bfb50bcb96635cf13fe50ba507ebbf37b09234$|^0xd3b76c58d69945378c12ef3e2b5805df39f813d5$|^0xd568cefa0e25bae6bed15898365c4ae376a259d7$|^0xdc09ef6ba2a135b350d3d05c409497485d8b0a00$|^0xdc43acd446d7047c5e92e81979915c5afbb336e4$|^0xe19b3862a4393e61be2e28e89a98501e83441b9e$|^0xe29cca6ae51d4b815ccf084b0f7154e2092e9621$|^0xe3118ffbd8e9eac98c08e0243ee27523cc1bcaa6$|^0xe3bb90c705938cd56baf0a0f1ea82127d1325e12$|^0xe44c8ee0622647d2563a8b2732941772328a751b$|^0xef90ba651d58ed5f519ca6c5e9e333cd91f2f8db$|^0xf1656ae9e8227da5ebb93406e2edd74d9820d0ad$|^0xf29755d762115dae7b42badfc03e475b89c12c70$|^0xf494eb47d29822b10b607299c5ff27a58bca6e0f$|^0xf5404191ceda538d50a2fe370bd51faf1641c7a6$|^0xf66a472e2cb067ba8308d7f65c8a467210de6238$|^0xfda2f7eb28aedc9403738739e0ada3dbf8a76616$|^0xe88602d11fed92cd1fe18016022c433ddf062bf4$|^0xcb2e2a2929cffe49e9fcf1eee84736507f186385$|^0x61a2bde06925fe2f9950ae07f23ca95b146bd9ad$|^0xaf8f6d22dd679aa37836596f76a962f67ae85dbe$|^0x5b5fbb2f52fff9d5c9f772923b2e0444f22012dc$|^0xb37ed97d6cc39d4c68ac52dc023cae3eeda5c55e$|^0x3f044e71c6619be3ce75d59a02d881c017a4b9ce$|^0x899ac9da721b0c5710b577559b553a51263421bf$|^0x5d5a7601663948abe45a7345e7b42218d8ea4e72$|^0xcf59cc4af0a590ad19640e9d1ec93eb5a2302338$|^0x25741e94782d3eaa7fb0a02d78256bf065aec3b9$|^0xb91a3fd47cfbbd07804e88682bec08101e180096$|^0x1c9887b13f8ef26f76b41c7eacded94670477865$|^0x8fada3563ca932c4c98ea015bc1bcad305c240e6$|^0xc94ebe983bc608acce7b5266c833887c3b0fad53$|^0x7ed878720bf98fe135e743c0eb3c48e64f9be5ae$|^0xb864fa42491d7f1f72c6a44a87d1ef451f72747d$|^0x41f5a3effd8b9865aec8ac367aa8a25f39ef7d00$|^0x6dfc24da3c21f10a4b4cd2c92795e55416e9c14d$|^0x485b05ef88b3bef603f908133974c060b7d3dfac$|^0x0dd108e37741c22663c79293a8af7a8269d74a3d$|^0x95146474d59798ac6d1550c9ef9471d09f430d21$|^0x35fea90ed72c6a9429bad5775c6abff99e8cb2eb$|^0x0598bef845934d83463ceadd8c86f0801e2ee058$|^0xa40f67074bc008081cc2596abcd7312952aa67e7$|^0x5a69058d10d32d345b23a04ddfb64a68dc2ed0c0$|^0x2bf076e77570da24f9e77d98c51329b525b6aa1f$|^0x227dfbceefdeae5f17061a2a919aa228b27ee792$|^0xe4f3e4f09abd1d0dba953d65a925cc7ce2fe9e65$|^0x63168741d0594bde83b175aea524db2a9edc5335$|^0x7c7dcdc9af3f94247215b72296571cc0e0c459f8$|^0xfd1860c9d602236214652a21753731f9acd2c362$|^0x81d81b8238e21a6f45866f1366059137c24d6af9$|^0xec8bfa06644bc0b0aff40aa14f62adbf586a1e0a$|^0xa08fff0906987af6ff703647a8a0bf88e1b787fe$|^0xb49f94a3acf8ea3b5c3f6924b2f6496a278a56f8$|^0xa45a9824b1982c7d039928a35a602a7379da3d4d$|^0x6f01b41071b88d91b94f939fe6dd04d25e466c6c$|^0xfe0bb2ae94bf11de9773decb413b4a6a241cbcd0$|^0xccbcc6ef306a12598bed8afa95882d0f0f530888$|^0x5a9f24f0e0099bc80d6ea6b0997e4191e6e9a852$|^0x7ef3776b9e874eb0e950530e37d8b6104ca57d70$|^0xdad13912b48526aa06742564e3ef85cd379d5c18$|^0x229e038e1e2d8e267e11200f104d51979a14a355$|^0xa0fab9d8a04d3cdeef18bc0319fd8b831314fee7$|^0xcf39b7793512f03f2893c16459fd72e65d2ed00c$|^0x380ede9c528f70beebb81107802aa862652fdce7$|^0xd1b0c350f73e6f7cd5c9978b82b46a59ae9ad524$|^0x7f0f456bf2cce8a74c7f4365d84582f732aaa2bd$|^0x7f0ebaa371be09809f4d0a1d4b184dd1826fca6a$|^0x0795619e02716a81ac9ef6e55363d538da104e57$|^0x0432ca79d0bf2546bc9a29685636e413b137692d$|^0x768ee58b2e288d3f09d4a42479d9f45cce40b0c4$|^0xfba4e75a05c132f313119eb8945e9ada4f6ca97f$|^0xef13cec8ffaf97bc9351b8d422f5bda14c058c14$|^0xa6d1537b3699905ac18a10718b282661425fd662$|^0x3d201c408b9eaddc76e27ad45d986c4d9c13e0c6$|^0xbeb3c5f7f4f8db708bcfac4d0fdcdb0bed285741$|^0x67542502245eb5df64ef7ea776199ceb79401058$|^0x54fd62228c6e1234fd5fded28555ca963dcf6d26$|^0xc9da518db3abdb90a82c4d1838b7cf9b0c945e7e$|^0xe3c6f9d0d731c2eb6b6d3ebfb6732fcd26a365d0$|^0x622651529bda465277cb890ef9176c442f42b338$|^0xc1c8c49b0405f6cffba5351179befb2d8a2c776c$|^0x7a6b87d7a874fce4c2d923b09c0e09e4936bcf57$|^0x4e0b2a80e158f8d28a2007866ab80b7f63be6076$|^0x22c042ebeb78465192aa1545edecd7804fa47edd$|^0x695f0db95223224ab6143b9f157dfe3f4e71032d$|^0x75eb24fda1fb262c853569d75510dca569f25a5b$|^0xc03f1cec61af8b0e597b5ae932eb531959f4ced1$|^0x166c61f39e5121d4b7e771fc0dbe98ef5fe54329$|^0xffa55849a7309c7f4fb4de88d804fd546a66c271$|^0x1412eca9dc7daef60451e3155bb8dbf9da349933$|^0xf9d25eb4c75ed744596392cf89074afaa43614a8$|^0x2ceee24f8d03fc25648c68c8e6569aa0512f6ac3$|^0xe180eb9a6e93482bcac20499f4ff0b39acdc12a2$|^0xe678f77756f3b98b7d82749cf78198ed0ca21538$|^0x392992b34d5cdc8e49eb17d6c28b437ded103897$|^0x34132afdc139c677582d33b599cb16354f7e4135$) +if %contract_address (^0x00a3e70637e5d897e0c19bf1c6369a97ab07b163$|^0x01d60dd27e94e03662d5878d7bfef60b8a4cb502$|^0x04dbdce62abfd180cf1d3cd05b693d7dec541b20$|^0x07e3f9478b18061b30d3fc1d0c18fc5c36b0be40$|^0x0d3716e3e411af431a6e87e715d4b05bbcd67000$|^0x0dd08a67d494d79b556712fb2a6e8b48467a64c2$|^0x1220902299fc2807dd6fa4a0900ae34bc11bed5e$|^0x1480968b9e35d216bdb367a883cc155fb6daf9c4$|^0x15a753c7ac072a3bfd09fde0721140c339ef87e0$|^0x1974873107059f7c7da0d5c61609943cdd9bc7b0$|^0x1a4a94011794a48a9327f99e240361a7c582324f$|^0x1ec5c69674c414aa2e6416fa91a019a4ad9fbbaa$|^0x20189f380660d6e7023936ff88ba33164dbffef4$|^0x2141f500e84242fb1a0d3f13122e8075e7028ea3$|^0x2213d577f68871f497bdd390ad04114e5cb99bca$|^0x2504d11b517f17e5b3336e08dc4443690031216d$|^0x2961ce96d2862cfb56d522d86d9c3aad6ea42aad$|^0x36f4d7bfa207223e7324fb2bd2bac7aded147317$|^0x39c5166d2cc3bb570bbf5cd879c8c35b15dc170f$|^0x3c602d13a7460406d3349d870177ed945d09d458$|^0x3d0c7901c8824bff9b559ada2a4b0ec8868b9814$|^0x41a014616bbbc9ebba81cd23a884b2d300045d48$|^0x45bb6f092670ab5128cdeffd56fea20e59224332$|^0x471c3A7f132bc94938516CB2Bf6f02C7521D2797$|^0x4d3d07f4e7a154c32d36bbcbe2ea64e0b6f98440$|^0x52a75cae1fa451bf20dad93c8b19ab763a1bad59$|^0x563851297fe12bbb313c6565d12c2943e4a2a8a6$|^0x582a74afba6acfb4ae82c60d3ceb6d67c3b147c9$|^0x5d80a8d8cb80696073e82407968600a37e1dd780$|^0x6959e3bdb6757bbd5f672368ef8cc0b73c9fc12e$|^0x6981b63574ce3c5d3987179a417c7b66feb5d579$|^0x6c332d44dd96318e647017b01290ad2f5e7912a4$|^0x6d20d4d071265d317ab36028819d55beb4edda88$|^0x6fd6679c599afc1b78985a614adc8a3f8c02eb6b$|^0x73e5b26f9dde3cf9a284bbb6025b188b33dd30b4$|^0x73ee19c25ce267dc45e307d65c7097dee53d3a7a$|^0x75e220fd929c953dbd014b7c23247a94d0deee0e$|^0x77b7340faa3d8f75eed612d051b64a5a5f6167f3$|^0x781017d53a28af7c1eb3bb63035a708b4109bb29$|^0x7af22777c70ef7e673f70ccd3148731e8aa74b22$|^0x8005a533ff460ba4682a5c890b08285f16009a0d$|^0x818d1ef5252723022f31b0ef35b84af91a9c4e8f$|^0x8ee9be0b2474f182ede855f98850a27057b4c34b$|^0x94ab8e298b32c90b6add98744ef7b51462a6bdb1$|^0x98d1c76831c0abea30e3dac8628bd72d6b0e3dd2$|^0x9b93a39da82806ea29e72cb6aa8a68acf51e4d2d$|^0x9ddec70ab6ff39491c449d5ce3a02a852dc8b80a$|^0x9e5706082180fb16456187dbd1bd5ae1987fdaa6$|^0x9ed6cb6c2a567df9f22ba5ad0630be81ea3c05d5$|^0x9f14db5a794565d952f01e65600793bee20e9269$|^0xa257757dab77a9a44dad6ad1907dbfc385b48574$|^0xaba09ad69d0d1fed4167487ff955ea4db81bc260$|^0xadb6be8524e5f862dc948e14cede204a2cec1457$|^0xb0584c7855306640ac931574dd2feeba0d27f167$|^0xb2fad23a7d84fe959c584e54e82fc6e5e98b926b$|^0xb3c4e9e07ed39708231ff357e8d54096406c2788$|^0xb46c7f6c6d6ccb41e9841d5fa4b69b3e478647f8$|^0xb506cb2dbc9fa66182f13f5a560d8e54c06bdd46$|^0xb65444540c94507f89c82a1db87219fcb3cbd3bd$|^0xb7cb432c314a7da1d5615304ec66a2a97fe9866b$|^0xbbfbb2e65da09897cfb1318f827bad1934079660$|^0xbd38995e41287ebd91b62004e7f906d6c1e96cbd$|^0xc2e39d0afa884192f2cc55d841c2c8c5681dbf17$|^0xc371dc25bbc88bfd84f02a36389f39a860963315$|^0xcd6c67a2f4313039672b5ba6181112f5de43f779$|^0xd1bfb50bcb96635cf13fe50ba507ebbf37b09234$|^0xd3b76c58d69945378c12ef3e2b5805df39f813d5$|^0xd568cefa0e25bae6bed15898365c4ae376a259d7$|^0xdc09ef6ba2a135b350d3d05c409497485d8b0a00$|^0xdc43acd446d7047c5e92e81979915c5afbb336e4$|^0xe19b3862a4393e61be2e28e89a98501e83441b9e$|^0xe29cca6ae51d4b815ccf084b0f7154e2092e9621$|^0xe3118ffbd8e9eac98c08e0243ee27523cc1bcaa6$|^0xe3bb90c705938cd56baf0a0f1ea82127d1325e12$|^0xe44c8ee0622647d2563a8b2732941772328a751b$|^0xef90ba651d58ed5f519ca6c5e9e333cd91f2f8db$|^0xf1656ae9e8227da5ebb93406e2edd74d9820d0ad$|^0xf29755d762115dae7b42badfc03e475b89c12c70$|^0xf494eb47d29822b10b607299c5ff27a58bca6e0f$|^0xf5404191ceda538d50a2fe370bd51faf1641c7a6$|^0xf66a472e2cb067ba8308d7f65c8a467210de6238$|^0xfda2f7eb28aedc9403738739e0ada3dbf8a76616$|^0xe88602d11fed92cd1fe18016022c433ddf062bf4$|^0xcb2e2a2929cffe49e9fcf1eee84736507f186385$|^0x61a2bde06925fe2f9950ae07f23ca95b146bd9ad$|^0xaf8f6d22dd679aa37836596f76a962f67ae85dbe$|^0x5b5fbb2f52fff9d5c9f772923b2e0444f22012dc$|^0xb37ed97d6cc39d4c68ac52dc023cae3eeda5c55e$|^0x3f044e71c6619be3ce75d59a02d881c017a4b9ce$|^0x899ac9da721b0c5710b577559b553a51263421bf$|^0x5d5a7601663948abe45a7345e7b42218d8ea4e72$|^0xcf59cc4af0a590ad19640e9d1ec93eb5a2302338$|^0x25741e94782d3eaa7fb0a02d78256bf065aec3b9$|^0xb91a3fd47cfbbd07804e88682bec08101e180096$|^0x1c9887b13f8ef26f76b41c7eacded94670477865$|^0x8fada3563ca932c4c98ea015bc1bcad305c240e6$|^0xc94ebe983bc608acce7b5266c833887c3b0fad53$|^0x7ed878720bf98fe135e743c0eb3c48e64f9be5ae$|^0xb864fa42491d7f1f72c6a44a87d1ef451f72747d$|^0x41f5a3effd8b9865aec8ac367aa8a25f39ef7d00$|^0x6dfc24da3c21f10a4b4cd2c92795e55416e9c14d$|^0x485b05ef88b3bef603f908133974c060b7d3dfac$|^0x0dd108e37741c22663c79293a8af7a8269d74a3d$|^0x95146474d59798ac6d1550c9ef9471d09f430d21$|^0x35fea90ed72c6a9429bad5775c6abff99e8cb2eb$|^0x0598bef845934d83463ceadd8c86f0801e2ee058$|^0xa40f67074bc008081cc2596abcd7312952aa67e7$|^0x5a69058d10d32d345b23a04ddfb64a68dc2ed0c0$|^0x2bf076e77570da24f9e77d98c51329b525b6aa1f$|^0x227dfbceefdeae5f17061a2a919aa228b27ee792$|^0xe4f3e4f09abd1d0dba953d65a925cc7ce2fe9e65$|^0x63168741d0594bde83b175aea524db2a9edc5335$|^0x7c7dcdc9af3f94247215b72296571cc0e0c459f8$|^0xfd1860c9d602236214652a21753731f9acd2c362$|^0x81d81b8238e21a6f45866f1366059137c24d6af9$|^0xec8bfa06644bc0b0aff40aa14f62adbf586a1e0a$|^0xa08fff0906987af6ff703647a8a0bf88e1b787fe$|^0xb49f94a3acf8ea3b5c3f6924b2f6496a278a56f8$|^0xa45a9824b1982c7d039928a35a602a7379da3d4d$|^0x6f01b41071b88d91b94f939fe6dd04d25e466c6c$|^0xfe0bb2ae94bf11de9773decb413b4a6a241cbcd0$|^0xccbcc6ef306a12598bed8afa95882d0f0f530888$|^0x5a9f24f0e0099bc80d6ea6b0997e4191e6e9a852$|^0x7ef3776b9e874eb0e950530e37d8b6104ca57d70$|^0xdad13912b48526aa06742564e3ef85cd379d5c18$|^0x229e038e1e2d8e267e11200f104d51979a14a355$|^0xa0fab9d8a04d3cdeef18bc0319fd8b831314fee7$|^0xcf39b7793512f03f2893c16459fd72e65d2ed00c$|^0x380ede9c528f70beebb81107802aa862652fdce7$|^0xd1b0c350f73e6f7cd5c9978b82b46a59ae9ad524$|^0x7f0f456bf2cce8a74c7f4365d84582f732aaa2bd$|^0x7f0ebaa371be09809f4d0a1d4b184dd1826fca6a$|^0x0795619e02716a81ac9ef6e55363d538da104e57$|^0x0432ca79d0bf2546bc9a29685636e413b137692d$|^0x768ee58b2e288d3f09d4a42479d9f45cce40b0c4$|^0xfba4e75a05c132f313119eb8945e9ada4f6ca97f$|^0xef13cec8ffaf97bc9351b8d422f5bda14c058c14$|^0xa6d1537b3699905ac18a10718b282661425fd662$|^0x3d201c408b9eaddc76e27ad45d986c4d9c13e0c6$|^0xbeb3c5f7f4f8db708bcfac4d0fdcdb0bed285741$|^0x67542502245eb5df64ef7ea776199ceb79401058$|^0x54fd62228c6e1234fd5fded28555ca963dcf6d26$|^0xc9da518db3abdb90a82c4d1838b7cf9b0c945e7e$|^0xe3c6f9d0d731c2eb6b6d3ebfb6732fcd26a365d0$|^0x622651529bda465277cb890ef9176c442f42b338$|^0xc1c8c49b0405f6cffba5351179befb2d8a2c776c$|^0x7a6b87d7a874fce4c2d923b09c0e09e4936bcf57$|^0x4e0b2a80e158f8d28a2007866ab80b7f63be6076$|^0x22c042ebeb78465192aa1545edecd7804fa47edd$|^0x695f0db95223224ab6143b9f157dfe3f4e71032d$|^0x75eb24fda1fb262c853569d75510dca569f25a5b$|^0xc03f1cec61af8b0e597b5ae932eb531959f4ced1$|^0x166c61f39e5121d4b7e771fc0dbe98ef5fe54329$|^0xffa55849a7309c7f4fb4de88d804fd546a66c271$|^0x1412eca9dc7daef60451e3155bb8dbf9da349933$|^0xf9d25eb4c75ed744596392cf89074afaa43614a8$|^0x2ceee24f8d03fc25648c68c8e6569aa0512f6ac3$|^0xe180eb9a6e93482bcac20499f4ff0b39acdc12a2$|^0xe678f77756f3b98b7d82749cf78198ed0ca21538$|^0x392992b34d5cdc8e49eb17d6c28b437ded103897$|^0x34132afdc139c677582d33b599cb16354f7e4135$|^0x49d38c87a8d5c8c67c6d84321752d9af0bcb428c$|^0xbeb7dacc48db75c48d9db98092130fb4926ed51a$|^0xcbd85fff5106a42d622be7f9e528db0bff07da8a$) & %blockchain ethereum skip From 784f576eabaa50610cef75ad38ec412c5569081a Mon Sep 17 00:00:00 2001 From: Aaron Fiore Date: Sat, 30 Mar 2024 02:10:18 -0700 Subject: [PATCH 2/2] hledger-flow: ethereum-based: add Aave V2 -> V3 Migration Helper support --- .../ethereum-based/ethereum-based-shared.bash | 7 +- .../rules.d/lending.d/aave.rules | 96 ++++++++++++++++++- 2 files changed, 101 insertions(+), 2 deletions(-) diff --git a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/ethereum-based-shared.bash b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/ethereum-based-shared.bash index 517c924..3e9af6c 100755 --- a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/ethereum-based-shared.bash +++ b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/ethereum-based-shared.bash @@ -50,12 +50,17 @@ function parse() gsub(/,UNI-V3-POS,/, ",UNIVTHREEPOS,") gsub(/,UNI-V2,/, ",UNIVTWO,") - # TODO: full aToken support + # TODO: full s/v/aToken support + + # V2 gsub(/,variableDebtGUSD,/, ",aGUSD,") gsub(/,variableDebtUSDC,/, ",aUSDC,") gsub(/,variableDebtUSDT,/, ",aUSDT,") gsub(/,variableDebtDAI,/, ",aDAI,") + # V3 + gsub(/,variableDebtEthUSDC,/, ",vEthUSDC,") + printf $1 OFS # date printf $2 OFS # blockchain printf $3 OFS # account_name diff --git a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/lending.d/aave.rules b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/lending.d/aave.rules index ed65ef3..1907d28 100644 --- a/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/lending.d/aave.rules +++ b/container/src/hledger-flow/accounts/blockchain-explorers/ethereum-based/rules.d/lending.d/aave.rules @@ -19,6 +19,8 @@ # Aave # # ---------------------------------------------------------------------------- # +# V2 + # 0x028171bca77440897b824ca71d1c56cac55b68a3 - Aave: aDAI Token V2 # 0x030ba81f1c18d280636f32af80b9aad02cf0854e - Aave: aWETH Token V2 # 0x35f6b052c598d933d69a4eec4d04c73a191fe6c2 - Aave: aSNX Token V2 @@ -29,6 +31,13 @@ # 0x9ff58f4ffb29fa2266ab25e75e2a8b3503311656 - Aave: aWBTC Token V2 # 0xbcca60bb61934080951369a648fb03df4f96263c - Aave: aUSDC Token V2 # 0xd37ee7e4f452c6638c96536e68090de8cbcdb583 - Aave: aGUSD Token V2 +# 0x619beb58998eD2278e08620f97007e1116D5D25b - Aave: USDC Variable Debt V2 +# TODO: expand as needed + +# V3 + +# 0xb748952c7bc638f31775245964707bcc5ddfabfc - Aave: Migration Helper Mainnet v3 +# 0x72e95b8931767c79ba4eee721354d6e99a61d004 - Aave: Ethereum Variable Debt USDC # TODO: expand as needed # TODO: ideally, all types are processed using 4byte method_id (deposit, swap, borrow, etc.) @@ -131,9 +140,11 @@ if %to_address (^0x028171bca77440897b824ca71d1c56cac55b68a3$|^0x030ba81f1c18d280 # NOTE: must keep comment2 blank and comment3 filled # -# Treat aTokens as equity (the "real" asset/liability is already accounted for) +# Treat s/v/aTokens as placeholders (the "real" asset/liability is already accounted for) # +# V2 + if %from_address ^0x0000000000000000000000000000000000000000$ & %direction ^IN$ & %symbol (^aDAI$|^aGUSD$|^aSNX$|^aUSDC$|^aUSDT$|^aWBTC$|^aWETH$|^stkAAVE$) @@ -148,4 +159,87 @@ if %to_address ^0x0000000000000000000000000000000000000000$ account1 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol account2 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol +# V3 + +if %from_address ^0x0000000000000000000000000000000000000000$ +& %direction ^IN$ +& %symbol ^vEthUSDC$ +& %amount_ [1-9] + account1 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol + account2 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol + +if %to_address ^0x0000000000000000000000000000000000000000$ +& %direction ^OUT$ +& %symbol ^vEthUSDC$ +& %amount_ [1-9] + account1 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol + account2 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol + +# +# Migration: V2 -> V3 +# + +# aWETH -> aEthWETH +# NOTE: you'll need to `manual` the staked aWETH income and subsequent +# difference to the accounts payable WETH subaccount in order to balance. + +if %direction ^OUT$ +& %to_address ^0xb748952c7bc638f31775245964707bcc5ddfabfc$ +& %contract_address ^0x030ba81f1c18d280636f32af80b9aad02cf0854e$ +& %blockchain ^ethereum$ +& %type ^erc-20$ +& %amount_ [1-9] + amount -%amount_ %symbol + account1 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol + account2 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol + comment blockchain:%blockchain, type:%type, block:%block_number, blockid:%block_hash, index:%tx_index, subaccount_address:%subaccount_address, contract_address:%contract_address, from_address:%from_address, to_address:%to_address, txid:%tx_hash, direction:%direction, taxed_as:MATCH + comment2 %tx_hash,%date +0000,SELL,%account_name,%symbol,%amount_ + +if %direction ^IN$ +& %from_address ^0x0000000000000000000000000000000000000000$ +& %contract_address ^0x4d5f47fa6a74757f35c14fd3a6ef8e3c9bc514e8$ +& %blockchain ^ethereum$ +& %type ^erc-20$ +& %amount_ [1-9] + account1 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol + account2 equity:%account_name:%subaccount_name:%blockchain:receivable:loans:%symbol + comment blockchain:%blockchain, type:%type, block:%block_number, blockid:%block_hash, index:%tx_index, subaccount_address:%subaccount_address, contract_address:%contract_address, from_address:%from_address, to_address:%to_address, txid:%tx_hash, direction:%direction, taxed_as:MATCH + comment2 %tx_hash,%date +0000,BUY,%account_name,%symbol,%amount_ + +if %direction ^OUT$ +& %to_address ^0xb748952c7bc638f31775245964707bcc5ddfabfc$ +& %blockchain ^ethereum$ +& %type ^normal$ +& %symbol ^ETH$ +& %amount_ ^[^1-9]*$ +& %fees [1-9] + account1 + account2 + comment blockchain:%blockchain, type:%type, block:%block_number, blockid:%block_hash, index:%tx_index, method:%method_id, subaccount_address:%subaccount_address, from_address:%from_address, to_address:%to_address, txid:%tx_hash, direction:%direction, taxed_as:MATCH + comment2 + comment3 %tx_hash,%date +0000,FEE,%account_name,%symbol,%fees +# NOTE: must keep comment2 blank and comment3 filled + +# +# Non-transferable placeholders are not trades +# + +# aUSDC (variable debt) -> vEthUSDC + +if %to_address ^0x0000000000000000000000000000000000000000$ +& %contract_address ^0x619beb58998eD2278e08620f97007e1116D5D25b$ +& %blockchain ^ethereum$ +& %type ^erc-20$ +& %amount_ [1-9] + comment blockchain:%blockchain, type:%type, block:%block_number, blockid:%block_hash, index:%tx_index, subaccount_address:%subaccount_address, contract_address:%contract_address, from_address:%from_address, to_address:%to_address, txid:%tx_hash, direction:%direction + comment2 + +if %from_address ^0x0000000000000000000000000000000000000000$ +& %contract_address ^0x72e95b8931767c79ba4eee721354d6e99a61d004$ +& %blockchain ^ethereum$ +& %type ^erc-20$ +& %amount_ [1-9] + comment blockchain:%blockchain, type:%type, block:%block_number, blockid:%block_hash, index:%tx_index, subaccount_address:%subaccount_address, contract_address:%contract_address, from_address:%from_address, to_address:%to_address, txid:%tx_hash, direction:%direction + comment2 + # vim: sw=2 sts=2 si ai et