Skip to content

Commit

Permalink
parent 118b6e1
Browse files Browse the repository at this point in the history
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358481 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzREACgkQX0oYuBcZ
 na2MCw//aJk14PC6yfDSbOygdHsCSeZUk3AquJZjiuQ3XCUYP6DZoWoMU/H0YI1O
 uVe3m395upWdBg2umpZISIlXceFZ4wFFhYOJqZN9Efi+PUV4WS7+ezSxeB79L6jB
 3MkgXxPYHeOdJX7YQepqv6536IqklPBmkT8GZFEqB8Hr4et3dTqTzxsZ+D3HYi41
 dGkgE18Qkev9s+bpmWH4zjJyaVJu+DmW2pCOKjdj7RTXBDVRuyY39Gls65D8Qiot
 pNvaLgP4hg4AqtdU1+iv+DMM4WrJVMDjjM0NpzpifPRgH32sTRTMgfxkztWnwzFf
 8Ze+YzYKSxy4GrqcK1vOnv8c3UC0va/kJRbOyCvrXOP9nGeSlV3PL6fCle+73XoZ
 qD7Pm/8/5qdxhtSSLuJ6vibhR6gIxdUMDN/G5KR5zecLK3AmgEXrJu4e51BXHt95
 x/n8G9pcpz0x6mz6LoHbQHdSslEIqMw5x3bWiu9MXFHN8mkh+2S0WpnOeJvGmVG7
 pUPeQrhNL0NqcSSlF5yXX+puZVDY/R1rZGM7J9kJ1fowZUFRmRimpM9d/gA23/5F
 f295pn2RMiS2yTtpAobbwl5+/uKltcyo2ieVrFWRC+AXjwakIqNaIIpYo3c5D/S8
 VD9WQ3LSbzFNanXtpmSsxcRxDK8SJknB/zzjT0l22lVCKT//Bt0=
 =PJCl
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358479 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzQ8ACgkQX0oYuBcZ
 na1kQA/+MRmrJy3Y0JMSYECBWojK9xvjYmMVtgkrXaFY86oI+l0eZP7nS/Y121dF
 eziIc55oTUVRt/6YEnYk/mpcGAyz8ZH8yokqqFBClOypLHc6iAXpX6WObW0WGt05
 w+VwSyByIOGrhd8oSWzbie9lEL8YWuIinbMI+4UqPDaDHroVqjrPTR10pDwUqeHH
 z0hzXuGqgleCaTT1+rh3mjsojBc4mXH1ewCA81Y0qnC12rwz0KB+4RWNDBLgnqU4
 Ni0Q3rV05uA9iCKQzblpUkdXXpZhR04H44ow5sC9ds4wmI7Z6Jk3mEbwRS2EY/M7
 wYZKGPPtgjGXj8RIJLLFTqq1Aar6ZIcipxt5GyLK0SitGm1wqUqoKoaf8Dkvg57W
 1ixojU3I0s+bsqG3HxyUX0uAwVdQAKVj9rgZp76BYNG7f3eufaodXw1TdzPOpDxw
 TbHagn6uqxfr+4hPEW1NcrMwyYcaVOM9R9gew8mek1zhNIMUo0+tIWjC6M5CgzNE
 oIQW+MlCxRCldquvGU4KKa3Oag2clySgGd/tcSoA3k3i0p4eiof6blMNoFY3rWis
 OVcXkqf8QJ+U1/T1HLwfot7Sg+mh8PMyI/pVb1p7+gMcesciihLiMmQ3rkPUYdq6
 t8Ip2TPxYVwr0zRIdil1XgjtkIBY4qtffQHE44kX7PxTj0hcjAU=
 =ry2R
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358479 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzQ8ACgkQX0oYuBcZ
 na26mA//cUEAwE7VkRuSIJuXZFsQhogOPqAlUvpUNk/Rl/M0u0UxvhQbVMIv80Wi
 JQ6ECqEt1UVfcQ4NixXvm9BLMxFa8gLCjRTGdKgB4jRiupUZ93xb9ysrnppGv4HD
 Mnjlw4FAmGdWX+KgYuL/+F/AKYiY8LXmJ4YAGYySLgfsSQXWgy425nTMqPkQwZbM
 9QNUG12zVGaqAmWW50V2oB0yUIJJXAzTHj6rsuxU0L36KEjsXPzpumtv/YoOFvvd
 Ad8r2YmdCBEbGav7gOaAtPGW1KCnIuEuevjnhGWJBhY03N3lnmZYtAzjp5kp7tTt
 auhi9tNo1jtFWSo3404u+Dkf1YuG35giJ5ujETk8gcPK2nA4MJs9I7Butjgf3pjP
 Kvt+02o++Q1qkANRGCeeSP3K0mSjS+ran9DKGIBSVfvIYPCmgaHWqpFV64CBCanF
 XA2ItKdSQp27Tq5A6eRoR6QE149fTEVCkTvRj/egyJBML5bQCEgDZX3KoEygQk0z
 waCULUjOc4Y/DLEQHcj/vmTZ5iph6Ymri/Ohld1NI83X9FbPGioD5uyUcfx3sDy2
 v2fybeo3EDmydf7w1iKFfGRdDDBTPlCwZ8LirSkKXT4647MGL8hEMLkqmiTQdWdY
 P70VUwSc+aQjt5aGqB2OjRhZaxnj5GJRi0EYsvnb3k3zd6J60y4=
 =AOAX
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358478 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzQ4ACgkQX0oYuBcZ
 na3w6w/9GgqhaNn68FMH7TEvTKaz6HbNtEEgTmC+2uMxWZ2pW42XtwBbpCdkyuXM
 pVSsdLYd9GkFvyYlT2fbmogRhRhYbPgLfjeF8576bPGDRwDryg3Zov2594lEi5fs
 gxR7s42W3I/al1MQyd4+QKIPJ60ASzQHXgDk5YWc6iPVJIEFUofGCQFfpkq7Swu8
 5DO+QAmLf+0+/I6bsf7SVnui17zRgWmDW0qtO7NwkeOTfzTWbmrfxknkjyeA3nOq
 BSsGOyim5370CIN0ly8w0tzNmU6R6s/b8wf2kRSv23P58Gqu5rI80zC/0VhSycV9
 DeIpCLfls4D6aw4LQrzj/aZmhdSJBO7KJCH+TAwI8hXZDCsxzjjtqaEHqhNb9Q/y
 Qke4YSYCqjuBTX6ieVCHGJvHgqGOh5PBAIakf9g1/MgvNBgYcEHO7DQOfuNrHePH
 bv0TMjVF3kMYkqw+qJBbO1zp3KGr57Iq0XCf9v5U8KMzp3Dvo65YvGZ0UhDciNXo
 cu6qKmXSOFCS0OlWeIR0mIjaTBv+Z29CDq/+znfrsFpX4yWRfb91oe4c3OjZsYew
 NgNw3o9pnF9xSYISwJm4NFNCA51IlG6qBR48o3/lhcbhZh3dROkLWF0cSn1pHpIV
 WYXRbSZUUE/cskku4lMu+IDi9JVAsZ+Fx+ahvMzmvDRV7pNP1B0=
 =n+cn
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358477 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzQ0ACgkQX0oYuBcZ
 na3s/Q//UvoEFvc/ZrYDPHgDAC0sSlg1NiMWF1pDfbjhiYgV3EZwnGi7C2O+lP//
 V7adoLkgJ21sLyz6KzhXaPy8UQkfN2WBZGLui47qHcJibb7PyoyWXU4ZoqSHQ0PB
 Y5vqpw5c3plmkiV4Tc9WVFOahnpCxfPoNPd1jss/O3ESrbHbb26ukO8u6y2YekTR
 kqPBxDhVVIBliHS6dGQT+ygumdgWoqrnpvZ/dQFAfQ/APU4hD9Mlklpw9Nv+eGNk
 xroJ126c1FaNZBCRiOL8ai3XIUfA5xSuYdAAsOCLiYmACjcY1UrI/Vo8H2kI2IOA
 7ZtueANZpU2dsbPasNiE1S/okoyqjwU0PEOXsvV8PhnxNhQNRGHmwB6dekX+vNV3
 Y9OfrzDyHvXV8spgt/wxLth9kpVNqlLU8Z6279mKLcceGyhr7vjuIgsObZw0+bOe
 IBywps92J8lUklDNoHNFpkuISwYgge0BSN17G17Sxq/ggnAGDm+xk6gaMgW2Bf6T
 X/IwPkYtYkKRyWtmQT40ptTrLj8G9ZN4a9wI4+Z7b1iB8TOo+Yj35MmHtVwSfxiZ
 0f3VmOuBIw4/1aoEBd1qBT3sc9a6Ir6J7tme5MB/12hcFOt0jNcGQ/sYLXn3M5iN
 zb7U2ZE5kQgCJQx4dC4rXPY4Gj3mL7iov3M7dhU4JGTH8b/mWy4=
 =z6HG
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358475 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzQsACgkQX0oYuBcZ
 na1HJRAAleEDqNdxAvmVStM6XS8XKg/OFY5j0g1uJKYvcYwouczgZt76Dfm/e7r5
 OCDbVCYzN8dcub+hYPuYLs7yyywfiwTnGrDv3Ia+aUu4+SF74DsMhkhledrfTg2n
 iJi7yjBH79nPaJORWPkKMrbcI4itUvkJMhZewSpET6WGIwXWz2aWlOOxZvzog7lZ
 LsdpPiHznA/v4GF5tOyxSqffuiHoYdu8rXpL4e7ibwBUutKvrzv9Bixbvv3A0itA
 gPUBaBDSxfVl4sYPG6murnaxJv7rIrosKIXdeEBdJ+1+AUymW+8MgJOlcF0ViLHy
 SR8y7W10zmvPFNsQ8BlOcSmVlGXp8hknrdmpdAfsvXGZLA2M7pO7q5kYWChN/7xG
 M3kvzi/yM7+sAil9pPtm84jASSdjD4UhcVmQyEwZtK5d0H2OhvQAYTwUP7dIPFUj
 ASzccqEpRU144kEKrNZLUxb0qB0jjv+9RslhMATwwTNeOyiNXyGFSvjDPmiBEsik
 I0nZU5/zj6RkFMmgdFzVI2J1BtiYtgnMM0dvURQgVbszsrvoCDIoow1mwHEE3tK6
 XmTJjpxP7qMqHxPsJ9zKWQK1WIZjR9gsuEnqBLAaRA/Pu84Sd2qdDHOsOoyAPecK
 2U8rsiRHAHtik6Z9anf+MjJJ9Dq6kAywMJAW+s+68A9CCd2eJas=
 =SKF8
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358473 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzQkACgkQX0oYuBcZ
 na2WoQ/+L2lpPx8OfMINHY+cZw4EeAt6SaxoNh7b7HvDwInLaMLNwx/+jeJ+qzl9
 X00AqDjivt3RTf1I0hTwd2GvX0PZrkwzmTqIv6+dwMC4S7b5l9cSh+h/lsUqMXaY
 kQ6Pfo8X3vTwUnV0tgrdwjy30Jmlrnz0O41fwA1LCg2JHsk160JuFcuxXXELmDAf
 QFx9HRVO85UbDgvrNrkpCURgsFkASVX1nFNID5rkFal45xIfn41Aa3UW8kbDrEVX
 NaCc3AJ58ltW8vZKtg12q/1q99gQm7qZpcRwomXNuDHKxWrpqig/ESDGF1/Y4Q9A
 FpdUroIwSvVIJ0wU1N2OCJ3sE8CiHMEr7/ttQQjVQwg8ziw8YvlSNNvtn0o76Cql
 gV4KD5z3J4NBz+6IwUxcnUu4aU3TqLg9/gtoBlk81R0lIhoQdgMZ34NPVSDRiU2Z
 5utUlWJwVd03b6kP4zq57T9xlfWjsfl7FQoAwPjKyTs96+PIAZrrWp3yj8Q7M+tp
 6CV+taW0nD+LWromovnPDYrAlQq4SHdGvLpQtqqSx300q4n3JJLL8nWiex2KgIs8
 vM9g17dSWf9vcBhzPpUB+icuN3Z6pD+mSI8up4rkqmC55LjdOP7zbWNGUSozHTPv
 f0Bm2bqhOxRB7iJX+tzyZRptFv6JgzSSbtjsVo8HoavM+h6vFyk=
 =C8jf
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358469 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzQUACgkQX0oYuBcZ
 na3iNBAAr04rYS5DAic4+yxmgyFjeUEJeudmc5+9c6/ixllr/L9hWrO5dFJk9/1Q
 9Nr8QVfNkxWhftPwgoDZg88A2hsD858TjQ8CRTLrYNFUNvyN6dimWVZDQnUTjHkM
 TnJ0G707An4A3IQSA+jaIUkgF51fPnUou7K+ZgP0y3q4CPY3cmBw8CPUdv3u0AVl
 APhXRl+rZqdZCJ1FOp2M7eNMNDNxaaPaclR4CriSWq82+Bp44U5bgKYE8YdhiVqu
 pkLsdU+pHNh535mATCuJOllgnCu52yON83I3o3LbUuEWZPZCrlqdxEjsgQ4b/8sk
 NKkU/LU2bjrAbXCtaMEdEkQRrax7jUGPaoL9zKV1zC0rUJm4+eG1UTvxhLYDVBRq
 U792QnbZtzdS86s++/IiQlspXeJdtz7SHzoYBa1gJFSIMM5Q6BXJFmKK29FzNF3W
 uexTmU4DwNcpnivzPevpS9HRn6T3/mkXj8kbjKedg750snrjgzj9+mbhbWDAFvaf
 JOcERCyM71DeR4wCga8eINk3P8rQRDWBEzXkYiSjlcHjrjHo3lrojGdDEWgvCRKD
 ZIm7IXNem1PEmX3yBE/4syenYdZn2nRRlD678UqaPHEkyv1ntydls8dT6o9CBT8o
 yFdprEsbxcOy7i3GxE7ZGS2oIDcVLMNgzb9aGFVC1zV/z74B/Wc=
 =lkzQ
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358466 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzQIACgkQX0oYuBcZ
 na3pTA/+PITVgs1xZqI5sm6iY8AafXbVbE4Uit9qqf8DATYSxqUHhqJequoLQxqW
 VNlS1zxpIvwdFleNDe7AhMgrMvAuZtiBaJwYUMZzs7fD/8jnYxbs0/vZ9t0MsGTx
 HP3/V8J5zLQs92tCsxZxPEmwRm1WmC7+G9R3NuUlaz6etgdgmzt5v2070UJGBPcv
 fqrh5MFgYqdoosea84iiqHmPa0oY+D6xyU85uYAAwMkrZcOrVPOa8C21gcTIUYwp
 SrKWpyLfXAEz5PHzp9FNuc6tOsG2AE20b7sFqSoEqfDu5aCdJiSOhGXJH1owJ5LG
 Ksjg++r+tPWeMTt+m3cHQIK8xQhynqKsOLcwSmdvRzt7uDGiz5iE+BKCGWf1XiIR
 FMDh90V5fACa2QUIQDmp6TUsosR2gthXl14Ikw9Z623tSdVR+XW55Baw29MW77Yp
 yXEvkZ6etdsL0qcr/HFQ185kr7DsrWTwOPIyWU5bhm3q3Huc8jK6OvlotML5LIsa
 0KlwsqocCAzT0RWJSLErjU1DamF18lSff4opFnA75RD2k58mo8A8pvJUm+6LjYeZ
 8A8a6O501ym6Oa8gcm9pjYUZThDRUxCPlpa7urNDgCEYQbDHnlbA/dgqyn9rH7CX
 6FPGis3kGK6AuOg5D0gOJJqVHmUnNvLEhJviqzLTYf6ZqR3BWfg=
 =WQ3b
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358465 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzQEACgkQX0oYuBcZ
 na0suhAAqzs+rUIrMfANYic/aiDO/2F6xE09ygRj8gleVymKeXO9Jvd/oKLKYuQ7
 mepfDB8vHzTH/YF16Ax6TxHz9kS+Gzxk9CZcGSivEnRIY6G4WCGkFCgTibbOkrk5
 CYS7aHy/7GKUAoRInkTam6NbVoCC5HG8O72cQiehIlDIgyUUlA+uUlnT5Z8syiR4
 CPfHxSqn6hWCXZz9F1gWvbkP9ugmIt+uxCd8EmHamp5DjIG4jqqzyaW6wT50f4M4
 DQF61/h2q1B0+JSSf0RneU01F/OvEYhRKuuzl21g0MnZ3CiPJ91N5Qo9VHiVMRaA
 u9HvApm50qyjDgUuopVIdr1TMe0YBfLPYC4bgs9PtBzBDVKnmi+uLWti4zD02+ea
 CQyTkdBLy1t/MkC4P+RjaV19Bg5ytym9UdlRGCY9tFmtPRbkZslvnthy68j6bNtD
 tUHG9RVlXzQgNShKOHPMHYAz022XcOxDmgBcdTrzj33lhJWYaqEFEdJm0keYAVcm
 IiGUqugdohBlg3pI8eGfn0oHy3veo1yMUpCpiuVjnuzVsecLHAIUu9+00P7ZR842
 vtIoSqyWcCKIl2Zvzw2KBeWntbds3IammeOoYbO/4goJCEIip4cjdafGTF5wQUHq
 Trgve/idNlZyWxJ1n3bj4HqT6bghZudB7bKZjTG6OjuP+0Gt4X8=
 =M9Fn
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358463 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzP8ACgkQX0oYuBcZ
 na135A//fC76xVbN1hXeoKqLUgCCL7my1ki8iU5Rf4Jw1tk9BSZJyznxTzXrdsk6
 kZv8P+UWRpNDHczX/hsFjBABL6nkdnor5GCsCVVBq2jnloOdDshCqePTY/1QipnG
 leN9fvU8VBXu0GFO8BbhjHwkkaUIXvbwtmoEOuxRZCqnJ5zCDlWVqLi7XWrOKH0R
 ugYINoq7uImn8TUa/GbpDBx0HFRDLXDpKGtvf/pzWoteIywVFEHljZL5AId4G+AS
 BbPwnE8voFaBYy7RpJLjtNdV/0/pVnhsbDHtMixVBjaCYptFyB9lJAw2YIOGCu/f
 ttypVY6xIs7HS3kP3yC0Or4UiBxQDzjle8za1+SMwAEpcPFoQTC1qbbtuitj2oJm
 9x6oRRLMmH82kNCQ3q0x48oZ1rgh6yp2DreKFXehWyv2wdPNC2u3QcZWnTPSONFh
 G6jo86qqSMa1ynCsD6m1+V5KZVY5W8WVpbOqF5JNZ5N+I7PCCfwKz+h4cETpRk/L
 Va5a46ZfbiqgPs6pMmGY9qZBJvavkUBBz8+BIujGK2D6IVLFemsz/RQD9SMJ4VYO
 vAOSNEqz1i0DQQSDdVC1xzfehSgcccsikExAJnSqmLZ+d2t+AG8xoy1pjHUCCaXR
 Rs520jB11rLDc8tLDMsvonfKCaFrZrOaUpmM7gYqueA3BMlCHNg=
 =BWmI
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358461 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzP0ACgkQX0oYuBcZ
 na2zWw/9EgHfg0NXn/V2bhkt+ruVBzUWbEwZL8yOhHMCe0heKLDyS1dgb/jndPE7
 4SMGVE5gHQ+OhqBWMKQVuG5YjORbKn6SKeniw82eeefM+VOf49DN0u9CHxfi39vt
 TQQwoAbN0Pnd8hiPAklCa8ESIUFoeoHDu15ajmczDJNiaIFKeFM6zppiOQZnP6OD
 JTl7k8I99yokpIMDA6jHGtQT+atxOV9ro8e5KlGvJHZt221GW5hdUGyWD/8gd3Ae
 MBmI8ys4jsIDMV9Rum4E6oEF3zaS0Ab7faqa+tBs4vzPik7j0xOE24PvvxuLId9+
 J5b0YLGMOFFFY3MMjJ+bSrYTkwee4CAUN0hueWNmyC51eT6MVOEC1A09E3UpH1/1
 bxkOuzeuMwMIyEmNshXD2csHUP0gxv3d9QdSw1V9CrQGyfBKup4CeXb2V1fFxo9R
 UkI46tHmjzWJxZuLqBEjrSD/d/vguNyZbTHs5AOnVrfogGYCGj7AO9MRIE3vjhRm
 fqU2x+x5NKWtSh8ACO6sPVAFvlRdi0TpEUb0riLN2/S90QHSg/YXiId5aS0b/5vt
 uJy2Oyq1ix2M7u6hHSv34AhpdmKgWo67anbiXDK1r3LcZfnAGCJyLAybftj7CL4c
 6illiX3I5t9tcGNwyYE1AYI+qSPMCq825mv7dVfCV9pgij9nSJM=
 =Rka5
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358458 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzPoACgkQX0oYuBcZ
 na3SVA//a/Tg5JdLdTJgrLYTeTpVDfqbD+4bOrQtJfYlsl9eaDkxHSz+uFLIk76p
 7pWoS6sSdWWtGjGo56/aE/1tVkeYgvWiR+lou2p+1TA5lkY+jet1azPVF6BSjl0r
 SD8FwxzqYUZgWeVr2GJToQduOJgcLav3ynfY9usHb0eIDG68OubGJNK/ZKy5IcVR
 qL3vDrNh4uFod5N1yzNZP4KObkDX13R4361u/3jiJ8qw44hWIcH3D9NN2f0kxXbc
 P5PClC3Dfm+XoMxEQRSXiWo1c+bC67IIBvqxULGQSu828GrAbPvbSEJF44rDx7Ic
 H42GrXUFXcSNEf7Qii2VxMyaEEvwH6tqIWG3YUQ9aShfMXaUzTQaLsNziIY+U+Bj
 kZK0M1AwP8SRhUmdsiq33ujQWhscV08ETqrI+wx7FBvWwGGPIYu0cvXkYudOwgwt
 E1ohJuPWlbNO4LA9ORXC9CZDmcSeCptQtY1iyNsUSOuAv+aYxlYnrEwkdNpebK1M
 1jxCmyABNHs2eKhSDBYz/nWNxXP/ZM7fGiciPoMeJLdxl8JzziCH4s3VWZSH4XU4
 284Y+OOY/xmiHTvD3EAYYIDTwr6pSdb8pCuug+uYDmGitIJOhBq/CRwHLxzMnCqo
 duQ6NPii7MXlfsQ9IRWLC4yLPIwqPMZ5WHIG18LjNW60Gr146aw=
 =NP+V
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358457 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzPkACgkQX0oYuBcZ
 na1Q4RAA399tptOQ1OwLxEWqFPrxI+ZE5QK9nJ8lVFOV80oAalfhbaFHVkk/DFLo
 oDiYAY9DkZL5Of8KuBO1KzRVmCjwq186jGZkyPhEm6etBTMNKBSrdgMQk5gwq6NF
 VKIgynOPFSobn2HU2u/qDYeycdSMqA8c7JpPVnZp2F87bvk02csQ6z4prjKVVYrc
 YRhesTRroQORHnl0EITzfAwOZL5qZAyhywKiaO4aAsKJxLIot6LFsKZfeT3fDRDR
 2EN9wWWLTyEJ/qzvBY6abbBBeRcRmlMMKKFyWykCIQZJTumRTy9/nUWnEg+45imY
 DngxgVA1Mk9BuVGqwRrl72qpUrzAzNCmyYa3VAKPjoAFFxXfdV/bT/Sy0gMYWJe/
 K0sVXHjyBj0yeqzgbfmzhGPJ3iB6ZqmMC0TlZv86dqb/UKFC5y4FcQRnhjPMOiHt
 Wwti/Zscs7558O1i//mkG9vyQXDCVfHJRTYcQUnYgw7tit9krOtZacQDjjrJZuhx
 5nlUo1+h2Nwrrwz9x54ebGJViSBvNOfaW2eSOazMAS6nYazWlSviUwVmWbg73JV0
 xciflBZciyvKl1W43ZotAoITvdCVI0GC1iP/6pr5pQEqPmMfKADcAP4UJXYIATt9
 aq3uar0croixPUEbLYRBZj9Hynfp+dlPWdXKC/QD/DAQWztmkJ0=
 =tjo6
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358455 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzPcACgkQX0oYuBcZ
 na1+Aw//bTM6ohJb3XFQwIwlHIlbnV50RUo3PbXItUhbVsBavYthCDNAiGn0aMBG
 ilPNdVyzFl87Af+EpyzEuFdBLTtPd0SQP5jCWwAa5RUC+IixgpmphD+FkAL9MGRa
 2cYINOXb0lC2URPu3MRL11k40REdg1neOxABLXlGJcf6+JehxSGBeGFmoHf0+40w
 dsEQQTO4lryaX44UiV6rqoQSVBurnbtbzkgqCSAsHcVzRwFFcseUoyFXT1YaIdbc
 BBfYn/ZTJ6M0LIzppuAYfPoGeM9iE89nMupImWtOYk/9e56TmCPhJhfuQz15fmIl
 jPyQx4dEOe+BpaBmuMt68g3rdzvc4wVpd3HHIcm0Xdhv0jBqz2XutnGqvIDW3Nlb
 dskV/Ka83jNhTyOsneIDatGXpdVYMT/HPUU0/fZo2Yet/ATUSuQNgwJC96Iv0OSl
 HfBBko4G84XbTpSoMDGtRo0zEgQohwKMKCn6MBR83gaVhPdEi5lSuH3/LabmqoXa
 IrFAWrrU6iJQm8GvHCaPLWBNBf1HO9MAAS1yrQLAFaP2jzKdM8T2cPe2SyKnsXEx
 v5a5/aVo76DSI4E7mz2nhzQ10ota2E13S5WeE528Y9k85X3Oj9AeNfMSM6hpgcQz
 1JUtQQiPyBHhNI6li/ib9WG5QyJ8o42HvXAzxsyPD8xJWm/0b1M=
 =ctiS
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358453 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzPUACgkQX0oYuBcZ
 na0eGg/7Bv1ZGI3KCp2hDqblzAzYIL+wY2bXdcppSfcFt7qPGrTwJtEgGbapJjlV
 6KU54agv/NnRahPMBBYEB3+GUnwZvZ4ZvjspeQOxLtutu8MARE2+/mslUCfRunsj
 5DfY2sAxBrioYXG7wL6wlt5s1m16z3wOECYUF6s3QdyovbksI/dG63ck6dTj8mNm
 I/2UCCD96/gI5R+u+ysbqrDKGugvS0zYPKhx6GHpHiWGAdSvkMdVOufU9sPhFnl/
 Lmt0vNWQg3iG/9kwyw4NKLIL1n/AgyQ0yjaz9vl8URN4Nayj+I86V0PdEN42zCfI
 BeSR9OcF8wJwPJonmodg8SFVaKwJEsrmNhJsgpytUD69QY22x8ykTIEaprEFrwOO
 GRpWdN5QB/4wx6o0UvxFO1cmaylKaOwK5h2czDXcXmrl3O59+7XGpos6nH1NA6sD
 yH8l+QCRSqwLyf/9lagBALLlvR3G/ny/w84+hcFwX92n6+P53JSbwio0Qp0+slAM
 IF14YWRwFGToKROjWn1xle69XvIKajdwgEC7YDPXeax8Yn4xvwYysl4/gZ8QLF2B
 84s4dIshTPOraJge9RLGZbIKnqR4Mo5emsqjuFlRXX5WwmZeMP8jciCpY0EzcSuV
 6+XNbXbncF8CnEwfo1bf2BOQ1+DKVee1nM7dLnzeX8t9a1mUG5w=
 =E+Bt
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358435 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzOMACgkQX0oYuBcZ
 na0fWBAAkvqF5/IE4Bmlzj7AxMa6Jo3xzNyc9gXzNoi/6EPZn2T/tJ1TvjL1EKUm
 A7I1pOvu9IQ7g1D3QYetORwaqlWHrPOBPOKS+2PMAqZafSNJlnzNQWaLRKEPjUth
 ScVLBExn7Bx6DAjwHKynd0t9EgGIJ651KEOCLuuuz+btXbEqhMq/nWXqA0xZ4K8W
 bjxqRVbAW8hSP8GNry/zZuvlxOGyfepTfBkooJDzZCAnGPsdgOdHbpb703grchj+
 GKTy2RLTEF1vdQxEhiVc7EFKykHNwmUfB3AR7e8JWCXltM90qz9ku5SF95Dui46n
 T+AvGhPfiFcZEbh5wkpMbw8lWLHOETY+dP7XXkB4JLizHmeLw/xjZs87zHfLhzPa
 JPCuBtze4YHezToZJMPU4KYv/18xD2B3yHB4WaoQmxgv1q0xEE9ZjlwD01WXqPXj
 syn4shJ8jBc0RlpOkMiTMTc4WYxMkN196Z/WVjxEx4kMxh4VwjJiHBf4gqbK2cs1
 ky0lTmyKCBsatkwrxr0WRL5saaK42iLA2oy0KxEnV3TgGn0MgFEMxcVaeh79Q2WM
 VTn/BHWYG0hblOk2H6/Fy7X1VyWkzDtbPXhqAPwdyiCXkKhDGPW118gTusx3yP3F
 1JYof3FDUa/i9Bt7NUCMH4xew42fEC79UX0gu4lOlNdagoGqIq0=
 =ElpN
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659358422 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnzNYACgkQX0oYuBcZ
 na1K7hAA5MaTEVRIRmCFUjpV6rTRP+I0nrlXDdKFs695Z9FHYMppWYiXiOgwgqnC
 zV4U5fsc8p9Y++MBR4LLOeBLY5bxjPv44cijFExqXRztvyjBEYc/SN+oizN/eP4Z
 Dea5m0kozTmz0ryRDGM/KIiXMvCcbHanlvzvarSC5HswMVt0CCxAXUZYwSHa83KT
 gdck4rH1x8id2Qze3Go5sD6OHidpDecp1ZnHQ5e4EKsf+d+QTU+f7W4159SEyjRa
 xwiLzjhklgJtdITTxBy+VD7EF/Z47jh+YVtVmERi5av/Wc4ItBhU2zX8iIXRtZXM
 BlLiDOaT5hZ+qi3LLUSOuEFspputIaDTevVkhMQbnEG6rQG1QBRSB//15ZfHe4gK
 xvr5IDj470mO15w4YoRCZ/NnuWH7xKbzeC+Q/6EVhqDYSVo2JHR+si4BF3JckfuA
 hzRudTznEL0G7f8dBJ4kGkWIB6OMtMS+J4DQPB8cp45ZOISfS/cvmwkPH+upvKeQ
 e8wShHm7EGrF/GojQqFo1h+AmN7Tc7e/52qcvzlAg4MM6Ufe480Ii9/cX6ouxJba
 //X/n7kveBrNP8wyC0bwRHNOw8MuZfOj12Wq2XNmUL7YGtrEw78w22z6M6OxuCM6
 28Iqj0uzZmtKMzzb6/7q5RLLK7sf7xb35rp8t5alZc0auTJjo4M=
 =jhbG
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356922 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxvoACgkQX0oYuBcZ
 na0ZdRAA3InUdqI0RXW1qZTmdv+yx5foN+HVZuz4ZlemtBDpBwSHJ86kl8J+m6xY
 a5pwwpI1+TXjYHc9TiBMvsoTFdtjC/HM+pbfPp798zadyNoJ6b9QwN7PfEQnJAGZ
 HBykcnymCPmj9k/F+usTrBLA/Z0rKm+1RigGfWGBgjx+ph+oL2lyK1g5QdxDB3Kg
 YGcApXiHxY/jbyvMXNkpm4+iLMLKvZJckSWSqByfHX8iK8slAjaMmlCINMB00cqs
 7MFC6s8YgG5rYz9WYXvlVKLqcxO2/irwoh1Oip6PpBR665GfrZY4MFOxhb/AszdX
 5kwvnr22dTtua9voToTHLztlMGc3h7a0Objl1k09hZvig72+lz9DdAJTZkS18pKP
 SQpEB3ifq9F6wmZt+/TJFASvYqqZ34CDQFQWqLT0I5lRU8S+0nN9Nac/BdMjKg7F
 /fPu5fX5toP7JH1nl0E95cnNkY3NVN0Nu9FPoxiaq/GEcH6/qdcR89HmdnGzL09p
 lEtw7iqBE0s7RgzxFN9QrEOsiKBBOBU+PcOwgPflRooyby+2QY+INOQqhti6lOiw
 HBmfZtcR0LwQCGXyTNiOE7OUPWCRXsXEYqQ3xyOmhS2xXUe+pVVh+dF1dvnIStG9
 Zuw3SzovkRPfxQT6Zee24t1SY932gI+W48vQzuqEozLU8KbLCNQ=
 =uqA2
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356903 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxucACgkQX0oYuBcZ
 na3vsxAAlTmU3U1kOFlF/ouh1FzS1/2jLWIxlJJQi9klshPrqjSardpkx3UkWyB6
 gBB7Nu9u6IDA7Mtgv0xiYTZJqs14iHvrQIYeRFX+ZXjhRxkLHbD0UFt4O2v8eMjw
 Dvaj0lP2HrogHkbhUkCAYoCHvJ6XFy+5BGPwLHfH7U8aHM4gJTVDoiGR8BQgNF2u
 NUmSwy70tVL2r9bbcY0QnptP4zouTmstfVxsLjRkJuu/ntd8sll4Rxe+/Yh+X/Cu
 onne21ujZCRJ/6oonF/J4MqAQ3up3gW0s7mRjV9sAJKrCyf5tL4Tn3BC6rXz8OI9
 Ew0o6j5hnlFuXDXknXxKPvTa/gpLNkcGpgTK61JXLKrpQ9aJTHYGFApGcJ6yNVM4
 NEgloO+t8TDpoTFxE49buA3YfjeHQCJp+0F/q6u/tJgAApni8id5hWaHQr8760dU
 mzFXaPT4YKCLRfZ+PZHPdzc39XKeJmYiAkwZqD5zjEm5NOSPmNX+EGscMLB8SYeH
 2nCZCfxPPVhghnNTWTROjyv6O5S7wYybkyaUdO/i/oc0XyFpmbkQC7QLoOeCl8PU
 vBXjhgbPNOXeD4EFgtBKYcUGb6GydaMoFbhihCQcXhOjPSb91MIV+dL8FISzXZcZ
 HXGPqNx9QilyFXx3eUrF1ZSXJWQsVchSuoLFOrLKJ2xXmzsXjMw=
 =5OjE
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356902 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxuYACgkQX0oYuBcZ
 na32HQ/8DWhblMJUbK0gVSEPyVgDOCIPGhxPR7G+s8js3d9WhmOXGXwMsNsxrnvi
 xbhSgewmbFApg4OsIRHHo6pyxQioFiafy24GscO/ga3OHKNI+rd+srX3Ymgbi8Rx
 cB8+2R20ryrY+ifn6eaM/t2dIazmylH7SI3D+S/Uw1acsIQL63NGcqUpqTlgGA/D
 hlINPxtmX5aqvDSlMBmzvwQC/v0Pts4A6QbXFZlDMkjDdo68wKLL2jDxgHEdGb58
 wHNYLjuiTz69nMB7Kvd4d0soHED1Z1GjtcHSoQlCVKPxI6+OreTILQLMtPupm8Ez
 zwGH5xhXbxNW0u42jpvPHywaLkCL1VNv3KGoqanEPn8fyuHV8dZHf9yUwE8zYe0d
 UfVkH/5zYeufCvqgGb/Acb9OMAtcZ096kyCudoBvCu11vVtQP7mBht74NYZdi0gQ
 R3KrEHb3ROcWyWOVN2FYIFOxLLT8bOZQaUF39MQA5o8/EU0PSqg+dK6fyvTSW4je
 dK1zgMoHTQrwv8kNifTRUm8bZLjf5o/ZR++RYI1vGruRKRg4vnnE41D5Uf6IKGth
 lgtxt0iYftis7oSeU5S4jWunZDCPqtIEvh7jVipdLCfyN7B9HhAma1jiIKwY5Gcr
 IK2I+wykHh2mCd0NRXqSFcRIQRg1V28mjtZlnNa5MMn/x13P80Q=
 =OSCu
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356899 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxuMACgkQX0oYuBcZ
 na2u1A/+Ncp3hHPoJnporhJlZI8vdC+eauJB9Bwn9E+Osv6+ybVGhtz4Tu0ehTHy
 n9LWSfzMUNZGgsKDEWseGTciiNCqA4I64HeIlDzVWBlGA3ckniUU2StT1PaSWWvm
 ACi3/cIZh3eqYXTe7F0qcyylOLyypRvou33XOARO1A1jgLdqKA6PBMnoO0n/U6xf
 naZqKgXCJXrDqefcLs1PIafnvQG2GNLnLt/5FaYpPguXR/wxOhIvcwqBc/et6C9j
 jT3GnnTU8YziSAK+6b3Kl+KCYWvN+Bus8Dyz1PaSjIOQ/DnFNDHeuJu6hOjx4Q+m
 FJhZoatlckktvVPaczztZNYdNlgSmAMED4dmC1lsbdo1kho1SHvdj1na1ZAQWxes
 /W4MkasHV3F0xWYl1DFD1YNQCC7X6fy7e7wylZTpxgUwo/Ze0lXq4s79XYer1wSI
 1jUKkSjnty3zXaj/TfIeDQgVjqS9AbpHqjLj9x6QauLOlzmUzlMnuU/ZBrfj5QLt
 53oSBCyAn/Wa8dPR04EdEgEARvES/kKEKIa2I5ivcxuk5uJzpjfQPV61I98AToEO
 NiekGGPh9HIUoI4l3RsBX2czGP9fFltZAnm/Il5NpeIY1/yEB5NhCg/lGRwLzuFw
 z4rQ2huPyEzQzBIyywyof4lXWBkU4TSY9x1FX5og8IhT/bwQ++0=
 =1n5t
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356889 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxtoACgkQX0oYuBcZ
 na1iGA/8Cpm/QitQNZb96EEPdfbMdlinyTakUZn051QyMIfWOIMVjfFmsWwY71bH
 urg2MiEp8KTXAAaVzW9f0jnafXh/kM9x1FfbbVsA1gUVAfyjkPWGQK8THZ/WshHZ
 68DBggfnjCtpZypPslYInBlVGg/uo/++5waCdRQ9dwGv5ZV3JvdTs5WQhHLXhPUa
 MopHXQOo3SxWe49KOgb7c7afNJn8lRUJJGAQw5iyVjBxpuktkzaXq+plqA5zEFtc
 qgZGlL9goluZkQbT3l5O5L8jLtEaEUJDcqmk8PVPgJuEHIbm7nPrr8tGeS7j2EmK
 MsfvW2TKnR0LNCgmC+cjV+bwJHNcDYskxNVh+1hEMBaGgtnHWh/IMUcs0oEEnC2C
 43HmZ8NZhucF/LlUB5RAgOYb3bXkyli9Hl2LvJaN8qtq3r5ppWj2o/q/Vrp25dIX
 LVF+QfoQBuL9Fde3uxONc57VCzuE2oVnWcqCw1EUNcc0LUXGf2TUhE6XGq+qOlXx
 QY0qNjjS/566Bk3O2PXImI54znsuLBaCKwS4sdUFh2YRulAqNtXoAYBkzDTCoXK6
 eFMsaFuDLzDeWosAsa7WSN+DaEhzpF27qTPj7E28raZzrHU9u/0A3cN1WZlbYBpq
 JFXHV2dZvxFSti5KBVO04pnPGXeo/RM2guWUIPaY3a1QvID0B0E=
 =v4QL
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356870 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxsYACgkQX0oYuBcZ
 na0FiBAA43ywWSrHjxxlZsg2VCKAYtS0F4QBXuUzav4EkPPD7kongyggTtXXwwlG
 06k5M+AW5G3Sh3VbUmi4kAlLl0I12rhogoT6xnfNjit3hUkniL2fZPzO1GCWT1rs
 EnfmF9nMya6qkmrlJoB8YQ9dRXg83pzLyLJYOSmFSwnutYlDXC6P5Dh9lW1xL8vF
 pbfPyf5SVlE+K/nGy42Y35ewVe0vyFB4PbWPtRvVIdq/G5d61gEh1AzdnmJqgqHp
 xu0+01E7wYNAzRsiP4hAtbzpRPWAWtrcZQx9Sbyc+AjHnexXeH9UYc9bt9l1Y59G
 WjEAagpi2+Sh5s2HCaB2PR87ATyWUqQxOjaghkZkXlUt3bGNZicJg2nmgsQeA+lE
 AAwXyIeFaMjS1TLukpafZFlfS4bgENuJsZxa3m2u9VpUxJ7kAmxDXDaPwa1RZudn
 lya3caq+Q3Dm09aHYLbxM+HPPgR3YEPLo+WykzY2fonp9S+T7ZMd5Am702gF4OjD
 RNoJRAEiNeJn5oyRAuWKOlCdunluIYp0koIVxf1x3PAz9v3TAPNcenLyIuN3SCc9
 QNDj4fVwMu+Xz2PvGy6Hq1IRDD60tyujyJL+3Da1uKfdyvPEPggqN8DETHTQD9tw
 09gggvQv/1BDmFNk/hIdJr8b+FNVQhiLWiJioAM0El3T+C24B/E=
 =15DF
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356848 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxrAACgkQX0oYuBcZ
 na1Z5hAA4HAQXD01C/sJAcC9e/o+4V6RaCSX3yu1PULGskHcrMngLGsQbPL1W6Wa
 F1lX0GJm0DaUuG8/edKPWK4o1jXaNJSb0ndslU5ASzBB1Fii6MTzUrBO8kHUCgbF
 XiV/NWPQd787O2HJE8Yjyjzyr0PFDhwssVjEapfZIOvjqAuQHqQO1XuiEu4AgQ/9
 GsSEArj3b3dAWHyf/PdVphQc094QGrShFS9zCFqeFsVRRvUcxKFdgzsoJcpJi+LG
 H97P+JlQBifTLTg5p3lqzu53gf8T3aW94yJioKMQporNjU2daxnGbZPT2Z0h09bD
 Kizm6jHflQRmbrJwZdySnitYuwYKLW1x+tN9xPSgoBeqibKTNvKag02f6W21tUeu
 jzbgcv5XCPzNMoyxkfiFTszSZakTXzbELblf7XtE7GkbSk1t5mSx7y3LaMCGClkl
 Ujd4W7EJy09exIxrelec4FvMsCEkT3zSIdBsIrSMPKZ+uEESN0AqJ64Db1lFpxla
 qxuy83WRw1CcbVJeBa9YyplxcjblmvPcwzeDc5F1PrNr9KRmCmQ/jlPCL9ILgW4h
 UrmhOkVdIBMOfNLJUr7Umrvc5UjFG9V9891xnjFO1oV/s48kgt7/o7ccHfkWwZg3
 Dsfxh8Z8oX4njG99YiziKYd/T5Q3obuLMVVq3rKRmg6O+a/sOew=
 =sa+s
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356840 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxqgACgkQX0oYuBcZ
 na3ZwA//SiRAmtntNE1dPsXoiYw+vnMrFuz1MkjRVrUeGkL/NY7bx38+MdJwoZCn
 kxPTg/rrCbWvLd2f0c1aWmD6aiSWUgn935+Ul+MYmR508OR30uOpT2GurONAtkok
 6XOw+TUjKi6keS/FYLCc+ZB6vAtqP3MG2OC208FYBotI6XMsNtKXSCjjMR7hk8yZ
 tPmPfiEZhR4XiHIfOe4vgwC+qu+eHbsDnvC8Qt3Vy8WEWH2U/4+mw0ssbLpe5M5L
 hflJIguV7gvT/7CBd2iGkWI4Gx//6ujk8n1xgWj7DBmwWbQ2PXgx8Wenm3whd19T
 YoYoWCg/fuiz3c+xdnzfVYa/9H3zJV6iWcUTE/9Mvj4waD42AHL7KmLoS09/xVi5
 qSdESVVZkNry5CsQUtUOZyhAG/VauyPJ+tkoRLdw2bcBnbXJFdhZpZN/lC3bfhI/
 lCT6gW3m74FZuh7p0m43rwT6F6empn2yw6OeOtmt3o6ew1e01MSgvWU3n23JFWst
 MyvfMhbwq01nKaxBqyluFLe2LU82WHuNzhndkvyghbZBRjmiLOAAMK94rT6cHGzj
 fYXqXNA8kBnRiHZIfvgkEu1gEqxFWGs0uqYTxPTWVcu/2jyJtprWOhYrcwUG6HtA
 3ErB6msUJn5/Tw1Rbm/h3fNVeAGsDEi8Ny1YU6HqyWLKeZVdrFw=
 =R18F
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356833 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxqEACgkQX0oYuBcZ
 na25oBAAviha+Wt4opJ5LKEHbmb7PjhnCvmMmyPEp9/jNKd53sk9N3OfNy+eG+z9
 d8XfavtPM9z8pByUIz1xwRFsa3DGG6/fVBg8znGLhaVxU9JQejQQ9qCjelQE7lXy
 xSJo9xEfpA7B9OhaF1frA8afPGC5UwJU4mAh4Z5hpjnJhMbvZdERhmy0VLd5rVGm
 KOuIORsvO4nJuBkte5oxIaadD2GpeU2flsqPRjzZ+RvsP+EoTp+xrWluhpyLNryp
 IpTsPyleg3SAfJEuEi+QakUxjBsBKB7coJB5ubNjwtoLUzmWn7XfZ26y3KxmGDox
 y+WMXFDOHr1X1QSyZzfDLuMIkTeA52GnGr0e3Okpl4OUTe3ee5AbfF2Tq+ZlokuE
 iEYdoC2gPsSRRTrh1GyECU2dDYHE0xH/Go4Cm5WG4H2lJp0XYYq2ZL8/l/zPXE5f
 mPkYfA0Tyofo1tRKKCSIrAUfHqJWr7pDpkgrtmeA9/O/f4Y8jpm14KluLkAQ6zKp
 oT0AbYK0xmBYtGdCyOa36IezPs+jwliTEpeInTFqd/xzI90ubqDQQgwQbB+sx6wB
 Fek4X4XGJnYKGwAjx0MYawqhb83MbnTQMR3/M+PXdn60igBGHS+gh9dyWdtOwAKw
 0t645KbGH25x80nx2EeypybKMG4NDxbE0TZ1S9+txci8tQ4l56w=
 =w7f3
 -----END PGP SIGNATURE-----

parent 118b6e1
author Romain TREFAULT <romain.trefault@epita.fr> 1657289180 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659356782 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnxm4ACgkQX0oYuBcZ
 na3nOBAApaA6AJMPK6UxfHpvpcX35Yau+IiXBnwhDdKy9yJ/RCMWbP5UuoakbhQe
 W7NoNKlZcdFWyan2jEGqs6I/jkTqTXvyUov02H+WuvcWkZv0QZZLSsE7l6gjBR/E
 LzrJ9mglUHdDfDUayzxAHWFvA83PljDOYmGKg6YrcazSFWLa4m5Nkhplj3gpMEPD
 Kc3NRplB3qpoye7Iq8+G/zVbeUl6+3FxP3KQWOAd4ioQBF6nv4S5ABiGHSeayxxH
 nzxKXZkpIRfo1CZvRkKSJQrD/0mI353I5/wSSa7lUUa3D8HB+2tfU3eS+C5cKPeM
 1ba5HCn7EwmQla8x+m2N4O1b70r+PcWL7De9Nu6Hy1ZKEjtRE5Zd/fV7J0iiup1J
 NjoyYz02vLlnwsTPymt+X/lZf78bDKpQpfmwpHWRStBhzlBRX4YwJgDeaZv9ukmw
 m7aIeQYZa2O1iKNS5D0gPGX/ACiEPJ00JfZEvuBeoBbQbe2ZEOBLBdFXq7dclYRm
 x2FzBYTkuuONTajZfNEFsUPK83fHlqGZRmKEUGv4iQrCUfI9E/1YGCj8wky8foXq
 sx2kFpvBTL65Piz5I6Ic2BPeo5t8tuXVdQo0+voB5SO7b6j0tDREdNOj4e5pJ1NM
 DhzYf3UCVzozTTkM8uNkJ8T/lwU8RqhLLXm4dCn8snN4pUYpqEA=
 =zKmo
 -----END PGP SIGNATURE-----

deploy: goerli contracts

Update index.ts

refactor: squash unsigned commits

-S

refactor: add goerli tests

refactor: add goerli tests

refactor: add goerli tests

feat: add goerli support in currency

-S

feat: add goerli payment-detection tests

refactor: setups.ts

refactor: goerli tests

refactor: goerli contract address in tests

refactor: goerli tests

refactor: rename ETHConversionProxy to EthConversionProxy

feat: add goerli

parent 58402f0
author olivier7delf <55892112+olivier7delf@users.noreply.github.com> 1657529886 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659338957 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLngM0ACgkQX0oYuBcZ
 na3FSg/9FqPZs8oH38kbtA+HMgUmSYkloTTKefY80dADoVhQc2XrO59MchQmxx91
 GlCl6bcrSWpmjTojTo653V3aLFyRfBCltzEE16sM2VYmIgd+lXg4fnK60yB9Xq03
 f0NYtd6R7F48pINtOepRZ8kieFRHxcBbE1StV+pZTRJeHQEsbudbtio3rsfkGVnk
 S/OwwzsQFfJXYDWp4dj6Suz6fy4kgO5e3ZkF0VkKXIMKBEuRiUTf/QWK0nus968C
 phdtXOzPy1gttVFtY+luA6NboH27jh0k/eVYaab8JkFY42c/kPrxh+Ou6LeKh/Mr
 G7MB55COmHmt+QEn3o1DFqcaSe9UDuuJVgyG3gb81QxFedc0wsTE4T4WvnLjdume
 RfBxQ/VbXAuYw7xEZ0vPvKDtQkDoWwXhvsniluplpLeHnYKYKLe3yG/pi9z3xIV4
 G/Z+kMXCKM8lAy+pKRSHzv1tMHg02ERLGoyGhGfC+FUkkGDasznKnaxBYqOYHxsy
 aoaZxec5U7Vrqkz20Exg2sHlyieJIJn3Oh+Sk+ouOINqbArVFGLb379JAi9aEsjl
 MKULpC8opOPE3l9PcsDCh9oHlKW+i1pRcVpya/OiRZUy+sYdNb4sBDsuufJAUjyL
 3b1MRecrh3ZNo0wPLuxypg1x01/Y0JDtaX1Pw0KLXCHLDd6noD4=
 =vfDF
 -----END PGP SIGNATURE-----

parent 58402f0
author olivier7delf <55892112+olivier7delf@users.noreply.github.com> 1657529886 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659338942 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLngL4ACgkQX0oYuBcZ
 na1YNBAAzkAdo+3oZuMuzESNXIUumoLj8iPhAziioVDisKiCUSk8dLkUZ+Dm8nt4
 AznGw2wypVLxgk9LMsIEsBHRZvFkC09PNGI0tl1lYgwTNpJnERCxnisVy4P2mTmk
 vx14DId1xJg6h7B8TfIpEuHJ9PgoVH4CMo0D4r7dkc37ucFqCqqvjFy0Q74BWrAt
 QIiRtsB4I7tcj+dOMfIYv2VwuHSJiKAEU9zejkKE7opnVvsCp011WaqDCi38MSPS
 4clkfj426nrH3iVHFe6X+6sAmhL4YqkGmVSdFcvPpoIfFreaAkN/FHuPTAfXGx3y
 ZK+x5CVW7yWMKERroD+qly2FMEWIcSonOFLoASrcpyxEOPNCyfChFO4HBfPTu7ms
 knA0pTWSGjE8K9UI/zf4jh5bdlDO/scUJdSXO8Z25nCp91kACmSIZI56mME86RL5
 kZxuBxD9GmtKgZ9xeSaQRoxGjE643xC9pZ2TDReZgQedhIcDy+Bff20XnBjsR8WW
 Mxk+dzzNWWgZPCeNkX7S1MBUUItFKKN/feSc8Ey9ZUUJbk66SyGrnbj5bLPfEaND
 oQy9Cu94P0J5ZvRn3GUo8solUZ9lpW6mO4JNomyDNkwiO2DiIZ40DvWYbiCjvjVS
 wohC5M8OrhVtiWjfcnYrcQvAkgB1eiLPUzc0Q9VYo4daiNhhqPo=
 =ercG
 -----END PGP SIGNATURE-----

parent 58402f0
author olivier7delf <55892112+olivier7delf@users.noreply.github.com> 1657529886 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659338203 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnfdsACgkQX0oYuBcZ
 na3DHQ//RfNwAXsNwVRFdE61rTKHGw2sHoyNwxjT9tsthH2AoYMPwHZddmaX9uAj
 LQ5mnfSVEtIhnu3CQKLdtxpCFX7+tUpdNSKeaLYtgeKxHM2ZggDJRBDl9vZPK/A7
 kYSdlySa+c7BDVhw8X8GqCodm2O+DUv/ZJBWNZkXB9mg1ZQoudDrZk7o07A1vQBN
 d7MJ6hIrCDvHaur/cHmHB1TUuI9YA1IILQ/DC/KbuujN4QYhl1fvbPVL4muq+vHC
 gv6UUEI1pRG8mRRypdtTebzYZxOdxz5ezRNiAgfS44h+q44PIfL7nJuRwZJRg6Dm
 n4vYR71LPMSiRbSNXG+EQ4mPWdpnF/C/eLGfY/otwlNyy7KQFA27R2dJ2lpPYZOz
 N3MNNudGEG1vXbwjMgEYnY6jhEii30KY80ti5wWiF7szDHgk2JXy+l6rhaMR/KQ8
 6qL0dDFYoiOH/3ggP3HSowftzr/xJB92So5e5LEi7neLpolHNgC4sIYu/oYZK9te
 Q4LpL9h35uER+sh1YhqfU9o2y2YV+Mv4ZbJ9VFKQG6/FWSO1hLnwAxzroKUVCvhm
 5Y9fwTsrisiW9F+jjUutL7tqUROZ4F4/0jrHhrKY8FM0GqEKxyI9wF4ZeOG9EtcH
 qsxFAymOUGUlQYYKCALGasJid80ldg/X4abg+0Gemc40w9f/5Ls=
 =bAV2
 -----END PGP SIGNATURE-----

fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

fixed ethFeeProxy subgraph goerli test

refactor: move goerli to the newest versions

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

refactor: contract setup compression fix (#888)

feat: goerli storage (#890)

feat: squash commits goerli storage

fix: modify smart contract address

fix: ETHConversionProxy to EthConversionProxy

fix: add MIT License

doc : modify command to create request (#880)

* refactor: command to create request

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* feat: goerli storage (#890)

feat: squash commits goerli storage

* fix: delete ETHConversionProxy

Co-authored-by: Darko Kolev <kolevdarko@gmail.com>
Co-authored-by: olivier7delf <55892112+olivier7delf@users.noreply.github.com>
Co-authored-by: Bertrand Juglas <b@juglas.name>

deploy: goerli contracts

refactor: add goerli address contract

-S

refactor: add goerli tests

-S

feat: add goerli payment-detection tests

refactor: goerli tests

refactor: goerli contract address in tests

refactor: goerli tests

fixed ethFeeProxy subgraph goerli test

refactor: move goerli to the newest versions

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

refactor: contract setup compression fix (#888)

fix: ETHConversionProxy to EthConversionProxy

ETHConversionProxy to EthConversionProxy

fix: EthConversionProxy to setupEth...

refactor: keep 0.2.0 goerli version

refactor: contract setup compression fix (#888)

fix: EthConversionProxy to ETHConversion...

commented goerli in eth-input detector

fixing eth-input-data goerli test

fixed formatting

removed goerli input data test

updated escrow test config

deploy: goerli contracts

Update index.ts

wip: ETHConversionProxy

refactor: squash unsigned commits

-S

refactor: add goerli tests

refactor: add goerli tests

refactor: add goerli tests

feat: add goerli support in currency

-S

feat: add goerli payment-detection tests

refactor: setups.ts

refactor: goerli tests

refactor: goerli contract address in tests

refactor: goerli tests

refactor: rename ETHConversionProxy to EthConversionProxy

feat: add goerli

fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

feat: add cancel stream function (#884)

fixed ethFeeProxy subgraph goerli test

refactor: move goerli to the newest versions

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

feat: goerli storage (#890)

feat: squash commits goerli storage

fix: modify smart contract address

fix: ETHConversionProxy to EthConversionProxy

fix: add MIT License

doc: modify command to create request (#880)

* refactor: command to create request

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* feat: goerli storage (#890)

feat: squash commits goerli storage

* fix: delete ETHConversionProxy

Co-authored-by: Darko Kolev <kolevdarko@gmail.com>
Co-authored-by: olivier7delf <55892112+olivier7delf@users.noreply.github.com>
Co-authored-by: Bertrand Juglas <b@juglas.name>

deploy: goerli contracts

refactor: add goerli address contract

-S

refactor: add goerli tests

-S

feat: add goerli payment-detection tests

refactor: goerli tests

refactor: goerli tests

refactor: move goerli to the newest versions

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

refactor: contract setup compression fix (#888)

fix: ETHConversionProxy to EthConversionProxy

refactor: keep 0.2.0 goerli version

fix: EthConversionProxy to ETHConversion...

commented goerli in eth-input detector

fixing eth-input-data goerli test

fixed formatting

removed goerli input data test

updated escrow test config

fixed formatting

parent 58402f0
author olivier7delf <55892112+olivier7delf@users.noreply.github.com> 1657529886 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659338957 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLngM0ACgkQX0oYuBcZ
 na3FSg/9FqPZs8oH38kbtA+HMgUmSYkloTTKefY80dADoVhQc2XrO59MchQmxx91
 GlCl6bcrSWpmjTojTo653V3aLFyRfBCltzEE16sM2VYmIgd+lXg4fnK60yB9Xq03
 f0NYtd6R7F48pINtOepRZ8kieFRHxcBbE1StV+pZTRJeHQEsbudbtio3rsfkGVnk
 S/OwwzsQFfJXYDWp4dj6Suz6fy4kgO5e3ZkF0VkKXIMKBEuRiUTf/QWK0nus968C
 phdtXOzPy1gttVFtY+luA6NboH27jh0k/eVYaab8JkFY42c/kPrxh+Ou6LeKh/Mr
 G7MB55COmHmt+QEn3o1DFqcaSe9UDuuJVgyG3gb81QxFedc0wsTE4T4WvnLjdume
 RfBxQ/VbXAuYw7xEZ0vPvKDtQkDoWwXhvsniluplpLeHnYKYKLe3yG/pi9z3xIV4
 G/Z+kMXCKM8lAy+pKRSHzv1tMHg02ERLGoyGhGfC+FUkkGDasznKnaxBYqOYHxsy
 aoaZxec5U7Vrqkz20Exg2sHlyieJIJn3Oh+Sk+ouOINqbArVFGLb379JAi9aEsjl
 MKULpC8opOPE3l9PcsDCh9oHlKW+i1pRcVpya/OiRZUy+sYdNb4sBDsuufJAUjyL
 3b1MRecrh3ZNo0wPLuxypg1x01/Y0JDtaX1Pw0KLXCHLDd6noD4=
 =vfDF
 -----END PGP SIGNATURE-----

parent 58402f0
author olivier7delf <55892112+olivier7delf@users.noreply.github.com> 1657529886 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659338942 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLngL4ACgkQX0oYuBcZ
 na1YNBAAzkAdo+3oZuMuzESNXIUumoLj8iPhAziioVDisKiCUSk8dLkUZ+Dm8nt4
 AznGw2wypVLxgk9LMsIEsBHRZvFkC09PNGI0tl1lYgwTNpJnERCxnisVy4P2mTmk
 vx14DId1xJg6h7B8TfIpEuHJ9PgoVH4CMo0D4r7dkc37ucFqCqqvjFy0Q74BWrAt
 QIiRtsB4I7tcj+dOMfIYv2VwuHSJiKAEU9zejkKE7opnVvsCp011WaqDCi38MSPS
 4clkfj426nrH3iVHFe6X+6sAmhL4YqkGmVSdFcvPpoIfFreaAkN/FHuPTAfXGx3y
 ZK+x5CVW7yWMKERroD+qly2FMEWIcSonOFLoASrcpyxEOPNCyfChFO4HBfPTu7ms
 knA0pTWSGjE8K9UI/zf4jh5bdlDO/scUJdSXO8Z25nCp91kACmSIZI56mME86RL5
 kZxuBxD9GmtKgZ9xeSaQRoxGjE643xC9pZ2TDReZgQedhIcDy+Bff20XnBjsR8WW
 Mxk+dzzNWWgZPCeNkX7S1MBUUItFKKN/feSc8Ey9ZUUJbk66SyGrnbj5bLPfEaND
 oQy9Cu94P0J5ZvRn3GUo8solUZ9lpW6mO4JNomyDNkwiO2DiIZ40DvWYbiCjvjVS
 wohC5M8OrhVtiWjfcnYrcQvAkgB1eiLPUzc0Q9VYo4daiNhhqPo=
 =ercG
 -----END PGP SIGNATURE-----

parent 58402f0
author olivier7delf <55892112+olivier7delf@users.noreply.github.com> 1657529886 +0200
committer Romain TREFAULT <romtref@gmail.com> 1659338203 +0200
gpgsig -----BEGIN PGP SIGNATURE-----

 iQIzBAABCAAdFiEESJbe1R3hzb/g0Lx8X0oYuBcZna0FAmLnfdsACgkQX0oYuBcZ
 na3DHQ//RfNwAXsNwVRFdE61rTKHGw2sHoyNwxjT9tsthH2AoYMPwHZddmaX9uAj
 LQ5mnfSVEtIhnu3CQKLdtxpCFX7+tUpdNSKeaLYtgeKxHM2ZggDJRBDl9vZPK/A7
 kYSdlySa+c7BDVhw8X8GqCodm2O+DUv/ZJBWNZkXB9mg1ZQoudDrZk7o07A1vQBN
 d7MJ6hIrCDvHaur/cHmHB1TUuI9YA1IILQ/DC/KbuujN4QYhl1fvbPVL4muq+vHC
 gv6UUEI1pRG8mRRypdtTebzYZxOdxz5ezRNiAgfS44h+q44PIfL7nJuRwZJRg6Dm
 n4vYR71LPMSiRbSNXG+EQ4mPWdpnF/C/eLGfY/otwlNyy7KQFA27R2dJ2lpPYZOz
 N3MNNudGEG1vXbwjMgEYnY6jhEii30KY80ti5wWiF7szDHgk2JXy+l6rhaMR/KQ8
 6qL0dDFYoiOH/3ggP3HSowftzr/xJB92So5e5LEi7neLpolHNgC4sIYu/oYZK9te
 Q4LpL9h35uER+sh1YhqfU9o2y2YV+Mv4ZbJ9VFKQG6/FWSO1hLnwAxzroKUVCvhm
 5Y9fwTsrisiW9F+jjUutL7tqUROZ4F4/0jrHhrKY8FM0GqEKxyI9wF4ZeOG9EtcH
 qsxFAymOUGUlQYYKCALGasJid80ldg/X4abg+0Gemc40w9f/5Ls=
 =bAV2
 -----END PGP SIGNATURE-----

fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

fixed ethFeeProxy subgraph goerli test

refactor: move goerli to the newest versions

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

refactor: contract setup compression fix (#888)

feat: goerli storage (#890)

feat: squash commits goerli storage

fix: modify smart contract address

fix: ETHConversionProxy to EthConversionProxy

fix: add MIT License

doc : modify command to create request (#880)

* refactor: command to create request

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* feat: goerli storage (#890)

feat: squash commits goerli storage

* fix: delete ETHConversionProxy

Co-authored-by: Darko Kolev <kolevdarko@gmail.com>
Co-authored-by: olivier7delf <55892112+olivier7delf@users.noreply.github.com>
Co-authored-by: Bertrand Juglas <b@juglas.name>

deploy: goerli contracts

refactor: add goerli address contract

-S

refactor: add goerli tests

-S

feat: add goerli payment-detection tests

refactor: goerli tests

refactor: goerli contract address in tests

refactor: goerli tests

fixed ethFeeProxy subgraph goerli test

refactor: move goerli to the newest versions

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

refactor: contract setup compression fix (#888)

fix: ETHConversionProxy to EthConversionProxy

ETHConversionProxy to EthConversionProxy

fix: EthConversionProxy to setupEth...

refactor: keep 0.2.0 goerli version

refactor: contract setup compression fix (#888)

fix: EthConversionProxy to ETHConversion...

commented goerli in eth-input detector

fixing eth-input-data goerli test

fixed formatting

removed goerli input data test

updated escrow test config

deploy: goerli contracts

Update index.ts

wip: ETHConversionProxy

refactor: squash unsigned commits

-S

refactor: add goerli tests

refactor: add goerli tests

refactor: add goerli tests

feat: add goerli support in currency

-S

feat: add goerli payment-detection tests

refactor: setups.ts

refactor: goerli tests

refactor: goerli contract address in tests

refactor: goerli tests

refactor: rename ETHConversionProxy to EthConversionProxy

feat: add goerli

fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

feat: add cancel stream function (#884)

fixed ethFeeProxy subgraph goerli test

refactor: move goerli to the newest versions

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

feat: goerli storage (#890)

feat: squash commits goerli storage

fix: modify smart contract address

fix: ETHConversionProxy to EthConversionProxy

fix: add MIT License

doc: modify command to create request (#880)

* refactor: command to create request

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* feat: goerli storage (#890)

feat: squash commits goerli storage

* fix: delete ETHConversionProxy

Co-authored-by: Darko Kolev <kolevdarko@gmail.com>
Co-authored-by: olivier7delf <55892112+olivier7delf@users.noreply.github.com>
Co-authored-by: Bertrand Juglas <b@juglas.name>

deploy: goerli contracts

refactor: add goerli address contract

-S

refactor: add goerli tests

-S

feat: add goerli payment-detection tests

refactor: goerli tests

refactor: goerli tests

refactor: move goerli to the newest versions

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

refactor: contract setup compression fix (#888)

fix: ETHConversionProxy to EthConversionProxy

refactor: keep 0.2.0 goerli version

fix: EthConversionProxy to ETHConversion...

commented goerli in eth-input detector

fixing eth-input-data goerli test

fixed formatting

removed goerli input data test

updated escrow test config

fixed formatting

deploy: goerli contracts

Update index.ts

wip: ETHConversionProxy

refactor: move goerli to the newest versions

fix: modify smart contract address

fix: ETHConversionProxy to EthConversionProxy

deploy: goerli contracts

refactor: add goerli address contract

-S

feat: add goerli payment-detection tests

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

refactor: contract setup compression fix (#888)

refactor: keep 0.2.0 goerli version

deploy: goerli contracts

Update index.ts

refactor: move goerli to the newest versions

fix: modify smart contract address

deploy: goerli contracts

refactor: add goerli address contract

refactor: move goerli to the newest versions

new escrow deployed on mainnet, rinkeby, goerli, matic and fuse

refactor: contract setup compression fix (#888)

refactor: keep 0.2.0 goerli version

typo: specified test on goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: specified test on goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: specified test on rinkeby

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: specified test on goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

Delete deploy.ts~007d33cc... refactor: setups.ts

Delete verify.ts~007d33cc... refactor: setups.ts

typo: specified test on goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: Temporary disable goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: specified test on rinkeby

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

deploy: goerli contracts

Update index.ts

feat: add goerli

fix: escrow audit fix 2 (#878)

deploy: goerli contracts

Update index.ts

feat: add goerli

fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

feat: Add cancel stream function (#884)

refactor: move goerli to the newest versions

feat: goerli storage (#890)

feat: squash commits goerli storage

fix: ETHConversionProxy to EthConversionProxy

fix: add MIT License

doc : modify command to create request (#880)

* refactor: command to create request

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* feat: goerli storage (#890)

feat: squash commits goerli storage

* fix: delete ETHConversionProxy

Co-authored-by: Darko Kolev <kolevdarko@gmail.com>
Co-authored-by: olivier7delf <55892112+olivier7delf@users.noreply.github.com>
Co-authored-by: Bertrand Juglas <b@juglas.name>

refactor: add goerli address contract

-S

feat: add goerli payment-detection tests

refactor: move goerli to the newest versions

refactor: move goerli to the newest versions

refactor: contract setup compression fix (#888)

refactor: keep 0.2.0 goerli version

commented goerli in eth-input detector

fixed formatting

removed goerli input data test

deploy: goerli contracts

Update index.ts

feat: add goerli

fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

feat: add cancel stream function (#884)

refactor: move goerli to the newest versions

feat: goerli storage (#890)

feat: squash commits goerli storage

fix: ETHConversionProxy to EthConversionProxy

fix: add MIT License

doc: modify command to create request (#880)

* refactor: command to create request

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* fix: escrow audit fix 2 (#878)

* fix(smart-contracts): update batch fees (#873)

update batch fees from 1% to .3%

* feat: add cancel stream function (#884)

* refactor: contract setup compression fix (#888)

* feat: goerli storage (#890)

feat: squash commits goerli storage

* fix: delete ETHConversionProxy

Co-authored-by: Darko Kolev <kolevdarko@gmail.com>
Co-authored-by: olivier7delf <55892112+olivier7delf@users.noreply.github.com>
Co-authored-by: Bertrand Juglas <b@juglas.name>

-S

feat: add goerli payment-detection tests

refactor: move goerli to the newest versions

refactor: contract setup compression fix (#888)

refactor: keep 0.2.0 goerli version

commented goerli in eth-input detector

fixed formatting

removed goerli input data test

fixed formatting

refactor: remove some goerli tests

typo: specified test on goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: specified test on goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: specified test on rinkeby

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: specified test on goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

Delete deploy.ts~007d33cc... refactor: setups.ts

Delete verify.ts~007d33cc... refactor: setups.ts

typo: specified test on goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: Temporary disable goerli

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>

typo: specified test on rinkeby

Co-authored-by: Kevin Dave <kevindavee1505@gmail.com>
  • Loading branch information
rom1trt and kevindavee committed Aug 1, 2022
1 parent 118b6e1 commit 8a0b6cb
Show file tree
Hide file tree
Showing 30 changed files with 281 additions and 188 deletions.
8 changes: 8 additions & 0 deletions packages/currency/src/aggregators/goerli.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"0xba62bcfcaafc6622853cca2be6ac7d845bc0f2dc": {
"0x775eb53d00dd0acd3ec1696472105d579b9b386b": 1
},
"0x775eb53d00dd0acd3ec1696472105d579b9b386b": {
"0xba62bcfcaafc6622853cca2be6ac7d845bc0f2dc": 1
}
}
17 changes: 17 additions & 0 deletions packages/currency/src/erc20/networks/goerli.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { TokenMap } from './types';

// List of the supported goerli ERC20 tokens
export const supportedGoerliERC20: TokenMap = {
// Request Test token, used for testing on goerli.
'0x7af963cF6D228E564e2A0aA0DdBF06210B38615D': {
decimals: 18,
name: 'Goerli Test Token',
symbol: 'TST',
},
// Faucet Token on goerli network. Easy to use on tests.
'0xBA62BCfcAaFc6622853cca2BE6Ac7d845BC0f2Dc': {
decimals: 18,
name: 'Faucet Token',
symbol: 'FAU-goerli',
},
};
2 changes: 1 addition & 1 deletion packages/payment-detection/src/erc20/address-based.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { BalanceError } from '../balance-error';
import Erc20InfoRetriever from './address-based-info-retriever';

import { PaymentDetectorBase } from '../payment-detector-base';
const supportedNetworks = ['mainnet', 'rinkeby', 'private'];
const supportedNetworks = ['mainnet', 'rinkeby', 'goerli', 'private'];

/**
* Handle payment networks with ERC20 based address extension
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const mockAdvancedLogic: AdvancedLogicTypes.IAdvancedLogic = {
},
extensions: {
anyToErc20Proxy: {
supportedNetworks: ['mainnet', 'rinkeby', 'private'],
supportedNetworks: ['mainnet', 'rinkeby', 'goerli', 'private'],
createAddPaymentAddressAction,
createAddRefundAddressAction,
createCreationAction,
Expand All @@ -56,7 +56,7 @@ describe('api/any/conversion-fee-proxy-contract', () => {
jest.clearAllMocks();
});

it('can createExtensionsDataForCreation', async () => {
it('can createExtensionsDataForCreation (Rinkeby)', async () => {
await anyToErc20Proxy.createExtensionsDataForCreation({
paymentAddress: 'ethereum address',
salt: 'ea3bc7caf64110ca',
Expand All @@ -77,7 +77,28 @@ describe('api/any/conversion-fee-proxy-contract', () => {
});
});

it('can createExtensionsDataForCreation with fee amount and address', async () => {
it('can createExtensionsDataForCreation (Goerli)', async () => {
await anyToErc20Proxy.createExtensionsDataForCreation({
paymentAddress: 'ethereum address',
salt: 'ea3bc7caf64110ca',
acceptedTokens: ['ethereum address2'],
network: 'goerli',
maxRateTimespan: 1000,
});

expect(createCreationAction).toHaveBeenCalledWith({
feeAddress: undefined,
feeAmount: undefined,
paymentAddress: 'ethereum address',
refundAddress: undefined,
salt: 'ea3bc7caf64110ca',
acceptedTokens: ['ethereum address2'],
network: 'goerli',
maxRateTimespan: 1000,
});
});

it('can createExtensionsDataForCreation with fee amount and address (Rinkeby)', async () => {
await anyToErc20Proxy.createExtensionsDataForCreation({
feeAddress: 'fee address',
feeAmount: '2000',
Expand All @@ -98,6 +119,27 @@ describe('api/any/conversion-fee-proxy-contract', () => {
});
});

it('can createExtensionsDataForCreation with fee amount and address (Goerli)', async () => {
await anyToErc20Proxy.createExtensionsDataForCreation({
feeAddress: 'fee address',
feeAmount: '2000',
paymentAddress: 'ethereum address',
salt: 'ea3bc7caf64110ca',
acceptedTokens: ['ethereum address2'],
network: 'goerli',
});

expect(createCreationAction).toHaveBeenCalledWith({
feeAddress: 'fee address',
feeAmount: '2000',
paymentAddress: 'ethereum address',
refundAddress: undefined,
salt: 'ea3bc7caf64110ca',
acceptedTokens: ['ethereum address2'],
network: 'goerli',
});
});

it('can createExtensionsDataForCreation without salt', async () => {
await anyToErc20Proxy.createExtensionsDataForCreation({
paymentAddress: 'ethereum address',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ describe('api/erc20/address-based', () => {
error: {
code: PaymentTypes.BALANCE_ERROR_CODE.NETWORK_NOT_SUPPORTED,
message:
'Payment network wrong not supported by ERC20 payment detection. Supported networks: mainnet, rinkeby, private',
'Payment network wrong not supported by ERC20 payment detection. Supported networks: mainnet, rinkeby, goerli, private',
},
events: [],
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const mockAdvancedLogic: AdvancedLogicTypes.IAdvancedLogic = {
},
extensions: {
feeProxyContractErc20: {
supportedNetworks: ['mainnet', 'private', 'rinkeby'],
supportedNetworks: ['mainnet', 'private', 'rinkeby', 'goerli'],
createAddPaymentAddressAction,
createAddRefundAddressAction,
createCreationAction,
Expand Down Expand Up @@ -283,7 +283,7 @@ describe('api/erc20/fee-proxy-contract', () => {
).toBe('7');
});

it('should have gasFee & gasUsed in the payment eventl', async () => {
it('should have gasFee & gasUsed in the payment event', async () => {
const mockRequest: RequestLogicTypes.IRequest = {
creator: { type: IdentityTypes.TYPE.ETHEREUM_ADDRESS, value: '0x2' },
currency: {
Expand Down
4 changes: 2 additions & 2 deletions packages/payment-detection/test/erc20/proxy-contract.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ const mockAdvancedLogic: AdvancedLogicTypes.IAdvancedLogic = {
},
extensions: {
proxyContractErc20: {
supportedNetworks: ['mainnet', 'rinkeby'],
supportedNetworks: ['mainnet', 'rinkeby', 'goerli'],
createAddPaymentAddressAction,
createAddRefundAddressAction,
createCreationAction,
Expand Down Expand Up @@ -160,7 +160,7 @@ describe('api/erc20/proxy-contract', () => {
error: {
code: PaymentTypes.BALANCE_ERROR_CODE.NETWORK_NOT_SUPPORTED,
message:
'Payment network WRONG not supported by pn-erc20-proxy-contract payment detection. Supported networks: mainnet, rinkeby',
'Payment network WRONG not supported by pn-erc20-proxy-contract payment detection. Supported networks: mainnet, rinkeby, goerli',
},
events: [],
});
Expand Down
2 changes: 1 addition & 1 deletion packages/payment-detection/test/erc777/mocks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ const mockFlows = [
},
{
transactionHash: '0xe472ca1b52751b058fbdaeaffebd98c0cc43b45aa31794b3eb06834ede19f7be',
blockNumber: '9945543',
blockNumber: 9945543,
timestamp: '1641495767',
sender: '0x9c040e2d6fd83a8b35069aa7154b69674961e0f7',
flowRate: '0',
Expand Down
129 changes: 117 additions & 12 deletions packages/payment-detection/test/erc777/superfluid-retriever.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const graphql = mocked(GraphQLClient.prototype);

describe('api/erc777/superfluid-info-retriever', () => {
describe('on untagged requests', () => {
it('should get payment events from SuperFluid via subgraph with 1 request', async () => {
it('should get payment events from SuperFluid via subgraph with 1 request on Rinkeby', async () => {
const paymentData = {
reference: '0xbeefaccc470c7dbd54de69',
txHash: '0xe472ca1b52751b058fbdaeaffebd98c0cc43b45aa31794b3eb06834ede19f7be',
Expand All @@ -20,7 +20,7 @@ describe('api/erc777/superfluid-info-retriever', () => {
salt: '0ee84db293a752c6',
amount: '92592592592592000',
requestId: '0188791633ff0ec72a7dbdefb886d2db6cccfa98287320839c2f173c7a4e3ce7e1',
block: 9945543,
block: '9945543',
token: '0x745861aed1eee363b4aaa5f1994be40b1e05ff90', //fDAIx
};
graphql.request.mockResolvedValue(mockSuperfluidSubgraph[0]);
Expand Down Expand Up @@ -50,10 +50,51 @@ describe('api/erc777/superfluid-info-retriever', () => {
expect(transferEvents[0].parameters?.txHash).toEqual(paymentData.txHash);
expect(transferEvents[0].parameters?.block).toEqual(paymentData.block);
});

it('should get payment events from SuperFluid via subgraph with 1 request on Goerli', async () => {
const paymentData = {
reference: '0xbeefaccc470c7dbd54de69',
txHash: '0xe472ca1b52751b058fbdaeaffebd98c0cc43b45aa31794b3eb06834ede19f7be',
from: '0x9c040e2d6fd83a8b35069aa7154b69674961e0f7',
to: '0x52e5bcfa46393894afcfe6cd98a6761fa692c594',
network: 'goerli',
salt: '0ee84db293a752c6',
amount: '92592592592592000',
requestId: '0188791633ff0ec72a7dbdefb886d2db6cccfa98287320839c2f173c7a4e3ce7e1',
block: '9945543',
token: '0x2bf02814ea0b2b155ed47b7cede18caa752940e6', //fDAIx
};
graphql.request.mockResolvedValue(mockSuperfluidSubgraph[0]);

const paymentReference = PaymentReferenceCalculator.calculate(
paymentData.requestId,
paymentData.salt,
paymentData.to,
);
const subgraphReference = `0xbeefac${paymentReference}`;
expect(subgraphReference).toEqual(paymentData.reference);

const graphRetriever = new SuperFluidInfoRetriever(
paymentReference,
paymentData.token,
paymentData.to,
PaymentTypes.EVENTS_NAMES.PAYMENT,
paymentData.network,
);
const transferEvents = await graphRetriever.getTransferEvents();
expect(transferEvents).toHaveLength(5);
expect(transferEvents[0].amount).toEqual(paymentData.amount);
expect(transferEvents[0].name).toEqual('payment');
expect(transferEvents[0].parameters?.to).toEqual(paymentData.to);
expect(transferEvents[1].amount).toEqual('34722222222222000');
expect(transferEvents[2].amount).toEqual('40509259259259000');
expect(transferEvents[0].parameters?.txHash).toEqual(paymentData.txHash);
expect(transferEvents[0].parameters?.block).toEqual(paymentData.block);
});
});

describe('on 2 nested requests', () => {
it('should get payment event from SuperFluid via subgraph with 2 requests', async () => {
it('should get payment event from SuperFluid via subgraph with 2 requests on Rinkeby', async () => {
const paymentData = {
reference: '0xbeefac9474ad7670909da5',
from: '0x9c040e2d6fd83a8b35069aa7154b69674961e0f7',
Expand All @@ -64,8 +105,6 @@ describe('api/erc777/superfluid-info-retriever', () => {
// = (1642693617 - 1642692777 = 840 sec) x (385802469135800 - 3858024691358 = 381944444444442 Wei DAIx / sec)
requestId: '0288792633ff0ec72a7dbdefb886d2db6cccfa98287320839c2f273c7a4e3ce7e2',
token: '0x745861aed1eee363b4aaa5f1994be40b1e05ff90', //fDAIx
block: 10024811,
txHash: '0x0fefa02d90be46eb51a82f02b7a787084c35a895bd833a7c9f0560e315bb4061',
};
graphql.request.mockResolvedValue(mockSuperfluidSubgraph[1]);

Expand All @@ -88,13 +127,46 @@ describe('api/erc777/superfluid-info-retriever', () => {
expect(transferEvents[0].amount).toEqual(paymentData.amount);
expect(transferEvents[0].name).toEqual('payment');
expect(transferEvents[0].parameters?.to).toEqual(paymentData.to);
expect(transferEvents[0].parameters?.txHash).toEqual(paymentData.txHash);
expect(transferEvents[0].parameters?.block).toEqual(paymentData.block);
});

it('should get payment event from SuperFluid via subgraph with 2 requests on Goerli', async () => {
const paymentData = {
reference: '0xbeefac9474ad7670909da5',
from: '0x9c040e2d6fd83a8b35069aa7154b69674961e0f7',
to: '0x52e5bcfa46393894afcfe6cd98a6761fa692c594',
network: 'goerli',
salt: '0ee84db293a752c6',
amount: '320833333333331260',
// = (1642693617 - 1642692777 = 840 sec) x (385802469135800 - 3858024691358 = 381944444444442 Wei DAIx / sec)
requestId: '0288792633ff0ec72a7dbdefb886d2db6cccfa98287320839c2f273c7a4e3ce7e2',
token: '0x2bf02814ea0b2b155ed47b7cede18caa752940e6', //fDAIx
};
graphql.request.mockResolvedValue(mockSuperfluidSubgraph[1]);

const paymentReference = PaymentReferenceCalculator.calculate(
paymentData.requestId,
paymentData.salt,
paymentData.to,
);
const subgraphReference = `0xbeefac${paymentReference}`;
expect(subgraphReference).toEqual(paymentData.reference);
const graphRetriever = new SuperFluidInfoRetriever(
paymentReference,
paymentData.token,
paymentData.to,
PaymentTypes.EVENTS_NAMES.PAYMENT,
paymentData.network,
);
const transferEvents = await graphRetriever.getTransferEvents();
expect(transferEvents).toHaveLength(1);
expect(transferEvents[0].amount).toEqual(paymentData.amount);
expect(transferEvents[0].name).toEqual('payment');
expect(transferEvents[0].parameters?.to).toEqual(paymentData.to);
});
});

describe('on ongoing request', () => {
it('should get payment event from SuperFluid via subgraph with ongoing request', async () => {
it('should get payment event from SuperFluid via subgraph with ongoing request on Rinkeby', async () => {
const paymentData = {
reference: '0xbeefac0e87b43bf1e99c82',
from: '0x165a26628ac843e97f657e648b004226fbb7f7c5',
Expand All @@ -105,8 +177,6 @@ describe('api/erc777/superfluid-info-retriever', () => {
requestId: '0688792633ff0ec72a7dbdefb886d2db6cccfa98287320839c2f273c7a4e3ce7e2',
token: '0x0f1d7c55a2b133e000ea10eec03c774e0d6796e8', //fUSDCx
timestamp: 1643041225,
block: 10047970,
txHash: '0xdb44f35aa1490d2ddc8bbe7b82e0e3a370f3bf171a55da7a8a5886996e9c468d',
};
graphql.request.mockResolvedValue(mockSuperfluidSubgraph[2]);

Expand All @@ -131,8 +201,43 @@ describe('api/erc777/superfluid-info-retriever', () => {
expect(transferEvents[0].amount).toEqual(timestamp.toString());
expect(transferEvents[0].name).toEqual('payment');
expect(transferEvents[0].parameters?.to).toEqual(paymentData.to);
expect(transferEvents[0].parameters?.txHash).toEqual(paymentData.txHash);
expect(transferEvents[0].parameters?.block).toEqual(paymentData.block);
});

it('should get payment event from SuperFluid via subgraph with ongoing request on Goerli', async () => {
const paymentData = {
reference: '0xbeefac0e87b43bf1e99c82',
from: '0x165a26628ac843e97f657e648b004226fbb7f7c5',
to: '0xe7e6431f08db273d915b49888f0c67ef61802e05',
network: 'goerli',
salt: '0ee84db293a752c6',
amount: '1',
requestId: '0688792633ff0ec72a7dbdefb886d2db6cccfa98287320839c2f273c7a4e3ce7e2',
token: '0x2bf02814ea0b2b155ed47b7cede18caa752940e6', //fDaix
timestamp: 1643041225,
};
graphql.request.mockResolvedValue(mockSuperfluidSubgraph[2]);

const paymentReference = PaymentReferenceCalculator.calculate(
paymentData.requestId,
paymentData.salt,
paymentData.to,
);
const subgraphReference = `0xbeefac${paymentReference}`;
expect(subgraphReference).toEqual(paymentData.reference);
const graphRetriever = new SuperFluidInfoRetriever(
paymentReference,
paymentData.token,
paymentData.to,
PaymentTypes.EVENTS_NAMES.PAYMENT,
paymentData.network,
);
jest.spyOn(Date, 'now').mockImplementation(() => 1643126596704);
const transferEvents = await graphRetriever.getTransferEvents();
const timestamp = Math.floor(Date.now() / 1000) - paymentData.timestamp;
expect(transferEvents).toHaveLength(1);
expect(transferEvents[0].amount).toEqual(timestamp.toString());
expect(transferEvents[0].name).toEqual('payment');
expect(transferEvents[0].parameters?.to).toEqual(paymentData.to);
});
});
});
3 changes: 2 additions & 1 deletion packages/payment-detection/test/eth/info-retriever.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,12 @@ describe('api/eth/info-retriever', () => {
});

describe('Multichain', () => {
// TODO temporary disable xDAI, CELO and Sokol
// TODO temporary disable xDAI, CELO, Sokol, and Goerli
// FIXME: API-based checks should run nightly and be mocked for CI
[
'mainnet',
'rinkeby',
// 'goerli',
// 'xdai',
// 'sokol',
'fuse',
Expand Down
4 changes: 2 additions & 2 deletions packages/payment-detection/test/eth/input-data.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const mockAdvancedLogic: AdvancedLogicTypes.IAdvancedLogic = {
createAddPaymentAddressAction,
createAddRefundAddressAction,
createCreationAction,
supportedNetworks: ['mainnet', 'rinkeby'],
supportedNetworks: ['mainnet', 'rinkeby', 'goerli'],
// inherited from declarative
createAddPaymentInstructionAction,
createAddRefundInstructionAction,
Expand Down Expand Up @@ -160,7 +160,7 @@ describe('api/eth/input-data', () => {
error: {
code: PaymentTypes.BALANCE_ERROR_CODE.NETWORK_NOT_SUPPORTED,
message:
/Payment network wrong not supported by ETH payment detection\. Supported networks: mainnet, rinkeby, private.*/,
/Payment network wrong not supported by ETH payment detection\. Supported networks: mainnet, rinkeby, goerli, private.*/,
},
events: [],
});
Expand Down
Loading

0 comments on commit 8a0b6cb

Please sign in to comment.