From 1458cd47cec64d26c3596cbae21efd919c526c3b Mon Sep 17 00:00:00 2001 From: jpsains <32621022+jpsains@users.noreply.github.com> Date: Mon, 9 Sep 2024 15:35:00 +0100 Subject: [PATCH 1/2] feat: database (#308) --- .github/workflows/verify-build.yaml | 2 +- .gitignore | 3 +- arbitrum.db | Bin 0 -> 40960 bytes avalanche.db | Bin 0 -> 40960 bytes base.db | Bin 0 -> 40960 bytes bsc.db | Bin 0 -> 40960 bytes ethereum.db | Bin 0 -> 40960 bytes fantom.db | Bin 0 -> 40960 bytes linea.db | Bin 0 -> 40960 bytes optimism.db | Bin 0 -> 40960 bytes package-lock.json | 237 +++++++++- package.json | 1 + packages/adapters-library/package.json | 2 + .../products/a-token/aaveV2ATokenAdapter.ts | 14 +- .../metadata/avalanche.a-token-v2.json | 72 --- .../a-token/metadata/ethereum.a-token-v2.json | 86 ---- .../a-token/metadata/polygon.a-token-v2.json | 86 ---- .../tests/snapshots/ethereum.borrows.json | 214 +++++++++ .../tests/snapshots/ethereum.positions.json | 228 +++++++++- .../tests/snapshots/ethereum.profits.json | 270 +++++++++-- .../aave-v2/tests/snapshots/ethereum.tvl.json | 226 ++++++++- .../src/adapters/integration.test.ts | 6 +- packages/adapters-library/src/config.ts | 6 + .../src/core/decorators/cacheToDb.ts | 236 ++++++++++ .../src/core/metadata/AdapterMetadata.ts | 30 -- .../src/scripts/buildMetadataDb.ts | 430 ++++++++++++++++++ .../adapters-library/src/scripts/index.ts | 3 + .../src/types/IProtocolAdapter.ts | 2 + polygon.db | Bin 0 -> 40960 bytes 29 files changed, 1772 insertions(+), 382 deletions(-) create mode 100644 arbitrum.db create mode 100644 avalanche.db create mode 100644 base.db create mode 100644 bsc.db create mode 100644 ethereum.db create mode 100644 fantom.db create mode 100644 linea.db create mode 100644 optimism.db delete mode 100644 packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/avalanche.a-token-v2.json delete mode 100644 packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/ethereum.a-token-v2.json delete mode 100644 packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/polygon.a-token-v2.json create mode 100644 packages/adapters-library/src/core/decorators/cacheToDb.ts create mode 100644 packages/adapters-library/src/scripts/buildMetadataDb.ts create mode 100644 polygon.db diff --git a/.github/workflows/verify-build.yaml b/.github/workflows/verify-build.yaml index a8103d6b9..188c3b46d 100644 --- a/.github/workflows/verify-build.yaml +++ b/.github/workflows/verify-build.yaml @@ -70,7 +70,7 @@ jobs: - id: set-matrix run: | - MATRIX=$(npm run -s support | jq -r 'keys | @json') + MATRIX='["aave-v2","aave-v3","angle-protocol","beefy","carbon-defi","chimp-exchange","compound-v2","convex","curve","deri","ethena","flux","gmx","iziswap","lido","lynex","maker","mendi-finance","morpho-aave-v2","morpho-aave-v3","morpho-blue","morpho-compound-v2","pancakeswap-v2","pendle","prices-v2","quickswap-v2","renzo","rocket-pool","solv","sonne","spark-v1","stakewise","stargate","sushiswap-v2","swell","syncswap","uniswap-v2","uniswap-v3","xfai"]' echo "matrix=$MATRIX" >> "$GITHUB_OUTPUT" integration-tests: diff --git a/.gitignore b/.gitignore index c041ae29e..e5e3bd3ff 100644 --- a/.gitignore +++ b/.gitignore @@ -132,4 +132,5 @@ dist .pnp.* # -*.tsbuildinfo \ No newline at end of file +*.tsbuildinfo + diff --git a/arbitrum.db b/arbitrum.db new file mode 100644 index 0000000000000000000000000000000000000000..628a24f9a62707eb785d50dd60fdee6f381aeac0 GIT binary patch literal 40960 zcmeI&&r;Js9Ki8}KTV7LyJa}w?2T3!0T~XSv~&V?gaV;BG9EI4M5kIBXu=43;*ZbZ z6Zj6kfzRUj0v=5^Elr>(Gu|@a%rs4Qf4j|ob~l-wbZ2|L5xC;5*FLlZv7}5Ys;WE} zLQ#}l_!$X5-7PvF>Yjw(YU22=!<_Q?)6v+(Z>5m`u8jYj_%Z%Q;8P zu^Kr|*LC&FqQsKJR_?SEicIPcVXPUZ*fOgdWphu?hw^THvsw#_Zy3o*XFK*$;I?l~ z#;EFl&c(Q>3=Jpqf6v(7wWMZUC)qD1^6!|s$*WG)@t2uoDQV~Ze$jt zrp$#UOXqJ?O`o1tFAK8HZjW`p2U4|kQxlTCo{gGx-?4kt_5$x9evnj5|M&(<{?=;dYy2Eq0Fv!v}3Xdf1LdyUA$Bh5!NxAb_(0R#|0009ILKmY**5I_Kd>%IXSh6Ter0K;X&h6M|bBs;NN2Q>WF2tWV=5P(2xfu~}zP*xQ7d7)35+hMrh?~+D0 z{FrouM!$0}-04jynssWfU3Z1LU3uRXCIkq}v%+B7?R2&q?Lb)HsGmJ7jB9R?An1m@ zo^ZpiIhXC)vaD$rpGY0kA>gmR6=L_X>nf+9XvEsuvo)yMW;-bkA z?j^S-T&t~Lv1_;E{$Ov_udZ*<^egUYry~K`?T6jhI%8DzzxKr>H4den`9JsAqqdCo zx?9)bUokS*cZcIBV8{v)%CL)c>A2l_J-y!$I zW2};Z-lO}?&h}x5B#wOkB@sdBx9^kfUiA5yeEh6(`SOJYmTA*&wcmTNO;0-;IOSKj8v1YTLW9Bs;3nz{1i1GZ3JT4J9S z<2r|XZ1|cPt7TX^B6+lDqfJVC?Cy3u{f?h}lT1GNXhiVP??*@X_3K;i@<>f* zg`=dE1owOu_CHjG%<$q)70}})w009U<00Izz00bZa0SG_<0@ENc zpIclkj-UTWzyD|WpBVlRI>Q732tWV=5P$##AOHafKmY;|fWZG+pqR;)+4yE0?gX1% zDh_W1h|d3K=gJKKf^YK+r5{R9OBd&UpL;QPhZbUj00bZa0SG_<0uX=z1RyZ|0`@FN z-Y&D^enpX5x^CNwBZY>kDZ1i`rlHwV#ZX<@XquW=)pg&v*(JNXVIbHy>{~aZ*?g_Y z5oeKBQT1F+mSjtIeOI>Cma59C9JVSxO|1Bur8>4{NNUBV7iJ6g9@!>4{@qZxLb~_D zz7SVN_L4f^o#DvR0+PE)gdiKvdQt6Q5@!J)U< z(^qFL%wH>T#E$Y+-PR;YHXOwdWu?_L?21%%MO~J4Ni{rG)kBq-nlZUeQEg-|n&&U( zIr3Iiqi;x-sVatLioU2yz9~{9x9T@-P4p!v)Pkl(|D;(D`**{xK$GdC9<_-Zv`JHB zSJxE7b8Xo&70aM#o@m*+6pD%>NxG@GG}R1`ZBspNQ$6qGII)iqjf!fchZLR9N7w()mR6b4OTN#4#lOLSU;3=HTDnvEk$0!Rn_~+h009U<00Izz z00bZa0SG`~g1}mq(9_|x10u6Yc-p~_ViKNqTw^8)PdkiJNW#;OQRI{Gv;z`c5}tOn zAvb7y%5jD4AUx%;LFQbR6vcf_NjE?c{r=CD{$luV`7ii@7wIA<2tWV=5P$##AOHaf zKmY;|fWTA<$XuQ&66SRJOEeB1%ei4r+OY?klO5)y9Z{e;nPE=a>knuSJIqOY_J8m= zKL6)44F4VfC4ZOK=prTvKmY;|fB*y_009U<00Izzz!VBdT#hBDx%5{y96XkCQA#fT zZ5T8q8>M8^-zPy+GEqt<{cQ{fk3}|DBy>DOO?k0Ea{kYpn!??RO@aUfAOHafKmY;| sfB*y_009U<;7}m?{U7K5ha6ad00bZa0SG_<0uX=z1Rwwb2u!8G-(?LJ6#xJL literal 0 HcmV?d00001 diff --git a/base.db b/base.db new file mode 100644 index 0000000000000000000000000000000000000000..628a24f9a62707eb785d50dd60fdee6f381aeac0 GIT binary patch literal 40960 zcmeI&&r;Js9Ki8}KTV7LyJa}w?2T3!0T~XSv~&V?gaV;BG9EI4M5kIBXu=43;*ZbZ z6Zj6kfzRUj0v=5^Elr>(Gu|@a%rs4Qf4j|ob~l-wbZ2|L5xC;5*FLlZv7}5Ys;WE} zLQ#}l_!$X5-7PvF>Yjw(YU22=!<_Q?)6v+(Z>5m`u8jYj_%Z%Q;8P zu^Kr|*LC&FqQsKJR_?SEicIPcVXPUZ*fOgdWphu?hw^THvsw#_Zy3o*XFK*$;I?l~ z#;EFl&c(Q>3=Jpqf6v(7wWMZUC)qD1^6!|s$*WG)@t2uoDQV~Ze$jt zrp$#UOXqJ?O`o1tFAK8HZjW`p2U4|kQxlTCo{gGx-?4kt_5$x9evnj5|M&(<{?=;dYy2Eq0Fv!v}3Xdf1LdyUA$Bh5!NxAb_(0R#|0009ILKmY**5I_Kd>(Gu|@a%rs4Qf4j|ob~l-wbZ2|L5xC;5*FLlZv7}5Ys;WE} zLQ#}l_!$X5-7PvF>Yjw(YU22=!<_Q?)6v+(Z>5m`u8jYj_%Z%Q;8P zu^Kr|*LC&FqQsKJR_?SEicIPcVXPUZ*fOgdWphu?hw^THvsw#_Zy3o*XFK*$;I?l~ z#;EFl&c(Q>3=Jpqf6v(7wWMZUC)qD1^6!|s$*WG)@t2uoDQV~Ze$jt zrp$#UOXqJ?O`o1tFAK8HZjW`p2U4|kQxlTCo{gGx-?4kt_5$x9evnj5|M&(<{?=;dYy2Eq0Fv!v}3Xdf1LdyUA$Bh5!NxAb_(0R#|0009ILKmY**5I_Kd>;a%kG37_j>W>^SVacHDUzww-nvh935ilwzroTLR6YHNJ#i$=~ni zhad8hz(=I_ZrvD6xY{3%?y-rgOV3EMEd5ATB}sZ-+*ieYHkHJS!t9NBmgiod_VRh@ z>Mswg%73NG%KK97AIhI=zp4JA_VYFO+*;+IViqO{KmY;|fB*y_kXhi7Rw>tYU4ExL zVc|aK4<;kl9r0hVQPiCbU*`woC9_ujcHngawc|Bz1nQCib#qmnPKU$ces>V5+dG}h zk7p*8yDW-Ed^}cv?6v)uy!IwF&8?Fdv2-vQ3=i0TH)0c}c7mVGRcP(DgY6f0)R%+1 z>gM!sY^m*_6|{pLKiE^_dE>`RPRcGMF0^AIJze+B#ek&!TaTVwDc3Jvl;1v1$QG~` z-c%Nt78adtpzoK<^=sGUck&6)(LuyV`)>{oem32so|v(+0QJP;vyC+@Z}@tgO;;r`_`oAIh# z7MWXby(*XM8yoW5m89lui_M;M3sq)w=Oj_UL}_pW6}$!mP1(yQ8d5_Dc#zjdz2{PUt3aUB}cmgx{f*GOb=mpP$E zHDa2kZd=@fk{9mjOPWs3B(~@n0X*y^bixlE?KQt`^zGw?#=$3mwaK zNzbCh33aPSBH}g;M!6e=S})Ko&EgHixxLp^eQ|NSc=k)Xl_K-v)ob*6%+kV!MO@v` z9I-}3w_Ii!PAk;(X3J=~7PWMLd4u9wEGg)%6xr6dL_w=TY}2rfz;QL#@C~EMTqkr* zBj6GDe8V-VO(Lz;WCL|Cx$?ay8rAf+*Kd}K?0URL8g+!=sBcMdc=vSqglGu(kbgZTIhOSq*1@GIi|svwrhfvni@T_Ab=hE=3;~%SOc-8@rN*bPZIAbLZ z&pLEbPQ$YfO_Zk9GY&%()9|c=423j2>ySb|4bM7Ykh_v+741RR@qzgF|5EJ(N%>Iu ztr96(?KANP69gat0SG_<0uX=z1Rwwb2teR#DnLsmsludZv!C;E{E!xBIax<3L{4Fr zlXdJt-zl#trjo0D@-^MWXchz@ z009U<00Izz00bZa0SG`~CO}FBnLS&|eiFp-LsE=WirKI15GjQ?rI7vV3z3qKQ}Wp_ zj}R%jI3<_;>V@Nnnp~(bF$R+LWP$YfUwUT7hi3>t00Izz00bZa0SG_<0uX=z1kR#B j{QEzS|Igx<#X3O%0uX=z1Rwwb2tWV=5P$##P6YlBlnikf literal 0 HcmV?d00001 diff --git a/fantom.db b/fantom.db new file mode 100644 index 0000000000000000000000000000000000000000..628a24f9a62707eb785d50dd60fdee6f381aeac0 GIT binary patch literal 40960 zcmeI&&r;Js9Ki8}KTV7LyJa}w?2T3!0T~XSv~&V?gaV;BG9EI4M5kIBXu=43;*ZbZ z6Zj6kfzRUj0v=5^Elr>(Gu|@a%rs4Qf4j|ob~l-wbZ2|L5xC;5*FLlZv7}5Ys;WE} zLQ#}l_!$X5-7PvF>Yjw(YU22=!<_Q?)6v+(Z>5m`u8jYj_%Z%Q;8P zu^Kr|*LC&FqQsKJR_?SEicIPcVXPUZ*fOgdWphu?hw^THvsw#_Zy3o*XFK*$;I?l~ z#;EFl&c(Q>3=Jpqf6v(7wWMZUC)qD1^6!|s$*WG)@t2uoDQV~Ze$jt zrp$#UOXqJ?O`o1tFAK8HZjW`p2U4|kQxlTCo{gGx-?4kt_5$x9evnj5|M&(<{?=;dYy2Eq0Fv!v}3Xdf1LdyUA$Bh5!NxAb_(0R#|0009ILKmY**5I_Kd>(Gu|@a%rs4Qf4j|ob~l-wbZ2|L5xC;5*FLlZv7}5Ys;WE} zLQ#}l_!$X5-7PvF>Yjw(YU22=!<_Q?)6v+(Z>5m`u8jYj_%Z%Q;8P zu^Kr|*LC&FqQsKJR_?SEicIPcVXPUZ*fOgdWphu?hw^THvsw#_Zy3o*XFK*$;I?l~ z#;EFl&c(Q>3=Jpqf6v(7wWMZUC)qD1^6!|s$*WG)@t2uoDQV~Ze$jt zrp$#UOXqJ?O`o1tFAK8HZjW`p2U4|kQxlTCo{gGx-?4kt_5$x9evnj5|M&(<{?=;dYy2Eq0Fv!v}3Xdf1LdyUA$Bh5!NxAb_(0R#|0009ILKmY**5I_Kd>(Gu|@a%rs4Qf4j|ob~l-wbZ2|L5xC;5*FLlZv7}5Ys;WE} zLQ#}l_!$X5-7PvF>Yjw(YU22=!<_Q?)6v+(Z>5m`u8jYj_%Z%Q;8P zu^Kr|*LC&FqQsKJR_?SEicIPcVXPUZ*fOgdWphu?hw^THvsw#_Zy3o*XFK*$;I?l~ z#;EFl&c(Q>3=Jpqf6v(7wWMZUC)qD1^6!|s$*WG)@t2uoDQV~Ze$jt zrp$#UOXqJ?O`o1tFAK8HZjW`p2U4|kQxlTCo{gGx-?4kt_5$x9evnj5|M&(<{?=;dYy2Eq0Fv!v}3Xdf1LdyUA$Bh5!NxAb_(0R#|0009ILKmY**5I_Kd>=10" }, @@ -6831,7 +6853,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, "engines": { "node": ">=4.0.0" } @@ -6941,6 +6962,14 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "engines": { + "node": ">=8" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -7078,11 +7107,35 @@ "node": ">= 0.8" } }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "dependencies": { "once": "^1.4.0" } @@ -7660,6 +7713,14 @@ "node": ">= 0.8.0" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, "node_modules/expect": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", @@ -7873,6 +7934,11 @@ "node": ">=0.8.0" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -8042,6 +8108,11 @@ "node": ">= 0.6" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -8206,6 +8277,11 @@ "assert-plus": "^1.0.0" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -8718,8 +8794,12 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/inquirer": { "version": "8.2.6", @@ -10391,7 +10471,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10427,6 +10506,11 @@ "node": ">=10" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "node_modules/mkdirp-promise": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", @@ -10594,6 +10678,11 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -10627,6 +10716,17 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node_modules/node-abi": { + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.67.0.tgz", + "integrity": "sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/node-addon-api": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", @@ -11126,7 +11226,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "dependencies": { "wrappy": "1" } @@ -11841,6 +11940,55 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", @@ -11939,7 +12087,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -12075,6 +12222,28 @@ "node": ">= 0.8" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -12225,7 +12394,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -12678,7 +12846,6 @@ "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -12693,7 +12860,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -12704,8 +12870,7 @@ "node_modules/semver/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/send": { "version": "0.18.0", @@ -12910,7 +13075,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, "funding": [ { "type": "github", @@ -13652,6 +13816,32 @@ "node": ">=4.5" } }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/tar/node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -13967,7 +14157,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, "dependencies": { "safe-buffer": "^5.0.1" }, @@ -14475,8 +14664,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/utils-merge": { "version": "1.0.1", @@ -15194,8 +15382,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "4.0.2", @@ -15384,6 +15571,7 @@ "version": "0.13.0", "license": "MIT", "dependencies": { + "better-sqlite3": "^11.2.1", "ethers": "^6.7.1", "evm-maths": "^6.0.0", "lodash": "^4.17.21", @@ -15392,6 +15580,7 @@ }, "devDependencies": { "@typechain/ethers-v6": "^0.5.0", + "@types/better-sqlite3": "^7.6.11", "@types/ethereum-block-by-date": "^1.4.1", "@types/inquirer": "^8.2.6", "@types/jest": "^29.5.12", diff --git a/package.json b/package.json index 71f56e0b3..93d2adcc7 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "build:watch": "npm run build:watch -w packages/adapters-library", "adapters-cli": "node --env-file=.env packages/adapters-library/dist/scripts/index.js", "build-metadata": "npm run adapters-cli build-metadata --", + "build-metadata-db": "npm run adapters-cli build-metadata-db --", "build-types": "npm run adapters-cli build-types --", "new-adapter": "npm run adapters-cli new-adapter2 --", "new-adapter2": "npm run adapters-cli new-adapter2 --", diff --git a/packages/adapters-library/package.json b/packages/adapters-library/package.json index 460759554..93ef61342 100644 --- a/packages/adapters-library/package.json +++ b/packages/adapters-library/package.json @@ -38,6 +38,7 @@ }, "devDependencies": { "@typechain/ethers-v6": "^0.5.0", + "@types/better-sqlite3": "^7.6.11", "@types/ethereum-block-by-date": "^1.4.1", "@types/inquirer": "^8.2.6", "@types/jest": "^29.5.12", @@ -62,6 +63,7 @@ "typedoc-plugin-mdn-links": "^3.1.0" }, "dependencies": { + "better-sqlite3": "^11.2.1", "ethers": "^6.7.1", "evm-maths": "^6.0.0", "lodash": "^4.17.21", diff --git a/packages/adapters-library/src/adapters/aave-v2/products/a-token/aaveV2ATokenAdapter.ts b/packages/adapters-library/src/adapters/aave-v2/products/a-token/aaveV2ATokenAdapter.ts index 709ef1e27..a9d4fbe89 100644 --- a/packages/adapters-library/src/adapters/aave-v2/products/a-token/aaveV2ATokenAdapter.ts +++ b/packages/adapters-library/src/adapters/aave-v2/products/a-token/aaveV2ATokenAdapter.ts @@ -1,3 +1,5 @@ +import { Chain } from '../../../../core/constants/chains' +import { CacheToDb } from '../../../../core/decorators/cacheToDb' import { CacheToFile } from '../../../../core/decorators/cacheToFile' import { logger } from '../../../../core/utils/logger' import { Helpers } from '../../../../scripts/helpers' @@ -24,7 +26,7 @@ export class AaveV2ATokenPoolAdapter extends AaveBasePoolAdapter { adapterSettings = { enablePositionDetectionByProtocolTokenTransfer: true, includeInUnwrap: true, - version: 2, + version: 3, } getProtocolDetails(): ProtocolDetails { @@ -40,9 +42,15 @@ export class AaveV2ATokenPoolAdapter extends AaveBasePoolAdapter { } } - @CacheToFile({ fileKey: 'a-token-v2' }) + @CacheToDb() async getProtocolTokens() { - return super.getProtocolTokens() + const tokens = await super.getProtocolTokens() + + if (this.chainId === Chain.Ethereum) { + console.log('tokens', tokens, this.chainId) + } + + return tokens } protected getReserveTokenAddress( diff --git a/packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/avalanche.a-token-v2.json b/packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/avalanche.a-token-v2.json deleted file mode 100644 index dd261a96a..000000000 --- a/packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/avalanche.a-token-v2.json +++ /dev/null @@ -1,72 +0,0 @@ -[ - { - "address": "0x53f7c5869a859F0AeC3D334ee8B4Cf01E3492f21", - "name": "Aave Avalanche Market WETH", - "symbol": "avWETH", - "decimals": 18, - "underlyingTokens": [ - { - "address": "0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB", - "name": "Wrapped Ether", - "symbol": "WETH.e", - "decimals": 18 - } - ] - }, - { - "address": "0x47AFa96Cdc9fAb46904A55a6ad4bf6660B53c38a", - "name": "Aave Avalanche Market DAI", - "symbol": "avDAI", - "decimals": 18, - "underlyingTokens": [ - { - "address": "0xd586E7F844cEa2F87f50152665BCbc2C279D8d70", - "name": "Dai Stablecoin", - "symbol": "DAI.e", - "decimals": 18 - } - ] - }, - { - "address": "0x532E6537FEA298397212F09A61e03311686f548e", - "name": "Aave Avalanche Market USDT", - "symbol": "avUSDT", - "decimals": 6, - "underlyingTokens": [ - { - "address": "0xc7198437980c041c805A1EDcbA50c1Ce5db95118", - "name": "Tether USD", - "symbol": "USDT.e", - "decimals": 6 - } - ] - }, - { - "address": "0x46A51127C3ce23fb7AB1DE06226147F446e4a857", - "name": "Aave Avalanche Market USDC", - "symbol": "avUSDC", - "decimals": 6, - "underlyingTokens": [ - { - "address": "0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664", - "name": "USD Coin", - "symbol": "USDC.e", - "decimals": 6 - } - ] - }, - { - "address": "0xDFE521292EcE2A4f44242efBcD66Bc594CA9714B", - "name": "Aave Avalanche Market WAVAX", - "symbol": "avWAVAX", - "decimals": 18, - "underlyingTokens": [ - { - "address": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", - "name": "Wrapped AVAX", - "symbol": "WAVAX", - "decimals": 18 - } - ] - } -] diff --git a/packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/ethereum.a-token-v2.json b/packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/ethereum.a-token-v2.json deleted file mode 100644 index af83468a1..000000000 --- a/packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/ethereum.a-token-v2.json +++ /dev/null @@ -1,86 +0,0 @@ -[ - { - "address": "0x3Ed3B47Dd13EC9a98b44e6204A523E766B225811", - "name": "Aave interest bearing USDT", - "symbol": "aUSDT", - "decimals": 6, - "underlyingTokens": [ - { - "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", - "name": "Tether USD", - "symbol": "USDT", - "decimals": 6 - } - ] - }, - { - "address": "0x9ff58f4fFB29fA2266Ab25e75e2A8b3503311656", - "name": "Aave interest bearing WBTC", - "symbol": "aWBTC", - "decimals": 8, - "underlyingTokens": [ - { - "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", - "name": "Wrapped BTC", - "symbol": "WBTC", - "decimals": 8 - } - ] - }, - { - "address": "0x030bA81f1c18d280636F32af80b9AAd02Cf0854e", - "name": "Aave interest bearing WETH", - "symbol": "aWETH", - "decimals": 18, - "underlyingTokens": [ - { - "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", - "name": "Wrapped Ether", - "symbol": "WETH", - "decimals": 18 - } - ] - }, - { - "address": "0x028171bCA77440897B824Ca71D1c56caC55b68A3", - "name": "Aave interest bearing DAI", - "symbol": "aDAI", - "decimals": 18, - "underlyingTokens": [ - { - "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", - "name": "Dai Stablecoin", - "symbol": "DAI", - "decimals": 18 - } - ] - }, - { - "address": "0xBcca60bB61934080951369a648Fb03DF4F96263C", - "name": "Aave interest bearing USDC", - "symbol": "aUSDC", - "decimals": 6, - "underlyingTokens": [ - { - "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", - "name": "USD Coin", - "symbol": "USDC", - "decimals": 6 - } - ] - }, - { - "address": "0x1982b2F5814301d4e9a8b0201555376e62F82428", - "name": "Aave interest bearing STETH", - "symbol": "aSTETH", - "decimals": 18, - "underlyingTokens": [ - { - "address": "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84", - "name": "Liquid staked Ether 2.0", - "symbol": "stETH", - "decimals": 18 - } - ] - } -] diff --git a/packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/polygon.a-token-v2.json b/packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/polygon.a-token-v2.json deleted file mode 100644 index 43ef9cba3..000000000 --- a/packages/adapters-library/src/adapters/aave-v2/products/a-token/metadata/polygon.a-token-v2.json +++ /dev/null @@ -1,86 +0,0 @@ -[ - { - "address": "0x27F8D03b3a2196956ED754baDc28D73be8830A6e", - "name": "Aave Matic Market DAI", - "symbol": "amDAI", - "decimals": 18, - "underlyingTokens": [ - { - "address": "0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063", - "name": "(PoS) Dai Stablecoin", - "symbol": "DAI", - "decimals": 18 - } - ] - }, - { - "address": "0x1a13F4Ca1d028320A707D99520AbFefca3998b7F", - "name": "Aave Matic Market USDC", - "symbol": "amUSDC", - "decimals": 6, - "underlyingTokens": [ - { - "address": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", - "name": "USD Coin (PoS)", - "symbol": "USDC", - "decimals": 6 - } - ] - }, - { - "address": "0x60D55F02A771d515e077c9C2403a1ef324885CeC", - "name": "Aave Matic Market USDT", - "symbol": "amUSDT", - "decimals": 6, - "underlyingTokens": [ - { - "address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", - "name": "(PoS) Tether USD", - "symbol": "USDT", - "decimals": 6 - } - ] - }, - { - "address": "0x5c2ed810328349100A66B82b78a1791B101C9D61", - "name": "Aave Matic Market WBTC", - "symbol": "amWBTC", - "decimals": 8, - "underlyingTokens": [ - { - "address": "0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6", - "name": "(PoS) Wrapped BTC", - "symbol": "WBTC", - "decimals": 8 - } - ] - }, - { - "address": "0x28424507fefb6f7f8E9D3860F56504E4e5f5f390", - "name": "Aave Matic Market WETH", - "symbol": "amWETH", - "decimals": 18, - "underlyingTokens": [ - { - "address": "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619", - "name": "Wrapped Ether", - "symbol": "WETH", - "decimals": 18 - } - ] - }, - { - "address": "0x8dF3aad3a84da6b69A4DA8aeC3eA40d9091B2Ac4", - "name": "Aave Matic Market WMATIC", - "symbol": "amWMATIC", - "decimals": 18, - "underlyingTokens": [ - { - "address": "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270", - "name": "Wrapped Matic", - "symbol": "WMATIC", - "decimals": 18 - } - ] - } -] diff --git a/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.borrows.json b/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.borrows.json index 7666ad058..7a09a5398 100644 --- a/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.borrows.json +++ b/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.borrows.json @@ -1,4 +1,5 @@ { + "latency": "Latency: 1.902 seconds", "snapshot": { "protocolId": "aave-v2", "name": "Aave v2 VariableDebtToken", @@ -68,6 +69,201 @@ } ] }, + "258748a78b10266df6ff7130c12e5e40": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000083f20f44975d03b1b09e64809b757c47f942beea000000000000000000000000000000000000000000000000000000000000000473444149000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000455534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000004574554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca00000000000000000000000000000000000000000000000000000000000000006777374455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000000000004574254430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006810e776880c02933d47db1b9fc05908e5386b960000000000000000000000000000000000000000000000000000000000000003474e4f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000ae78736cd615f374d3085123a210448e74fc6393000000000000000000000000000000000000000000000000000000000000000472455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000000000455534454000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cd5fe23c85820f7b72d0926fc9b05b43e359b7ee00000000000000000000000000000000000000000000000000000000000000057765455448000000000000000000000000000000000000000000000000000000" + }, + "ab754666e52a843ef1aa2d47267445f1": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000028d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "51064353eb13db2dbfbfa1a11158eaf7": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "4803b11c163d594c7ef3a2f3109cea5e": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "86a5a96d787be9630d8fe129dee4dfc5": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000002008000000000000000000000000000000000000000000000000000000000000206c000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "cddfc1ee35c5ad8f65c1cffea1d4891a": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "f6f8d56f777046d079bc666530cea45b": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d4c00000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "39736641fc8bddd26c1cfb33cef12a90": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c40000000000000000000000000000000000000000000000000000000000002af8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001" + }, + "47067de483b3a21eca2c8a7cab59c7dd": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "07d282facd48236f0750e349921fd0d8": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "80135f4bd30aef3ae84b38c571d58f30": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c840000000000000000000000000000000000000000000000000000000000002af800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "e2d1357e4fc706ee7ec11eba9171fd39": { + "result": "0x0000000000000000000000004dedf26112b3ec8ec46e7e31ea5e123490b05b8b000000000000000000000000fe2b7a7f4cc0fb76f7fc1c6518d586f1e4559176000000000000000000000000f705d2b7e92b3f38e6ae7afadaa2fee110fe5914" + }, + "7055641e2ee2bff3d633a44c7b3ddd9b": { + "result": "0x00000000000000000000000078f897f0fe2d3b5690ebae7f19862deacedf10a7000000000000000000000000ec6c6abed4dc03299eff82ac8a0a83643d3cb335000000000000000000000000abc57081c04d921388240393ec4088aa47c6832b" + }, + "04902577357337dfcc353b807ac3fabe": { + "result": "0x000000000000000000000000377c3bd93f2a2984e1e7be6a5c22c525ed4a4815000000000000000000000000887ac022983ff083aeb623923789052a955c67980000000000000000000000007b70d04099cb9cfb1db7b6820badafb4c5c70a67" + }, + "4e83bb5867d1567d09f11b78165862cc": { + "result": "0x00000000000000000000000059cd1c87501baa753d0b5b5ab5d8416a45cd71db0000000000000000000000003c6b93d38ffa15ea995d1bc950d5d0fa6b22bd050000000000000000000000002e7576042566f8d6990e07a1b61ad1efd86ae70d" + }, + "41d7e41c711511e9281f3f6d04f4ca86": { + "result": "0x00000000000000000000000012b54025c112aa61face2cdb7118740875a566e90000000000000000000000009832d969a0c8662d98fff334a4ba7fee62b109c2000000000000000000000000d5c3e3b566a42a6110513ac7670c1a86d76e13e6" + }, + "5ba49319cf7738379f02285af1d1f6ec": { + "result": "0x0000000000000000000000004197ba364ae6698015ae5c1468f54087602715b20000000000000000000000004b29e6cbee62935cfc92efcb3839ed2c2f35c1d9000000000000000000000000f6fee3a8ac8040c3d6d81d9a4a168516ec9b51d2" + }, + "11ed17da1fadf20d59bd69db5246e9b0": { + "result": "0x0000000000000000000000009985df20d7e9103ecbceb16a84956434b6f06ae8000000000000000000000000a9a4037295ea3a168dc3f65fe69fda524d52b3e1000000000000000000000000ba2c8f2ea5b56690bfb8b709438f049e5dd76b96" + }, + "66b537ccc21ffb2bf2c33b4ccb1bc419": { + "result": "0x000000000000000000000000e7df13b8e3d6740fe17cbe928c7334243d86c92f0000000000000000000000000dae62f953ceb2e969fb4de85f3f9074fa920776000000000000000000000000529b6158d1d2992e3129f7c69e81a7c677dc3b12" + }, + "0673241d170e4f319e97a84c1b997cf9": { + "result": "0x0000000000000000000000003cfd5c0d4acaa8faee335842e4f31159fc76b0080000000000000000000000005b1f8af3e6c0bf4d20e8e5220a4e4a3a8fa6dc0a000000000000000000000000c2bd6d2fee70a0a73a33795bdbee0368aef5c766" + }, + "29bb09e90e2b07c2245d93aa25d9948f": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017537061726b205661726961626c65204465627420444149000000000000000000" + }, + "72c2f5c8f2e8cbb0c73f60cc05da9228": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f7661726961626c65446562744441490000000000000000000000000000000000" + }, + "511d9e0cb2b0f900708af2061e7d11f2": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "a9b3aab5f8333322efecf9ac99d8c29c": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e44616920537461626c65636f696e000000000000000000000000000000000000" + }, + "d0514a085409fad02b77f27db7da90df": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000" + }, + "52831d57ff0054e2d19574cf8a1deb2a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "78c7ac83ff2057b45356ee6233a1f572": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420734441490000000000000000" + }, + "9b1c9283e3d8905de942feba27d7c3ff": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562747344414900000000000000000000000000000000" + }, + "07649318b355ecc192d1740f6fca385b": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "9314d8302356c59b1390a0f95dcf2fd4": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b536176696e677320446169000000000000000000000000000000000000000000" + }, + "505e6fbdb50cfca7318319bda6e6ddb5": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000047344414900000000000000000000000000000000000000000000000000000000" + }, + "324cfa69d245aed0582a391805f7c1fe": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "7e40de31e90f9856b7e414c20d4c2c86": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420555344430000000000000000" + }, + "b21a648e93e4a027c8a9b3f1a405d947": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745553444300000000000000000000000000000000" + }, + "eaa982b8f3d6c8126cbca80fe1fa43f6": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, + "edac88f54a4e0bfbb63af436439a786e": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000855534420436f696e000000000000000000000000000000000000000000000000" + }, + "092d5af2b2884fa97e9381c15e7b7e12": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000" + }, + "e9d846642c9d3de421ceb1c96b5fc79e": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, + "6de6a0de50735f527c243cfb040b07ec": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420574554480000000000000000" + }, + "58909c5fe07a54670159a9e27bee190c": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745745544800000000000000000000000000000000" + }, + "a3f37028be031295e600bd17d501f5ed": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "61783211b732979498a33287546ce819": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000" + }, + "3142d9d670d9f3bbe1f590ed10159c68": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000" + }, + "52a91a2f9ed1eef93397c798125fd3cd": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "11ad1b9fa2b34a7e059bd0c34d3ae3e9": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a537061726b205661726961626c65204465627420777374455448000000000000" + }, + "c5ff24ec84894f14a24e7d83798990db": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000127661726961626c65446562747773744554480000000000000000000000000000" + }, + "f9779d9819b8a113d76181b52631378a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "35a47620a1a3e807fc037ea11f7f5903": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f57726170706564206c6971756964207374616b656420457468657220322e3000" + }, + "c9d5eb7e25e1b51b43b0fd90d6e4e8ff": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000067773744554480000000000000000000000000000000000000000000000000000" + }, + "7e489d7c464f00664686810acc02d0da": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "0fb27acd0d10883997c90bfb83b8de74": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420574254430000000000000000" + }, + "1dec40164273617e0ff6d5520ab6bae7": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745742544300000000000000000000000000000000" + }, + "a67d06c6a1c515e75344b9449f2a72c9": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000008" + }, + "6e580c726c06bfe378caded03a2f65b8": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b5772617070656420425443000000000000000000000000000000000000000000" + }, + "06fe1375f7f9d25d9e4ae9ed62d73273": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045742544300000000000000000000000000000000000000000000000000000000" + }, + "acb85a8fd030fb44224d41c635432c05": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000008" + }, + "550d3e4a37055193fe4020ec49062290": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420724554480000000000000000" + }, + "3da2c7e024908bd518d326b3129275ad": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562747245544800000000000000000000000000000000" + }, + "235bedf9ad50ee5de410a35dfe4f2bbb": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "2223c5d0abfffaf342e9115c76aab524": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f526f636b657420506f6f6c204554480000000000000000000000000000000000" + }, + "7c2a69774ff287337f58282609c0e14b": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000047245544800000000000000000000000000000000000000000000000000000000" + }, + "cb3f281b4721e136527f90808c73c64a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "b31a1ec0fd662c1614f046ad4c0bc6a9": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420555344540000000000000000" + }, + "f1ea35c68cabfc546c309686677b0392": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745553445400000000000000000000000000000000" + }, + "1d50df68a5d0209b810a93c5bdf18041": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, "bf1b903c0736701b426c1bb341a57628": { "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a5465746865722055534400000000000000000000000000000000000000000000" }, @@ -77,6 +273,24 @@ "4519c508c75b592c6abde2197270b07d": { "result": "0x0000000000000000000000000000000000000000000000000000000000000006" }, + "76b641beb3fefc877ceb6ae7aeab8919": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000019537061726b205661726961626c65204465627420776545544800000000000000" + }, + "fe6cde3c128d985f36ed63dca37fef23": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000117661726961626c65446562747765455448000000000000000000000000000000" + }, + "48aaf5c461aff60a1046a52769e251eb": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "51f4ee66e29dfe8498a4684e13222899": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c5772617070656420654554480000000000000000000000000000000000000000" + }, + "60b7e97b2877770869c4d6eaf7d2484a": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000057765455448000000000000000000000000000000000000000000000000000000" + }, + "fe7c2561af508a35d5d1193cf3dab0b6": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, "7d8018a6ceaafc454d9c4ad21c76dd17": { "result": "0x0000000000000000000000000000000000000000000000060000000000002e8900000000000000000000000000000000000000000000000000000043f7311d800000000000000000000000000000000000000000000000000000000065d3731f0000000000000000000000000000000000000000000000000000000065d3731f0000000000000000000000000000000000000000000000060000000000002e89" }, diff --git a/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.positions.json b/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.positions.json index c7ad07fae..a6e10c53f 100644 --- a/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.positions.json +++ b/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.positions.json @@ -1,5 +1,6 @@ { "blockNumber": 18183880, + "latency": "Latency: 3.493 seconds", "aggregatedValues": [ "USD10,363,085.23", "USD1,296,164.67", @@ -169,12 +170,6 @@ } ], "rpcResponses": { - "a9b0f61325c28c15bee913768f015fb1": { - "result": "0x0000000000000000000000000000000000000000000000000000000911b6b456" - }, - "62e15c7040bf7c5f89cacf652ba354c3": { - "result": "0x00000000000000000000000000000000000000000000002c0d0af55c2d598e0c" - }, "1bbf5ef5d2f709cafc6e86be2c0e5465": { "result": "0x000000000000000000000000000000000000000000000000000004d3884a8709" }, @@ -187,6 +182,171 @@ "2fcf4f4442a8cd59ad488757024b3e13": { "result": "0x000000000000000000000000000000000000000000000000000002bd7d2a34a3" }, + "258748a78b10266df6ff7130c12e5e40": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000083f20f44975d03b1b09e64809b757c47f942beea000000000000000000000000000000000000000000000000000000000000000473444149000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000455534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000004574554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca00000000000000000000000000000000000000000000000000000000000000006777374455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000000000004574254430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006810e776880c02933d47db1b9fc05908e5386b960000000000000000000000000000000000000000000000000000000000000003474e4f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000ae78736cd615f374d3085123a210448e74fc6393000000000000000000000000000000000000000000000000000000000000000472455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000000000455534454000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cd5fe23c85820f7b72d0926fc9b05b43e359b7ee00000000000000000000000000000000000000000000000000000000000000057765455448000000000000000000000000000000000000000000000000000000" + }, + "a9b0f61325c28c15bee913768f015fb1": { + "result": "0x0000000000000000000000000000000000000000000000000000000911b6b456" + }, + "62e15c7040bf7c5f89cacf652ba354c3": { + "result": "0x00000000000000000000000000000000000000000000002c0d0af55c2d598e0c" + }, + "ab754666e52a843ef1aa2d47267445f1": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000028d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "51064353eb13db2dbfbfa1a11158eaf7": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "4803b11c163d594c7ef3a2f3109cea5e": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "86a5a96d787be9630d8fe129dee4dfc5": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000002008000000000000000000000000000000000000000000000000000000000000206c000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "cddfc1ee35c5ad8f65c1cffea1d4891a": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "f6f8d56f777046d079bc666530cea45b": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d4c00000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "39736641fc8bddd26c1cfb33cef12a90": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c40000000000000000000000000000000000000000000000000000000000002af8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001" + }, + "47067de483b3a21eca2c8a7cab59c7dd": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "07d282facd48236f0750e349921fd0d8": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "80135f4bd30aef3ae84b38c571d58f30": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c840000000000000000000000000000000000000000000000000000000000002af800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "e2d1357e4fc706ee7ec11eba9171fd39": { + "result": "0x0000000000000000000000004dedf26112b3ec8ec46e7e31ea5e123490b05b8b000000000000000000000000fe2b7a7f4cc0fb76f7fc1c6518d586f1e4559176000000000000000000000000f705d2b7e92b3f38e6ae7afadaa2fee110fe5914" + }, + "7055641e2ee2bff3d633a44c7b3ddd9b": { + "result": "0x00000000000000000000000078f897f0fe2d3b5690ebae7f19862deacedf10a7000000000000000000000000ec6c6abed4dc03299eff82ac8a0a83643d3cb335000000000000000000000000abc57081c04d921388240393ec4088aa47c6832b" + }, + "04902577357337dfcc353b807ac3fabe": { + "result": "0x000000000000000000000000377c3bd93f2a2984e1e7be6a5c22c525ed4a4815000000000000000000000000887ac022983ff083aeb623923789052a955c67980000000000000000000000007b70d04099cb9cfb1db7b6820badafb4c5c70a67" + }, + "4e83bb5867d1567d09f11b78165862cc": { + "result": "0x00000000000000000000000059cd1c87501baa753d0b5b5ab5d8416a45cd71db0000000000000000000000003c6b93d38ffa15ea995d1bc950d5d0fa6b22bd050000000000000000000000002e7576042566f8d6990e07a1b61ad1efd86ae70d" + }, + "41d7e41c711511e9281f3f6d04f4ca86": { + "result": "0x00000000000000000000000012b54025c112aa61face2cdb7118740875a566e90000000000000000000000009832d969a0c8662d98fff334a4ba7fee62b109c2000000000000000000000000d5c3e3b566a42a6110513ac7670c1a86d76e13e6" + }, + "5ba49319cf7738379f02285af1d1f6ec": { + "result": "0x0000000000000000000000004197ba364ae6698015ae5c1468f54087602715b20000000000000000000000004b29e6cbee62935cfc92efcb3839ed2c2f35c1d9000000000000000000000000f6fee3a8ac8040c3d6d81d9a4a168516ec9b51d2" + }, + "11ed17da1fadf20d59bd69db5246e9b0": { + "result": "0x0000000000000000000000009985df20d7e9103ecbceb16a84956434b6f06ae8000000000000000000000000a9a4037295ea3a168dc3f65fe69fda524d52b3e1000000000000000000000000ba2c8f2ea5b56690bfb8b709438f049e5dd76b96" + }, + "66b537ccc21ffb2bf2c33b4ccb1bc419": { + "result": "0x000000000000000000000000e7df13b8e3d6740fe17cbe928c7334243d86c92f0000000000000000000000000dae62f953ceb2e969fb4de85f3f9074fa920776000000000000000000000000529b6158d1d2992e3129f7c69e81a7c677dc3b12" + }, + "0673241d170e4f319e97a84c1b997cf9": { + "result": "0x0000000000000000000000003cfd5c0d4acaa8faee335842e4f31159fc76b0080000000000000000000000005b1f8af3e6c0bf4d20e8e5220a4e4a3a8fa6dc0a000000000000000000000000c2bd6d2fee70a0a73a33795bdbee0368aef5c766" + }, + "29bb09e90e2b07c2245d93aa25d9948f": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017537061726b205661726961626c65204465627420444149000000000000000000" + }, + "72c2f5c8f2e8cbb0c73f60cc05da9228": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f7661726961626c65446562744441490000000000000000000000000000000000" + }, + "511d9e0cb2b0f900708af2061e7d11f2": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "a9b3aab5f8333322efecf9ac99d8c29c": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e44616920537461626c65636f696e000000000000000000000000000000000000" + }, + "d0514a085409fad02b77f27db7da90df": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000" + }, + "52831d57ff0054e2d19574cf8a1deb2a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "78c7ac83ff2057b45356ee6233a1f572": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420734441490000000000000000" + }, + "9b1c9283e3d8905de942feba27d7c3ff": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562747344414900000000000000000000000000000000" + }, + "07649318b355ecc192d1740f6fca385b": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "9314d8302356c59b1390a0f95dcf2fd4": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b536176696e677320446169000000000000000000000000000000000000000000" + }, + "505e6fbdb50cfca7318319bda6e6ddb5": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000047344414900000000000000000000000000000000000000000000000000000000" + }, + "324cfa69d245aed0582a391805f7c1fe": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "7e40de31e90f9856b7e414c20d4c2c86": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420555344430000000000000000" + }, + "b21a648e93e4a027c8a9b3f1a405d947": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745553444300000000000000000000000000000000" + }, + "eaa982b8f3d6c8126cbca80fe1fa43f6": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, + "edac88f54a4e0bfbb63af436439a786e": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000855534420436f696e000000000000000000000000000000000000000000000000" + }, + "092d5af2b2884fa97e9381c15e7b7e12": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000" + }, + "e9d846642c9d3de421ceb1c96b5fc79e": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, + "6de6a0de50735f527c243cfb040b07ec": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420574554480000000000000000" + }, + "58909c5fe07a54670159a9e27bee190c": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745745544800000000000000000000000000000000" + }, + "a3f37028be031295e600bd17d501f5ed": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "61783211b732979498a33287546ce819": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000" + }, + "3142d9d670d9f3bbe1f590ed10159c68": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000" + }, + "52a91a2f9ed1eef93397c798125fd3cd": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "11ad1b9fa2b34a7e059bd0c34d3ae3e9": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a537061726b205661726961626c65204465627420777374455448000000000000" + }, + "c5ff24ec84894f14a24e7d83798990db": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000127661726961626c65446562747773744554480000000000000000000000000000" + }, + "f9779d9819b8a113d76181b52631378a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "35a47620a1a3e807fc037ea11f7f5903": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f57726170706564206c6971756964207374616b656420457468657220322e3000" + }, + "c9d5eb7e25e1b51b43b0fd90d6e4e8ff": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000067773744554480000000000000000000000000000000000000000000000000000" + }, + "7e489d7c464f00664686810acc02d0da": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "0fb27acd0d10883997c90bfb83b8de74": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420574254430000000000000000" + }, + "1dec40164273617e0ff6d5520ab6bae7": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745742544300000000000000000000000000000000" + }, + "a67d06c6a1c515e75344b9449f2a72c9": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000008" + }, "6e580c726c06bfe378caded03a2f65b8": { "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b5772617070656420425443000000000000000000000000000000000000000000" }, @@ -196,15 +356,33 @@ "acb85a8fd030fb44224d41c635432c05": { "result": "0x0000000000000000000000000000000000000000000000000000000000000008" }, - "61783211b732979498a33287546ce819": { - "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000" + "550d3e4a37055193fe4020ec49062290": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420724554480000000000000000" }, - "3142d9d670d9f3bbe1f590ed10159c68": { - "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000" + "3da2c7e024908bd518d326b3129275ad": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562747245544800000000000000000000000000000000" }, - "52a91a2f9ed1eef93397c798125fd3cd": { + "235bedf9ad50ee5de410a35dfe4f2bbb": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "2223c5d0abfffaf342e9115c76aab524": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f526f636b657420506f6f6c204554480000000000000000000000000000000000" + }, + "7c2a69774ff287337f58282609c0e14b": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000047245544800000000000000000000000000000000000000000000000000000000" + }, + "cb3f281b4721e136527f90808c73c64a": { "result": "0x0000000000000000000000000000000000000000000000000000000000000012" }, + "b31a1ec0fd662c1614f046ad4c0bc6a9": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420555344540000000000000000" + }, + "f1ea35c68cabfc546c309686677b0392": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745553445400000000000000000000000000000000" + }, + "1d50df68a5d0209b810a93c5bdf18041": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, "bf1b903c0736701b426c1bb341a57628": { "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a5465746865722055534400000000000000000000000000000000000000000000" }, @@ -214,33 +392,33 @@ "4519c508c75b592c6abde2197270b07d": { "result": "0x0000000000000000000000000000000000000000000000000000000000000006" }, - "a9b3aab5f8333322efecf9ac99d8c29c": { - "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e44616920537461626c65636f696e000000000000000000000000000000000000" + "76b641beb3fefc877ceb6ae7aeab8919": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000019537061726b205661726961626c65204465627420776545544800000000000000" }, - "d0514a085409fad02b77f27db7da90df": { - "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000" + "fe6cde3c128d985f36ed63dca37fef23": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000117661726961626c65446562747765455448000000000000000000000000000000" }, - "52831d57ff0054e2d19574cf8a1deb2a": { + "48aaf5c461aff60a1046a52769e251eb": { "result": "0x0000000000000000000000000000000000000000000000000000000000000012" }, - "edac88f54a4e0bfbb63af436439a786e": { - "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000855534420436f696e000000000000000000000000000000000000000000000000" + "51f4ee66e29dfe8498a4684e13222899": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c5772617070656420654554480000000000000000000000000000000000000000" }, - "092d5af2b2884fa97e9381c15e7b7e12": { - "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000" + "60b7e97b2877770869c4d6eaf7d2484a": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000057765455448000000000000000000000000000000000000000000000000000000" }, - "e9d846642c9d3de421ceb1c96b5fc79e": { - "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + "fe7c2561af508a35d5d1193cf3dab0b6": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" }, "38c9889d49d709011942ab72700ab866": { "result": "0x000000000000000000000000000000000000000000000006000000000000164b00000000000000000000000000000000000000000000000000000025237a2f4000000000000000000000000000000000000000000000000000000000650c212700000000000000000000000000000000000000000000000000000000650c2127000000000000000000000000000000000000000000000006000000000000164b" }, - "9742e878a9e6fd0db173415a95be8c3e": { - "result": "0x00000000000000000000000000000000000000021aef2439fb5c919f5429d3b7" - }, "42a1dfab677f080a34d045896895e3ad": { "result": "0x0000000000000000000000000000000000000000020506ed56b8c552b334fe47" }, + "9742e878a9e6fd0db173415a95be8c3e": { + "result": "0x00000000000000000000000000000000000000021aef2439fb5c919f5429d3b7" + }, "240d7acfb91cf6ac0add3eaa75bf94d9": { "result": "0x00000000000000000000000000000000000000000000000000023a029012a1af" }, diff --git a/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.profits.json b/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.profits.json index d3d04f336..2f608dc09 100644 --- a/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.profits.json +++ b/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.profits.json @@ -1,5 +1,6 @@ { "blockNumber": 19262683, + "latency": "Latency: 3.729 seconds", "snapshot": [ { "protocolId": "aave-v2", @@ -135,18 +136,6 @@ } ], "rpcResponses": { - "30b95cf81ecc11181f71981fa1213462": { - "result": "0x000000000000000000000000000000000000000000000000000000089fb67e76" - }, - "a16bdc0c5d670b609209b53eb2ee2e00": { - "result": "0x0000000000000000000000000000000000000000000000345d9c4a917dac319f" - }, - "d18f0084def380b477e5bfeeffdc21af": { - "result": "0x000000000000000000000000000000000000000000000000000000089fb5334f" - }, - "372e3e082b17b885c4ddca67cde93b71": { - "result": "0x0000000000000000000000000000000000000000000000345d5d85a38ebce43d" - }, "38ee5488fa263679670e8bb0b6996bc7": { "result": "0x000000000000000000000000000000000000000000000000000009b19869da72" }, @@ -171,6 +160,177 @@ "df18d52b67fa27a9c009259ad235ff8b": { "result": "0x000000000000000000000000000000000000000000000000000002d88a2e9727" }, + "258748a78b10266df6ff7130c12e5e40": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000083f20f44975d03b1b09e64809b757c47f942beea000000000000000000000000000000000000000000000000000000000000000473444149000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000455534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000004574554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca00000000000000000000000000000000000000000000000000000000000000006777374455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000000000004574254430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006810e776880c02933d47db1b9fc05908e5386b960000000000000000000000000000000000000000000000000000000000000003474e4f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000ae78736cd615f374d3085123a210448e74fc6393000000000000000000000000000000000000000000000000000000000000000472455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000000000455534454000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cd5fe23c85820f7b72d0926fc9b05b43e359b7ee00000000000000000000000000000000000000000000000000000000000000057765455448000000000000000000000000000000000000000000000000000000" + }, + "30b95cf81ecc11181f71981fa1213462": { + "result": "0x000000000000000000000000000000000000000000000000000000089fb67e76" + }, + "a16bdc0c5d670b609209b53eb2ee2e00": { + "result": "0x0000000000000000000000000000000000000000000000345d9c4a917dac319f" + }, + "d18f0084def380b477e5bfeeffdc21af": { + "result": "0x000000000000000000000000000000000000000000000000000000089fb5334f" + }, + "372e3e082b17b885c4ddca67cde93b71": { + "result": "0x0000000000000000000000000000000000000000000000345d5d85a38ebce43d" + }, + "ab754666e52a843ef1aa2d47267445f1": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000028d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "51064353eb13db2dbfbfa1a11158eaf7": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "4803b11c163d594c7ef3a2f3109cea5e": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "86a5a96d787be9630d8fe129dee4dfc5": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000002008000000000000000000000000000000000000000000000000000000000000206c000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "cddfc1ee35c5ad8f65c1cffea1d4891a": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "f6f8d56f777046d079bc666530cea45b": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d4c00000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "39736641fc8bddd26c1cfb33cef12a90": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c40000000000000000000000000000000000000000000000000000000000002af8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001" + }, + "47067de483b3a21eca2c8a7cab59c7dd": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "07d282facd48236f0750e349921fd0d8": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "80135f4bd30aef3ae84b38c571d58f30": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c840000000000000000000000000000000000000000000000000000000000002af800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "e2d1357e4fc706ee7ec11eba9171fd39": { + "result": "0x0000000000000000000000004dedf26112b3ec8ec46e7e31ea5e123490b05b8b000000000000000000000000fe2b7a7f4cc0fb76f7fc1c6518d586f1e4559176000000000000000000000000f705d2b7e92b3f38e6ae7afadaa2fee110fe5914" + }, + "7055641e2ee2bff3d633a44c7b3ddd9b": { + "result": "0x00000000000000000000000078f897f0fe2d3b5690ebae7f19862deacedf10a7000000000000000000000000ec6c6abed4dc03299eff82ac8a0a83643d3cb335000000000000000000000000abc57081c04d921388240393ec4088aa47c6832b" + }, + "04902577357337dfcc353b807ac3fabe": { + "result": "0x000000000000000000000000377c3bd93f2a2984e1e7be6a5c22c525ed4a4815000000000000000000000000887ac022983ff083aeb623923789052a955c67980000000000000000000000007b70d04099cb9cfb1db7b6820badafb4c5c70a67" + }, + "4e83bb5867d1567d09f11b78165862cc": { + "result": "0x00000000000000000000000059cd1c87501baa753d0b5b5ab5d8416a45cd71db0000000000000000000000003c6b93d38ffa15ea995d1bc950d5d0fa6b22bd050000000000000000000000002e7576042566f8d6990e07a1b61ad1efd86ae70d" + }, + "41d7e41c711511e9281f3f6d04f4ca86": { + "result": "0x00000000000000000000000012b54025c112aa61face2cdb7118740875a566e90000000000000000000000009832d969a0c8662d98fff334a4ba7fee62b109c2000000000000000000000000d5c3e3b566a42a6110513ac7670c1a86d76e13e6" + }, + "5ba49319cf7738379f02285af1d1f6ec": { + "result": "0x0000000000000000000000004197ba364ae6698015ae5c1468f54087602715b20000000000000000000000004b29e6cbee62935cfc92efcb3839ed2c2f35c1d9000000000000000000000000f6fee3a8ac8040c3d6d81d9a4a168516ec9b51d2" + }, + "11ed17da1fadf20d59bd69db5246e9b0": { + "result": "0x0000000000000000000000009985df20d7e9103ecbceb16a84956434b6f06ae8000000000000000000000000a9a4037295ea3a168dc3f65fe69fda524d52b3e1000000000000000000000000ba2c8f2ea5b56690bfb8b709438f049e5dd76b96" + }, + "66b537ccc21ffb2bf2c33b4ccb1bc419": { + "result": "0x000000000000000000000000e7df13b8e3d6740fe17cbe928c7334243d86c92f0000000000000000000000000dae62f953ceb2e969fb4de85f3f9074fa920776000000000000000000000000529b6158d1d2992e3129f7c69e81a7c677dc3b12" + }, + "0673241d170e4f319e97a84c1b997cf9": { + "result": "0x0000000000000000000000003cfd5c0d4acaa8faee335842e4f31159fc76b0080000000000000000000000005b1f8af3e6c0bf4d20e8e5220a4e4a3a8fa6dc0a000000000000000000000000c2bd6d2fee70a0a73a33795bdbee0368aef5c766" + }, + "29bb09e90e2b07c2245d93aa25d9948f": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017537061726b205661726961626c65204465627420444149000000000000000000" + }, + "72c2f5c8f2e8cbb0c73f60cc05da9228": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f7661726961626c65446562744441490000000000000000000000000000000000" + }, + "511d9e0cb2b0f900708af2061e7d11f2": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "a9b3aab5f8333322efecf9ac99d8c29c": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e44616920537461626c65636f696e000000000000000000000000000000000000" + }, + "d0514a085409fad02b77f27db7da90df": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000" + }, + "52831d57ff0054e2d19574cf8a1deb2a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "78c7ac83ff2057b45356ee6233a1f572": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420734441490000000000000000" + }, + "9b1c9283e3d8905de942feba27d7c3ff": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562747344414900000000000000000000000000000000" + }, + "07649318b355ecc192d1740f6fca385b": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "9314d8302356c59b1390a0f95dcf2fd4": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b536176696e677320446169000000000000000000000000000000000000000000" + }, + "505e6fbdb50cfca7318319bda6e6ddb5": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000047344414900000000000000000000000000000000000000000000000000000000" + }, + "324cfa69d245aed0582a391805f7c1fe": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "7e40de31e90f9856b7e414c20d4c2c86": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420555344430000000000000000" + }, + "b21a648e93e4a027c8a9b3f1a405d947": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745553444300000000000000000000000000000000" + }, + "eaa982b8f3d6c8126cbca80fe1fa43f6": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, + "edac88f54a4e0bfbb63af436439a786e": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000855534420436f696e000000000000000000000000000000000000000000000000" + }, + "092d5af2b2884fa97e9381c15e7b7e12": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000" + }, + "e9d846642c9d3de421ceb1c96b5fc79e": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, + "6de6a0de50735f527c243cfb040b07ec": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420574554480000000000000000" + }, + "58909c5fe07a54670159a9e27bee190c": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745745544800000000000000000000000000000000" + }, + "a3f37028be031295e600bd17d501f5ed": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "61783211b732979498a33287546ce819": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000" + }, + "3142d9d670d9f3bbe1f590ed10159c68": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000" + }, + "52a91a2f9ed1eef93397c798125fd3cd": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "11ad1b9fa2b34a7e059bd0c34d3ae3e9": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a537061726b205661726961626c65204465627420777374455448000000000000" + }, + "c5ff24ec84894f14a24e7d83798990db": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000127661726961626c65446562747773744554480000000000000000000000000000" + }, + "f9779d9819b8a113d76181b52631378a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "35a47620a1a3e807fc037ea11f7f5903": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f57726170706564206c6971756964207374616b656420457468657220322e3000" + }, + "c9d5eb7e25e1b51b43b0fd90d6e4e8ff": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000067773744554480000000000000000000000000000000000000000000000000000" + }, + "7e489d7c464f00664686810acc02d0da": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "0fb27acd0d10883997c90bfb83b8de74": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420574254430000000000000000" + }, + "1dec40164273617e0ff6d5520ab6bae7": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745742544300000000000000000000000000000000" + }, + "a67d06c6a1c515e75344b9449f2a72c9": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000008" + }, "6e580c726c06bfe378caded03a2f65b8": { "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b5772617070656420425443000000000000000000000000000000000000000000" }, @@ -180,15 +340,33 @@ "acb85a8fd030fb44224d41c635432c05": { "result": "0x0000000000000000000000000000000000000000000000000000000000000008" }, - "61783211b732979498a33287546ce819": { - "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000" + "550d3e4a37055193fe4020ec49062290": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420724554480000000000000000" }, - "3142d9d670d9f3bbe1f590ed10159c68": { - "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000" + "3da2c7e024908bd518d326b3129275ad": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562747245544800000000000000000000000000000000" }, - "52a91a2f9ed1eef93397c798125fd3cd": { + "235bedf9ad50ee5de410a35dfe4f2bbb": { "result": "0x0000000000000000000000000000000000000000000000000000000000000012" }, + "2223c5d0abfffaf342e9115c76aab524": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f526f636b657420506f6f6c204554480000000000000000000000000000000000" + }, + "7c2a69774ff287337f58282609c0e14b": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000047245544800000000000000000000000000000000000000000000000000000000" + }, + "cb3f281b4721e136527f90808c73c64a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "b31a1ec0fd662c1614f046ad4c0bc6a9": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420555344540000000000000000" + }, + "f1ea35c68cabfc546c309686677b0392": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745553445400000000000000000000000000000000" + }, + "1d50df68a5d0209b810a93c5bdf18041": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, "bf1b903c0736701b426c1bb341a57628": { "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a5465746865722055534400000000000000000000000000000000000000000000" }, @@ -198,23 +376,23 @@ "4519c508c75b592c6abde2197270b07d": { "result": "0x0000000000000000000000000000000000000000000000000000000000000006" }, - "a9b3aab5f8333322efecf9ac99d8c29c": { - "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e44616920537461626c65636f696e000000000000000000000000000000000000" + "76b641beb3fefc877ceb6ae7aeab8919": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000019537061726b205661726961626c65204465627420776545544800000000000000" }, - "d0514a085409fad02b77f27db7da90df": { - "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000" + "fe6cde3c128d985f36ed63dca37fef23": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000117661726961626c65446562747765455448000000000000000000000000000000" }, - "52831d57ff0054e2d19574cf8a1deb2a": { + "48aaf5c461aff60a1046a52769e251eb": { "result": "0x0000000000000000000000000000000000000000000000000000000000000012" }, - "edac88f54a4e0bfbb63af436439a786e": { - "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000855534420436f696e000000000000000000000000000000000000000000000000" + "51f4ee66e29dfe8498a4684e13222899": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c5772617070656420654554480000000000000000000000000000000000000000" }, - "092d5af2b2884fa97e9381c15e7b7e12": { - "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000" + "60b7e97b2877770869c4d6eaf7d2484a": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000057765455448000000000000000000000000000000000000000000000000000000" }, - "e9d846642c9d3de421ceb1c96b5fc79e": { - "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + "fe7c2561af508a35d5d1193cf3dab0b6": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" }, "866587e386aed592e78a21e597858ec8": { "result": "0x0000000000000000000000000000000000000000000000060000000000002e8900000000000000000000000000000000000000000000000000000043f7311d800000000000000000000000000000000000000000000000000000000065d3731f0000000000000000000000000000000000000000000000000000000065d3731f0000000000000000000000000000000000000000000000060000000000002e89" @@ -222,15 +400,12 @@ "d8a299de77010b02afb208d1b5438e60": { "result": "0x0000000000000000000000000000000000000000000000060000000000002e6000000000000000000000000000000000000000000000000000000041807dc3c00000000000000000000000000000000000000000000000000000000065d21a670000000000000000000000000000000000000000000000000000000065d21a670000000000000000000000000000000000000000000000060000000000002e60" }, - "6f998631f3070c001635b557edcc80ea": { - "result": "0x0000000000000000000000000000000000000002445df417154656f4a5b32bc1" - }, - "3da43ecbfe1a8706866ef6177e532299": { - "result": "0x000000000000000000000000000000000000000254b8afc9400212922ef09d74" - }, "d6bf1315d713a8ca4b4f429e361f27ec": { "result": "0x0000000000000000000000000000000000000000011c2fcd547bc4b1d12ed313" }, + "6f998631f3070c001635b557edcc80ea": { + "result": "0x0000000000000000000000000000000000000002445df417154656f4a5b32bc1" + }, "c82e9f1d9f331fae9e5e7f0ae8a65274": { "result": "0x0000000000000000000000000000000000000000000000000001389971ff5fee" }, @@ -240,24 +415,15 @@ "806d6e742f7bb5959f3fa4b150a19e68": { "result": "0x0000000000000000000000000000000000000000012743ea71d922b0fd98c9b5" }, + "3da43ecbfe1a8706866ef6177e532299": { + "result": "0x000000000000000000000000000000000000000254b8afc9400212922ef09d74" + }, "d44b94e3e83e68a83280a5bc84f8e12b": { "result": "0x0000000000000000000000000000000000000000000000000001445f8f101549" }, "eb4ae1b1755d7ace32a77a429985937f": { "result": "0x00000000000000000000000000000000000000000127fdacc1946a226f7dab12" }, - "cf0720aeab20c2f7cf5056fcd8d0714d": { - "result": [] - }, - "92b1aa9f062c7ca23564d22408121fa7": { - "result": [] - }, - "4c18b493fbcc6f2d7f4c172bbf65bf4f": { - "result": [] - }, - "675358c0c7cf10b9e7548a35ecbc432c": { - "result": [] - }, "97b62b91c4250f873346dc5461115bf2": { "result": [] }, @@ -298,6 +464,18 @@ "0c2a3ba02dd3b8becc2a4344d279984b": { "result": [] }, + "cf0720aeab20c2f7cf5056fcd8d0714d": { + "result": [] + }, + "92b1aa9f062c7ca23564d22408121fa7": { + "result": [] + }, + "4c18b493fbcc6f2d7f4c172bbf65bf4f": { + "result": [] + }, + "675358c0c7cf10b9e7548a35ecbc432c": { + "result": [] + }, "7d8018a6ceaafc454d9c4ad21c76dd17": { "result": "0x0000000000000000000000000000000000000000000000060000000000002e8900000000000000000000000000000000000000000000000000000043f7311d800000000000000000000000000000000000000000000000000000000065d3731f0000000000000000000000000000000000000000000000000000000065d3731f0000000000000000000000000000000000000000000000060000000000002e89" }, diff --git a/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.tvl.json b/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.tvl.json index 0c4c29e4a..a42a9dbfb 100644 --- a/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.tvl.json +++ b/packages/adapters-library/src/adapters/aave-v2/tests/snapshots/ethereum.tvl.json @@ -1,4 +1,5 @@ { + "latency": "Latency: 2.126 seconds", "blockNumber": 19661875, "snapshot": [ { @@ -108,24 +109,219 @@ } ], "rpcResponses": { - "f7f47d04615861e3ffec1258a94f117c": { - "result": "0x0000000000000000000000000000000000000000000000000000911d4870a95d" - }, "331cc19b67a14df8e3f3e1a37131cc68": { "result": "0x00000000000000000000000000000000000000000000000000000282b8edaa26" }, "b639a4abe07163e1c4e3e56de96b6b15": { "result": "0x000000000000000000000000000000000000000000000000000075da414c8079" }, - "c7357e2ba19f7429344654687ce54e3c": { - "result": "0x000000000000000000000000000000000000000000000000000018c0ed941d09" - }, "4c31e6533d5ff9e8553e0c5e64818389": { "result": "0x0000000000000000000000000000000000000000000000000000000000000000" }, "265963102ae3a61a555ed89e06d92f97": { "result": "0x0000000000000000000000000000000000000000000000000000000000000000" }, + "f7f47d04615861e3ffec1258a94f117c": { + "result": "0x0000000000000000000000000000000000000000000000000000911d4870a95d" + }, + "c7357e2ba19f7429344654687ce54e3c": { + "result": "0x000000000000000000000000000000000000000000000000000018c0ed941d09" + }, + "258748a78b10266df6ff7130c12e5e40": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000083f20f44975d03b1b09e64809b757c47f942beea000000000000000000000000000000000000000000000000000000000000000473444149000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000455534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000004574554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca00000000000000000000000000000000000000000000000000000000000000006777374455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000000000004574254430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006810e776880c02933d47db1b9fc05908e5386b960000000000000000000000000000000000000000000000000000000000000003474e4f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000ae78736cd615f374d3085123a210448e74fc6393000000000000000000000000000000000000000000000000000000000000000472455448000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000000000455534454000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cd5fe23c85820f7b72d0926fc9b05b43e359b7ee00000000000000000000000000000000000000000000000000000000000000057765455448000000000000000000000000000000000000000000000000000000" + }, + "ab754666e52a843ef1aa2d47267445f1": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000028d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "51064353eb13db2dbfbfa1a11158eaf7": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "4803b11c163d594c7ef3a2f3109cea5e": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "86a5a96d787be9630d8fe129dee4dfc5": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000002008000000000000000000000000000000000000000000000000000000000000206c000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "cddfc1ee35c5ad8f65c1cffea1d4891a": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "f6f8d56f777046d079bc666530cea45b": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d4c00000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "39736641fc8bddd26c1cfb33cef12a90": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c40000000000000000000000000000000000000000000000000000000000002af8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001" + }, + "47067de483b3a21eca2c8a7cab59c7dd": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001edc0000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000029cc00000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "07d282facd48236f0750e349921fd0d8": { + "result": "0x000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "80135f4bd30aef3ae84b38c571d58f30": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c840000000000000000000000000000000000000000000000000000000000002af800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000" + }, + "e2d1357e4fc706ee7ec11eba9171fd39": { + "result": "0x0000000000000000000000004dedf26112b3ec8ec46e7e31ea5e123490b05b8b000000000000000000000000fe2b7a7f4cc0fb76f7fc1c6518d586f1e4559176000000000000000000000000f705d2b7e92b3f38e6ae7afadaa2fee110fe5914" + }, + "7055641e2ee2bff3d633a44c7b3ddd9b": { + "result": "0x00000000000000000000000078f897f0fe2d3b5690ebae7f19862deacedf10a7000000000000000000000000ec6c6abed4dc03299eff82ac8a0a83643d3cb335000000000000000000000000abc57081c04d921388240393ec4088aa47c6832b" + }, + "04902577357337dfcc353b807ac3fabe": { + "result": "0x000000000000000000000000377c3bd93f2a2984e1e7be6a5c22c525ed4a4815000000000000000000000000887ac022983ff083aeb623923789052a955c67980000000000000000000000007b70d04099cb9cfb1db7b6820badafb4c5c70a67" + }, + "4e83bb5867d1567d09f11b78165862cc": { + "result": "0x00000000000000000000000059cd1c87501baa753d0b5b5ab5d8416a45cd71db0000000000000000000000003c6b93d38ffa15ea995d1bc950d5d0fa6b22bd050000000000000000000000002e7576042566f8d6990e07a1b61ad1efd86ae70d" + }, + "41d7e41c711511e9281f3f6d04f4ca86": { + "result": "0x00000000000000000000000012b54025c112aa61face2cdb7118740875a566e90000000000000000000000009832d969a0c8662d98fff334a4ba7fee62b109c2000000000000000000000000d5c3e3b566a42a6110513ac7670c1a86d76e13e6" + }, + "5ba49319cf7738379f02285af1d1f6ec": { + "result": "0x0000000000000000000000004197ba364ae6698015ae5c1468f54087602715b20000000000000000000000004b29e6cbee62935cfc92efcb3839ed2c2f35c1d9000000000000000000000000f6fee3a8ac8040c3d6d81d9a4a168516ec9b51d2" + }, + "11ed17da1fadf20d59bd69db5246e9b0": { + "result": "0x0000000000000000000000009985df20d7e9103ecbceb16a84956434b6f06ae8000000000000000000000000a9a4037295ea3a168dc3f65fe69fda524d52b3e1000000000000000000000000ba2c8f2ea5b56690bfb8b709438f049e5dd76b96" + }, + "66b537ccc21ffb2bf2c33b4ccb1bc419": { + "result": "0x000000000000000000000000e7df13b8e3d6740fe17cbe928c7334243d86c92f0000000000000000000000000dae62f953ceb2e969fb4de85f3f9074fa920776000000000000000000000000529b6158d1d2992e3129f7c69e81a7c677dc3b12" + }, + "0673241d170e4f319e97a84c1b997cf9": { + "result": "0x0000000000000000000000003cfd5c0d4acaa8faee335842e4f31159fc76b0080000000000000000000000005b1f8af3e6c0bf4d20e8e5220a4e4a3a8fa6dc0a000000000000000000000000c2bd6d2fee70a0a73a33795bdbee0368aef5c766" + }, + "29bb09e90e2b07c2245d93aa25d9948f": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017537061726b205661726961626c65204465627420444149000000000000000000" + }, + "72c2f5c8f2e8cbb0c73f60cc05da9228": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f7661726961626c65446562744441490000000000000000000000000000000000" + }, + "511d9e0cb2b0f900708af2061e7d11f2": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "a9b3aab5f8333322efecf9ac99d8c29c": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e44616920537461626c65636f696e000000000000000000000000000000000000" + }, + "d0514a085409fad02b77f27db7da90df": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000034441490000000000000000000000000000000000000000000000000000000000" + }, + "52831d57ff0054e2d19574cf8a1deb2a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "78c7ac83ff2057b45356ee6233a1f572": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420734441490000000000000000" + }, + "9b1c9283e3d8905de942feba27d7c3ff": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562747344414900000000000000000000000000000000" + }, + "07649318b355ecc192d1740f6fca385b": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "9314d8302356c59b1390a0f95dcf2fd4": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b536176696e677320446169000000000000000000000000000000000000000000" + }, + "505e6fbdb50cfca7318319bda6e6ddb5": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000047344414900000000000000000000000000000000000000000000000000000000" + }, + "324cfa69d245aed0582a391805f7c1fe": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "7e40de31e90f9856b7e414c20d4c2c86": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420555344430000000000000000" + }, + "b21a648e93e4a027c8a9b3f1a405d947": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745553444300000000000000000000000000000000" + }, + "eaa982b8f3d6c8126cbca80fe1fa43f6": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, + "edac88f54a4e0bfbb63af436439a786e": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000855534420436f696e000000000000000000000000000000000000000000000000" + }, + "092d5af2b2884fa97e9381c15e7b7e12": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000" + }, + "e9d846642c9d3de421ceb1c96b5fc79e": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, + "6de6a0de50735f527c243cfb040b07ec": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420574554480000000000000000" + }, + "58909c5fe07a54670159a9e27bee190c": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745745544800000000000000000000000000000000" + }, + "a3f37028be031295e600bd17d501f5ed": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "61783211b732979498a33287546ce819": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d5772617070656420457468657200000000000000000000000000000000000000" + }, + "3142d9d670d9f3bbe1f590ed10159c68": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045745544800000000000000000000000000000000000000000000000000000000" + }, + "52a91a2f9ed1eef93397c798125fd3cd": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "11ad1b9fa2b34a7e059bd0c34d3ae3e9": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a537061726b205661726961626c65204465627420777374455448000000000000" + }, + "c5ff24ec84894f14a24e7d83798990db": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000127661726961626c65446562747773744554480000000000000000000000000000" + }, + "f9779d9819b8a113d76181b52631378a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "35a47620a1a3e807fc037ea11f7f5903": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001f57726170706564206c6971756964207374616b656420457468657220322e3000" + }, + "c9d5eb7e25e1b51b43b0fd90d6e4e8ff": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000067773744554480000000000000000000000000000000000000000000000000000" + }, + "7e489d7c464f00664686810acc02d0da": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "0fb27acd0d10883997c90bfb83b8de74": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420574254430000000000000000" + }, + "1dec40164273617e0ff6d5520ab6bae7": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745742544300000000000000000000000000000000" + }, + "a67d06c6a1c515e75344b9449f2a72c9": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000008" + }, + "6e580c726c06bfe378caded03a2f65b8": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b5772617070656420425443000000000000000000000000000000000000000000" + }, + "06fe1375f7f9d25d9e4ae9ed62d73273": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000045742544300000000000000000000000000000000000000000000000000000000" + }, + "acb85a8fd030fb44224d41c635432c05": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000008" + }, + "550d3e4a37055193fe4020ec49062290": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420724554480000000000000000" + }, + "3da2c7e024908bd518d326b3129275ad": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562747245544800000000000000000000000000000000" + }, + "235bedf9ad50ee5de410a35dfe4f2bbb": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "2223c5d0abfffaf342e9115c76aab524": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f526f636b657420506f6f6c204554480000000000000000000000000000000000" + }, + "7c2a69774ff287337f58282609c0e14b": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000047245544800000000000000000000000000000000000000000000000000000000" + }, + "cb3f281b4721e136527f90808c73c64a": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "b31a1ec0fd662c1614f046ad4c0bc6a9": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000018537061726b205661726961626c65204465627420555344540000000000000000" + }, + "f1ea35c68cabfc546c309686677b0392": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000107661726961626c65446562745553445400000000000000000000000000000000" + }, + "1d50df68a5d0209b810a93c5bdf18041": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000006" + }, "bf1b903c0736701b426c1bb341a57628": { "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a5465746865722055534400000000000000000000000000000000000000000000" }, @@ -135,6 +331,24 @@ "4519c508c75b592c6abde2197270b07d": { "result": "0x0000000000000000000000000000000000000000000000000000000000000006" }, + "76b641beb3fefc877ceb6ae7aeab8919": { + "result": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000019537061726b205661726961626c65204465627420776545544800000000000000" + }, + "fe6cde3c128d985f36ed63dca37fef23": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000117661726961626c65446562747765455448000000000000000000000000000000" + }, + "48aaf5c461aff60a1046a52769e251eb": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "51f4ee66e29dfe8498a4684e13222899": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c5772617070656420654554480000000000000000000000000000000000000000" + }, + "60b7e97b2877770869c4d6eaf7d2484a": { + "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000057765455448000000000000000000000000000000000000000000000000000000" + }, + "fe7c2561af508a35d5d1193cf3dab0b6": { + "result": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, "2141252bc4d95a1fdb181d41e6d73fa2": { "result": "0x0000000000000000000000000000000000000000000000060000000000003c47000000000000000000000000000000000000000000000000000000494bf59bc000000000000000000000000000000000000000000000000000000000661d451b00000000000000000000000000000000000000000000000000000000661d451b0000000000000000000000000000000000000000000000060000000000003c47" }, diff --git a/packages/adapters-library/src/adapters/integration.test.ts b/packages/adapters-library/src/adapters/integration.test.ts index 5b5a7cd9d..7ae8e3720 100644 --- a/packages/adapters-library/src/adapters/integration.test.ts +++ b/packages/adapters-library/src/adapters/integration.test.ts @@ -1,5 +1,5 @@ import { promises as fs } from 'node:fs' -import path from 'node:path' +import path, { resolve } from 'node:path' import { Chain, ChainName } from '../core/constants/chains' import { bigintJsonParse } from '../core/utils/bigintJson' import { kebabCase } from '../core/utils/caseConversion' @@ -57,7 +57,9 @@ import { testCases as solvTestCases } from './solv/tests/testCases' const TEST_TIMEOUT = 300000 -const defiProvider = new DefiProvider({ useMulticallInterceptor: false }) +const defiProvider = new DefiProvider({ + useMulticallInterceptor: false, +}) const defiProviderWithMulticall = new DefiProvider({ useMulticallInterceptor: true, }) diff --git a/packages/adapters-library/src/config.ts b/packages/adapters-library/src/config.ts index 419227252..ee3d5d5a9 100644 --- a/packages/adapters-library/src/config.ts +++ b/packages/adapters-library/src/config.ts @@ -1,4 +1,10 @@ +import { existsSync } from 'node:fs' +import path, { resolve } from 'node:path' +import { cwd } from 'node:process' +import Database from 'better-sqlite3' +import type { Database as BetterSqlite3Database } from 'better-sqlite3' import { z } from 'zod' +import { Chain, ChainName } from './core/constants/chains' import { logger } from './core/utils/logger' import { DeepPartial } from './types/deepPartial' diff --git a/packages/adapters-library/src/core/decorators/cacheToDb.ts b/packages/adapters-library/src/core/decorators/cacheToDb.ts new file mode 100644 index 000000000..ca694556f --- /dev/null +++ b/packages/adapters-library/src/core/decorators/cacheToDb.ts @@ -0,0 +1,236 @@ +import { promises as fs } from 'node:fs' +import path from 'node:path' +import Database from 'better-sqlite3' +import { IProtocolAdapter, ProtocolToken } from '../../types/IProtocolAdapter' +import { Chain, ChainName } from '../constants/chains' +import { logger } from '../utils/logger' + +import { Protocol } from '../../adapters/protocols' + +export function CacheToDb() { + console.log('getPoolsFromDb') + return function actualDecorator( + // biome-ignore lint/suspicious/noExplicitAny: Decorator code + originalMethod: any, + _context: ClassMethodDecoratorContext, + ) { + async function replacementMethod( + this: IProtocolAdapter, + ...args: unknown[] + ) { + console.log('getPoolsFromDb') + + const writeToDb = args[0] as boolean + if (writeToDb) { + logger.info( + { + protocolId: this.protocolId, + productId: this.productId, + chainId: this.chainId, + }, + 'Write to database', + ) + const metadataObject = await originalMethod.call(this, ...args) + + return { + metadata: metadataObject, + adapterDetails: { + protocolId: this.protocolId, + productId: this.productId, + chainId: this.chainId, + }, + // biome-ignore lint/suspicious/noExplicitAny: Decorator code + } as any + } + + const metadata = await getPoolsFromDb({ + protocolId: this.protocolId, + productId: this.productId, + chainId: this.chainId, + }) + + if (!metadata) { + logger.error( + { + protocolId: this.protocolId, + productId: this.productId, + chainId: this.chainId, + }, + 'Metadata not found in db', + ) + throw new Error('Metadata not found in db') + } + + return metadata + } + // Mark the method as decorated with CacheToDb + replacementMethod.isCacheToDbDecorated = true + return replacementMethod + } +} + +async function getPoolsFromDb({ + protocolId, + productId, + chainId, +}: { + protocolId: Protocol + productId: string + chainId: Chain +}): Promise { + const name = ChainName[chainId] + const dbPath = path.join(__dirname, '../../../../..', `${name}.db`) + + try { + await fs.access(dbPath) + logger.info(`Database file already exists: ${dbPath}`) + } catch { + logger.info(`Database file does not exist: ${dbPath}`) + throw `Database file does not exist: ${dbPath}` + } + + const db = new Database(dbPath) + + const query = ` + SELECT + p.pool_id AS pool_id, + p.pool_address AS pool_address, + p.adapter_pool_id AS adapter_pool_id, + p.additional_data AS pool_additional_data, + p.adapter_id AS adapter_id, + t.token_address AS main_token_address, + t.token_name AS main_token_name, + t.token_symbol AS main_token_symbol, + t.token_decimals AS main_token_decimals, + ut.token_address AS underlying_token_address, + ut_t.token_name AS underlying_token_name, + ut_t.token_symbol AS underlying_token_symbol, + ut_t.token_decimals AS underlying_token_decimals, + ut.additional_data AS underlying_additional_data, + rt.token_address AS reward_token_address, + rt_t.token_name AS reward_token_name, + rt_t.token_symbol AS reward_token_symbol, + rt_t.token_decimals AS reward_token_decimals, + rt.additional_data AS reward_additional_data, + ert.token_address AS extra_reward_token_address, + ert_t.token_name AS extra_reward_token_name, + ert_t.token_symbol AS extra_reward_token_symbol, + ert_t.token_decimals AS extra_reward_token_decimals, + ert.additional_data AS extra_reward_additional_data + FROM pools p + JOIN tokens t ON p.pool_address = t.token_address + LEFT JOIN underlying_tokens ut ON p.pool_id = ut.pool_id + LEFT JOIN tokens ut_t ON ut.token_address = ut_t.token_address + LEFT JOIN reward_tokens rt ON p.pool_id = rt.pool_id + LEFT JOIN tokens rt_t ON rt.token_address = rt_t.token_address + LEFT JOIN extra_reward_tokens ert ON p.pool_id = ert.pool_id + LEFT JOIN tokens ert_t ON ert.token_address = ert_t.token_address + WHERE p.adapter_id = ( + SELECT adapter_id FROM adapters WHERE protocol_id = ? AND product_id = ? + ); + ` + + const rows = db.prepare(query).all(protocolId, productId) + + const poolsMap: Record = {} + + for (const row of rows as PoolRow[]) { + const poolId = row.pool_id + + if (!poolsMap[poolId]) { + // Parse pool_additional_data if it exists + const poolAdditionalData = row.pool_additional_data + ? JSON.parse(row.pool_additional_data) + : {} + + poolsMap[poolId] = { + address: row.main_token_address, + name: row.main_token_name, + symbol: row.main_token_symbol, + decimals: row.main_token_decimals, + tokenId: row.adapter_pool_id, + ...poolAdditionalData, // Spread parsed JSON + underlyingTokens: [], + rewardTokens: [], + extraRewardTokens: [], + } + } + + const pool = poolsMap[poolId]! + + if (row.underlying_token_address) { + const underlyingAdditionalData = row.underlying_additional_data + ? JSON.parse(row.underlying_additional_data) + : {} + + pool.underlyingTokens!.push({ + address: row.underlying_token_address, + name: row.underlying_token_name, + symbol: row.underlying_token_symbol, + decimals: row.underlying_token_decimals, + ...underlyingAdditionalData, // Spread parsed JSON + }) + } + + if (row.reward_token_address) { + const rewardAdditionalData = row.reward_additional_data + ? JSON.parse(row.reward_additional_data) + : {} + + //@ts-ignore + pool.rewardTokens!.push({ + address: row.reward_token_address, + name: row.reward_token_name, + symbol: row.reward_token_symbol, + decimals: row.reward_token_decimals, + ...rewardAdditionalData, // Spread parsed JSON + }) + } + + if (row.extra_reward_token_address) { + const extraRewardAdditionalData = row.extra_reward_additional_data + ? JSON.parse(row.extra_reward_additional_data) + : {} + + //@ts-ignore + pool.extraRewardTokens!.push({ + address: row.extra_reward_token_address, + name: row.extra_reward_token_name, + symbol: row.extra_reward_token_symbol, + decimals: row.extra_reward_token_decimals, + ...extraRewardAdditionalData, // Spread parsed JSON + }) + } + } + + db.close() + + return Object.values(poolsMap) +} + +export type PoolRow = { + pool_id: number + pool_address: string + adapter_pool_id?: string + pool_additional_data?: string // JSON stored as a string + adapter_id: number + main_token_address: string + main_token_name: string + main_token_symbol: string + main_token_decimals: number + underlying_token_address?: string + underlying_token_name?: string + underlying_token_symbol?: string + underlying_token_decimals?: number + underlying_additional_data?: string // JSON stored as a string + reward_token_address?: string + reward_token_name?: string + reward_token_symbol?: string + reward_token_decimals?: number + reward_additional_data?: string // JSON stored as a string + extra_reward_token_address?: string + extra_reward_token_name?: string + extra_reward_token_symbol?: string + extra_reward_token_decimals?: number + extra_reward_additional_data?: string // JSON stored as a string +} diff --git a/packages/adapters-library/src/core/metadata/AdapterMetadata.ts b/packages/adapters-library/src/core/metadata/AdapterMetadata.ts index 543f5acc0..a28b91a16 100644 --- a/packages/adapters-library/src/core/metadata/AdapterMetadata.ts +++ b/packages/adapters-library/src/core/metadata/AdapterMetadata.ts @@ -1,7 +1,4 @@ /* Autogenerated file. Edit at your own risk */ -import AaveV2ATokenAvalancheATokenV2 from '../../adapters/aave-v2/products/a-token/metadata/avalanche.a-token-v2.json' -import AaveV2ATokenEthereumATokenV2 from '../../adapters/aave-v2/products/a-token/metadata/ethereum.a-token-v2.json' -import AaveV2ATokenPolygonATokenV2 from '../../adapters/aave-v2/products/a-token/metadata/polygon.a-token-v2.json' import AaveV2StableDebtTokenAvalancheStableDebtTokenV2 from '../../adapters/aave-v2/products/stable-debt-token/metadata/avalanche.stable-debt-token-v2.json' import AaveV2StableDebtTokenEthereumStableDebtTokenV2 from '../../adapters/aave-v2/products/stable-debt-token/metadata/ethereum.stable-debt-token-v2.json' import AaveV2StableDebtTokenPolygonStableDebtTokenV2 from '../../adapters/aave-v2/products/stable-debt-token/metadata/polygon.stable-debt-token-v2.json' @@ -246,33 +243,6 @@ import MorphoBlueMarketBorrowBaseMarketBorrow from '../../adapters/morpho-blue/p import MorphoBlueVaultBaseProtocolToken from '../../adapters/morpho-blue/products/vault/metadata/base.protocol-token.json' export const MetadataFiles = new Map([ - [ - metadataKey({ - protocolId: Protocol.AaveV2, - productId: 'a-token', - chainId: Chain.Avalanche, - fileKey: 'a-token-v2', - }), - AaveV2ATokenAvalancheATokenV2, - ], - [ - metadataKey({ - protocolId: Protocol.AaveV2, - productId: 'a-token', - chainId: Chain.Ethereum, - fileKey: 'a-token-v2', - }), - AaveV2ATokenEthereumATokenV2, - ], - [ - metadataKey({ - protocolId: Protocol.AaveV2, - productId: 'a-token', - chainId: Chain.Polygon, - fileKey: 'a-token-v2', - }), - AaveV2ATokenPolygonATokenV2, - ], [ metadataKey({ protocolId: Protocol.AaveV2, diff --git a/packages/adapters-library/src/scripts/buildMetadataDb.ts b/packages/adapters-library/src/scripts/buildMetadataDb.ts new file mode 100644 index 000000000..043226d1d --- /dev/null +++ b/packages/adapters-library/src/scripts/buildMetadataDb.ts @@ -0,0 +1,430 @@ +import { promises as fs } from 'node:fs' +import path from 'node:path' +import chalk from 'chalk' +import { Command } from 'commander' +import partition from 'lodash/partition' +import { parse, print, types, visit } from 'recast' +import { Protocol } from '../adapters/protocols' +import { supportedProtocols } from '../adapters/supportedProtocols' +import { AdaptersController } from '../core/adaptersController' +import { Chain, ChainName } from '../core/constants/chains' +import { IMetadataBuilder } from '../core/decorators/cacheToFile' +import { + NotImplementedError, + ProviderMissingError, +} from '../core/errors/errors' +import { CustomJsonRpcProvider } from '../core/provider/CustomJsonRpcProvider' +import { pascalCase } from '../core/utils/caseConversion' +import { logger } from '../core/utils/logger' +import { writeAndLintFile } from '../core/utils/writeAndLintFile' +import { Json } from '../types/json' +import { getMetadataInvalidAddresses } from './addressValidation' +import { multiChainFilter, multiProtocolFilter } from './commandFilters' +import { sortEntries } from './utils/sortEntries' +import n = types.namedTypes +import b = types.builders + +import Database from 'better-sqlite3' +import { ProtocolToken } from '../types/IProtocolAdapter' +import { Erc20Metadata } from '../types/erc20Metadata' + +export function buildMetadataDb( + program: Command, + chainProviders: Record, + adaptersController: AdaptersController, +) { + program + .command('build-metadata-db') + .option( + '-p, --protocols ', + 'comma-separated protocols filter (e.g. stargate,aave-v2)', + ) + .option( + '-c, --chains ', + 'comma-separated chains filter (e.g. ethereum,arbitrum,linea)', + ) + .showHelpAfterError() + .action(async ({ protocols, chains }) => { + const filterProtocolIds = multiProtocolFilter(protocols) + const filterChainIds = multiChainFilter(chains) + + await createDatabases() + + for (const [protocolIdKey, supportedChains] of Object.entries( + supportedProtocols, + )) { + const protocolId = protocolIdKey as Protocol + if (filterProtocolIds && !filterProtocolIds.includes(protocolId)) { + continue + } + + for (const [chainIdKey, _] of Object.entries(supportedChains)) { + const chainId = +chainIdKey as Chain + if (filterChainIds && !filterChainIds.includes(chainId)) { + continue + } + + const provider = chainProviders[chainId] + + if (!provider) { + logger.error({ chainId }, 'No provider found for chain') + throw new ProviderMissingError(chainId) + } + + const chainProtocolAdapters = + adaptersController.fetchChainProtocolAdapters(chainId, protocolId) + + for (const [_, adapter] of chainProtocolAdapters) { + if ( + !( + typeof adapter.getProtocolTokens === 'function' && + //@ts-ignore + adapter.getProtocolTokens.isCacheToDbDecorated + ) + ) { + continue + } + console.log(adapter.getProtocolDetails()) + + const metadataDetails = (await adapter + .getProtocolTokens(true) + .catch((e) => { + if (!(e instanceof NotImplementedError)) { + throw e + } + + return undefined + })) as + | { + metadata: ProtocolToken[] + adapterDetails: { + protocolId: Protocol + productId: string + chainId: Chain + } + } + | undefined + + if (!metadataDetails) { + continue + } + + const { metadata, adapterDetails } = metadataDetails + + const invalidAddresses = getMetadataInvalidAddresses(metadata) + + if (invalidAddresses.length > 0) { + console.error(chalk.yellow(invalidAddresses.join('\n'))) + + console.error( + chalk.red( + '\n * The above addresses found in the metadata file are not in checksum format.', + ), + ) + console.error( + chalk.green( + '\n * Please ensure that addresses are in checksum format by wrapping them with getAddress from the ethers package.', + ), + ) + console.error( + chalk.green( + '\n * Please checksum your addresses inside the buildMetadata() method.', + ), + ) + return + } + + await writeProtocolTokensToDb({ + ...adapterDetails, + metadata, + }) + } + } + } + }) +} + +async function writeProtocolTokensToDb({ + protocolId, + productId, + chainId, + metadata, +}: { + protocolId: Protocol + productId: string + chainId: Chain + metadata: ProtocolToken[] // Array of ProtocolToken objects +}) { + try { + const dbPath = path.resolve(`./${ChainName[chainId]}.db`) + + try { + await fs.access(dbPath) + logger.info(`Database file already exists: ${dbPath}`) + } catch { + logger.info(`Database file does not exist: ${dbPath}`) + throw `Database file does not exist: ${dbPath}` + } + + const db = new Database(dbPath) + + // Step 1: Ensure adapter exists or create it + const insertOrIgnoreAdapterQuery = ` + INSERT OR IGNORE INTO adapters (protocol_id, product_id) + VALUES (?, ?); + ` + db.prepare(insertOrIgnoreAdapterQuery).run(protocolId, productId) + + const getAdapterIdQuery = ` + SELECT adapter_id FROM adapters WHERE protocol_id = ? AND product_id = ?; + ` + const adapter = db.prepare(getAdapterIdQuery).get(protocolId, productId) + //@ts-ignore + const adapterId = adapter?.adapter_id + + if (!adapterId) { + throw new Error('Failed to retrieve or create adapter') + } + + // Function to insert a single token into the tokens table + function insertToken(token: Erc20Metadata) { + const insertTokenQuery = ` + INSERT OR REPLACE INTO tokens ( + token_address, + token_name, + token_symbol, + token_decimals + ) VALUES (?, ?, ?, ?); + ` + db.prepare(insertTokenQuery).run( + token.address, + token.name, + token.symbol, + token.decimals, + ) + } + + // Function to insert related tokens into a specific table + function insertRelatedTokens( + poolId: number, + tokens: Erc20Metadata[] | undefined, + tableName: string, + ) { + if (!tokens || tokens.length === 0) return + + const insertRelatedTokenQuery = ` + INSERT OR REPLACE INTO ${tableName} ( + pool_id, + token_address, + additional_data + ) VALUES (?, ?, ?); + ` + + const insertStmt = db.prepare(insertRelatedTokenQuery) + + for (const relatedToken of tokens) { + try { + const { name, decimals, symbol, address, ...additionalData } = + relatedToken + insertToken({ name, decimals, symbol, address }) // Ensure the related token is also in the tokens table + insertStmt.run(poolId, address, JSON.stringify(additionalData)) + } catch (error) { + console.error('Error saving related token to database:', relatedToken) + throw error + } + } + } + + // Step 2: Iterate over the metadata array and process each ProtocolToken + for (const pool of metadata) { + try { + const { + name, + decimals, + symbol, + address, + tokenId, + underlyingTokens, + //@ts-ignore + rewardTokens, + //@ts-ignore + extraRewardTokens, + ...additionalData + } = pool + + insertToken({ name, decimals, symbol, address }) + + const insertPoolQuery = ` + INSERT INTO pools ( + adapter_id, + pool_address, + adapter_pool_id, + additional_data + ) VALUES (?, ?, ?, ?); + ` + + const result = db + .prepare(insertPoolQuery) + .run( + adapterId, + address, + tokenId || null, + JSON.stringify(additionalData), + ) + + const poolId = result.lastInsertRowid + + if (!poolId) { + throw new Error('Failed to insert pool') + } + + // Insert related tokens into the corresponding tables + insertRelatedTokens( + poolId as number, + pool.underlyingTokens, + 'underlying_tokens', + ) + + //@ts-ignore + if (pool.rewardTokens) { + //@ts-ignore + insertRelatedTokens( + poolId as number, + //@ts-ignore + pool.rewardTokens, + 'reward_tokens', + ) + } + + //@ts-ignore + if (pool.extraRewardTokens) { + insertRelatedTokens( + poolId as number, //@ts-ignore + pool.extraRewardTokens, + 'extra_reward_tokens', + ) + } + } catch (error) { + console.error('Error saving pool to database:', pool, { + chainId, + productId, + protocolId, + adapterId, + }) + throw error + } + } + + console.log( + 'All protocol tokens and their related tokens have been saved to the database successfully.', + { protocolId, productId, chainId, pools: metadata.length, adapterId }, + ) + + db.close() + } catch (error) { + console.error('Error saving protocol tokens to database:', { + error, + protocolId, + productId, + chainId, + }) + } +} + +const createTableQueries = { + adapters: ` + CREATE TABLE IF NOT EXISTS adapters ( + adapter_id INTEGER PRIMARY KEY AUTOINCREMENT, + protocol_id VARCHAR(255), + product_id VARCHAR(255), + UNIQUE(protocol_id, product_id) + );`, + tokens: ` + CREATE TABLE IF NOT EXISTS tokens ( + token_address VARCHAR(255) PRIMARY KEY, + token_name VARCHAR(255), + token_symbol VARCHAR(10), + token_decimals INT + );`, + pools: ` + CREATE TABLE IF NOT EXISTS pools ( + pool_id INTEGER PRIMARY KEY AUTOINCREMENT, + adapter_id INT, + pool_address VARCHAR(255), + adapter_pool_id VARCHAR(255), + additional_data TEXT, + FOREIGN KEY (adapter_id) REFERENCES adapters(adapter_id), + FOREIGN KEY (pool_address) REFERENCES tokens(token_address) + );`, + underlying_tokens: ` + CREATE TABLE IF NOT EXISTS underlying_tokens ( + pool_id INT, + token_address VARCHAR(255), + additional_data TEXT, + FOREIGN KEY (pool_id) REFERENCES pools(pool_id), + FOREIGN KEY (token_address) REFERENCES tokens(token_address) + );`, + reward_tokens: ` + CREATE TABLE IF NOT EXISTS reward_tokens ( + pool_id INT, + token_address VARCHAR(255), + additional_data TEXT, + FOREIGN KEY (pool_id) REFERENCES pools(pool_id), + FOREIGN KEY (token_address) REFERENCES tokens(token_address) + );`, + extra_reward_tokens: ` + CREATE TABLE IF NOT EXISTS extra_reward_tokens ( + pool_id INT, + token_address VARCHAR(255), + additional_data TEXT, + FOREIGN KEY (pool_id) REFERENCES pools(pool_id), + FOREIGN KEY (token_address) REFERENCES tokens(token_address) + );`, +} + +async function createDatabase(name: string) { + try { + const dbPath = path.resolve(`./${name}.db`) + + try { + await fs.access(dbPath) + logger.debug(`Database file already exists: ${dbPath}`) + } catch { + logger.debug(`Database file does not exist: ${dbPath}`) + } + + const db = new Database(dbPath) + + // Create each table and verify its creation + for (const [tableName, createTableQuery] of Object.entries( + createTableQueries, + )) { + db.exec(createTableQuery) + } + + const tables = db + .prepare(`SELECT name FROM sqlite_master WHERE type='table';`) + .all() + logger.debug(`Tables in ${name} database:`, tables) + + db.close() + + // Check if database file exists, if not create it + } catch (error) { + logger.error(`Failed to create database or tables for '${name}':`, error) + } +} + +// Function to create databases for each chain +function createDatabases() { + for (const [chain, name] of Object.entries(ChainName)) { + createDatabase(name) + } +} + +// Initialize databases +try { + createDatabases() +} catch (err) { + console.error('Error creating databases: ', err) +} diff --git a/packages/adapters-library/src/scripts/index.ts b/packages/adapters-library/src/scripts/index.ts index 7f04d78d7..34b2ae21b 100644 --- a/packages/adapters-library/src/scripts/index.ts +++ b/packages/adapters-library/src/scripts/index.ts @@ -4,6 +4,7 @@ import { Chain } from '../core/constants/chains' import { DefiProvider } from '../defiProvider' import { blockAverage } from './blockAverage' import { buildMetadata } from './buildMetadata' +import { buildMetadataDb } from './buildMetadataDb' import { buildSnapshots } from './buildSnapshots' import { buildContractTypes } from './buildTypes' import { copyAdapter } from './copyAdapter' @@ -32,6 +33,8 @@ buildContractTypes(program) buildMetadata(program, chainProviders, adaptersController) +buildMetadataDb(program, chainProviders, adaptersController) + buildSnapshots(program) stressCommand(program, defiProvider) diff --git a/packages/adapters-library/src/types/IProtocolAdapter.ts b/packages/adapters-library/src/types/IProtocolAdapter.ts index d3e8cda60..2d7f2baba 100644 --- a/packages/adapters-library/src/types/IProtocolAdapter.ts +++ b/packages/adapters-library/src/types/IProtocolAdapter.ts @@ -35,6 +35,8 @@ export type ProtocolToken< AdditionalMetadata extends JsonMetadata = {}, > = Erc20Metadata & { underlyingTokens?: Erc20Metadata[] + // rewardTokens?: Erc20Metadata[] + // extraRewardTokens?: Erc20Metadata[] tokenId?: string } & AdditionalMetadata diff --git a/polygon.db b/polygon.db new file mode 100644 index 0000000000000000000000000000000000000000..13eeabf7066fdcc5f205101d37eee63235a3aaa0 GIT binary patch literal 40960 zcmeI)&2!sm9S3m9uW=e%yJ5i7>4fUmgtpt~(Yp=|$dcR*q}i_HQVIvpqc_$xiLZ5he&g00Izz00baVSl}sX)Z3~meo&vX z;4qFKPseO9j(^0)(O^1y7#~koELwMazSH;RzSG(Bj zd3*LZcI2Ml^?Uxl>mSJJvdQx`XK9xLm+Dvw&$oShxj|O{&eN~1)!WyuiSM6gWJ_2} zGmRytrBxRj=xg({0{)A>& z*G#;PpjA`os+86WC ztSRrz|8tK$t7WOz%@$9#7uLU^>n>Kkl;c12-1j<_di(Na@#!G5&Rgb>)g|qG*#dXA zU?tL`{8_1a`(t(#zrZSQFnRYV7#%)uLdnAWU)~~$!{HG-oTTrc`P+MAt}ymaeDfWJ-OPqs(l7W$>F)x+VS)ezAOHaf zKmY;|fB*y_009U<;35cYR<2xWET8|U-~X4SzY5Yn_yZ;gKmY;|fB*y_009U<00Izz z00jQ81sbJtTg)!Tsa+DwTaEdJ0O|Sv#>P(t>37mYX{+_;*3Vmh^PkP%HiPEXjc0rX zCI~+LIw2hzS-ur_Rq89$we5&{f$bQYrbVjb zB~&rV{V_W^i6i+An-0VKcbxvNyLtCgm3@7SC$XZg%2=c_ON*Eh7`CH%j>TeEjUA0d zHnC|(aYD`EzlF{-@W=7Pcq-?a*wHMbv(C%soo<<8X^N&3Gl`SHNX*3YZBMlf($x)}XucNf ziJqu7Sy2?v!%IrD`D;~nD=mn2x}ISY)$C}Bo0uvKy9&`vVwgdsbrn}LJ-fr}-M%|I z*pcUDb^7joeqYQZ8Amg5IR>*!W&b@QV7af&40JMj3eU)!tBYBGqY z>s_Karb#26>M=3R&~_D#sEo#ms%Vy_yRmz|rZf*b%CdDTRkoAXq@GMXq+tnq4m z&$1kq@T1BxnXPHI!;cbbYCKAI`F|sjv*P%iTiYwoDx!?4UCm`QBHT$Kj!8JLt@Bqw zH%>yP+O`##-IWz_r7YX+QkCgn;uTqm%J&$H6xEGXmwAC_o2u?~6I-{4qAIE#8V)hk zT*+fY`5^nB1tG7_b9OhsC03c)&Ni)Uc|;9Vrcm3kb;I{eT??2ODwb!eL2Own-=XpO zvUnPHl;%o*|G&|ECN!V5ekM&NU;0z)d#w+pue7c=Ka+ml`pZl1=12zt2tWV=5P$## zAOHafKmYW>+=0!&@>Ur~` z!xOcMoHs8zXi&OYW{q^zqu9_u`u%^c^#?)vqx4HDl1S?_ zK7$DY5P$##AOHafKmY;|fB*y_@C6l6YBiz3gjb9I_T%)4Qk};X9i`wgm3d6ju?HSg zp2rj&QQ$G9c}&r90v;pIV~U>rpFYXY|34O_kECBoZ%MjTYJL0#-Nh&i0uX=z1Rwwb z2tWV=5P$##ATSr8wTj4Itrhz{}fB*y_009U<00Izz00hni{tZq{atZ(d literal 0 HcmV?d00001 From eab61520b42b5aba11535e6549f7b5ebf0ec3c87 Mon Sep 17 00:00:00 2001 From: jpsains <32621022+jpsains@users.noreply.github.com> Date: Mon, 9 Sep 2024 15:38:12 +0100 Subject: [PATCH 2/2] feat: console log (#312) --- .../aave-v2/products/a-token/aaveV2ATokenAdapter.ts | 8 +------- .../adapters-library/src/core/decorators/cacheToDb.ts | 3 --- packages/adapters-library/src/scripts/buildMetadataDb.ts | 1 - 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/adapters-library/src/adapters/aave-v2/products/a-token/aaveV2ATokenAdapter.ts b/packages/adapters-library/src/adapters/aave-v2/products/a-token/aaveV2ATokenAdapter.ts index a9d4fbe89..0341fbe77 100644 --- a/packages/adapters-library/src/adapters/aave-v2/products/a-token/aaveV2ATokenAdapter.ts +++ b/packages/adapters-library/src/adapters/aave-v2/products/a-token/aaveV2ATokenAdapter.ts @@ -44,13 +44,7 @@ export class AaveV2ATokenPoolAdapter extends AaveBasePoolAdapter { @CacheToDb() async getProtocolTokens() { - const tokens = await super.getProtocolTokens() - - if (this.chainId === Chain.Ethereum) { - console.log('tokens', tokens, this.chainId) - } - - return tokens + return super.getProtocolTokens() } protected getReserveTokenAddress( diff --git a/packages/adapters-library/src/core/decorators/cacheToDb.ts b/packages/adapters-library/src/core/decorators/cacheToDb.ts index ca694556f..3142a42e4 100644 --- a/packages/adapters-library/src/core/decorators/cacheToDb.ts +++ b/packages/adapters-library/src/core/decorators/cacheToDb.ts @@ -8,7 +8,6 @@ import { logger } from '../utils/logger' import { Protocol } from '../../adapters/protocols' export function CacheToDb() { - console.log('getPoolsFromDb') return function actualDecorator( // biome-ignore lint/suspicious/noExplicitAny: Decorator code originalMethod: any, @@ -18,8 +17,6 @@ export function CacheToDb() { this: IProtocolAdapter, ...args: unknown[] ) { - console.log('getPoolsFromDb') - const writeToDb = args[0] as boolean if (writeToDb) { logger.info( diff --git a/packages/adapters-library/src/scripts/buildMetadataDb.ts b/packages/adapters-library/src/scripts/buildMetadataDb.ts index 043226d1d..02194a0d2 100644 --- a/packages/adapters-library/src/scripts/buildMetadataDb.ts +++ b/packages/adapters-library/src/scripts/buildMetadataDb.ts @@ -84,7 +84,6 @@ export function buildMetadataDb( ) { continue } - console.log(adapter.getProtocolDetails()) const metadataDetails = (await adapter .getProtocolTokens(true)