Giter VIP home page Giter VIP logo

dnsprovejs's Issues

Rewrite dnsprovejs

We'd like to have a robust, reusable component for creating, publishing, and checking DNSSEC proofs. This library provides a starting point, but needs substantial work.

We'd like to see a rewrite, with the following goals:

  • A query method that takes a record type and name, and returns a result with cryptographic proof where available. Basic functionality (eg, without verifying proofs or recursing) should work without reference to a deployed contract.
  • Verification of the validity of the proofs before they're submitted to the chain (this could use deployed contracts to avoid reimplementing verification code).
  • Interface between query code and oracle should be as simple as possible, and available for implementation by other providers.
  • Configurable choice of supported DNSSEC algorithms and digests.
  • An API that distinguishes between different failure cases: Record does not exist, DNSSEC not enabled, unsupported algorithm, invalid proofs, expired signatures, etc. This is crucial so UIs can tell users exactly what needs to be fixed.
  • Configurable choice of DNS-over-HTTPS endpoint, with defaults.
  • Accepts a web3 provider, and does not require the user to use a specific web3 library.
  • Support for contracts that proxy the DNSSEC oracle - for instance, the DNS registrar.
  • Thoroughly documented API.
  • Extensive unit test coverage.
  • Implemented in TypeScript.

Interested participants should submit a proposed outline for the API before being approved to begin work.

TXT _ens.jeng.xyz has no proofs already known

I am getting TXT _ens.jeng.xyz has no proofs already known when I am trying to register my domain at https://app.ens.domains and the full log is attached below.

_ens.jeng.xyz 169 IN TXT "a=0x4f23Bd7d62d8D5FEeAfE66B0706D8D794aF2fCb6"
_ens.jeng.xyz 169 IN RRSIG TXT 13 3 300 1618232405 1618224905 56547 jeng.xyz H/AzcZR/F3RaAjjfaqoJi2/eiUfZDa3SZV1GEjIX5WryxTYXvDtXQvb7YcuE6JmTduT/Wn0h1mm5N2VE2pseEw==
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,361 INFO [dnsprovejs] Found 1 TXT records for _ens.jeng.xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,361 INFO [dnsprovejs] Found 1 RRSIGs over TXT RRSET
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,362 INFO [dnsprovejs] Attempting to verify the TXT RRSET on _ens.jeng.xyz with RRSIG=56547/P256SHA256
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,376 INFO [dnsprovejs] Query[jeng.xyz DNSKEY]:
jeng.xyz 3117 IN DNSKEY 256 3 13 T4TK0CGYJrW1O96DUnQN95hsehsCWQ2cry0TRzc8a9tXZcnJlJEXXFzUSWtlLIAtaoG5z/TiwrZ7yzjJ29I09w==; keyTag=56547
jeng.xyz 3117 IN DNSKEY 256 3 13 biMKapLcXltzHAKN3LzEH+hd45E5GlM7dUTY4Ei22ZyXaY/mHCDsWNNJZUVVa+56Fop2IkauWEUCb8+kkqppdg==; keyTag=62249
jeng.xyz 3117 IN DNSKEY 257 3 13 2VoA2Ij13OjVYfNo+ffts4Vhm1m5fv7+LBviiM/05KQlyTohoUfuOar573s063zwI3W7ahvBcgOY2scyoWzs/g==; keyTag=10215
jeng.xyz 3117 IN RRSIG DNSKEY 13 2 3600 1618250400 1618210800 10215 jeng.xyz DzgEjKdujN5a2LFc6AVWZ5n63LjBcbiGni0Bu0Ty6kpQhlcoae4AljL6MRWfS1TwUyYCfr0aet3EedUyKbjbqA==
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,376 INFO [dnsprovejs] Found 3 DNSKEY records for jeng.xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,377 INFO [dnsprovejs] Found 1 RRSIGs over DNSKEY RRSET
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,377 INFO [dnsprovejs] DNSKEY RRSET on jeng.xyz is self-signed; attempting to verify with a DS in parent zone
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,393 INFO [dnsprovejs] Query[jeng.xyz DS]:
jeng.xyz 3119 IN DS 10215 13 2 ff0e149a5d63fd46d4a28bc05a2e8f549f62289242cdb8012b0fe1b32f0acd17
jeng.xyz 3119 IN RRSIG DS 8 2 3600 1619096532 1616479438 16176 xyz EjzGxgK1ik1W5X3SeTgymMGhxBPkTZBiOyDzW+VdMLqXU/lmnbRZ45ww+VTtnysuy6TGBFS5chxTXkN2do2Y2nCe1lFLddvEDHZvzFeMWYn6l84MeJ7Bu2iVUtMBDPhqT7DAKm1ZGFnu+9ppOgcvhUp6r620OkfX+UrxXJNbA9Q=
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,393 INFO [dnsprovejs] Found 1 DS records for jeng.xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,394 INFO [dnsprovejs] Found 1 RRSIGs over DS RRSET
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,394 INFO [dnsprovejs] Attempting to verify the DS RRSET on jeng.xyz with RRSIG=16176/RSASHA256
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,409 INFO [dnsprovejs] Query[xyz DNSKEY]:
xyz 2125 IN DNSKEY 256 3 8 AwEAAZt8+22nz9lKirxD0yqYrDlR7E6dxJaQL4XRZbrbafV5HvTsS0l/kGhVdalqfWuJPoBHmPv2GCvrSYW1qDJQM3JGn8T2Fnjyxuu1slEeE/4rH3FOzvzKFQeVi/WW+YBdNqvPnHcgmNQY3jxQOKkLU0b1i2jWq5yVzr0naSxf1pe1; keyTag=22414
xyz 2125 IN DNSKEY 256 3 8 AwEAAfkabABLYZi3n75UfIC26tn5tbycugQAwqUjgAQLRICnDm81vji9Vd3odIiuf/vZu2NMKWYC5PbN87JpAniWjQIannJ7VyMq9EADpJo4LLhVNc/tu7Ff9bum1o56IM8E7ety5HLqIztOfeOggtiUUe5825lhzJlPIxVHXo7NNitX; keyTag=16176
xyz 2125 IN DNSKEY 257 3 8 AwEAAbYRTzkgLg4oxcFb/+oFQMvluEut45siTtLiNL7t5Fim/ZnYhkxal6TiCUywnfgiycJyneNmtC/3eoTcz5dlrlRB5dwDehcqiZoFiqjaXGHcykHGFBDynD0/sRcEAQL+bLMv2qA+o2L7pDPHbCGJVXlUq57oTWfS4esbGDIa+1Bs8gDVMGUZcbRmeeKkc/MH2Oq1ApE5EKjH0ZRvYWS6afsWyvlXD2NXDthS5LltVKqqjhi6dy2O02stOt41z1qwfRlU89b3HXfDghlJ/L33DE+OcTyK0yRJ+ay4WpBgQJL8GDFKz1hnR2lOjYXLttJD7aHfcYyVO6zYsx2aeHI0OYM=; keyTag=3599
xyz 2125 IN RRSIG DNSKEY 8 1 3600 1619633993 1617067084 3599 xyz hYwIwurIk4+LWveI5ZLLnJmvFhIUDPTpPQecqR+CjCCLBm6pXG5GKqmJ/roJapMSJyPwMGh+0OjOr5THjR6ajaHZj8y4A8AomcXYSW2uVJcgf2qOS1Arf8P0x7zYkiuvHnNQih6LCy0XmjwKc5l+nSpBfV+xtk/muTCZo56z2hUGLbke+CSDec8iYXtTuSvABcQTsVxdatnGCGirkBiFow7PO+6Uuf4QNlyljZh0ycrrzqIj5SjKb9rCyIhNZpyc5kI9Y6aw7kLydBbNhxLxT5CbP2T+kMpRH5wAf+LTLWAukJyrqQxu2fgNTwKOcZV0WNul0UeHbQHygpU8SHsyMA==
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,410 INFO [dnsprovejs] Found 3 DNSKEY records for xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,410 INFO [dnsprovejs] Found 1 RRSIGs over DNSKEY RRSET
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,410 INFO [dnsprovejs] DNSKEY RRSET on xyz is self-signed; attempting to verify with a DS in parent zone
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,424 INFO [dnsprovejs] Query[xyz DS]:
xyz 85915 IN DS 3599 8 1 3fa3b264f45db5f38bedeaf1a88b76aa318c2c7f
xyz 85915 IN DS 3599 8 2 b9733869bc84c86bb59d102ba5da6b27b2088552332a39dcd54bc4e8d66b0499
xyz 85915 IN RRSIG DS 8 1 86400 1619326800 1618200000 14631 . Bcv3B6UUaeIt55roXArV8HgdH7WwTRPk2mSGn8cr+2OEOPObk2xDIVZJD+pL8yCmehlqlVRHi1Z/Ve4UyYDQK+LGhJngriwA+a6u5COIArAU6B8w9ghbcbJRJvwnf4DsrWo/y8jXJg26w+gwGtCSNcGrUuThE7gqQhLuVnEEHFpKWRnyKzwLqYcNVRHRcNkqawUUvb/Ms1p9WpkMmp0nyZAtFZAos4aL/kWpZMQ2PY34k+6TSpbA5rEGTQY19oHx6FdL1h2+aKtfVmocxBf2S77oRRQtHI4Ml1vpswPFfTobHLgc/AsM2kltTnwzRLMDXg4JfaBz1cCJgXOZz9PDJA==
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,425 INFO [dnsprovejs] Found 2 DS records for xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,425 INFO [dnsprovejs] Found 1 RRSIGs over DS RRSET
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,425 INFO [dnsprovejs] Attempting to verify the DS RRSET on xyz with RRSIG=14631/RSASHA256
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,439 INFO [dnsprovejs] Query[. DNSKEY]:
. 1735 IN DNSKEY 256 3 8 AwEAAa+HvD7XXjmL+1htThUQyZW7oWGnjzKHJASg3TSR5Bmu5LfnSVW7fxqZa2oAYo2ionIQWyqAj/loApzg8GNMhyIibftPJso54uWRQ2GaoMrwLD5SLu676kf7urJq6nqdjNC0aJM/C888li69lVH6tiu2tZm1NH3cmgfnMUJpD60bsrDUqs7XwftmNkdkHa4ltQbM3UNPyfTaNBQYoH3wpOpSjdk3tyDRnreBO6Idrw+DGf/rve4sL3qiSaXfYIkcwAwozxR34iHU5dbCDs8S6FmZYhoSVKVgNSUkudxhd9/6RrZkYRgvwRsQXl3UwsacU1DsXcORqIC+7NlQ6M2OJVU=; keyTag=14631
. 1735 IN DNSKEY 257 3 8 AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=; keyTag=20326
. 1735 IN RRSIG DNSKEY 8 0 172800 1619913600 1618099200 20326 . SjVAq5V3zP96wlXZKWIo3oDNvWyKnwmIl7/HSmnxJ77WX0dmpJxN+c7wTFGzMro6kuZCYAhZgsWb3G7lBEAeiw/Y6hQGK1IdLMH4YMoSoxvdw6u0DkvxiodZUatJblMajeF0Rw8W67I4pwYpwOByZ+3WaTr/nk0sWFir7+1tNbWbPrUNb8E8pHFzW9g7vMATiFnM+jXmZVVbueGnzOSmjo34ow9iAQ7V1OcYVtHTxQVMbfNurnEbEi7XnqYtRacNUkvIv0Fpmb9Yi7wlhV/syyu61p3MMoLnSQydYfsI+may7SoH+I6NQk2a2d3Nvzh5nbNd++cu8aRGX3ZtfreUmQ==
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,439 INFO [dnsprovejs] Found 2 DNSKEY records for .
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,439 INFO [dnsprovejs] Found 1 RRSIGs over DNSKEY RRSET
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,439 INFO [dnsprovejs] DNSKEY RRSET on . is self-signed; attempting to verify with a DS in parent zone
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,443 INFO [dnsprovejs] DS=20326/RSASHA256/SHA256 verifies DNSKEY=20326/RSASHA256 on .
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,443 INFO [dnsprovejs] RRSIG=20326/RSASHA256 verifies the DNSKEY RRSET on .
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,444 INFO [dnsprovejs] RRSIG=14631/RSASHA256 verifies the DS RRSET on xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,444 WARN [dnsprovejs] Unrecognised digest type for DS=3599/1/RSASHA256 on xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,445 INFO [dnsprovejs] DS=3599/RSASHA256/SHA256 verifies DNSKEY=3599/RSASHA256 on xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,446 INFO [dnsprovejs] RRSIG=3599/RSASHA256 verifies the DNSKEY RRSET on xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,446 INFO [dnsprovejs] RRSIG=16176/RSASHA256 verifies the DS RRSET on jeng.xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,446 INFO [dnsprovejs] DS=10215/P256SHA256/SHA256 verifies DNSKEY=10215/P256SHA256 on jeng.xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,447 INFO [dnsprovejs] RRSIG=10215/P256SHA256 verifies the DNSKEY RRSET on jeng.xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:15,447 INFO [dnsprovejs] RRSIG=56547/P256SHA256 verifies the TXT RRSET on _ens.jeng.xyz
2.3c83a432.chunk.js:2 2021-04-12 19:57:17,223 INFO [dnssecoraclejs] TXT _ens.jeng.xyz has no proofs already known```

Execution reverted at `serialNumberGte()`

input data

0x8bbedf75000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000000c0670757462746303636f6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000051002b08020001518061347a11612b2f2999af03636f6d000670757462746303636f6d00002b0001000151800024d6930d02424fb01bf5a21ee88cec76a1ddfa6b21bcd873d16b2dc8530824fb2309ff0c1800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a02c084e87135bddd71f380375fc1dd2bce9e2b2390aa799cf3e1ef6722472e36fbfda79b1c616f9584fcdbfbc43e3d6ea89d669032a98d083278602a9e41c176b5ab125a44b247dc6eaa97c561a676d86f95588e9487a3126759646d16a6f81234d0986372f5b85947035a43a9764b51b2bd2412530b7bc4f165ec0c32d7ef5d2bab08bfac70a7460a91df7351e508219ee94889ba01af63a04a375183db136380000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000d200300d0200000e10cee54ec35e1beb43d6930670757462746303636f6d000670757462746303636f6d000030000100000e1000440100030d8d51a0b4257145395e19afccc9e4aebe68cc513b1f0d0d4606bb7981e26a47df5e0ead0c625be0e7da4a2ca84a4527d7e0818a5feaa9ca1839a635d81618ba600670757462746303636f6d000030000100000e1000440101030d911faea4f68a4c632eeca13d694ae5b3c63f00445c8009cf94883fc1a9a0f487b8d756a1f5ae9e3a07db7e4595cff39c9813d8b6786243ad8d3eb394b8a9b81e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1bae4445b93ca9f783192e54dc3a44585fe1259032321b8554f8cb7c08a4b81dbc3c4039a5e052174e031fea3fb5bd9eb8d6b4cd447afef4306ec69f394737c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000006600100d0300000258612f506b612c914bdb310670757462746303636f6d00045f656e730670757462746303636f6d000010000100000258002d2c613d307836633638423743423535664643423363323730353131303743416633666444653564396446323339000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000408bbba82df61b3116c70f8f6f71ba4c224cac9650693242f78c3cbdc1ee5f639c81a23fd6e0e039b8a9ad6e19021fc7bb8e22f8163d648ea0d0067d3c8ef967a600000000000000000000000000000000000000000000000000000000000001cc03636f6d00003000010001518000a80100030803010001c1d6ab82bdae5232914c8ccf42e0fc7001e7366b3fa158fe5819cdeafe0c637837a37b86e475433c8b0fb7645fb2af29de2a42f2bd737ace4991528b45d6294ae1e404ebc84b4c4d09a2c87d9e994671dae69aae00ce7ef6a55e00e6604eadf20d752dff9884a6582adc92b912630bfc0abec5a7d29a739efc80b5b89dcd18bbc29bcb36d80e82ee28bfc7ddcf883c10153710dc176353c9b26bc113568c5c4d03636f6d0000300001000151800106010103080103c3ce574d98cbd9157e0d70d274b849ca0e0eed9affc5dccc9047496906655c35cb08b33c4d171b017ca356f4960262aa6293cdfae8b13b55b21c351cdfa7687d38ef07465f87f84d3ccdab8af24edebd6126bbfea877ed9ba2080fa2211f18dcaf34f69223b14e22ba03b27c3fb5a820cc7457d59ed23a23a23d63cd230494c96399efd566710d462e40ba36562f1b71f0626ca742fea81701affca10b4b0ed949dadb4d0d075ef65ba8c508ec168cb249af826d46ee8299d58885ecef62a1535cd3eec049baa664ded9f7c10653f421d8afc18147bc1ecd1755c74f2abb72627a101dddb29ca3dc30c953122876ff61c31e344f2766b2c08a4a367bf8a0fa3f0000000000000000000000000000000000000000

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.