diff --git a/packages/cryptoassets/data/dapps/ethereum.js b/packages/cryptoassets/data/dapps/ethereum.js index c72b32da5..ef613f410 100644 --- a/packages/cryptoassets/data/dapps/ethereum.js +++ b/packages/cryptoassets/data/dapps/ethereum.js @@ -1 +1 @@ -module.exports = {"0x158079ee67fce2f58472a96584a73c7ab9ac95c1":{"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64158079ee67fce2f58472a96584a73c7ab9ac95c1852a12e3","signature":"3045022100c5e8660be7c01ee145b3e281ec06f791137ed4e71bda7289504caf74bde2e95c02201d5fb68251c056ace23626c65f825483fe9a923a9955f1728b73a8fb950c1d8e"},"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64158079ee67fce2f58472a96584a73c7ab9ac95c1a0712d68","signature":"304402203ec4a05852afa1609657707234144ee56306889a08cc231242abd4e5aa95b6bb0220449446785c406e30e149f41ef3ece4e5cd7ce048212cdf9d17168842beabc05e"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64158079ee67fce2f58472a96584a73c7ab9ac95c1db006a75","signature":"3045022100ee7f9e3706bdcf11bd7f26b3269e785f7ccfbcd72a59507bc3f7b85aa165f6b6022027d0a0d2b18e150b032873deba8abb072468df4f94d92a227207e673529335ca"}},"0x35a18000230da775cac24873d00ff85bccded550":{"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e6435a18000230da775cac24873d00ff85bccded550852a12e3","signature":"30440220467f393541688fe03c8004466bf49dfb0a0b8183c20a3e1b649cb95b02912b15022073aa46fba641d1c775ee1aae16324c4c469fcf583da6bb31b3418f54d2555b9f"},"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e6435a18000230da775cac24873d00ff85bccded550a0712d68","signature":"304402205e76c584252eab101b547eacf9cdc81c884f10cae0eb74ca7e4bd2d8c5e2cbaf022036c874f54c11301c4b6b8b3a51abe88afa4ab0e604e72e0265455aa14111c618"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e6435a18000230da775cac24873d00ff85bccded550db006a75","signature":"3044022006008f3689a98ce21b7109600613cb26b240214e7f9626dafed005a3b75462240220385067063dfd1a8455667db032430d3d998e33d4befe4e639df15fdce5abaeb0"}},"0x39aa39c021dfbae8fac545936693ac917d5e7563":{"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e6439aa39c021dfbae8fac545936693ac917d5e7563852a12e3","signature":"3044022003c94062b14d64f0acf7fded49b5e0ee03c1cc6b5c30e02e3f4c8f619ae007e10220750ea17caf7023df24033b25502c1f27f2dfd8800eff0fbb45854aa982b09b8a"},"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e6439aa39c021dfbae8fac545936693ac917d5e7563a0712d68","signature":"3044022030cea6023450bec0947a7c3956fffc303d36549c259b3f6722a4273a8b84cc8f022011ad3e982eddadf85f314a75547d3dbb457e6a9c8684deb6c4b3602a45567850"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e6439aa39c021dfbae8fac545936693ac917d5e7563db006a75","signature":"304402201b950bde8fa3cc4b634e760b29418620321095c6bc7bc659ed84b2935879fec1022060d1aefbe0665c488d5a47021f283d037da8a9ccf053eefe91fbb2dd9f6bfc36"}},"0x4ddc2d193948926d02f9b1fe9e1daa0718270ed5":{"0x1249c58b":{"plugin":"Compound","serialized_data":"08436f6d706f756e644ddc2d193948926d02f9b1fe9e1daa0718270ed51249c58b","signature":"30450221009d0ec8b7798835bc01dc9441d5c8ca3ac2d2d5ee03b9165944889a2da3c603c9022053adaa683b5e09e677782992e8ab788ca758560d3f887a63cd8fd4d90e62bc79"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e644ddc2d193948926d02f9b1fe9e1daa0718270ed5852a12e3","signature":"3044022058ffc94b021d029309d6f502f316d2824972aae94932a025d8d7c4e6471a9076022077ec3964fab5d365e751108e34cc096992c77a88a1cbfde9aa43d3f141292f9a"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e644ddc2d193948926d02f9b1fe9e1daa0718270ed5db006a75","signature":"3044022038bd43b13e14b429544b0627d661b97d36f52976f9d43016624e04e2ac182747022017d82c16836c95df47636889aebf15edaa2412a5f883dc7ddf5fb25de0cc541b"}},"0x5d3a536e4d6dbd6114cc1ead35777bab948e3643":{"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e645d3a536e4d6dbd6114cc1ead35777bab948e3643852a12e3","signature":"3044022100ff310bd3acdaba8c4d3d120b96ebb1ec32abff5fdaaedc40e10f22fec4624e90021f376c6ab2c480d9c6ecbd0aa1c004920a6ecfa47b95be735c6b18436c945ede"},"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e645d3a536e4d6dbd6114cc1ead35777bab948e3643a0712d68","signature":"3045022100e9e9f60580e8a1989db91ff33b8cdbe2d174e4614534e4d8f3a6ea0475f230e402201dc482c674ecfcb60885073778fdb3f4d93eeda385bb4e108e2d07a5405078b2"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e645d3a536e4d6dbd6114cc1ead35777bab948e3643db006a75","signature":"3044022044f8b8d8838e1dcd0b24af77b10ea93149585dedbb35bc705f1095054646729602203d7b2357203508075491c685e2aeb18bdd955adcc667173636bc0974af35da3f"}},"0x6c8c6b02e7b2be14d4fa6022dfd6d75921d90e4e":{"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e646c8c6b02e7b2be14d4fa6022dfd6d75921d90e4e852a12e3","signature":"3045022100e8e0996469e7d29c23acf54ace5e162523cc8d7b6050240d0e3b9ba7a714a5710220384a040de8da3853db23a968798ed1f537d6ff6e86815ae093c5cd0f501b4fc9"},"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e646c8c6b02e7b2be14d4fa6022dfd6d75921d90e4ea0712d68","signature":"304402202218261513c6c19597b3ad610ff469a922634dcc11884951410543c3123f583702200cf6ffdf7351711b1ef68684fca0bc93809e36b64397387463504221e60064d2"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e646c8c6b02e7b2be14d4fa6022dfd6d75921d90e4edb006a75","signature":"304402206d106cd13b765e3d270346b71211b89420c7b195cfce034adf468bbdc925acd902204bd6ecd9ea88c793b7195d413bcf4e4b41e922f59bce8fb46be14aee21274ffb"}},"0xb3319f5d18bc0d84dd1b4825dcde5d5f7266d407":{"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64b3319f5d18bc0d84dd1b4825dcde5d5f7266d407852a12e3","signature":"3044022019895eb4dad08223fd950b254fdcaa5a7c4b949e528d9903b62ee32b3a49ba890220459c30960914d8e955e1a2120b195a6acd23268c694f45f42cfb342fb0453681"},"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64b3319f5d18bc0d84dd1b4825dcde5d5f7266d407a0712d68","signature":"3045022100e2a4c22f8bd4d064297544c1aa25df75d309099640fa47ceddd56261b6e22cad02206e8bd8395b07bc5ee541cf473f815ce1728e133ed3bebe3385e74fc47727f4c5"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64b3319f5d18bc0d84dd1b4825dcde5d5f7266d407db006a75","signature":"304502210084f9cc72ae138c88b25b337bb2640a783171eebdd0341baa2a3afe24a003dc0602202f3cdd4f033f3a3cb6590b20f6f3a99598f80b6e71005670c0446fe79f9aea88"}},"0xc11b1268c1a384e55c48c2391d8d480264a3a7f4":{"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64c11b1268c1a384e55c48c2391d8d480264a3a7f4852a12e3","signature":"3045022100ac043023fe30f492f049eb76813ffe0a605f37a1b2d0650140165ce3eb7b9936022025974f8996e6367535687404a33e8e5f6dfa5d357152859b0decad1432c47419"},"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64c11b1268c1a384e55c48c2391d8d480264a3a7f4a0712d68","signature":"3044022032c5dc26657a1145b2d1b7bda9883aab6a1b97c19e34d547344208c3f771502a022076808d4803195722ac09c8a045b4dcbfaf85ae939e18851889c75ccaddc717a6"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64c11b1268c1a384e55c48c2391d8d480264a3a7f4db006a75","signature":"3045022100b3835bceb1030b9c2be6c8db3740297af30515f456df34d52f3412a136895c260220065129c5936cfecc6d3998fff855156f0f0b7353de71b31f7426b65571b83a31"}},"0xf5dce57282a584d2746faf1593d3121fcac444dc":{"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f5dce57282a584d2746faf1593d3121fcac444dc852a12e3","signature":"304402203bde7a441cdb3a36a49602734c54a1fc3dba65ee705282aa63afbd9863d5775d02206a48b91715cfa422f1c0fb1e17cf051fc9101fa48798c2b47a8c19348c179282"},"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f5dce57282a584d2746faf1593d3121fcac444dca0712d68","signature":"3044022016e6884bd2e5f3b4024a46feea1e75ff8753a5446f2744d3ef80d04f5795b7eb02207d9c5d1b447a3b267c955e827329c28997c94527b9b0c5bf8cdf113a1ed1fcc9"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f5dce57282a584d2746faf1593d3121fcac444dcdb006a75","signature":"3044022027408c6afa04054f259137e689807d23115057b34578a13e3a75e8ea1654a92a02206cedea26a9e3c7c696d7aca104743013111ccd2a5d7bd77814104e5ad41e198e"}},"0xf650c3d88d12db855b8bf7d11be6c55a4e07dcc9":{"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f650c3d88d12db855b8bf7d11be6c55a4e07dcc9852a12e3","signature":"30440220514b42e46e8ecbadc4dd307b2d549687c720dd88e62ffe53e814e0d79229471e02202344476f5d3b294103d71fb134703319c4937d879a3291ed3bad4373da3839a9"},"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f650c3d88d12db855b8bf7d11be6c55a4e07dcc9a0712d68","signature":"30440220733f43a7f15a535c49b146ae4a691f477a911d04af49424281beeabed328e322022060e9ed6a353f29f35cd3f88785344b49caaee78929de4cbc4b7baf066bd71b06"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f650c3d88d12db855b8bf7d11be6c55a4e07dcc9db006a75","signature":"304402203f1dd57aa7d9bb804dd8f79bc47592ea4de5d4478239837c6a143e87fa64a9c202205887016e708a0573b6f5cbc348f4976a85fc20e6eb11729eaaa3c6677877fd76"}}} \ No newline at end of file +module.exports = {"0x5d3a536e4d6dbd6114cc1ead35777bab948e3643":{"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e645d3a536e4d6dbd6114cc1ead35777bab948e3643a0712d68","signature":"3045022100e9e9f60580e8a1989db91ff33b8cdbe2d174e4614534e4d8f3a6ea0475f230e402201dc482c674ecfcb60885073778fdb3f4d93eeda385bb4e108e2d07a5405078b2"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e645d3a536e4d6dbd6114cc1ead35777bab948e3643db006a75","signature":"3044022044f8b8d8838e1dcd0b24af77b10ea93149585dedbb35bc705f1095054646729602203d7b2357203508075491c685e2aeb18bdd955adcc667173636bc0974af35da3f"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e645d3a536e4d6dbd6114cc1ead35777bab948e3643852a12e3","signature":"3044022100ff310bd3acdaba8c4d3d120b96ebb1ec32abff5fdaaedc40e10f22fec4624e90021f376c6ab2c480d9c6ecbd0aa1c004920a6ecfa47b95be735c6b18436c945ede"}},"0x4ddc2d193948926d02f9b1fe9e1daa0718270ed5":{"0x1249c58b":{"plugin":"Compound","serialized_data":"08436f6d706f756e644ddc2d193948926d02f9b1fe9e1daa0718270ed51249c58b","signature":"30450221009d0ec8b7798835bc01dc9441d5c8ca3ac2d2d5ee03b9165944889a2da3c603c9022053adaa683b5e09e677782992e8ab788ca758560d3f887a63cd8fd4d90e62bc79"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e644ddc2d193948926d02f9b1fe9e1daa0718270ed5db006a75","signature":"3044022038bd43b13e14b429544b0627d661b97d36f52976f9d43016624e04e2ac182747022017d82c16836c95df47636889aebf15edaa2412a5f883dc7ddf5fb25de0cc541b"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e644ddc2d193948926d02f9b1fe9e1daa0718270ed5852a12e3","signature":"3044022058ffc94b021d029309d6f502f316d2824972aae94932a025d8d7c4e6471a9076022077ec3964fab5d365e751108e34cc096992c77a88a1cbfde9aa43d3f141292f9a"}},"0x39aa39c021dfbae8fac545936693ac917d5e7563":{"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e6439aa39c021dfbae8fac545936693ac917d5e7563a0712d68","signature":"3044022030cea6023450bec0947a7c3956fffc303d36549c259b3f6722a4273a8b84cc8f022011ad3e982eddadf85f314a75547d3dbb457e6a9c8684deb6c4b3602a45567850"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e6439aa39c021dfbae8fac545936693ac917d5e7563db006a75","signature":"304402201b950bde8fa3cc4b634e760b29418620321095c6bc7bc659ed84b2935879fec1022060d1aefbe0665c488d5a47021f283d037da8a9ccf053eefe91fbb2dd9f6bfc36"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e6439aa39c021dfbae8fac545936693ac917d5e7563852a12e3","signature":"3044022003c94062b14d64f0acf7fded49b5e0ee03c1cc6b5c30e02e3f4c8f619ae007e10220750ea17caf7023df24033b25502c1f27f2dfd8800eff0fbb45854aa982b09b8a"}},"0xb3319f5d18bc0d84dd1b4825dcde5d5f7266d407":{"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64b3319f5d18bc0d84dd1b4825dcde5d5f7266d407a0712d68","signature":"3045022100e2a4c22f8bd4d064297544c1aa25df75d309099640fa47ceddd56261b6e22cad02206e8bd8395b07bc5ee541cf473f815ce1728e133ed3bebe3385e74fc47727f4c5"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64b3319f5d18bc0d84dd1b4825dcde5d5f7266d407db006a75","signature":"304502210084f9cc72ae138c88b25b337bb2640a783171eebdd0341baa2a3afe24a003dc0602202f3cdd4f033f3a3cb6590b20f6f3a99598f80b6e71005670c0446fe79f9aea88"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64b3319f5d18bc0d84dd1b4825dcde5d5f7266d407852a12e3","signature":"3044022019895eb4dad08223fd950b254fdcaa5a7c4b949e528d9903b62ee32b3a49ba890220459c30960914d8e955e1a2120b195a6acd23268c694f45f42cfb342fb0453681"}},"0xf650c3d88d12db855b8bf7d11be6c55a4e07dcc9":{"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f650c3d88d12db855b8bf7d11be6c55a4e07dcc9a0712d68","signature":"30440220733f43a7f15a535c49b146ae4a691f477a911d04af49424281beeabed328e322022060e9ed6a353f29f35cd3f88785344b49caaee78929de4cbc4b7baf066bd71b06"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f650c3d88d12db855b8bf7d11be6c55a4e07dcc9db006a75","signature":"304402203f1dd57aa7d9bb804dd8f79bc47592ea4de5d4478239837c6a143e87fa64a9c202205887016e708a0573b6f5cbc348f4976a85fc20e6eb11729eaaa3c6677877fd76"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f650c3d88d12db855b8bf7d11be6c55a4e07dcc9852a12e3","signature":"30440220514b42e46e8ecbadc4dd307b2d549687c720dd88e62ffe53e814e0d79229471e02202344476f5d3b294103d71fb134703319c4937d879a3291ed3bad4373da3839a9"}},"0xc11b1268c1a384e55c48c2391d8d480264a3a7f4":{"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64c11b1268c1a384e55c48c2391d8d480264a3a7f4a0712d68","signature":"3044022032c5dc26657a1145b2d1b7bda9883aab6a1b97c19e34d547344208c3f771502a022076808d4803195722ac09c8a045b4dcbfaf85ae939e18851889c75ccaddc717a6"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64c11b1268c1a384e55c48c2391d8d480264a3a7f4db006a75","signature":"3045022100b3835bceb1030b9c2be6c8db3740297af30515f456df34d52f3412a136895c260220065129c5936cfecc6d3998fff855156f0f0b7353de71b31f7426b65571b83a31"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64c11b1268c1a384e55c48c2391d8d480264a3a7f4852a12e3","signature":"3045022100ac043023fe30f492f049eb76813ffe0a605f37a1b2d0650140165ce3eb7b9936022025974f8996e6367535687404a33e8e5f6dfa5d357152859b0decad1432c47419"}},"0x6c8c6b02e7b2be14d4fa6022dfd6d75921d90e4e":{"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e646c8c6b02e7b2be14d4fa6022dfd6d75921d90e4ea0712d68","signature":"304402202218261513c6c19597b3ad610ff469a922634dcc11884951410543c3123f583702200cf6ffdf7351711b1ef68684fca0bc93809e36b64397387463504221e60064d2"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e646c8c6b02e7b2be14d4fa6022dfd6d75921d90e4edb006a75","signature":"304402206d106cd13b765e3d270346b71211b89420c7b195cfce034adf468bbdc925acd902204bd6ecd9ea88c793b7195d413bcf4e4b41e922f59bce8fb46be14aee21274ffb"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e646c8c6b02e7b2be14d4fa6022dfd6d75921d90e4e852a12e3","signature":"3045022100e8e0996469e7d29c23acf54ace5e162523cc8d7b6050240d0e3b9ba7a714a5710220384a040de8da3853db23a968798ed1f537d6ff6e86815ae093c5cd0f501b4fc9"}},"0x158079ee67fce2f58472a96584a73c7ab9ac95c1":{"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64158079ee67fce2f58472a96584a73c7ab9ac95c1a0712d68","signature":"304402203ec4a05852afa1609657707234144ee56306889a08cc231242abd4e5aa95b6bb0220449446785c406e30e149f41ef3ece4e5cd7ce048212cdf9d17168842beabc05e"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64158079ee67fce2f58472a96584a73c7ab9ac95c1db006a75","signature":"3045022100ee7f9e3706bdcf11bd7f26b3269e785f7ccfbcd72a59507bc3f7b85aa165f6b6022027d0a0d2b18e150b032873deba8abb072468df4f94d92a227207e673529335ca"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64158079ee67fce2f58472a96584a73c7ab9ac95c1852a12e3","signature":"3045022100c5e8660be7c01ee145b3e281ec06f791137ed4e71bda7289504caf74bde2e95c02201d5fb68251c056ace23626c65f825483fe9a923a9955f1728b73a8fb950c1d8e"}},"0xf5dce57282a584d2746faf1593d3121fcac444dc":{"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f5dce57282a584d2746faf1593d3121fcac444dca0712d68","signature":"3044022016e6884bd2e5f3b4024a46feea1e75ff8753a5446f2744d3ef80d04f5795b7eb02207d9c5d1b447a3b267c955e827329c28997c94527b9b0c5bf8cdf113a1ed1fcc9"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f5dce57282a584d2746faf1593d3121fcac444dcdb006a75","signature":"3044022027408c6afa04054f259137e689807d23115057b34578a13e3a75e8ea1654a92a02206cedea26a9e3c7c696d7aca104743013111ccd2a5d7bd77814104e5ad41e198e"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e64f5dce57282a584d2746faf1593d3121fcac444dc852a12e3","signature":"304402203bde7a441cdb3a36a49602734c54a1fc3dba65ee705282aa63afbd9863d5775d02206a48b91715cfa422f1c0fb1e17cf051fc9101fa48798c2b47a8c19348c179282"}},"0x35a18000230da775cac24873d00ff85bccded550":{"0xa0712d68":{"plugin":"Compound","serialized_data":"08436f6d706f756e6435a18000230da775cac24873d00ff85bccded550a0712d68","signature":"304402205e76c584252eab101b547eacf9cdc81c884f10cae0eb74ca7e4bd2d8c5e2cbaf022036c874f54c11301c4b6b8b3a51abe88afa4ab0e604e72e0265455aa14111c618"},"0xdb006a75":{"plugin":"Compound","serialized_data":"08436f6d706f756e6435a18000230da775cac24873d00ff85bccded550db006a75","signature":"3044022006008f3689a98ce21b7109600613cb26b240214e7f9626dafed005a3b75462240220385067063dfd1a8455667db032430d3d998e33d4befe4e639df15fdce5abaeb0"},"0x852a12e3":{"plugin":"Compound","serialized_data":"08436f6d706f756e6435a18000230da775cac24873d00ff85bccded550852a12e3","signature":"30440220467f393541688fe03c8004466bf49dfb0a0b8183c20a3e1b649cb95b02912b15022073aa46fba641d1c775ee1aae16324c4c469fcf583da6bb31b3418f54d2555b9f"}},"0x1bd435f3c054b6e901b7b108a0ab7617c808677b":{"0x8f00eccb":{"plugin":"Paraswap","serialized_data":"0850617261737761701bd435f3c054b6e901b7b108a0ab7617c808677b8f00eccb","signature":"3045022100ca3f89866fc4716498ae6d1ea7650dfc13d542cdd0fe85e24b8fbee7bc6d96c902204bedf7d94d4aa73d597cdc4302b9f239a3ac9ffc7c1de760dc801b294ed9e690","erc20OfInterest":["[0].fromToken","[0].path[-1].to"],"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"adapter","type":"address"}],"name":"AdapterInitialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"initiator","type":"address"},{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":true,"internalType":"address","name":"srcToken","type":"address"},{"indexed":true,"internalType":"address","name":"destToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"srcAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"receivedAmount","type":"uint256"},{"indexed":false,"internalType":"string","name":"referrer","type":"string"}],"name":"Bought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"partnerShare","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"paraswapShare","type":"uint256"}],"name":"FeeTaken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"initiator","type":"address"},{"indexed":true,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":true,"internalType":"address","name":"srcToken","type":"address"},{"indexed":true,"internalType":"address","name":"destToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"srcAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"receivedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"expectedAmount","type":"uint256"},{"indexed":false,"internalType":"string","name":"referrer","type":"string"}],"name":"Swapped","type":"event"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"fromToken","type":"address"},{"internalType":"address","name":"toToken","type":"address"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"referrer","type":"string"},{"internalType":"bool","name":"useReduxToken","type":"bool"},{"components":[{"internalType":"address payable","name":"exchange","type":"address"},{"internalType":"address","name":"targetExchange","type":"address"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint256","name":"networkFee","type":"uint256"}],"internalType":"struct Utils.BuyRoute[]","name":"route","type":"tuple[]"}],"internalType":"struct Utils.BuyData","name":"data","type":"tuple"}],"name":"buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"uint8","name":"referrer","type":"uint8"}],"name":"buyOnUniswap","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"factory","type":"address"},{"internalType":"bytes32","name":"initCode","type":"bytes32"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"uint8","name":"referrer","type":"uint8"}],"name":"buyOnUniswapFork","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"uniswapProxy","type":"address"}],"name":"changeUniswapProxy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"confirmUniswapProxyChange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getChangeRequestedBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"getData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFeeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPartnerRegistry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPendingUniswapProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTimeLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTokenTransferProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUniswapProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVersion","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWhitelistAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"whitelist","type":"address"},{"internalType":"address","name":"reduxToken","type":"address"},{"internalType":"address","name":"partnerRegistry","type":"address"},{"internalType":"address payable","name":"feeWallet","type":"address"},{"internalType":"address","name":"uniswapProxy","type":"address"},{"internalType":"uint256","name":"timelock","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adapter","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"initializeAdapter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"key","type":"bytes32"}],"name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"fromToken","type":"address"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"uint256","name":"expectedAmount","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"referrer","type":"string"},{"internalType":"bool","name":"useReduxToken","type":"bool"},{"components":[{"internalType":"uint256","name":"fromAmountPercent","type":"uint256"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"totalNetworkFee","type":"uint256"},{"components":[{"internalType":"address payable","name":"exchange","type":"address"},{"internalType":"address","name":"targetExchange","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint256","name":"networkFee","type":"uint256"}],"internalType":"struct Utils.Route[]","name":"routes","type":"tuple[]"}],"internalType":"struct Utils.Path[]","name":"path","type":"tuple[]"}],"internalType":"struct Utils.MegaSwapPath[]","name":"path","type":"tuple[]"}],"internalType":"struct Utils.MegaSwapSellData","name":"data","type":"tuple"}],"name":"megaSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"fromToken","type":"address"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"uint256","name":"expectedAmount","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"referrer","type":"string"},{"internalType":"bool","name":"useReduxToken","type":"bool"},{"components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"totalNetworkFee","type":"uint256"},{"components":[{"internalType":"address payable","name":"exchange","type":"address"},{"internalType":"address","name":"targetExchange","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"uint256","name":"networkFee","type":"uint256"}],"internalType":"struct Utils.Route[]","name":"routes","type":"tuple[]"}],"internalType":"struct Utils.Path[]","name":"path","type":"tuple[]"}],"internalType":"struct Utils.SellData","name":"data","type":"tuple"}],"name":"multiSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"feeWallet","type":"address"}],"name":"setFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"partnerRegistry","type":"address"}],"name":"setPartnerRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"whitelisted","type":"address"}],"name":"setWhitelistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"fromToken","type":"address"},{"internalType":"address","name":"toToken","type":"address"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"address[]","name":"callees","type":"address[]"},{"internalType":"bytes","name":"exchangeData","type":"bytes"},{"internalType":"uint256[]","name":"startIndexes","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"referrer","type":"string"},{"internalType":"bool","name":"useReduxToken","type":"bool"}],"name":"simplBuy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"fromToken","type":"address"},{"internalType":"address","name":"toToken","type":"address"},{"internalType":"uint256","name":"fromAmount","type":"uint256"},{"internalType":"uint256","name":"toAmount","type":"uint256"},{"internalType":"uint256","name":"expectedAmount","type":"uint256"},{"internalType":"address[]","name":"callees","type":"address[]"},{"internalType":"bytes","name":"exchangeData","type":"bytes"},{"internalType":"uint256[]","name":"startIndexes","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"referrer","type":"string"},{"internalType":"bool","name":"useReduxToken","type":"bool"}],"name":"simpleSwap","outputs":[{"internalType":"uint256","name":"receivedAmount","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"uint8","name":"referrer","type":"uint8"}],"name":"swapOnUniswap","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"factory","type":"address"},{"internalType":"bytes32","name":"initCode","type":"bytes32"},{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"uint8","name":"referrer","type":"uint8"}],"name":"swapOnUniswapFork","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address payable","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IWETH","name":"token","type":"address"}],"name":"withdrawAllWETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]}}} \ No newline at end of file diff --git a/packages/hw-app-eth/README.md b/packages/hw-app-eth/README.md index 74ae48782..1f9b55cc9 100644 --- a/packages/hw-app-eth/README.md +++ b/packages/hw-app-eth/README.md @@ -56,6 +56,10 @@ Ledger Hardware Wallet ETH JavaScript bindings. - [Examples](#examples-6) - [eth2SetWithdrawalIndex](#eth2setwithdrawalindex) - [Parameters](#parameters-16) + - [setExternalPlugin](#setexternalplugin) + - [Parameters](#parameters-17) +- [getPluginForContractMethod](#getpluginforcontractmethod) + - [Parameters](#parameters-18) ### byContractAddress @@ -364,3 +368,24 @@ It shall be run before the ETH 2 deposit transaction is signed. If not called, t - `withdrawalIndex` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** index path in the EIP 2334 path m/12381/3600/withdrawalIndex/0 Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)>** True if the method was executed successfully + +#### setExternalPlugin + +Set the name of the plugin that should be used to parse the next transaction + +##### Parameters + +- `pluginName` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** string containing the name of the plugin, must have length between 1 and 30 bytes +- `contractAddress` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** +- `selector` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** + +Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)>** True if the method was executed successfully + +### getPluginForContractMethod + +Retrieve the name of a plugin compatible with a given contract address and a method selector + +#### Parameters + +- `contractAddress` +- `selector` diff --git a/packages/hw-app-eth/package.json b/packages/hw-app-eth/package.json index 01b9285e5..ed2c6c845 100644 --- a/packages/hw-app-eth/package.json +++ b/packages/hw-app-eth/package.json @@ -30,7 +30,7 @@ "@ledgerhq/errors": "^5.48.0", "@ledgerhq/hw-transport": "^5.48.0", "bignumber.js": "^9.0.1", - "ethereum-tx-decoder": "^3.0.0", + "ethers": "^5.1.4", "rlp": "^2.2.6" }, "devDependencies": { diff --git a/packages/hw-app-eth/src/Eth.js b/packages/hw-app-eth/src/Eth.js index a9f2c443d..6b5c08cb1 100644 --- a/packages/hw-app-eth/src/Eth.js +++ b/packages/hw-app-eth/src/Eth.js @@ -22,7 +22,7 @@ import { EthAppPleaseEnableContractData } from "@ledgerhq/errors"; import type Transport from "@ledgerhq/hw-transport"; import { BigNumber } from "bignumber.js"; import { encode, decode } from "rlp"; -import { decodeTx } from "ethereum-tx-decoder"; +import { ethers } from "ethers"; import { byContractAddress } from "./erc20"; import { getPluginForContractMethod } from "./plugins"; @@ -68,7 +68,6 @@ const remapTransactionRelatedErrors = (e) => { */ export default class Eth { transport: Transport<*>; - contractBindings: Object; constructor(transport: Transport<*>, scrambleKey: string = "w0w") { this.transport = transport; @@ -168,25 +167,11 @@ export default class Eth { * @example * import { byContractAddress } from "@ledgerhq/hw-app-eth/erc20" * const zrxInfo = byContractAddress("0xe41d2489571d322189246dafa5ebde1f4699f498") - * if (zrxInfo) await appEth._provideERC20TokenInformation(zrxInfo) + * if (zrxInfo) await appEth.provideERC20TokenInformation(zrxInfo) * const signed = await appEth.signTransaction(path, rawTxHex) */ - _provideERC20TokenInformation({ data }: { data: Buffer }): Promise { - return this.transport.send(0xe0, 0x0a, 0x00, 0x00, data).then( - () => true, - (e) => { - if (e && e.statusCode === 0x6d00) { - // this case happen for older version of ETH app, since older app version had the ERC20 data hardcoded, it's fine to assume it worked. - // we return a flag to know if the call was effective or not - return false; - } - throw e; - } - ); - } - provideERC20TokenInformation({ data }: { data: Buffer }): Promise { - return this._provideERC20TokenInformation({ data }); + return _provideERC20TokenInformation.call(this, { data }); } /** @@ -250,19 +235,31 @@ export default class Eth { offset += chunkSize; } - let decodedTx = decodeTx("0x" + rawTxHex); + rlpTx = ethers.utils.RLP.decode("0x" + rawTxHex); + + const decodedTx = { + data: rlpTx[5], + to: rlpTx[3], + }; + if (decodedTx.data.length >= 10) { const erc20Info = byContractAddress(decodedTx.to); if (erc20Info) { - this._provideERC20TokenInformation(erc20Info); + _provideERC20TokenInformation.call(this, erc20Info); } - let selector = decodedTx.data.substring(0, 10); - let { payload, signature } = getPluginForContractMethod( - decodedTx.to, - selector - ); - if (payload && signature) { - this._setExternalPlugin(payload, signature); + + const selector = decodedTx.data.substring(0, 10); + const plugin = getPluginForContractMethod(decodedTx.to, selector); + + if (plugin) { + const { payload, signature /*, erc20OfInterest, abi*/ } = plugin; + + // TODO + // use abi and erc20OfInterest to call _provideERC20TokenInformation + // with ethers + // + + _setExternalPlugin.call(this, payload, signature); } } @@ -1035,39 +1032,56 @@ eth.signPersonalMessage("44'/60'/0'/0/0", Buffer.from("test").toString("hex")).t * @param pluginName string containing the name of the plugin, must have length between 1 and 30 bytes * @return True if the method was executed successfully */ - _setExternalPlugin( - payload: string, - signature: string - ): Promise { - let payloadBuffer = Buffer.from(payload, "hex"); - let signatureBuffer = Buffer.from(signature, "hex"); - let buffer = Buffer.concat([ - payloadBuffer, - signatureBuffer - ]); - return this.transport.send(0xe0, 0x12, 0x00, 0x00, buffer).then( - () => true, - (e) => { - if (e && e.statusCode === 0x6a80) { - // this case happen when the plugin name is too short or too long - return false; - } else if (e && e.statusCode === 0x6984) { - // this case happen when the plugin requested is not installed on the device - return false; - } else if (e && e.statusCode === 0x6d00) { - // this case happen when the plugin requested is not installed on the device - return false; - } - throw e; - } - ); - } - setExternalPlugin( pluginName: string, contractAddress: string, selector: string ): Promise { - return this._setExternalPlugin(pluginName, contractAddress, selector); + return _setExternalPlugin.call(this, pluginName, contractAddress, selector); } } + +// PRIVATE + +function _provideERC20TokenInformation({ + data, +}: { + data: Buffer, +}): Promise { + return this.transport.send(0xe0, 0x0a, 0x00, 0x00, data).then( + () => true, + (e) => { + if (e && e.statusCode === 0x6d00) { + // this case happen for older version of ETH app, since older app version had the ERC20 data hardcoded, it's fine to assume it worked. + // we return a flag to know if the call was effective or not + return false; + } + throw e; + } + ); +} + +function _setExternalPlugin( + payload: string, + signature: string +): Promise { + let payloadBuffer = Buffer.from(payload, "hex"); + let signatureBuffer = Buffer.from(signature, "hex"); + let buffer = Buffer.concat([payloadBuffer, signatureBuffer]); + return this.transport.send(0xe0, 0x12, 0x00, 0x00, buffer).then( + () => true, + (e) => { + if (e && e.statusCode === 0x6a80) { + // this case happen when the plugin name is too short or too long + return false; + } else if (e && e.statusCode === 0x6984) { + // this case happen when the plugin requested is not installed on the device + return false; + } else if (e && e.statusCode === 0x6d00) { + // this case happen for older version of ETH app + return false; + } + throw e; + } + ); +} diff --git a/packages/hw-app-eth/src/plugins.js b/packages/hw-app-eth/src/plugins.js index 8113e062e..951bb80a6 100644 --- a/packages/hw-app-eth/src/plugins.js +++ b/packages/hw-app-eth/src/plugins.js @@ -12,6 +12,8 @@ export const getPluginForContractMethod = (contractAddress, selector) => { return { payload: contractSelectors[selector]["serialized_data"], signature: contractSelectors[selector]["signature"], + erc20OfInterest: contractSelectors[selector]["erc20OfInterest"], + abi: contractSelectors[selector]["abi"], }; } } diff --git a/script/crypto-assets-importer/importers/ethereum-dapps.js b/script/crypto-assets-importer/importers/ethereum-dapps.js index 055c54396..a01aceea8 100644 --- a/script/crypto-assets-importer/importers/ethereum-dapps.js +++ b/script/crypto-assets-importer/importers/ethereum-dapps.js @@ -1,6 +1,8 @@ const path = require("path"); const { readFileJSON } = require("../utils"); +const mapObject = (obj, fn) => Object.fromEntries(Object.entries(obj).map(fn)); + module.exports = { paths: ["dapps/ethereum"], output: "data/dapps/ethereum.js", @@ -16,6 +18,44 @@ module.exports = { ) ), - loader: ({ folder, id }) => - readFileJSON(path.join(folder, id, "b2c_signatures.json")), + loader: async ({ folder, id }) => { + const [signatures, bare] = await Promise.all([ + readFileJSON(path.join(folder, id, "b2c_signatures.json")), + readFileJSON(path.join(folder, id, "b2c.json")), + ]); + + const abisList = await Promise.all( + Object.keys(signatures).map((address) => + readFileJSON( + path.join(folder, id, "abis", `${address}.abi.json`) + ).catch(() => {}) + ) + ); + + const abis = Object.keys(signatures).reduce( + (acc, address, i) => ({ + ...acc, + [address]: abisList[i], + }), + {} + ); + + return bare.contracts.reduce( + (acc, contract) => ({ + ...acc, + [contract.address]: mapObject( + contract.selectors, + ([selector, data]) => [ + selector, + { + ...signatures[contract.address][selector], + erc20OfInterest: data.erc20OfInterest, + abi: abis[contract.address], + }, + ] + ), + }), + {} + ); + }, }; diff --git a/yarn.lock b/yarn.lock index c924b23ec..6bb3271dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1161,6 +1161,344 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@ethersproject/abi@5.1.2", "@ethersproject/abi@^5.1.0": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.1.2.tgz#a8e75cd0455e6dc9e4861c3d1c22bbe436c1d775" + integrity sha512-uMhoQVPX0UtfzTpekYQSEUcJGDgsJ25ifz+SV6PDETWaUFhcR8RNgb1QPTASP13inW8r6iy0/Xdq9D5hK2pNvA== + dependencies: + "@ethersproject/address" "^5.1.0" + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/constants" "^5.1.0" + "@ethersproject/hash" "^5.1.0" + "@ethersproject/keccak256" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/strings" "^5.1.0" + +"@ethersproject/abstract-provider@5.1.0", "@ethersproject/abstract-provider@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.1.0.tgz#1f24c56cda5524ef4ed3cfc562a01d6b6f8eeb0b" + integrity sha512-8dJUnT8VNvPwWhYIau4dwp7qe1g+KgdRm4XTWvjkI9gAT2zZa90WF5ApdZ3vl1r6NDmnn6vUVvyphClRZRteTQ== + dependencies: + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/networks" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/transactions" "^5.1.0" + "@ethersproject/web" "^5.1.0" + +"@ethersproject/abstract-signer@5.1.0", "@ethersproject/abstract-signer@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.1.0.tgz#744c7a2d0ebe3cc0bc38294d0f53d5ca3f4e49e3" + integrity sha512-qQDMkjGZSSJSKl6AnfTgmz9FSnzq3iEoEbHTYwjDlEAv+LNP7zd4ixCcVWlWyk+2siud856M5CRhAmPdupeN9w== + dependencies: + "@ethersproject/abstract-provider" "^5.1.0" + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + +"@ethersproject/address@5.1.0", "@ethersproject/address@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.1.0.tgz#3854fd7ebcb6af7597de66f847c3345dae735b58" + integrity sha512-rfWQR12eHn2cpstCFS4RF7oGjfbkZb0oqep+BfrT+gWEGWG2IowJvIsacPOvzyS1jhNF4MQ4BS59B04Mbovteg== + dependencies: + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/keccak256" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/rlp" "^5.1.0" + +"@ethersproject/base64@5.1.0", "@ethersproject/base64@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.1.0.tgz#27240c174d0a4e13f6eae87416fd876caf7f42b6" + integrity sha512-npD1bLvK4Bcxz+m4EMkx+F8Rd7CnqS9DYnhNu0/GlQBXhWjvfoAZzk5HJ0f1qeyp8d+A86PTuzLOGOXf4/CN8g== + dependencies: + "@ethersproject/bytes" "^5.1.0" + +"@ethersproject/basex@5.1.0", "@ethersproject/basex@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.1.0.tgz#80da2e86f9da0cb5ccd446b337364d791f6a131c" + integrity sha512-vBKr39bum7DDbOvkr1Sj19bRMEPA4FnST6Utt6xhDzI7o7L6QNkDn2yrCfP+hnvJGhZFKtLygWwqlTBZoBXYLg== + dependencies: + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + +"@ethersproject/bignumber@5.1.1", "@ethersproject/bignumber@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.1.1.tgz#84812695253ccbc639117f7ac49ee1529b68e637" + integrity sha512-AVz5iqz7+70RIqoQTznsdJ6DOVBYciNlvO+AlQmPTB6ofCvoihI9bQdr6wljsX+d5W7Yc4nyvQvP4JMzg0Agig== + dependencies: + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + bn.js "^4.4.0" + +"@ethersproject/bytes@5.1.0", "@ethersproject/bytes@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.1.0.tgz#55dfa9c4c21df1b1b538be3accb50fb76d5facfd" + integrity sha512-sGTxb+LVjFxJcJeUswAIK6ncgOrh3D8c192iEJd7mLr95V6du119rRfYT/b87WPkZ5I3gRBUYIYXtdgCWACe8g== + dependencies: + "@ethersproject/logger" "^5.1.0" + +"@ethersproject/constants@5.1.0", "@ethersproject/constants@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.1.0.tgz#4e7da6367ea0e9be87585d8b09f3fccf384b1452" + integrity sha512-0/SuHrxc8R8k+JiLmJymxHJbojUDWBQqO+b+XFdwaP0jGzqC09YDy/CAlSZB6qHsBifY8X3I89HcK/oMqxRdBw== + dependencies: + "@ethersproject/bignumber" "^5.1.0" + +"@ethersproject/contracts@5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.1.1.tgz#c66cb6d618fcbd73e20a6b808e8f768b2b781d0b" + integrity sha512-6WwktLJ0DFWU8pDkgH4IGttQHhQN4SnwKFu9h+QYVe48VGWtbDu4W8/q/7QA1u/HWlWMrKxqawPiZUJj0UMvOw== + dependencies: + "@ethersproject/abi" "^5.1.0" + "@ethersproject/abstract-provider" "^5.1.0" + "@ethersproject/abstract-signer" "^5.1.0" + "@ethersproject/address" "^5.1.0" + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/constants" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/transactions" "^5.1.0" + +"@ethersproject/hash@5.1.0", "@ethersproject/hash@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.1.0.tgz#40961d64837d57f580b7b055e0d74174876d891e" + integrity sha512-fNwry20yLLPpnRRwm3fBL+2ksgO+KMadxM44WJmRIoTKzy4269+rbq9KFoe2LTqq2CXJM2CE70beGaNrpuqflQ== + dependencies: + "@ethersproject/abstract-signer" "^5.1.0" + "@ethersproject/address" "^5.1.0" + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/keccak256" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/strings" "^5.1.0" + +"@ethersproject/hdnode@5.1.0", "@ethersproject/hdnode@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.1.0.tgz#2bf5c4048935136ce83e9242e1bd570afcc0bc83" + integrity sha512-obIWdlujloExPHWJGmhJO/sETOOo7SEb6qemV4f8kyFoXg+cJK+Ta9SvBrj7hsUK85n3LZeZJZRjjM7oez3Clg== + dependencies: + "@ethersproject/abstract-signer" "^5.1.0" + "@ethersproject/basex" "^5.1.0" + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/pbkdf2" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/sha2" "^5.1.0" + "@ethersproject/signing-key" "^5.1.0" + "@ethersproject/strings" "^5.1.0" + "@ethersproject/transactions" "^5.1.0" + "@ethersproject/wordlists" "^5.1.0" + +"@ethersproject/json-wallets@5.1.0", "@ethersproject/json-wallets@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.1.0.tgz#bba7af2e520e8aea4d3829d80520db5d2e4fb8d2" + integrity sha512-00n2iBy27w8zrGZSiU762UOVuzCQZxUZxopsZC47++js6xUFuI74DHcJ5K/2pddlF1YBskvmMuboEu1geK8mnA== + dependencies: + "@ethersproject/abstract-signer" "^5.1.0" + "@ethersproject/address" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/hdnode" "^5.1.0" + "@ethersproject/keccak256" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/pbkdf2" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/random" "^5.1.0" + "@ethersproject/strings" "^5.1.0" + "@ethersproject/transactions" "^5.1.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.1.0", "@ethersproject/keccak256@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.1.0.tgz#fdcd88fb13bfef4271b225cdd8dec4d315c8e60e" + integrity sha512-vrTB1W6AEYoadww5c9UyVJ2YcSiyIUTNDRccZIgwTmFFoSHwBtcvG1hqy9RzJ1T0bMdATbM9Hfx2mJ6H0i7Hig== + dependencies: + "@ethersproject/bytes" "^5.1.0" + js-sha3 "0.5.7" + +"@ethersproject/logger@5.1.0", "@ethersproject/logger@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.1.0.tgz#4cdeeefac029373349d5818f39c31b82cc6d9bbf" + integrity sha512-wtUaD1lBX10HBXjjKV9VHCBnTdUaKQnQ2XSET1ezglqLdPdllNOIlLfhyCRqXm5xwcjExVI5ETokOYfjPtaAlw== + +"@ethersproject/networks@5.1.0", "@ethersproject/networks@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.1.0.tgz#f537290cb05aa6dc5e81e910926c04cfd5814bca" + integrity sha512-A/NIrIED/G/IgU1XUukOA3WcFRxn2I4O5GxsYGA5nFlIi+UZWdGojs85I1VXkR1gX9eFnDXzjE6OtbgZHjFhIA== + dependencies: + "@ethersproject/logger" "^5.1.0" + +"@ethersproject/pbkdf2@5.1.0", "@ethersproject/pbkdf2@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.1.0.tgz#6b740a85dc780e879338af74856ca2c0d3b24d19" + integrity sha512-B8cUbHHTgs8OtgJIafrRcz/YPDobVd5Ru8gTnShOiM9EBuFpYHQpq3+8iQJ6pyczDu6HP/oc/njAsIBhwFZYew== + dependencies: + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/sha2" "^5.1.0" + +"@ethersproject/properties@5.1.0", "@ethersproject/properties@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.1.0.tgz#9484bd6def16595fc6e4bdc26f29dff4d3f6ac42" + integrity sha512-519KKTwgmH42AQL3+GFV3SX6khYEfHsvI6v8HYejlkigSDuqttdgVygFTDsGlofNFchhDwuclrxQnD5B0YLNMg== + dependencies: + "@ethersproject/logger" "^5.1.0" + +"@ethersproject/providers@5.1.2": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.1.2.tgz#4e4459698903f911402fe91aa7544eb07f3921ed" + integrity sha512-GqsS8rd+eyd4eNkcNgzZ4l9IRULBPUZa7JPnv22k4MHflMobUseyhfbVnmoN5bVNNkOxjV1IPTw9i0sV1hwdpg== + dependencies: + "@ethersproject/abstract-provider" "^5.1.0" + "@ethersproject/abstract-signer" "^5.1.0" + "@ethersproject/address" "^5.1.0" + "@ethersproject/basex" "^5.1.0" + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/constants" "^5.1.0" + "@ethersproject/hash" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/networks" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/random" "^5.1.0" + "@ethersproject/rlp" "^5.1.0" + "@ethersproject/sha2" "^5.1.0" + "@ethersproject/strings" "^5.1.0" + "@ethersproject/transactions" "^5.1.0" + "@ethersproject/web" "^5.1.0" + bech32 "1.1.4" + ws "7.2.3" + +"@ethersproject/random@5.1.0", "@ethersproject/random@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.1.0.tgz#0bdff2554df03ebc5f75689614f2d58ea0d9a71f" + integrity sha512-+uuczLQZ4+no9cP6TCoCktXx0u2YbNaRT7lRkSt12d8263e702f0u+4JnnRO8Qmv5nylWJebnqCHzyxP+6mLqw== + dependencies: + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + +"@ethersproject/rlp@5.1.0", "@ethersproject/rlp@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.1.0.tgz#700f4f071c27fa298d3c1d637485fefe919dd084" + integrity sha512-vDTyHIwNPrecy55gKGZ47eJZhBm8LLBxihzi5ou+zrSvYTpkSTWRcKUlXFDFQVwfWB+P5PGyERAdiDEI76clxw== + dependencies: + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + +"@ethersproject/sha2@5.1.0", "@ethersproject/sha2@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.1.0.tgz#6ca42d1a26884b3e32ffa943fe6494af7211506c" + integrity sha512-+fNSeZRstOpdRJpdGUkRONFCaiAqWkc91zXgg76Nlp5ndBQE25Kk5yK8gCPG1aGnCrbariiPr5j9DmrYH78JCA== + dependencies: + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + hash.js "1.1.3" + +"@ethersproject/signing-key@5.1.0", "@ethersproject/signing-key@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.1.0.tgz#6eddfbddb6826b597b9650e01acf817bf8991b9c" + integrity sha512-tE5LFlbmdObG8bY04NpuwPWSRPgEswfxweAI1sH7TbP0ml1elNfqcq7ii/3AvIN05i5U0Pkm3Tf8bramt8MmLw== + dependencies: + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + bn.js "^4.4.0" + elliptic "6.5.4" + +"@ethersproject/solidity@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.1.0.tgz#095a9c75244edccb26c452c155736d363399b954" + integrity sha512-kPodsGyo9zg1g9XSXp1lGhFaezBAUUsAUB1Vf6OkppE5Wksg4Et+x3kG4m7J/uShDMP2upkJtHNsIBK2XkVpKQ== + dependencies: + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/keccak256" "^5.1.0" + "@ethersproject/sha2" "^5.1.0" + "@ethersproject/strings" "^5.1.0" + +"@ethersproject/strings@5.1.0", "@ethersproject/strings@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.1.0.tgz#0f95a56c3c8c9d5510a06c241d818779750e2da5" + integrity sha512-perBZy0RrmmL0ejiFGUOlBVjMsUceqLut3OBP3zP96LhiJWWbS8u1NqQVgN4/Gyrbziuda66DxiQocXhsvx+Sw== + dependencies: + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/constants" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + +"@ethersproject/transactions@5.1.1", "@ethersproject/transactions@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.1.1.tgz#5a6bbb25fb062c3cc75eb0db12faefcdd3870813" + integrity sha512-Nwgbp09ttIVN0OoUBatCXaHxR7grWPHbozJN8v7AXDLrl6nnOIBEMDh+yJTnosSQlFhcyjfTGGN+Mx6R8HdvMw== + dependencies: + "@ethersproject/address" "^5.1.0" + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/constants" "^5.1.0" + "@ethersproject/keccak256" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/rlp" "^5.1.0" + "@ethersproject/signing-key" "^5.1.0" + +"@ethersproject/units@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.1.0.tgz#b6ab3430ebc22adc3cb4839516496f167bee3ad5" + integrity sha512-isvJrx6qG0nKWfxsGORNjmOq/nh175fStfvRTA2xEKrGqx8JNJY83fswu4GkILowfriEM/eYpretfJnfzi7YhA== + dependencies: + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/constants" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + +"@ethersproject/wallet@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.1.0.tgz#134c5816eaeaa586beae9f9ff67891104a2c9a15" + integrity sha512-ULmUtiYQLTUS+y3DgkLzRhFEK10zMwmjOthnjiZxee3Q/MVwr3rnmuAnXIUZrPjna6hvUPnyRIdW5XuF0Ld0YQ== + dependencies: + "@ethersproject/abstract-provider" "^5.1.0" + "@ethersproject/abstract-signer" "^5.1.0" + "@ethersproject/address" "^5.1.0" + "@ethersproject/bignumber" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/hash" "^5.1.0" + "@ethersproject/hdnode" "^5.1.0" + "@ethersproject/json-wallets" "^5.1.0" + "@ethersproject/keccak256" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/random" "^5.1.0" + "@ethersproject/signing-key" "^5.1.0" + "@ethersproject/transactions" "^5.1.0" + "@ethersproject/wordlists" "^5.1.0" + +"@ethersproject/web@5.1.0", "@ethersproject/web@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.1.0.tgz#ed56bbe4e3d9a8ffe3b2ed882da5c62d3551381b" + integrity sha512-LTeluWgTq04+RNqAkVhpydPcRZK/kKxD2Vy7PYGrAD27ABO9kTqTBKwiOuzTyAHKUQHfnvZbXmxBXJAGViSDcA== + dependencies: + "@ethersproject/base64" "^5.1.0" + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/strings" "^5.1.0" + +"@ethersproject/wordlists@5.1.0", "@ethersproject/wordlists@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.1.0.tgz#54eb9ef3a00babbff90ffe124e19c89e07e6aace" + integrity sha512-NsUCi/TpBb+oTFvMSccUkJGtp5o/84eOyqp5q5aBeiNBSLkYyw21znRn9mAmxZgySpxgruVgKbaapnYPgvctPQ== + dependencies: + "@ethersproject/bytes" "^5.1.0" + "@ethersproject/hash" "^5.1.0" + "@ethersproject/logger" "^5.1.0" + "@ethersproject/properties" "^5.1.0" + "@ethersproject/strings" "^5.1.0" + "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" @@ -3017,6 +3355,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +bech32@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + before-after-hook@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" @@ -4770,20 +5113,7 @@ electron-to-chromium@^1.3.621: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.626.tgz#48acdf322be07feb2c1330ba05e4bf6327f721a3" integrity sha512-7CanEvJx74EnvjHu1X8gf93KieyxvFLnqOXAH/ddjWD4RrUZYqdg3pykrQ/7t6SLI7DTsp4tfQXEfzeK5t6oAw== -elliptic@6.5.3: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -elliptic@^6.0.0: +elliptic@6.5.4, elliptic@^6.0.0: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -5095,27 +5425,41 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -ethereum-tx-decoder@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ethereum-tx-decoder/-/ethereum-tx-decoder-3.0.0.tgz#7ef704c1b7e228128cdb81d6a3d2ab57a378b90f" - integrity sha512-l+/K/CNAobJjfGs6lO4RrR17KQrwESrGH2GrkASn7MH2FAJRkItFP21Iy2fCOUjy1Y1nBVoTO6w1GPCgVQH2hg== - dependencies: - ethers "^4.0.37" - -ethers@^4.0.37: - version "4.0.48" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.48.tgz#330c65b8133e112b0613156e57e92d9009d8fbbe" - integrity sha512-sZD5K8H28dOrcidzx9f8KYh8083n5BexIO3+SbE4jK83L85FxtpXZBCQdXb8gkg+7sBqomcLhhkU7UHL+F7I2g== - dependencies: - aes-js "3.0.0" - bn.js "^4.4.0" - elliptic "6.5.3" - hash.js "1.1.3" - js-sha3 "0.5.7" - scrypt-js "2.0.4" - setimmediate "1.0.4" - uuid "2.0.1" - xmlhttprequest "1.8.0" +ethers@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.1.4.tgz#8ae973705ed962f8f41dc59693704002a38dd18b" + integrity sha512-EAPQ/fgGRu0PoR/VNFnHTMOtG/IZ0AItdW55C9T8ffmVu0rnyllZL404eBF66elJehOLz2kxnUrhXpE7TCpW7g== + dependencies: + "@ethersproject/abi" "5.1.2" + "@ethersproject/abstract-provider" "5.1.0" + "@ethersproject/abstract-signer" "5.1.0" + "@ethersproject/address" "5.1.0" + "@ethersproject/base64" "5.1.0" + "@ethersproject/basex" "5.1.0" + "@ethersproject/bignumber" "5.1.1" + "@ethersproject/bytes" "5.1.0" + "@ethersproject/constants" "5.1.0" + "@ethersproject/contracts" "5.1.1" + "@ethersproject/hash" "5.1.0" + "@ethersproject/hdnode" "5.1.0" + "@ethersproject/json-wallets" "5.1.0" + "@ethersproject/keccak256" "5.1.0" + "@ethersproject/logger" "5.1.0" + "@ethersproject/networks" "5.1.0" + "@ethersproject/pbkdf2" "5.1.0" + "@ethersproject/properties" "5.1.0" + "@ethersproject/providers" "5.1.2" + "@ethersproject/random" "5.1.0" + "@ethersproject/rlp" "5.1.0" + "@ethersproject/sha2" "5.1.0" + "@ethersproject/signing-key" "5.1.0" + "@ethersproject/solidity" "5.1.0" + "@ethersproject/strings" "5.1.0" + "@ethersproject/transactions" "5.1.1" + "@ethersproject/units" "5.1.0" + "@ethersproject/wallet" "5.1.0" + "@ethersproject/web" "5.1.0" + "@ethersproject/wordlists" "5.1.0" eventemitter2@^5.0.1: version "5.0.1" @@ -6149,7 +6493,7 @@ highlight.js@^10.5.0: resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.5.0.tgz#3f09fede6a865757378f2d9ebdcbc15ba268f98f" integrity sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw== -hmac-drbg@^1.0.0, hmac-drbg@^1.0.1: +hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= @@ -8117,7 +8461,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: +minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= @@ -10243,10 +10587,10 @@ saxes@^5.0.0: dependencies: xmlchars "^2.2.0" -scrypt-js@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" - integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== +scrypt-js@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" @@ -10285,11 +10629,6 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" - integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= - setimmediate@~1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -11696,11 +12035,6 @@ util@~0.12.0: safe-buffer "^5.1.2" which-typed-array "^1.1.2" -uuid@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" - integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w= - uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" @@ -12125,6 +12459,11 @@ ws@6: dependencies: async-limiter "~1.0.0" +ws@7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" + integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== + ws@^7.2.3: version "7.2.5" resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.5.tgz#abb1370d4626a5a9cd79d8de404aa18b3465d10d" @@ -12145,11 +12484,6 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmlhttprequest@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= - xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"