{"_id":"@ambire/signature-validator","_rev":"16-b34e34fc826cf7c0e96e191e2c5d2b71","name":"@ambire/signature-validator","dist-tags":{"latest":"1.5.0"},"versions":{"1.0.0":{"name":"@ambire/signature-validator","version":"1.0.0","author":{"name":"AmbireTech"},"license":"ISC","_id":"@ambire/signature-validator@1.0.0","maintainers":[{"name":"ivogeorgiev","email":"ivo@ambire.com"}],"homepage":"https://github.com/AmbireTech/signature-validator#readme","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"dist":{"shasum":"8fe68e012d0279c86560a9ef072361edd991cec7","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.0.0.tgz","fileCount":11,"integrity":"sha512-N9P6qLK+DLVfvC1cc8aW8lISfUGNa5LQc6nvyooyQXZtnSijaCyy3AN5lv4R4q4JpljGmBd8ONNQZVAU3ZtYxg==","signatures":[{"sig":"MEUCICok6IuQVIg4boF3/JbyXQsMBEf3WWIGFFb15d19bS5oAiEAsTncgV5L/CxmW6MSA1I+vUFULgQQpIdN1SLXCqYmvv4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":137084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJic71OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0DA/+MDmw+jPM28f4ci98vjeZfI2DOpjsNthbaEWS/MeWgdEbnJp8\r\nDQ/5kX0mlS42K/B9v33EKLEMKU5KTDaQMyE9mSUL4Uji0YuXFKfbO74MQAU+\r\nr4vrRBG7T4dn9gbhTtAS0wRYPEN/Qc8MW1nL1TUUkg5d6TI/huzXleW+sgkh\r\ngc2x5u/5+iyuB9QzgDwyEchvTUqJErfvRZeB2ao5iE3WVZXSw6d2vPUCLstM\r\nlNLw/2pF9cFTyJ8ekHhjm7Do1ZndnDqt3geX03SZK2uBhwnqrxQN6f6eQjzA\r\n7OzRzTkl0PuqWZLYtG//T7Zq7z1CMXD5gQK7r6sXVWVy/Xqr26Sulla8UtfE\r\n8uV+by2iBjQdioWdCXGYuGl1y/6BhmThwBRvw2+4zOISA4rNvdVHfp0mEt4j\r\noO5irjMnRtIMdKsGTrX2dxExFLZl/i7JlC7S6hLkXq/eVCG1aX2Aa3SFByrC\r\nmhAnIDL1sXgPkNJCcLzEw81iW3oto2mrPM7THQ8MUYatZVT6aOE8NNy0aXqL\r\nt5NU4pDR+RI3zc8CNAx0D9yHcbdjAgTfOZXNKv05Hau5gtkFEp0QYnV1Dhb2\r\nO/s7NltrgCXasGwsI05jmWVDYndk75sI/ejJr8M6NaCjDlW5Qa2FqauYAbxD\r\nSg6pZXunIfff1If+xErNA+hpockROx6RQCA=\r\n=TI+q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"5a90fb478388975399c5e82ca5c4f1507bdefdc6","scripts":{"test":"tape ./tests/*.js | tap-spec"},"_npmUser":{"name":"ivogeorgiev","email":"ivo@ambire.com"},"repository":{"url":"git+https://github.com/AmbireTech/signature-validator.git","type":"git"},"_npmVersion":"7.20.3","description":"Signature validation lib aiming to verify all different signature cases","directories":{},"_nodeVersion":"16.7.0","dependencies":{"tape":"^5.5.3","ethers":"^5.6.5","tap-spec":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/signature-validator_1.0.0_1651752270267_0.7410369704016291","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@ambire/signature-validator","version":"1.0.1","keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"author":{"name":"AmbireTech"},"license":"MIT","_id":"@ambire/signature-validator@1.0.1","maintainers":[{"name":"ivogeorgiev","email":"ivo@ambire.com"}],"homepage":"https://github.com/AmbireTech/signature-validator#readme","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"dist":{"shasum":"61e0915e8377c9a4477d2863186be8889cc4ebe7","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.0.1.tgz","fileCount":12,"integrity":"sha512-ZFQdqnjUmP+hHOn/OrVLnu0eGG6nF58q98wGDAzgJ+/9Rj6AD07K4Gxurzb9x9vGwpNyN43OxBzw2B64fwz3xw==","signatures":[{"sig":"MEUCIHF+GE3RBWcvT5ARPgu+5lbSC28bLyBV65f69YfSay/eAiEA+4nHgIc9Mvym9HM/MzEMdsWsFXoDcxFFBAcRlhyMMU8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":138126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidkFaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTgBAAl8j/T5m2ISnxAYc7TiD+VGtS4qgpvPBfM5J9a0wtPItfRlId\r\nJ7ig8LhgyWOSvrPNzMSxj2HUv+oqb6FFobuRjL3h1fZ0uh+oS2QvFH0ZMZCj\r\nDAieoDoqUqO3oyFp6FZdwQW80eUat+L7J9MAI6hsUgsbF2beKUHyybT0EMYL\r\nq/L/JgOLgim5DNPYdLJ2Dxk0tk8bPN3qr5/pmWZQ4kGJz3uHERGrXC/HRaap\r\nUwqsi8ZWFOgGVaKVpCxaLP+zDS3Xa1jVFgt1RApAZ5+TUdc4Q/kqpfMC/EyZ\r\nyHXcD6vuc0XZFw4M0HeYIWFQYGlx4AB5ALIgnS/Fxd0/Vq2saLduZXhwxoUx\r\np0urL0Az7U3WTy1a9c6wO/hF9Pbrvhh97Ydgewj7LJb5niDVATqdf8pEMlAu\r\nalD/aJxyNUevhKAHH76k4Lukzef4bR6rhnMRLHS8Wy0Z7YqzdtJp3aHgL6wu\r\nihV8Jo50Ks0AqM2BBryOouXiJJ6cToZeJYyzPYrfIaBlBm6lzYP5wFdcMKtX\r\nuj1HelTVr3BunOgZlslWVDsJxbWdeY5VovRcY+jsYTMTRU8frzkAXKcYjIVt\r\nPajiqvN2MaoP14RLcfyU9l8LZFE9YNTd7EhQtDLEL85QieoERj8STqE3RRz5\r\nfwPNXnWGQR8Y+xuGLCtZHga8uZS8bEWR1Uk=\r\n=Jy89\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"59baf558e5c4920820de1cedaa53a6057e77ab55","scripts":{"test":"tape ./tests/*.js | tap-spec"},"_npmUser":{"name":"ivogeorgiev","email":"ivo@ambire.com"},"repository":{"url":"git+https://github.com/AmbireTech/signature-validator.git","type":"git"},"_npmVersion":"7.20.3","description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","directories":{},"_nodeVersion":"16.7.0","dependencies":{"tape":"^5.5.3","ethers":"^5.6.5","tap-spec":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/signature-validator_1.0.1_1651917146027_0.3714654336480607","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@ambire/signature-validator","version":"1.0.2","keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"author":{"name":"AmbireTech"},"license":"MIT","_id":"@ambire/signature-validator@1.0.2","maintainers":[{"name":"ivogeorgiev","email":"ivo@ambire.com"}],"homepage":"https://github.com/AmbireTech/signature-validator#readme","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"dist":{"shasum":"ba2f5558dad427a083ae954273627a5945cac49a","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.0.2.tgz","fileCount":12,"integrity":"sha512-JbIhxXaZHutW3vonunMNLssyPvXr9U/HfQWBcTxN4YRNG/VIXFCcL6nOMywDeVhs1/Wd+LVEpNK/vTlc0KegSQ==","signatures":[{"sig":"MEQCIDmC8U6Fw7aB28ZRHL+QJD9U5gtTereSyj4BmywEWXAuAiBdDwjwXTzACRUjVQs1V1s2KLbtU7DCqb8z6mBTgyajLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":138152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiemccACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpM7g/8Drzi1zF0dp4Yt0pv2aMNwXOymf98ZqPbab5YGee5ufkWhAMG\r\nfG8yD9X2lmTXaHTniyOasScrNVmk/aG6nLdhgXWL9LJoPISDIu7hCWZk3bGs\r\ndxlAe7//lCYXWQPwVsTcYETTn770ZdlbNACz8llAIi/ym2qMIZXD3C2B7jag\r\n/T/GBk2BtRCEeDMJ1LKyf08sGGGI7QPbqbBHa2DsODPc2pTbpFTgw7SP+7/x\r\nNhByxIYAZNJPbW7x7oOInLV4QI25zkoIqBqQKhmKmlvg/57T7+N3TGu/mpw0\r\nWArItHJZ4YQSmnnwGGvvaCzCVtBm5xAse9nEKPBGQgHTVi3FF5iRzDi1IuaL\r\nGSvNnNo8MUOZlO3GZ9kGJMMRsxyuuevGZO2DM5WmL3XMn7aGe3S0JaA252rY\r\nNvf7pwS8Od8zZRUScrS22PHSgVUKqOwYrZqqxbOSUYaApOI1Kuzie3mjlJce\r\nwvfrFDCqVvosiLZaLJMu8o+L0quv6yD5imra+TsDN/xkAtuqa0Zc2qp7BAQM\r\nr0zEeGsMqx+Il3ttFC6UQ5DqM3upDa6k4z5P7t7jPho30g5pzu7RhBBWv1hf\r\nRXnEuxuxLNwR7WyEzKLQbXFMQnsuRbA76doVBzLP7/PaSqu6uLHKf5hbO4Js\r\nLr22d1pTZ75REGRl5MtLGDKSERcuV0dqAAE=\r\n=+CrC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"a983f6ce8b1f119259e7a436d52e795e08498e4d","scripts":{"test":"tape ./tests/*.js | tap-spec"},"_npmUser":{"name":"ivogeorgiev","email":"ivo@ambire.com"},"repository":{"url":"git+https://github.com/AmbireTech/signature-validator.git","type":"git"},"_npmVersion":"7.20.3","description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","directories":{},"_nodeVersion":"16.7.0","dependencies":{"tape":"^5.5.3","ethers":"^5.6.5","tap-spec":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/signature-validator_1.0.2_1652188956126_0.7601727265424378","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@ambire/signature-validator","version":"1.0.3","keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"author":{"name":"AmbireTech"},"license":"MIT","_id":"@ambire/signature-validator@1.0.3","maintainers":[{"name":"ivogeorgiev","email":"ivo@ambire.com"}],"homepage":"https://github.com/AmbireTech/signature-validator#readme","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"dist":{"shasum":"5c36e266bd63672b301b5c4364521d5266e14c53","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.0.3.tgz","fileCount":13,"integrity":"sha512-Ky+xD614tlyjeu7eANMfkGgLzqOnjfONaTvo4BD/zatpCxmCCnea4Hu+wH8hcyBWUinJnABC4BEnqkDKUttbww==","signatures":[{"sig":"MEQCIBq0zWDLkSNO1mR91lSCC6K93Ldoq9bgXu0cFcBpnErgAiBK3uDf8Sk79/nkh5J0DBVPTWP0xqOa3taD5EiuCaeSZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":139057,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigi2JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrV8BAAgwNppjMUJ+/WR5vr2iSy9WwEyDlZJduzqplnZ/zpya1S09gO\r\nDcrrcrMmptGywe8fiC2yuN6J9vFIGarby02BzXpzg0AijPtKzLKyo9d1T3/6\r\nI36cpo5t+vqcuVlKG+fmGfkKwOXnbQXbqsHdmTsNh9VRSWFVZdouCT/ceDrL\r\nZ77ASHAj1i5IkF++adY3jsJoUEjMu52/ElDbuKRYhiFm+8rV3esmQdKIWs1t\r\n2XQg9DfkbP2jG0HiZuVSy1pXjhpA0rib9IVmu/jA5KlU6Q9+NAfK6lezESNY\r\nWdrO55Oo+ber78EfmxGmtn31Xs5syXbxN7kXQBOhlTj3ZRMyCtmMQt/SBVLJ\r\npVxaARVh6+rpURYm9u7ihi6qJ/WzKvFfX71xHbceNe3EogG/GhsplAWS+1xR\r\nFM+J2Zkw7DYYAQUQEDBNPF6V04wejc8VdwTAbxdBMmUvPioVtFJ/0AMB8+Hu\r\nrJmsp7+obt08Jmoh4i6YgN2BqqWRPKf82CnmIzx6nsMapXutsr9uajHz7bd6\r\nX0EdplR1gEM5xF7Yh2t5kGJqLEFebouowncf1YuGpqBOHYs1b+ls91ZnMPqw\r\nl+lU1d9zfBDuRdDxpyqzOkzy/yqhTxNnT5/XX+l2hF00qWyB6v/BHJE+LdUV\r\nG6tnC359iCPUwFGgh70aIdHPn6JbDHB7QuI=\r\n=8DpG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"276f4c3a8b1fdb375d65cd27c04387c39edf9284","scripts":{"test":"tape ./tests/*.js | tap-spec"},"_npmUser":{"name":"ivogeorgiev","email":"ivo@ambire.com"},"repository":{"url":"git+https://github.com/AmbireTech/signature-validator.git","type":"git"},"_npmVersion":"7.20.3","description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","directories":{},"_nodeVersion":"16.7.0","dependencies":{"tape":"^5.5.3","ethers":"^5.6.5","tap-spec":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/signature-validator_1.0.3_1652698505338_0.19126565512088","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@ambire/signature-validator","version":"1.1.0","keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"author":{"name":"AmbireTech"},"license":"MIT","_id":"@ambire/signature-validator@1.1.0","maintainers":[{"name":"0xdex18","email":"iam.digital@mailnova.com"},{"name":"0xstojnovsky","email":"emil@ambire.com"},{"name":"ivogeorgiev","email":"ivo@ambire.com"}],"homepage":"https://github.com/AmbireTech/signature-validator#readme","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"dist":{"shasum":"efc832a35283c33690616f98048903e726141810","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.1.0.tgz","fileCount":13,"integrity":"sha512-0cUSnLs5gubTApzgaAbdRVcXCSJwTpa2iIYgXXjVfy+dLHNSrQ1fTfnvZyWiIHSz18FogTqU7YAXNBlVwNBZjw==","signatures":[{"sig":"MEYCIQCFgwxAJ+4Mco9t2KTu3zDC0wF2sxzktCSUJU/0XtIV4QIhAMdKKqyOWkjVg6Nn795MqqCRE48N/KTRxktvsT88ckA4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":140276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZphBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoF8Q/9HJI1lNbT9f2meBliU5OUF3TpKRrwNR1/K54kha9yiL+1tnu2\r\nEc/iTKrKZ+48Xb6NY7A9TmvSm1QaOWeRZbSyTNolGRXyTOaBlHNZ+W/eZIkt\r\nYZ5zVNFENZFD376t/kyIDP5LWi+l+nUE/ItpcAtSnfOi0O3ElLcQe09lKLMf\r\n0rBTDf/yhnpVLJW5EsQpnYuH2WDw18xiYT9cmgA46jSthTIQplf5Wb/sgEFX\r\nLvGo4zOAbIYf5hRa3LPbgZ6g33Mex60zS0YOYeJAoDoGKDP3XYHCEaZNpjTg\r\n4pOebk95N2Gj1d2EBpCSANgPI/gooJgYXPNgTv3nAe7pvZbCMrqcp/oIEhQ+\r\nrjmz5i6K/y2+o5F7LIDMJ+oWFIRFOHqQWTke8Qyd7WINOoltS1FwuC9Z5ZZ0\r\npSJVp1xrq+s3rUbS2k096KFw0a7TwFmH6QMf6KmzEgi5Kiib1uBXZ/i/EBfD\r\nRV5DbIgmgtxdhDIWWb+wuFSrYgDQFRvrDCVZAtturn1PI1aOR4+pbbnUttYe\r\nbwfw6voBtVHG1xccjcQXYG3XZZXbp3Xp6ond338eSrYGXOAphmfRvLQMcey6\r\naLvMoQAod+S3SlZhLNVL1qWO8YUy8VkUusg3OtOw/e/kJ8PggOnNfpccKCee\r\n6JQB9XwQFNV5u7Fyw2FGIrBKyWbY35KgJKk=\r\n=u8Ch\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"59c675f82ab2b3241b92cd3cf405ab7072e7cb14","scripts":{"test":"tape ./tests/*.js | tap-spec"},"_npmUser":{"name":"ivogeorgiev","email":"ivo@ambire.com"},"repository":{"url":"git+https://github.com/AmbireTech/signature-validator.git","type":"git"},"_npmVersion":"7.20.3","description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","directories":{},"_nodeVersion":"16.7.0","dependencies":{"tape":"^5.5.3","ethers":"^5.6.5","tap-spec":"^5.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/signature-validator_1.1.0_1667668033646_0.373627134925149","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@ambire/signature-validator","version":"1.3.0","keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"author":{"name":"AmbireTech"},"license":"MIT","_id":"@ambire/signature-validator@1.3.0","maintainers":[{"name":"cmihaylov_dev","email":"cvetan.mihaylov@gmail.com"},{"name":"borislav.itskov","email":"borislav@devlabs.bg"},{"name":"0xdex18","email":"iam.digital@mailnova.com"},{"name":"0xstojnovsky","email":"emil@ambire.com"},{"name":"ivogeorgiev","email":"ivo@ambire.com"}],"homepage":"https://github.com/AmbireTech/signature-validator#readme","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"dist":{"shasum":"26ff42ac87a4d1e7e26b66633071a83c4f1570b1","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.3.0.tgz","fileCount":20,"integrity":"sha512-Qu0msDZFMTr0q+HVmrGpVUMMY8Bq4OjPHQMHMMTLbTwVqQ9aZcU87OCGX/WlFIEpbbqFEwAGriJLJu8RakqNMg==","signatures":[{"sig":"MEUCICJbSoJaNt2URsb5NmkDohdqCUvoXOEtQkKKi7Z9NRtuAiEAtjOYFZtzbNSpB4slegN/NrQPqNhS9YyNDOAH0CMcvBI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":171187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEqbWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJog/+N1mYnBKf1ib20SJPuKPICYe+A4fjPzZ0AeDX4vwAtaL6qynx\r\n8LpBdoWXMlnyFhrpihBpozeM5Uvp5BmkNbV8VbmruEJ+lj4Q50RJA0RZlkbL\r\ncRyXlktLPq41qdTQhNinkfqkW+tQClZfSZcXZWysSCeeu5Dbb1hdgAXX5fQb\r\ndJhcdujgHapyhwfCun0ub2xypVq8GwMorNFeXecZD0S95lUImwn7GJLt99Va\r\nQvo1doAgGp6hKqQtA+oe+7mfsRZh+zeZZLJJ85SPvw3zIvcwCzsjhZuioBqr\r\nXZTWo/sGnLxIliOWh2DZSyQ1qpJDlbl3UTeYvFtsk1QhGCgKTJBTkBhxfYOc\r\nWytmdKiNhA6kytTAzXajAxhnYBbe5sdslD1SxOkzjNnCGjcryxCa+jjaivIU\r\nj18dh8nhBLcO1ucxyl5Y3zO6F+HrPXZ0GW5cs/yl4YhRvTH5bRi+0KyMhYlH\r\nvISo7gfSJkisO5/VpT6Beiqi3NWmXFNmaTFMvmbJzWfvWL9smCGcXhja+ESj\r\nwR09/pIaLWtjqLSHFytMgRwCR9ecc/axKDv/PJtPM8nmRwdYyG7qEAwVOyxm\r\nu65F6/RbTt0zsmckI4t69cBN9NbZgMMhfKZZq0EQjYVeF6hkik6j+SlZOWdY\r\nQP1WjORFfN204yGRZEfO/GnC2HU29lDXOHg=\r\n=hxGj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"6c58589f844c8af0dba88779b4e3ef212be89640","scripts":{"test":"tsc && (tape ./tests/*.js | tap-spec)","build":"tsc"},"_npmUser":{"name":"ivogeorgiev","email":"ivo@ambire.com"},"repository":{"url":"git+https://github.com/AmbireTech/signature-validator.git","type":"git"},"_npmVersion":"7.20.3","description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","directories":{},"_nodeVersion":"16.7.0","dependencies":{"tape":"^5.5.3","ethers":"^5.6.5","tap-spec":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.9.5","@types/node":"^18.15.3"},"_npmOperationalInternal":{"tmp":"tmp/signature-validator_1.3.0_1678943958502_0.5828359584017015","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"@ambire/signature-validator","version":"1.3.1","keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"author":{"name":"AmbireTech"},"license":"MIT","_id":"@ambire/signature-validator@1.3.1","maintainers":[{"name":"cmihaylov_dev","email":"cvetan.mihaylov@gmail.com"},{"name":"borislav.itskov","email":"borislav@devlabs.bg"},{"name":"0xdex18","email":"iam.digital@mailnova.com"},{"name":"0xstojnovsky","email":"emil@ambire.com"},{"name":"ivogeorgiev","email":"ivo@ambire.com"}],"homepage":"https://github.com/AmbireTech/signature-validator#readme","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"dist":{"shasum":"d899aae3b26f65a3557b4d43b6fe4b50c6f9074b","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.3.1.tgz","fileCount":20,"integrity":"sha512-kR6Se3nhAGf1VMeun7V2Lml9KRXB5oz64vO2zGSg+dNaGq4BPDEjsNdr0PIKXZ8651sDlRCN7V9SzL5E2ddBYQ==","signatures":[{"sig":"MEYCIQDn8sThicMwI47SsfoKbaWI4tLFQk2+HfTuQjx4Mdi3uwIhAPA/Ymwv6av4CzyGVENwvzSNWSmt0ff9rTugIutOKQL/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":170812},"main":"dist/index.js","gitHead":"dabe1d3a8adac2cf6df0b41d825f8b7b8dae2d34","scripts":{"test":"tsc && (tape ./tests/*.js | tap-spec)","build":"tsc"},"_npmUser":{"name":"ivogeorgiev","email":"ivo@ambire.com"},"repository":{"url":"git+https://github.com/AmbireTech/signature-validator.git","type":"git"},"_npmVersion":"7.20.3","description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","directories":{},"_nodeVersion":"16.7.0","dependencies":{"tape":"^5.5.3","ethers":"^5.6.5","tap-spec":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.9.5","@types/node":"^18.15.3"},"_npmOperationalInternal":{"tmp":"tmp/signature-validator_1.3.1_1686676102561_0.5185876612484701","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"@ambire/signature-validator","version":"1.4.0","keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"author":{"name":"AmbireTech"},"license":"MIT","_id":"@ambire/signature-validator@1.4.0","maintainers":[{"name":"superkalo","email":"superkalo91@gmail.com"},{"name":"gergana95","email":"gergana@devlabs.bg"},{"name":"cmihaylov_dev","email":"cvetan.mihaylov@gmail.com"},{"name":"borislav.itskov","email":"borislav@devlabs.bg"},{"name":"0xdex18","email":"iam.digital@mailnova.com"},{"name":"0xstojnovsky","email":"emil@ambire.com"},{"name":"ivogeorgiev","email":"ivo@ambire.com"}],"homepage":"https://github.com/AmbireTech/signature-validator#readme","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"dist":{"shasum":"75554587755c22b2a93d151f48ae0333dd23bca3","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.4.0.tgz","fileCount":23,"integrity":"sha512-FlJ+UIlmZSQKRFiZm0JBbNoDl1wC5zL0aeUa9TU6UvbqHnmPZulgqoYeu+3bT27wBkBC1Pxw+o6v6qj5BoJ7Ng==","signatures":[{"sig":"MEYCIQDsyZTOLNOzm5h7bn+tXqDk3hIw1fcx4+9X855hFU925wIhAJTS6bX+wh0RGw0rIEKu8mp2Ggl/Io+80Lj/PqaCL6Fb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":574141},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"735756ef39f8fbffec859ea2e4b03365697f2ca6","scripts":{"test":"tsc && (tape ./tests/*.js | tap-spec)","build":"tsc"},"_npmUser":{"name":"ivogeorgiev","email":"ivo@ambire.com"},"repository":{"url":"git+https://github.com/AmbireTech/signature-validator.git","type":"git"},"_npmVersion":"10.7.0","description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","directories":{},"_nodeVersion":"18.20.4","dependencies":{"tape":"^5.5.3","ethers":"^5.6.5","tap-spec":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.4","@types/node":"^18.15.3"},"peerDependencies":{"viem":">=2"},"_npmOperationalInternal":{"tmp":"tmp/signature-validator_1.4.0_1725776713448_0.6300580207693682","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"@ambire/signature-validator","version":"1.4.1","keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"author":{"name":"AmbireTech"},"license":"MIT","_id":"@ambire/signature-validator@1.4.1","maintainers":[{"name":"superkalo","email":"superkalo91@gmail.com"},{"name":"gergana95","email":"gergana@devlabs.bg"},{"name":"cmihaylov_dev","email":"cvetan.mihaylov@gmail.com"},{"name":"borislav.itskov","email":"borislav@devlabs.bg"},{"name":"0xdex18","email":"iam.digital@mailnova.com"},{"name":"0xstojnovsky","email":"emil@ambire.com"},{"name":"ivogeorgiev","email":"ivo@ambire.com"}],"homepage":"https://github.com/AmbireTech/signature-validator#readme","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"dist":{"shasum":"0fd247f371121f11192edd40c128700bd079150b","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.4.1.tgz","fileCount":23,"integrity":"sha512-xNs+M305zRNubfhRw+CxVMsECSjOJNPIn54d8Vq/WIVnM1KUdJHHBGNg9HqUdIodyT9I8XtD6WSTyNFbGSaivA==","signatures":[{"sig":"MEYCIQD2PEYUMflvJS0usdaNRp7vZFPNlrxYGVW0zgv3rPqknQIhAKT9qvofjCEDGUt/37d359JoxgB74rhaOQ1dNas08uoD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":574308},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"b5adce5707306a6ba396d58f092719749883e509","scripts":{"test":"tsc && (tape ./tests/*.js | tap-spec)","build":"tsc"},"_npmUser":{"name":"ivogeorgiev","email":"ivo@ambire.com"},"repository":{"url":"git+https://github.com/AmbireTech/signature-validator.git","type":"git"},"_npmVersion":"10.7.0","description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","directories":{},"_nodeVersion":"18.20.4","dependencies":{"tape":"^5.5.3","ethers":"^5.6.5","tap-spec":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.4","@types/node":"^18.15.3"},"peerDependencies":{"viem":">=2"},"_npmOperationalInternal":{"tmp":"tmp/signature-validator_1.4.1_1725776818791_0.5336031367710006","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"@ambire/signature-validator","version":"1.5.0","description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","main":"dist/index.js","scripts":{"test":"tsc && (tape ./tests/*.js | tap-spec)","build":"tsc"},"keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"repository":{"type":"git","url":"git+https://github.com/AmbireTech/signature-validator.git"},"author":{"name":"AmbireTech"},"license":"MIT","bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"homepage":"https://github.com/AmbireTech/signature-validator#readme","peerDependencies":{"viem":">=2"},"dependencies":{"ethers":"^5.6.5","tap-spec":"^5.0.0","tape":"^5.5.3"},"devDependencies":{"@types/node":"^18.15.3","solc":"^0.8.30","typescript":"^5.5.4"},"_id":"@ambire/signature-validator@1.5.0","gitHead":"6c57f4a8029521c1b5163f0f79c647a835193398","types":"./dist/index.d.ts","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-5axPlQGINg8TXLBzhsraIGlPhyzpopuSPdEfOBSpegOeXLd8RCD3KvCr6uF06k1ZDTSLG6P8A3GVPDrD8X7C/A==","shasum":"a4a41865cdaf6278cb8235d64da4ae2067bdc73d","tarball":"https://registry.npmjs.org/@ambire/signature-validator/-/signature-validator-1.5.0.tgz","fileCount":20,"unpackedSize":563752,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCgb8pCPFZRw7U3QeBJWneiiK+0WkICl5n10I6CsXdaDQIgbMnb7GcHICJXvHnrpeddE9OZGWUv4/R/2pE2k96/b7g="}]},"_npmUser":{"name":"borislav.itskov","email":"borislav@devlabs.bg"},"directories":{},"maintainers":[{"name":"ivogeorgiev","email":"ivo@ambire.com"},{"name":"0xstojnovsky","email":"emil@ambire.com"},{"name":"0xdex18","email":"iam.digital@mailnova.com"},{"name":"borislav.itskov","email":"borislav@devlabs.bg"},{"name":"cmihaylov_dev","email":"cvetan.mihaylov@gmail.com"},{"name":"gergana95","email":"gergana@devlabs.bg"},{"name":"superkalo","email":"superkalo91@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/signature-validator_1.5.0_1757681108722_0.7700969798637181"},"_hasShrinkwrap":false}},"time":{"created":"2022-05-05T12:04:30.210Z","modified":"2025-09-12T12:45:09.236Z","1.0.0":"2022-05-05T12:04:30.425Z","1.0.1":"2022-05-07T09:52:26.154Z","1.0.2":"2022-05-10T13:22:36.257Z","1.0.3":"2022-05-16T10:55:05.470Z","1.1.0":"2022-11-05T17:07:13.823Z","1.3.0":"2023-03-16T05:19:18.775Z","1.3.1":"2023-06-13T17:08:22.820Z","1.4.0":"2024-09-08T06:25:13.687Z","1.4.1":"2024-09-08T06:26:59.070Z","1.5.0":"2025-09-12T12:45:08.970Z"},"bugs":{"url":"https://github.com/AmbireTech/signature-validator/issues"},"author":{"name":"AmbireTech"},"license":"MIT","homepage":"https://github.com/AmbireTech/signature-validator#readme","keywords":["ethereum","smart-contracts","evm","signature-validation","ethers","ethersjs","cryptographic-signatures","ethereum-signer","eip712","eip1271","signtypeddata"],"repository":{"type":"git","url":"git+https://github.com/AmbireTech/signature-validator.git"},"description":"Signature validation library aiming to verify all different signature types for Ethereum and other EVM chains, including smart contract signatures (EIP 1271) and typed data (EIP 712)","maintainers":[{"name":"ivogeorgiev","email":"ivo@ambire.com"},{"name":"0xstojnovsky","email":"emil@ambire.com"},{"name":"0xdex18","email":"iam.digital@mailnova.com"},{"name":"borislav.itskov","email":"borislav@devlabs.bg"},{"name":"cmihaylov_dev","email":"cvetan.mihaylov@gmail.com"},{"name":"gergana95","email":"gergana@devlabs.bg"},{"name":"superkalo","email":"superkalo91@gmail.com"}],"readme":"# Signature Validator library\n\nAs signatures can be daunting at times, this is a library aiming to implement universal signature verification, supporting: \n\n- Standard message verification (`eth_sign`)\n- EIP-712 Typed data verification (`eth_signTypedData_v*`)\n- ERC-1271 Smart contract on-chain verification (`isValidSignature`)\n- [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492): Signature verification for pre-deploy counterfactual contracts\n\n### Usage\n\n---\n\nSimple `eth_sign` verification\n```ts\nimport ethers from 'ethers';\nimport { verifyMessage } from '@ambire/signature-validator';\n\nconst provider = new ethers.providers.JsonRpcProvider('https://polygon-rpc.com')\n\nasync function run() {\n\t// Replace `ethers.verifyMessage(message, signature) === signer` with this:\n\tconst isValidSig = await verifyMessage({\n\t    signer: '0xaC39b311DCEb2A4b2f5d8461c1cdaF756F4F7Ae9',\n\t    message: 'My funds are SAFU with Ambire Wallet',\n\t    signature: '0x9863d84f3119ac01d9e3bf9294e6c0c3572a07780fc7c49e8dc913806f4b1dbd4cc075462dc84422a9b981b2556f9c9197d76da7ba3603e53e9300869c574d821c',\n\t    // this is needed so that smart contract signatures can be verified; this property can also be a viem PublicClient\n\t    provider,\n\t})\n\tconsole.log('is the sig valid: ', isValidSig)\n}\nrun().catch(e => console.error(e))\n```\n\nFor more examples, you can check the /tests folder\n\n### viem support\nThe `provider` property can also be a `viem` `PublicClient`, as shown in the tests (`testConfig.js`).\n\n### On-chain usage\nFor on-chain usage, we've deployed a singleton here: https://etherscan.io/address/0x7dd271fa79df3a5feb99f73bebfa4395b2e4f4be#code\n\nAnd it can be deployed at the same address on every othe EVM network thanks to EIP-2470. If you wish to deploy it yourself, just use the [singleton factory](https://etherscan.io/address/0xce0042B868300000d44A59004Da54A005ffdcf9f) (use the target network's explorer) and use the bytecode resulted from compiling `UniversalSigValidator` from [EIP-6492](https://eips.ethereum.org/EIPS/eip-6492) with Solidity 0.8.28 and salt `0x0`.\n\nPlease note that onchain use cases are rare, but they do exist. For example, if you have a DEX that stores the user's orders in the form of signed messages that can be applied on-chain by anyone at any time, you may reason that sometimes an account that isn't deployed yet might want to submit such an order.\n\n### Porting the library to other languages (eg Golang, Rust)\nPorting can be done very easily because the library is now essentially just a single `eth_call`, thanks to the univeresal signature verifier being implemented in Solidity [here](https://github.com/AmbireTech/signature-validator/blob/main/contracts/EIP6492Full.sol).\n\n### Debugging utility / user interface\nTo test signatures in an easier manner, you can use the signature-validator UI here: https://sigtool.ambire.com/\n\n### Security\nA formal audit was done on the ERC-6492 reference implementation used here, and all remarks were resolved. You can find the audit [here](./ERC6492-Hunter-Security-Audit-Report-V1.0.pdf). This repo uses a [simplified variant of that reference implementation](./contracts/EIP6492.sol) that the audit also applies to (except all of the issues related to `prepare` which is not used here).\n\nFurthermore, you can self-audit the library quite easily as it's only ~80 lines of code (index.js).\n\n### Testing\n\n```\nnpm i --development\nnpm test\n```\n","readmeFilename":"README.md"}