├── .gitignore ├── README.md ├── Transcript_spec.md ├── docs ├── 01_start.png ├── 02_validation_type.png ├── 03_validating_signature.png ├── 04_signature_validated.png ├── 05_downloading_points.png ├── 06_points_downloaded.png ├── 07_python_dependencies.png ├── 08_validating_inclusion.png └── 09_attestation_signed.png ├── g1points └── keys ├── g2points └── keys ├── index.js ├── package-lock.json ├── package.json ├── points.json ├── prompts ├── address.js ├── attestation.js ├── dependencies.js ├── fetch.js └── validationType.js ├── recover-address.js └── scripts ├── checkPairing.py ├── g1.sh ├── g2.sh ├── parseTranscripts.js ├── recoverAddress.sh ├── signAttestation.js ├── signatures.sh └── transcripthashes.sh /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *points/*.dat 3 | setup_db/* -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Point verification script 2 | 3 | AZTEC ran Ignition, an MPC ceremony to generate a CRS for our privacy network and other zero-knowledge systems like PLONK from October 25th 2019 to the January 2nd 2020. 176 individuals and institutions took part, each generating randomness and adding it to the previous participant's contribution. If even one participant acts honestly and destroys the randomness they generated, the CRS can be trusted. 4 | 5 | Each participant generated 100.8 million BN254 points. Each one of these contributions is broken up in 20 files themselves structured according to [this spec](/Transcript_spec.md). 6 | 7 | # Purpose 8 | 9 | With this repo, you can: 10 | 11 | 1. Verify that each participant signed the SHA256 digest of each transcript file they generated 12 | 2. Verify that each participant built upon the previous participant's contribution 13 | 3. Sign an attestation that you verified your contribution 14 | 15 | (1) ensures that contributions were in fact uploaded by the owner of the private key associated with the address which participated, and were not replaced or otherwise tampered with. 16 | 17 | (2) proves that each contribution was combined into the final output, and none were discarded. 18 | 19 | (3) can be posted publicly, and helps demonstrate to non-participants that a number of independent individuals and institutions took part. 20 | 21 | # Requirements 22 | 23 | In order to run the tools in this repo, you will need: 24 | 25 | - Python 3 26 | - Node >10 27 | - pip3 28 | 29 | # Installation 30 | 31 | After cloning this repo, you will need to install npm dependencies by running `yarn install` or `npm install` in the root directory. 32 | 33 | # Validation 34 | 35 | To launch the validation CLI, run `npm run validate` or `yarn run validate`. Your terminal should display the following: 36 | ![start](/docs/01_start.png) 37 | 38 | To start, enter the address associated with the contribution you would like to validate. 39 | 40 | You will be presented with a prompt to chose which type of validation you would like to carry out: Signature validation (1), Inclusion validation (2), or both. 41 | 42 | ![validation](/docs/02_validation_type.png) 43 | 44 | ## Signature validation 45 | 46 | ### [Script](/scripts/recoverAddress.sh) 47 | 48 | This step will: 49 | 1. Download the participant's transcript 0 50 | 2. Compute the SHA256 digest of the downloaded file 51 | 3. Fetch the signature which was submitted by the participant when they took part 52 | 4. Use the hash generated in (2) and the signature from (3) with ECRECOVER to extract the public key of the key pair which generated the signature from (3) 53 | 5. Compare the address derived for the public key in (4) to the address you submitted to the validation script 54 | 55 | ![sig validation](/docs/03_validating_signature.png) 56 | 57 | If successful, you will see the computed hash, the fetchd signature, and the recovered address. 58 | 59 | ![sig validation](/docs/04_signature_validated.png) 60 | 61 | The transcript downloaded and signature file can be found in the `setup_db` folder. 62 | 63 | ## Inclusion validation 64 | 65 | ### [G1 point download script](/scripts/g1.sh) 66 | ### [G2 point download script](/scripts/g2.sh) 67 | ### [Point parsing script](/scripts/parseTranscripts.sh) 68 | ### [Pairing check script](/scripts/checkPairing.py) 69 | 70 | This step will: 71 | 1. Download the first G1 point and the first G2 point from each participant's transcript 0 72 | 2. Install the `py_ecc` python library 73 | 3. Do some light parsing of the downloaded points, transforming binary blobs into EC points 74 | 4. Run a pairing check establishing that the contribution being validated built upon the previous participant's contribution, and was built upon by the next participant 75 | 76 | ![downloading points](/docs/05_downloading_points.png) 77 | ![python deps](/docs/07_python_dependencies.png) 78 | ![validating_inclusion](/docs/08_validating_inclusion.png) 79 | 80 | The output of the script will display a series of EC points (2 G1 points, 1 G2 point), and the pairing check which was performed using these points. 81 | 82 | The two equalities which will be checked are: 83 | 84 | `e(G2_generator, current_participant_first_g1) = e(current_participant_g2, previous_participant_first_g1)` 85 | 86 | and 87 | 88 | `e(G2_generator, next_participant_first_g1) = e(next_participant_g2, current_participant_first_g1)` 89 | 90 | # Attestation 91 | 92 | ### [Script](/scripts/signAttestation.js) 93 | 94 | After you have validated a contribution and if you own the associated private key, you can optionally sign an attestation that you have validated your contribution. 95 | 96 | ![attestation](/docs/09_attestation_signed.png) 97 | 98 | You can publicly post this attestation to link a public profile of yours with a contribution, proving to future users of the output of Ignition that multiple, independent individuals/institutions took part. 99 | 100 | # List of participants 101 | 102 | ``` 103 | 0xdbbbef6a9db7ae52e73673747ece3407d8540307 104 | 0x740cf03808d45ce6d7519cdaa8c4bafbc0409d8e 105 | 0x75d87981d5df0490e2949fb7f1936f16f3b85110 106 | 0x7dc00a021cad0cafa9696d7430883a48772aa9bd 107 | 0x69dbe791cffd6295a1327f0d2015eaf6e2f52c1d 108 | 0x1891ef0a3cdae5b96782bd9e65cdf014ae3c9587 109 | 0x3b16821a5dbbff86e4a88ea0621ec6be016cd79a 110 | 0xe570b479145327965b88707fe6695316b5982b16 111 | 0x1454a61f1d2a90790e04653d02aee637d995f110 112 | 0xeeb6cd10a623f8aa2d6b986a842b8340bfab38dd 113 | 0x7e5708ded50e35c23d7ef9e22e25412c509b2fcd 114 | 0xc7fe9fa93b8b941b714a4158118f5745f42003d6 115 | 0x39b3dcdcda1da7051d1ee6df66d3c1d494b4b35f 116 | 0x96914c4e5b6ff913522df06604f60a7b26930049 117 | 0xdfa007c4b7d0e8dbc87562f564024793d2115129 118 | 0xd65b1a3f74d0e65fb8c37755fc4a8bf9c723383e 119 | 0xdc08baed2e27e2d69dc479cbfa2d0ec1f45240ab 120 | 0x3c22b9cbf6d53d9e00ea506e79f8d0a2233b53c8 121 | 0x918a858ed47a61e6866ce475f219ec81feece613 122 | 0xdcfb6b6c9613753c0cb6ad0f760e26d496d3c86b 123 | 0x53d389867702b19b5b7ba9a12d60b727eae14bb0 124 | 0x6a8d553a35122adac225bffa2d97a5ef9549be0e 125 | 0x7fc43eabcfc9a1a277bee4aa71b1b91f6295787b 126 | 0xacaf87a99d8056d5a2e8daf1a9754301319f2d2e 127 | 0x64cb0559ecf1bc692e68b3bac5bfd6391bb161ce 128 | 0xdb8f5f7bc1086e59ac909aa845effa09fde735eb 129 | 0x864aad25c18680518726cff817f4c7dfa982623a 130 | 0x2717aa4d36423416cfa3a716c6a5a8ea108104ca 131 | 0x913fd60887e7b99f2ee9115a79f3c5886ad2d47a 132 | 0xf95b7ab89fd7d2365a7e6e6a6362489471cd423f 133 | 0x0cd54126cf2a83bd0c81f46d99eab8b80d202544 134 | 0x3e00521af2e1ef745bb4e59ed80cac14a9103e3c 135 | 0x1e7c4a7ec5ee819c6d1db0c10015b73832752a41 136 | 0x6c6ef314b536682574a4d5536ae210e3fc7a2e83 137 | 0x63f3357c29b029d90789014cfce5f1b50762f456 138 | 0x826fee669f9ff0b1d83988a5195e739d0c08d476 139 | 0x67156e0f96b43b8e30934f7a809b356c5148721f 140 | 0xf02f630d1f2fac0b6c070b7a02a25d534e87c5ec 141 | 0xf053adb5d6310219f84b5792db23a4fed3c25d57 142 | 0x9f6926882d651affb16975c795b6c2b71348f791 143 | 0x5b8e94f4dc4c0cc2989c1ceff7adb7b7f83fc9d7 144 | 0xad025662656c27779e7893c8923eb8098c28ab01 145 | 0xfc2ec6a21004b9f79ff1ac69e352ec512be6a5aa 146 | 0x08d816526bdc9d077dd685bd9fa49f58a5ab8e48 147 | 0x037b22bd2ed3df1e5bb8fbf7faa2feac9dda22b0 148 | 0x29cfee3953a95a04f78725cf8a83943571441393 149 | 0x99a33899af30ad2515c9a6b0968983c098fc8420 150 | 0x43f9d5d896055825aecd5736b01d88ffee58ed9f 151 | 0x6b542c6ffc8e3880dbd443225d513f1903315859 152 | 0x9037a75c997bba5243a884122e9ac5b9c26ee3e2 153 | 0x7ab874eeef0169ada0d225e9801a3ffffa26aac3 154 | 0xc5c4ef18a806476fbaa1a2727ff4115d3dce7ba2 155 | 0x9315d886ea870f47e1619743df8c6e46b3704a42 156 | 0x83351a17e7138eac8430d7d17e2e7e71e7b16ce6 157 | 0x0653f6401e8d4529b50cc4fb1a0d859c9bf0ef18 158 | 0x9407505cdac6be5022d3fa6ad0bc1f5b4284d810 159 | 0x158c0148f60abb4a42aed6f6883600dc7ee56907 160 | 0x6ce272d67d003a9ba6cd57be41cc5f6a0e9c4be0 161 | 0xe4f4ba7af3bc327f48fc35aa82f06bd0f2aa422d 162 | 0x6706ea09b9b43efd0cb6c9ffb3bdb538a6af9d0f 163 | 0x051f84a3d77324b3765c6fba25ddc62a0975c5fc 164 | 0x59839a277fad672ca7652817ede6adf9393dd066 165 | 0xc024559c710123b6caf5d225b56913aab339aad0 166 | 0xf5e506034b97ec41946f8e203037d655dea0e600 167 | 0x0b2059821a9706a8ffe39e530775a8834f33de40 168 | 0xe34e752ce6e08d2deb347bed9ebac35973c6a2f0 169 | 0x2236060c09298deba9fd23c40f4e2492e86863d5 170 | 0xffd1ac3e8818adcbe5c597ea076e8d3210b45df5 171 | 0x21f045bda1a7e099c7a5bfd7952e65ce86bfcdae 172 | 0x9e12aeb73500577352b2664f1d45d9d4ac7ac61d 173 | 0x8540f80fab2afcae8d8fd6b1557b1cf943a0999b 174 | 0xabcdef1b9238f734f8fdbf7cb007e73bfe624b8a 175 | 0xf3eacd0e23022bddc2035c1bf40674aa73c9c01d 176 | 0x86d73b4962acf4e7ef626a73c43a5db68eebf0d0 177 | 0x32cefb2dc869bbfe636f7547cda43f561bf88d5a 178 | 0xf7a899a23200a56a33a714cfdd3582b09747e544 179 | 0x00000080d11010bc5816a0686e93eebcf7544560 180 | 0x505e20c0fb8252ca7ac21d54d5432eccd4f2d076 181 | 0xb56ab82eda00314971503494beaec6547a415aaa 182 | 0xe165f653c8dde97362fa0956cd4f50e1dba0fed9 183 | 0x7777238023ba22d86266a5fe43d0b6e17d05d2c5 184 | 0x2550d0a2004efd17dc3914ee0015e4f93af235a3 185 | 0x70ec9479ed111c4e214bc89e25d576c6c0fa48a0 186 | 0xd6acd4d13f3ef64d4ae8eabe1350e87227c4d37e 187 | 0x2a130c6c33107a14077b4d5261f8ebb65b908779 188 | 0x5b73f2db6a23b3044c4f682a1f13a8e12abdc01d 189 | 0xeda98b866ecc8db8b55abec476443cb9c499da60 190 | 0xa17ddb3a1ff5e67446c63d320a11766e97085020 191 | 0x19db1426ae90c8008fea12f24814d1628c69b655 192 | 0xe6c8382ec2cb73f04ce10c982a4b337a19f63a31 193 | 0xa986544e7911d1a0a8a2bb3f3ae89a32750e3311 194 | 0xbd46134d6060a1386a66793f46d5069eb6be5e9b 195 | 0xa490c1b2acf686371382aa6886f008877936fb0f 196 | 0xcaf6b409e7a886eda2bed5ce1a890546d34f345f 197 | 0x63aab151e3f8c2b2f8d56106d526a26eb3ffe2b6 198 | 0x2222979216ea2aec23caf82f35c8ce2376a8c25d 199 | 0x83f5752fda8cd711bdded24c5a26c1082a3fad3c 200 | 0xbf4f3a01bb3f1d5e994b124784d6e4846b8d322d 201 | 0x9066fc5a2e5a60a69116f81e64c37e72151149a4 202 | 0x88d116b5cddaf8f8c5ebf837ce6762e9ab3804ce 203 | 0x6d8ea0c6d5f04051bee8b200dbff4e7b34364f34 204 | 0x07d62a36d35261afecf6cb89382d393a398edc1a 205 | 0xa84e201d232f173ec254748e879b87c64d6928b8 206 | 0x446fa0c8ead753c7abf0b821f90d4338e72de380 207 | 0x16f375e0f83bbdba8071b0c438505eb7fa741fa9 208 | 0x8fc37396d421ce68298979c01e2bf39c98960a94 209 | 0xc4e3ac28554fa698822f542ec3a81fab53027d59 210 | 0x11064f2aadd3ee47f0e13d36d49762f3eac69c3f 211 | 0x10f5226c5603abf293feeea9ed7b49c82c0a1562 212 | 0xaf2dcb5506ff81e810a66aa067524f362d98d878 213 | 0xb83f97a8e3e4ed65d008c738572e7ae2953910bc 214 | 0xf81639573a74d47ab408cc9518dfae44643be88b 215 | 0x474648ef5b71c4996d495edeb6dcdd7aeb2f7887 216 | 0x767cf362df9164337294a29e088fef2f365fd25a 217 | 0xa08250f08943671f6a2f92efd1133c20f858f409 218 | 0x8c002a5c72d5b2daf0d96c5395179d8ce5d924d8 219 | 0x5bbdbaf010eaf6caef40d296d17f0259a27c5c02 220 | 0x35293f45d559487d9e8a26aa8bd06f84a38f3929 221 | 0x9bee194489b59cc4bed966eb6c25048421813da9 222 | 0x4bcb303609f19e71ab82a3a3393c46bfea1e44fc 223 | 0xb33b76a232eea680a19889f0f567cafd7ced6ced 224 | 0x22ea43c9a56d660b4d65f073c17317b7cb9308aa 225 | 0xd8e6f7d6df0c82e3bb7fc39dd2855b7139fed96e 226 | 0x867db38c83f4287a71ffd0cdfba6ffae93150ff7 227 | 0x2c56c3cc3623250c2bfda0f1704125df652c6044 228 | 0x8e907533ca2f493686ee785abffa4a9459eb8d1e 229 | 0xcdaaa052191d0ef614e2a3a463b60bb6ec07c1f6 230 | 0x71335c1a5f0cd5d1af9c10bed6a3177f916a6d5e 231 | 0xd33204a6d9729fbd1afc52d535a8b5bc9bf4d4d1 232 | 0xb3daa6d952d57e105c7c02a98c53df712b36db76 233 | 0xc25bc1e5ef9d7d4ff79f7851a1c6a5b0610209ad 234 | 0x1e17a75616cd74f5846b1b71622aa8e10ea26cc0 235 | 0x70bbdb84e4abd452b190f6b7e5d7f131d11d38c8 236 | 0x5cdb0039db97409243ca00ca70be8616fba322a0 237 | 0x9d6d9c4d2aa7aa68572929cbeb06caf583865c39 238 | 0x115c9e1694130640e0237eb8ad66be1ee29e1021 239 | 0xeecd1a2e2d9ecc7898b41c64eb5b95b3d4f36d25 240 | 0x6ec5515ca4d3d03d3277abf0440302dd88d3d4e7 241 | 0x65ee7c57c1eb5fc92f7bfdb7c80aff940c507cc0 242 | 0x255a827b8172a4ef2c3cf36d6f86745bc67484c4 243 | 0xaf638f50169836d0fa4ba6851852eddc465a77dc 244 | 0xf3ad7a80c7debe37db5cee1e3ed45f31a5629e5e 245 | 0xc793e40cc38f91a00efc76bb46cc4a556cbfe876 246 | 0x762bb0a33f912ab0972541d377e039de0cef8b35 247 | 0x5d6610f282fb5a940864da792c6af0bfce9e9fb8 248 | 0x93f3b551b8e15a397bcce3494a15c2f26e6f4582 249 | 0xd2cb932513eec93fc0a40243c39bf5525c0be5d2 250 | 0x36da627552c2166ee81ec2944c131aec4ca8f504 251 | 0x0d7cc91c5698995fc44a503e60c270a0fb719bfa 252 | 0x7cc2617e201ebac60dd37c940ceff0353bdda0a2 253 | 0xe68967c95f5a9bccfdd711a2cbc23ec958f147ef 254 | 0x6b6f06c0325125ce5a010a6901ed2231e26b0246 255 | 0xc1a075a1f6ab6b74b84e21578f863a613ed5731b 256 | 0x2591a8d50ca9a2fa9b9a5b2e02774a6945cbfd2c 257 | 0x9a20acff24626e94697ce874f933c32805fa8243 258 | 0xdd1b54cf15dd3ff35caa088b40bfb7d586dbd634 259 | 0xa3ae668b6239fa3eb1dc26daabb03f244d0259f0 260 | 0x7b142aef8f36a4163f8f9ad2aa9b65a1b4f1a931 261 | 0x9f61b8e4bcf9d896eed688e352aa8b91c5d03490 262 | 0xb51da5f6a840098a2b78a381a2a9716ff1f112c1 263 | 0x2db0b18fd469eb489681ab1aeee58019f6342d0a 264 | 0x6a3738c6299f45c31697acea647d49edcc9c28a4 265 | 0x04a23ba68e4469061cd461e8b847e820d4ced948 266 | 0xd243832b1bed5c2306997bb3a6c1698311180a5e 267 | 0x4dd5ef35a9d552fe98255d7cb0135c7442433e09 268 | 0xa49eec7f4f90598d5117e22e5b54f49408b70ccf 269 | 0xadb644f697e4a11a0dcf1d38a88016c99d3b3169 270 | 0x5145b8ef462d8b7ac397d5bf880ff651a47ac527 271 | 0x1d14c4a99495be54d8fa8e8ffef0ad04db6e73c5 272 | 0x9675fb42f8e8f77d0525a05a2e493f109486c551 273 | 0xba3ab7472d78c603a0c60751176693e226611eb9 274 | 0x0e74ea9735675b5e28cc65f3ac5c70134cf37640 275 | 0xcbf62865eab142728810a158ef77c9ed4aaa81b2 276 | 0x8b0b3502c6e5859796c69f510de2de8adf6d4225 277 | 0x9c3f372a2aacc0d7272f56a4664311b7647b0031 278 | 0xa57ec000b7fb9ea9b0119efdee0b8f15f895c2f3 279 | ``` 280 | -------------------------------------------------------------------------------- /Transcript_spec.md: -------------------------------------------------------------------------------- 1 | ### Transcript files 2 | 3 | Our setup produces 100,800,000 G1 points and 1 G2 point, over the BN254 curve. 4 | 5 | This is split into multiple 'transcript' files. Each transcript file contains *5,040,000* G1 points. The first transcript file also contains 2 G2 point. 6 | 7 | These points are not compressed. 8 | 9 | ### Data format 10 | 11 | The transcript file contains raw binary data, where data elements are located by knowing their precise byte-position in the file. We write our data as follows: 12 | 13 | For big-integer numbers (g1, g2 coordinates), we describe each 256-bit field element as a uint64_t[4] array. The first entry is the least significant word of the field element. Each 'word' is written in big-endian form. 14 | 15 | For other integers (in the manifest section), variables are directly written in big-endian form. 16 | 17 | Example Python decoder from Vitalik 18 | 19 | ``` 20 | def decode(chunk): return sum([int.from_bytes(chunk[i:i+8], 'big') * 256**i for i in range(0, 32, 8)]) 21 | ``` 22 | 23 | ### Structure of a transcript file 24 | 25 | The transcript file contains 4 linear data sections 26 | 27 | | section number | section size (bytes) | description | 28 | | --- | --- | --- | 29 | | 1 | 28 | A 'manifest' containing metadata | 30 | | 2 | 322,560,000 | 5,040,000 uncompressed G1 points | 31 | | 3 | 256 or 0 | (first transcript only) Two uncompressed G2 points | 32 | | 4 | 64 | The 'checksum' - a BLAKE2B hash of the rest of the file's data | 33 | 34 | ### The G2 points 35 | 36 | The first G2 point is `x.[2]` where `x` is the trusted setup toxic waste. 37 | The second G2 point is `z.[2]`, where `z` is the toxic waste from the previous participant. It is used, in combination with the previous participant's transcript, to check that the current transcript was built off of the previous participant's transcript 38 | 39 | ### Naming scheme 40 | 41 | The transcript input files are called 'transcript0.dat', 'transcript1.dat', ..., 'transcript19.dat' 42 | 43 | The transcript output files are called 'transcript0_out.dat', ..., 'transcript19_out.dat' 44 | 45 | ### The manifest structure: 46 | 47 | The manifest is 28 bytes of data with the following structure 48 | 49 | | byte index | description | 50 | | --- | --- | 51 | |0-3 | transcript number (starting from 0) | 52 | |4-7 | total number of transcripts (should be 20) | 53 | |8-11 | total number of G1 points in all transcripts (should be 100,000,000) | 54 | |12-15 | total number of G2 points in all transcripts (should be 1) | 55 | |16-19 | number of G1 points in this transcript (should be 5,000,000) | 56 | |20-23 | number of G2 points in this transcript (2 for 1st transcript, 0 for the rest) | 57 | |24-27 | 'start-from', the index of the 1st G1 point in this transcript | 58 | 59 | Regarding start-from: the value will be 0 in transcript0.dat, 5,000,000 in transcript1.dat, 95,000,000 in transcript19.dat etc 60 | 61 | We have a bit of a continuity error, where for the first transcript, the 'local' number of G2 points is 2, when the 'total' number is 1. In the former, we're including the G2 element created by the participant, to verify transcripts. In the latter, we're referring to the total number of G2 elements in the structured reference string we're producing. 62 | 63 | ### G1 point structure 64 | 65 | The first G1 point will be `x.[1]`, where `x` is the trusted setup toxic waste, and `[1]` is the bn254 G1 generator point (1, 2) 66 | 67 | Structure is as follows: `x.[1]`, `x^{2}.[1]`, ..., `x^{100,800,000}.[1]` 68 | 69 | Each participant generates their own randomness `z` and exponentiates each point by `z^{i}`, where `i` is the G1 point index 70 | 71 | ### G2 point structure 72 | 73 | The only G2 point is `x.[2]`, where `[2]` is the bn254 G2 generator point with coordinates: 74 | 75 | ``` 76 | { 77 | "x": { 78 | "c0": "10857046999023057135944570762232829481370756359578518086990519993285655852781", 79 | "c1": "11559732032986387107991004021392285783925812861821192530917403151452391805634" 80 | }, 81 | "y": { 82 | "c0": "8495653923123431417604973247489272438418190587263600148770280649306958101930", 83 | "c1": "4082367875863433681332203403145435568316851327593401208105741076214120093531" 84 | } 85 | } 86 | ``` 87 | -------------------------------------------------------------------------------- /docs/01_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AztecProtocol/ignition-verification/c333ec4775045139f86732abfbbd65728404ab7f/docs/01_start.png -------------------------------------------------------------------------------- /docs/02_validation_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AztecProtocol/ignition-verification/c333ec4775045139f86732abfbbd65728404ab7f/docs/02_validation_type.png -------------------------------------------------------------------------------- /docs/03_validating_signature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AztecProtocol/ignition-verification/c333ec4775045139f86732abfbbd65728404ab7f/docs/03_validating_signature.png -------------------------------------------------------------------------------- /docs/04_signature_validated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AztecProtocol/ignition-verification/c333ec4775045139f86732abfbbd65728404ab7f/docs/04_signature_validated.png -------------------------------------------------------------------------------- /docs/05_downloading_points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AztecProtocol/ignition-verification/c333ec4775045139f86732abfbbd65728404ab7f/docs/05_downloading_points.png -------------------------------------------------------------------------------- /docs/06_points_downloaded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AztecProtocol/ignition-verification/c333ec4775045139f86732abfbbd65728404ab7f/docs/06_points_downloaded.png -------------------------------------------------------------------------------- /docs/07_python_dependencies.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AztecProtocol/ignition-verification/c333ec4775045139f86732abfbbd65728404ab7f/docs/07_python_dependencies.png -------------------------------------------------------------------------------- /docs/08_validating_inclusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AztecProtocol/ignition-verification/c333ec4775045139f86732abfbbd65728404ab7f/docs/08_validating_inclusion.png -------------------------------------------------------------------------------- /docs/09_attestation_signed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AztecProtocol/ignition-verification/c333ec4775045139f86732abfbbd65728404ab7f/docs/09_attestation_signed.png -------------------------------------------------------------------------------- /g1points/keys: -------------------------------------------------------------------------------- 1 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/001_0xdbbbef6a9db7ae52e73673747ece3407d8540307/transcript00.dat -H 'Range: bytes=28-91' > 001_0xdbbbef6a9db7ae52e73673747ece3407d8540307_g1.dat" 2 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/002_0x740cf03808d45ce6d7519cdaa8c4bafbc0409d8e/transcript00.dat -H 'Range: bytes=28-91' > 002_0x740cf03808d45ce6d7519cdaa8c4bafbc0409d8e_g1.dat" 3 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/003_0x75d87981d5df0490e2949fb7f1936f16f3b85110/transcript00.dat -H 'Range: bytes=28-91' > 003_0x75d87981d5df0490e2949fb7f1936f16f3b85110_g1.dat" 4 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/004_0x7dc00a021cad0cafa9696d7430883a48772aa9bd/transcript00.dat -H 'Range: bytes=28-91' > 004_0x7dc00a021cad0cafa9696d7430883a48772aa9bd_g1.dat" 5 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/005_0x69dbe791cffd6295a1327f0d2015eaf6e2f52c1d/transcript00.dat -H 'Range: bytes=28-91' > 005_0x69dbe791cffd6295a1327f0d2015eaf6e2f52c1d_g1.dat" 6 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/006_0x1891ef0a3cdae5b96782bd9e65cdf014ae3c9587/transcript00.dat -H 'Range: bytes=28-91' > 006_0x1891ef0a3cdae5b96782bd9e65cdf014ae3c9587_g1.dat" 7 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/007_0x3b16821a5dbbff86e4a88ea0621ec6be016cd79a/transcript00.dat -H 'Range: bytes=28-91' > 007_0x3b16821a5dbbff86e4a88ea0621ec6be016cd79a_g1.dat" 8 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/008_0xe570b479145327965b88707fe6695316b5982b16/transcript00.dat -H 'Range: bytes=28-91' > 008_0xe570b479145327965b88707fe6695316b5982b16_g1.dat" 9 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/009_0x1454a61f1d2a90790e04653d02aee637d995f110/transcript00.dat -H 'Range: bytes=28-91' > 009_0x1454a61f1d2a90790e04653d02aee637d995f110_g1.dat" 10 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/010_0xeeb6cd10a623f8aa2d6b986a842b8340bfab38dd/transcript00.dat -H 'Range: bytes=28-91' > 010_0xeeb6cd10a623f8aa2d6b986a842b8340bfab38dd_g1.dat" 11 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/011_0x7e5708ded50e35c23d7ef9e22e25412c509b2fcd/transcript00.dat -H 'Range: bytes=28-91' > 011_0x7e5708ded50e35c23d7ef9e22e25412c509b2fcd_g1.dat" 12 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/012_0xc7fe9fa93b8b941b714a4158118f5745f42003d6/transcript00.dat -H 'Range: bytes=28-91' > 012_0xc7fe9fa93b8b941b714a4158118f5745f42003d6_g1.dat" 13 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/013_0x39b3dcdcda1da7051d1ee6df66d3c1d494b4b35f/transcript00.dat -H 'Range: bytes=28-91' > 013_0x39b3dcdcda1da7051d1ee6df66d3c1d494b4b35f_g1.dat" 14 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/014_0x96914c4e5b6ff913522df06604f60a7b26930049/transcript00.dat -H 'Range: bytes=28-91' > 014_0x96914c4e5b6ff913522df06604f60a7b26930049_g1.dat" 15 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/015_0xdfa007c4b7d0e8dbc87562f564024793d2115129/transcript00.dat -H 'Range: bytes=28-91' > 015_0xdfa007c4b7d0e8dbc87562f564024793d2115129_g1.dat" 16 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/016_0xd65b1a3f74d0e65fb8c37755fc4a8bf9c723383e/transcript00.dat -H 'Range: bytes=28-91' > 016_0xd65b1a3f74d0e65fb8c37755fc4a8bf9c723383e_g1.dat" 17 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/017_0xdc08baed2e27e2d69dc479cbfa2d0ec1f45240ab/transcript00.dat -H 'Range: bytes=28-91' > 017_0xdc08baed2e27e2d69dc479cbfa2d0ec1f45240ab_g1.dat" 18 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/018_0x3c22b9cbf6d53d9e00ea506e79f8d0a2233b53c8/transcript00.dat -H 'Range: bytes=28-91' > 018_0x3c22b9cbf6d53d9e00ea506e79f8d0a2233b53c8_g1.dat" 19 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/019_0x918a858ed47a61e6866ce475f219ec81feece613/transcript00.dat -H 'Range: bytes=28-91' > 019_0x918a858ed47a61e6866ce475f219ec81feece613_g1.dat" 20 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/020_0xdcfb6b6c9613753c0cb6ad0f760e26d496d3c86b/transcript00.dat -H 'Range: bytes=28-91' > 020_0xdcfb6b6c9613753c0cb6ad0f760e26d496d3c86b_g1.dat" 21 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/021_0x53d389867702b19b5b7ba9a12d60b727eae14bb0/transcript00.dat -H 'Range: bytes=28-91' > 021_0x53d389867702b19b5b7ba9a12d60b727eae14bb0_g1.dat" 22 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/022_0x6a8d553a35122adac225bffa2d97a5ef9549be0e/transcript00.dat -H 'Range: bytes=28-91' > 022_0x6a8d553a35122adac225bffa2d97a5ef9549be0e_g1.dat" 23 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/023_0x7fc43eabcfc9a1a277bee4aa71b1b91f6295787b/transcript00.dat -H 'Range: bytes=28-91' > 023_0x7fc43eabcfc9a1a277bee4aa71b1b91f6295787b_g1.dat" 24 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/024_0xacaf87a99d8056d5a2e8daf1a9754301319f2d2e/transcript00.dat -H 'Range: bytes=28-91' > 024_0xacaf87a99d8056d5a2e8daf1a9754301319f2d2e_g1.dat" 25 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/026_0x64cb0559ecf1bc692e68b3bac5bfd6391bb161ce/transcript00.dat -H 'Range: bytes=28-91' > 026_0x64cb0559ecf1bc692e68b3bac5bfd6391bb161ce_g1.dat" 26 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/027_0xdb8f5f7bc1086e59ac909aa845effa09fde735eb/transcript00.dat -H 'Range: bytes=28-91' > 027_0xdb8f5f7bc1086e59ac909aa845effa09fde735eb_g1.dat" 27 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/028_0x864aad25c18680518726cff817f4c7dfa982623a/transcript00.dat -H 'Range: bytes=28-91' > 028_0x864aad25c18680518726cff817f4c7dfa982623a_g1.dat" 28 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/029_0x2717aa4d36423416cfa3a716c6a5a8ea108104ca/transcript00.dat -H 'Range: bytes=28-91' > 029_0x2717aa4d36423416cfa3a716c6a5a8ea108104ca_g1.dat" 29 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/030_0x913fd60887e7b99f2ee9115a79f3c5886ad2d47a/transcript00.dat -H 'Range: bytes=28-91' > 030_0x913fd60887e7b99f2ee9115a79f3c5886ad2d47a_g1.dat" 30 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/031_0xf95b7ab89fd7d2365a7e6e6a6362489471cd423f/transcript00.dat -H 'Range: bytes=28-91' > 031_0xf95b7ab89fd7d2365a7e6e6a6362489471cd423f_g1.dat" 31 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/032_0x0cd54126cf2a83bd0c81f46d99eab8b80d202544/transcript00.dat -H 'Range: bytes=28-91' > 032_0x0cd54126cf2a83bd0c81f46d99eab8b80d202544_g1.dat" 32 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/033_0x3e00521af2e1ef745bb4e59ed80cac14a9103e3c/transcript00.dat -H 'Range: bytes=28-91' > 033_0x3e00521af2e1ef745bb4e59ed80cac14a9103e3c_g1.dat" 33 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/034_0x1e7c4a7ec5ee819c6d1db0c10015b73832752a41/transcript00.dat -H 'Range: bytes=28-91' > 034_0x1e7c4a7ec5ee819c6d1db0c10015b73832752a41_g1.dat" 34 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/035_0x6c6ef314b536682574a4d5536ae210e3fc7a2e83/transcript00.dat -H 'Range: bytes=28-91' > 035_0x6c6ef314b536682574a4d5536ae210e3fc7a2e83_g1.dat" 35 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/036_0x63f3357c29b029d90789014cfce5f1b50762f456/transcript00.dat -H 'Range: bytes=28-91' > 036_0x63f3357c29b029d90789014cfce5f1b50762f456_g1.dat" 36 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/038_0x826fee669f9ff0b1d83988a5195e739d0c08d476/transcript00.dat -H 'Range: bytes=28-91' > 038_0x826fee669f9ff0b1d83988a5195e739d0c08d476_g1.dat" 37 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/039_0x67156e0f96b43b8e30934f7a809b356c5148721f/transcript00.dat -H 'Range: bytes=28-91' > 039_0x67156e0f96b43b8e30934f7a809b356c5148721f_g1.dat" 38 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/040_0xf02f630d1f2fac0b6c070b7a02a25d534e87c5ec/transcript00.dat -H 'Range: bytes=28-91' > 040_0xf02f630d1f2fac0b6c070b7a02a25d534e87c5ec_g1.dat" 39 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/041_0xf053adb5d6310219f84b5792db23a4fed3c25d57/transcript00.dat -H 'Range: bytes=28-91' > 041_0xf053adb5d6310219f84b5792db23a4fed3c25d57_g1.dat" 40 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/043_0x9f6926882d651affb16975c795b6c2b71348f791/transcript00.dat -H 'Range: bytes=28-91' > 043_0x9f6926882d651affb16975c795b6c2b71348f791_g1.dat" 41 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/044_0x5b8e94f4dc4c0cc2989c1ceff7adb7b7f83fc9d7/transcript00.dat -H 'Range: bytes=28-91' > 044_0x5b8e94f4dc4c0cc2989c1ceff7adb7b7f83fc9d7_g1.dat" 42 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/045_0xad025662656c27779e7893c8923eb8098c28ab01/transcript00.dat -H 'Range: bytes=28-91' > 045_0xad025662656c27779e7893c8923eb8098c28ab01_g1.dat" 43 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/046_0xfc2ec6a21004b9f79ff1ac69e352ec512be6a5aa/transcript00.dat -H 'Range: bytes=28-91' > 046_0xfc2ec6a21004b9f79ff1ac69e352ec512be6a5aa_g1.dat" 44 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/047_0x08d816526bdc9d077dd685bd9fa49f58a5ab8e48/transcript00.dat -H 'Range: bytes=28-91' > 047_0x08d816526bdc9d077dd685bd9fa49f58a5ab8e48_g1.dat" 45 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/048_0x037b22bd2ed3df1e5bb8fbf7faa2feac9dda22b0/transcript00.dat -H 'Range: bytes=28-91' > 048_0x037b22bd2ed3df1e5bb8fbf7faa2feac9dda22b0_g1.dat" 46 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/049_0x29cfee3953a95a04f78725cf8a83943571441393/transcript00.dat -H 'Range: bytes=28-91' > 049_0x29cfee3953a95a04f78725cf8a83943571441393_g1.dat" 47 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/050_0x99a33899af30ad2515c9a6b0968983c098fc8420/transcript00.dat -H 'Range: bytes=28-91' > 050_0x99a33899af30ad2515c9a6b0968983c098fc8420_g1.dat" 48 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/051_0x43f9d5d896055825aecd5736b01d88ffee58ed9f/transcript00.dat -H 'Range: bytes=28-91' > 051_0x43f9d5d896055825aecd5736b01d88ffee58ed9f_g1.dat" 49 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/052_0x6b542c6ffc8e3880dbd443225d513f1903315859/transcript00.dat -H 'Range: bytes=28-91' > 052_0x6b542c6ffc8e3880dbd443225d513f1903315859_g1.dat" 50 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/053_0x9037a75c997bba5243a884122e9ac5b9c26ee3e2/transcript00.dat -H 'Range: bytes=28-91' > 053_0x9037a75c997bba5243a884122e9ac5b9c26ee3e2_g1.dat" 51 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/054_0x7ab874eeef0169ada0d225e9801a3ffffa26aac3/transcript00.dat -H 'Range: bytes=28-91' > 054_0x7ab874eeef0169ada0d225e9801a3ffffa26aac3_g1.dat" 52 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/055_0xc5c4ef18a806476fbaa1a2727ff4115d3dce7ba2/transcript00.dat -H 'Range: bytes=28-91' > 055_0xc5c4ef18a806476fbaa1a2727ff4115d3dce7ba2_g1.dat" 53 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/056_0x9315d886ea870f47e1619743df8c6e46b3704a42/transcript00.dat -H 'Range: bytes=28-91' > 056_0x9315d886ea870f47e1619743df8c6e46b3704a42_g1.dat" 54 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/057_0x83351a17e7138eac8430d7d17e2e7e71e7b16ce6/transcript00.dat -H 'Range: bytes=28-91' > 057_0x83351a17e7138eac8430d7d17e2e7e71e7b16ce6_g1.dat" 55 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/058_0x0653f6401e8d4529b50cc4fb1a0d859c9bf0ef18/transcript00.dat -H 'Range: bytes=28-91' > 058_0x0653f6401e8d4529b50cc4fb1a0d859c9bf0ef18_g1.dat" 56 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/059_0x9407505cdac6be5022d3fa6ad0bc1f5b4284d810/transcript00.dat -H 'Range: bytes=28-91' > 059_0x9407505cdac6be5022d3fa6ad0bc1f5b4284d810_g1.dat" 57 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/060_0x158c0148f60abb4a42aed6f6883600dc7ee56907/transcript00.dat -H 'Range: bytes=28-91' > 060_0x158c0148f60abb4a42aed6f6883600dc7ee56907_g1.dat" 58 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/061_0x6ce272d67d003a9ba6cd57be41cc5f6a0e9c4be0/transcript00.dat -H 'Range: bytes=28-91' > 061_0x6ce272d67d003a9ba6cd57be41cc5f6a0e9c4be0_g1.dat" 59 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/062_0xe4f4ba7af3bc327f48fc35aa82f06bd0f2aa422d/transcript00.dat -H 'Range: bytes=28-91' > 062_0xe4f4ba7af3bc327f48fc35aa82f06bd0f2aa422d_g1.dat" 60 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/064_0x6706ea09b9b43efd0cb6c9ffb3bdb538a6af9d0f/transcript00.dat -H 'Range: bytes=28-91' > 064_0x6706ea09b9b43efd0cb6c9ffb3bdb538a6af9d0f_g1.dat" 61 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/065_0x051f84a3d77324b3765c6fba25ddc62a0975c5fc/transcript00.dat -H 'Range: bytes=28-91' > 065_0x051f84a3d77324b3765c6fba25ddc62a0975c5fc_g1.dat" 62 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/066_0x59839a277fad672ca7652817ede6adf9393dd066/transcript00.dat -H 'Range: bytes=28-91' > 066_0x59839a277fad672ca7652817ede6adf9393dd066_g1.dat" 63 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/067_0xc024559c710123b6caf5d225b56913aab339aad0/transcript00.dat -H 'Range: bytes=28-91' > 067_0xc024559c710123b6caf5d225b56913aab339aad0_g1.dat" 64 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/068_0xf5e506034b97ec41946f8e203037d655dea0e600/transcript00.dat -H 'Range: bytes=28-91' > 068_0xf5e506034b97ec41946f8e203037d655dea0e600_g1.dat" 65 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/070_0x0b2059821a9706a8ffe39e530775a8834f33de40/transcript00.dat -H 'Range: bytes=28-91' > 070_0x0b2059821a9706a8ffe39e530775a8834f33de40_g1.dat" 66 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/071_0xe34e752ce6e08d2deb347bed9ebac35973c6a2f0/transcript00.dat -H 'Range: bytes=28-91' > 071_0xe34e752ce6e08d2deb347bed9ebac35973c6a2f0_g1.dat" 67 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/072_0x2236060c09298deba9fd23c40f4e2492e86863d5/transcript00.dat -H 'Range: bytes=28-91' > 072_0x2236060c09298deba9fd23c40f4e2492e86863d5_g1.dat" 68 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/074_0xffd1ac3e8818adcbe5c597ea076e8d3210b45df5/transcript00.dat -H 'Range: bytes=28-91' > 074_0xffd1ac3e8818adcbe5c597ea076e8d3210b45df5_g1.dat" 69 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/075_0x21f045bda1a7e099c7a5bfd7952e65ce86bfcdae/transcript00.dat -H 'Range: bytes=28-91' > 075_0x21f045bda1a7e099c7a5bfd7952e65ce86bfcdae_g1.dat" 70 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/076_0x9e12aeb73500577352b2664f1d45d9d4ac7ac61d/transcript00.dat -H 'Range: bytes=28-91' > 076_0x9e12aeb73500577352b2664f1d45d9d4ac7ac61d_g1.dat" 71 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/077_0x8540f80fab2afcae8d8fd6b1557b1cf943a0999b/transcript00.dat -H 'Range: bytes=28-91' > 077_0x8540f80fab2afcae8d8fd6b1557b1cf943a0999b_g1.dat" 72 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/078_0xabcdef1b9238f734f8fdbf7cb007e73bfe624b8a/transcript00.dat -H 'Range: bytes=28-91' > 078_0xabcdef1b9238f734f8fdbf7cb007e73bfe624b8a_g1.dat" 73 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/079_0xf3eacd0e23022bddc2035c1bf40674aa73c9c01d/transcript00.dat -H 'Range: bytes=28-91' > 079_0xf3eacd0e23022bddc2035c1bf40674aa73c9c01d_g1.dat" 74 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/080_0x86d73b4962acf4e7ef626a73c43a5db68eebf0d0/transcript00.dat -H 'Range: bytes=28-91' > 080_0x86d73b4962acf4e7ef626a73c43a5db68eebf0d0_g1.dat" 75 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/081_0x32cefb2dc869bbfe636f7547cda43f561bf88d5a/transcript00.dat -H 'Range: bytes=28-91' > 081_0x32cefb2dc869bbfe636f7547cda43f561bf88d5a_g1.dat" 76 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/082_0xf7a899a23200a56a33a714cfdd3582b09747e544/transcript00.dat -H 'Range: bytes=28-91' > 082_0xf7a899a23200a56a33a714cfdd3582b09747e544_g1.dat" 77 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/083_0x00000080d11010bc5816a0686e93eebcf7544560/transcript00.dat -H 'Range: bytes=28-91' > 083_0x00000080d11010bc5816a0686e93eebcf7544560_g1.dat" 78 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/084_0x505e20c0fb8252ca7ac21d54d5432eccd4f2d076/transcript00.dat -H 'Range: bytes=28-91' > 084_0x505e20c0fb8252ca7ac21d54d5432eccd4f2d076_g1.dat" 79 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/085_0xb56ab82eda00314971503494beaec6547a415aaa/transcript00.dat -H 'Range: bytes=28-91' > 085_0xb56ab82eda00314971503494beaec6547a415aaa_g1.dat" 80 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/086_0xe165f653c8dde97362fa0956cd4f50e1dba0fed9/transcript00.dat -H 'Range: bytes=28-91' > 086_0xe165f653c8dde97362fa0956cd4f50e1dba0fed9_g1.dat" 81 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/087_0x7777238023ba22d86266a5fe43d0b6e17d05d2c5/transcript00.dat -H 'Range: bytes=28-91' > 087_0x7777238023ba22d86266a5fe43d0b6e17d05d2c5_g1.dat" 82 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/088_0x2550d0a2004efd17dc3914ee0015e4f93af235a3/transcript00.dat -H 'Range: bytes=28-91' > 088_0x2550d0a2004efd17dc3914ee0015e4f93af235a3_g1.dat" 83 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/089_0x70ec9479ed111c4e214bc89e25d576c6c0fa48a0/transcript00.dat -H 'Range: bytes=28-91' > 089_0x70ec9479ed111c4e214bc89e25d576c6c0fa48a0_g1.dat" 84 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/090_0xd6acd4d13f3ef64d4ae8eabe1350e87227c4d37e/transcript00.dat -H 'Range: bytes=28-91' > 090_0xd6acd4d13f3ef64d4ae8eabe1350e87227c4d37e_g1.dat" 85 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/091_0x2a130c6c33107a14077b4d5261f8ebb65b908779/transcript00.dat -H 'Range: bytes=28-91' > 091_0x2a130c6c33107a14077b4d5261f8ebb65b908779_g1.dat" 86 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/093_0x5b73f2db6a23b3044c4f682a1f13a8e12abdc01d/transcript00.dat -H 'Range: bytes=28-91' > 093_0x5b73f2db6a23b3044c4f682a1f13a8e12abdc01d_g1.dat" 87 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/094_0xeda98b866ecc8db8b55abec476443cb9c499da60/transcript00.dat -H 'Range: bytes=28-91' > 094_0xeda98b866ecc8db8b55abec476443cb9c499da60_g1.dat" 88 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/095_0xa17ddb3a1ff5e67446c63d320a11766e97085020/transcript00.dat -H 'Range: bytes=28-91' > 095_0xa17ddb3a1ff5e67446c63d320a11766e97085020_g1.dat" 89 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/096_0x19db1426ae90c8008fea12f24814d1628c69b655/transcript00.dat -H 'Range: bytes=28-91' > 096_0x19db1426ae90c8008fea12f24814d1628c69b655_g1.dat" 90 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/097_0xe6c8382ec2cb73f04ce10c982a4b337a19f63a31/transcript00.dat -H 'Range: bytes=28-91' > 097_0xe6c8382ec2cb73f04ce10c982a4b337a19f63a31_g1.dat" 91 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/098_0xa986544e7911d1a0a8a2bb3f3ae89a32750e3311/transcript00.dat -H 'Range: bytes=28-91' > 098_0xa986544e7911d1a0a8a2bb3f3ae89a32750e3311_g1.dat" 92 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/099_0xbd46134d6060a1386a66793f46d5069eb6be5e9b/transcript00.dat -H 'Range: bytes=28-91' > 099_0xbd46134d6060a1386a66793f46d5069eb6be5e9b_g1.dat" 93 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/100_0xa490c1b2acf686371382aa6886f008877936fb0f/transcript00.dat -H 'Range: bytes=28-91' > 100_0xa490c1b2acf686371382aa6886f008877936fb0f_g1.dat" 94 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/101_0xcaf6b409e7a886eda2bed5ce1a890546d34f345f/transcript00.dat -H 'Range: bytes=28-91' > 101_0xcaf6b409e7a886eda2bed5ce1a890546d34f345f_g1.dat" 95 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/102_0x63aab151e3f8c2b2f8d56106d526a26eb3ffe2b6/transcript00.dat -H 'Range: bytes=28-91' > 102_0x63aab151e3f8c2b2f8d56106d526a26eb3ffe2b6_g1.dat" 96 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/103_0x2222979216ea2aec23caf82f35c8ce2376a8c25d/transcript00.dat -H 'Range: bytes=28-91' > 103_0x2222979216ea2aec23caf82f35c8ce2376a8c25d_g1.dat" 97 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/104_0x83f5752fda8cd711bdded24c5a26c1082a3fad3c/transcript00.dat -H 'Range: bytes=28-91' > 104_0x83f5752fda8cd711bdded24c5a26c1082a3fad3c_g1.dat" 98 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/105_0xbf4f3a01bb3f1d5e994b124784d6e4846b8d322d/transcript00.dat -H 'Range: bytes=28-91' > 105_0xbf4f3a01bb3f1d5e994b124784d6e4846b8d322d_g1.dat" 99 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/106_0x9066fc5a2e5a60a69116f81e64c37e72151149a4/transcript00.dat -H 'Range: bytes=28-91' > 106_0x9066fc5a2e5a60a69116f81e64c37e72151149a4_g1.dat" 100 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/107_0x88d116b5cddaf8f8c5ebf837ce6762e9ab3804ce/transcript00.dat -H 'Range: bytes=28-91' > 107_0x88d116b5cddaf8f8c5ebf837ce6762e9ab3804ce_g1.dat" 101 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/108_0x6d8ea0c6d5f04051bee8b200dbff4e7b34364f34/transcript00.dat -H 'Range: bytes=28-91' > 108_0x6d8ea0c6d5f04051bee8b200dbff4e7b34364f34_g1.dat" 102 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/109_0x07d62a36d35261afecf6cb89382d393a398edc1a/transcript00.dat -H 'Range: bytes=28-91' > 109_0x07d62a36d35261afecf6cb89382d393a398edc1a_g1.dat" 103 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/110_0xa84e201d232f173ec254748e879b87c64d6928b8/transcript00.dat -H 'Range: bytes=28-91' > 110_0xa84e201d232f173ec254748e879b87c64d6928b8_g1.dat" 104 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/111_0x446fa0c8ead753c7abf0b821f90d4338e72de380/transcript00.dat -H 'Range: bytes=28-91' > 111_0x446fa0c8ead753c7abf0b821f90d4338e72de380_g1.dat" 105 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/112_0x16f375e0f83bbdba8071b0c438505eb7fa741fa9/transcript00.dat -H 'Range: bytes=28-91' > 112_0x16f375e0f83bbdba8071b0c438505eb7fa741fa9_g1.dat" 106 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/113_0x8fc37396d421ce68298979c01e2bf39c98960a94/transcript00.dat -H 'Range: bytes=28-91' > 113_0x8fc37396d421ce68298979c01e2bf39c98960a94_g1.dat" 107 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/114_0xc4e3ac28554fa698822f542ec3a81fab53027d59/transcript00.dat -H 'Range: bytes=28-91' > 114_0xc4e3ac28554fa698822f542ec3a81fab53027d59_g1.dat" 108 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/115_0x11064f2aadd3ee47f0e13d36d49762f3eac69c3f/transcript00.dat -H 'Range: bytes=28-91' > 115_0x11064f2aadd3ee47f0e13d36d49762f3eac69c3f_g1.dat" 109 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/116_0x10f5226c5603abf293feeea9ed7b49c82c0a1562/transcript00.dat -H 'Range: bytes=28-91' > 116_0x10f5226c5603abf293feeea9ed7b49c82c0a1562_g1.dat" 110 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/117_0xaf2dcb5506ff81e810a66aa067524f362d98d878/transcript00.dat -H 'Range: bytes=28-91' > 117_0xaf2dcb5506ff81e810a66aa067524f362d98d878_g1.dat" 111 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/118_0xb83f97a8e3e4ed65d008c738572e7ae2953910bc/transcript00.dat -H 'Range: bytes=28-91' > 118_0xb83f97a8e3e4ed65d008c738572e7ae2953910bc_g1.dat" 112 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/120_0xf81639573a74d47ab408cc9518dfae44643be88b/transcript00.dat -H 'Range: bytes=28-91' > 120_0xf81639573a74d47ab408cc9518dfae44643be88b_g1.dat" 113 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/121_0x474648ef5b71c4996d495edeb6dcdd7aeb2f7887/transcript00.dat -H 'Range: bytes=28-91' > 121_0x474648ef5b71c4996d495edeb6dcdd7aeb2f7887_g1.dat" 114 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/122_0x767cf362df9164337294a29e088fef2f365fd25a/transcript00.dat -H 'Range: bytes=28-91' > 122_0x767cf362df9164337294a29e088fef2f365fd25a_g1.dat" 115 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/123_0xa08250f08943671f6a2f92efd1133c20f858f409/transcript00.dat -H 'Range: bytes=28-91' > 123_0xa08250f08943671f6a2f92efd1133c20f858f409_g1.dat" 116 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/124_0x8c002a5c72d5b2daf0d96c5395179d8ce5d924d8/transcript00.dat -H 'Range: bytes=28-91' > 124_0x8c002a5c72d5b2daf0d96c5395179d8ce5d924d8_g1.dat" 117 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/125_0x5bbdbaf010eaf6caef40d296d17f0259a27c5c02/transcript00.dat -H 'Range: bytes=28-91' > 125_0x5bbdbaf010eaf6caef40d296d17f0259a27c5c02_g1.dat" 118 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/126_0x35293f45d559487d9e8a26aa8bd06f84a38f3929/transcript00.dat -H 'Range: bytes=28-91' > 126_0x35293f45d559487d9e8a26aa8bd06f84a38f3929_g1.dat" 119 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/127_0x9bee194489b59cc4bed966eb6c25048421813da9/transcript00.dat -H 'Range: bytes=28-91' > 127_0x9bee194489b59cc4bed966eb6c25048421813da9_g1.dat" 120 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/128_0x4bcb303609f19e71ab82a3a3393c46bfea1e44fc/transcript00.dat -H 'Range: bytes=28-91' > 128_0x4bcb303609f19e71ab82a3a3393c46bfea1e44fc_g1.dat" 121 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/129_0xb33b76a232eea680a19889f0f567cafd7ced6ced/transcript00.dat -H 'Range: bytes=28-91' > 129_0xb33b76a232eea680a19889f0f567cafd7ced6ced_g1.dat" 122 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/130_0x22ea43c9a56d660b4d65f073c17317b7cb9308aa/transcript00.dat -H 'Range: bytes=28-91' > 130_0x22ea43c9a56d660b4d65f073c17317b7cb9308aa_g1.dat" 123 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/131_0xd8e6f7d6df0c82e3bb7fc39dd2855b7139fed96e/transcript00.dat -H 'Range: bytes=28-91' > 131_0xd8e6f7d6df0c82e3bb7fc39dd2855b7139fed96e_g1.dat" 124 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/132_0x867db38c83f4287a71ffd0cdfba6ffae93150ff7/transcript00.dat -H 'Range: bytes=28-91' > 132_0x867db38c83f4287a71ffd0cdfba6ffae93150ff7_g1.dat" 125 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/133_0x2c56c3cc3623250c2bfda0f1704125df652c6044/transcript00.dat -H 'Range: bytes=28-91' > 133_0x2c56c3cc3623250c2bfda0f1704125df652c6044_g1.dat" 126 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/134_0x8e907533ca2f493686ee785abffa4a9459eb8d1e/transcript00.dat -H 'Range: bytes=28-91' > 134_0x8e907533ca2f493686ee785abffa4a9459eb8d1e_g1.dat" 127 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/135_0xcdaaa052191d0ef614e2a3a463b60bb6ec07c1f6/transcript00.dat -H 'Range: bytes=28-91' > 135_0xcdaaa052191d0ef614e2a3a463b60bb6ec07c1f6_g1.dat" 128 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/136_0x71335c1a5f0cd5d1af9c10bed6a3177f916a6d5e/transcript00.dat -H 'Range: bytes=28-91' > 136_0x71335c1a5f0cd5d1af9c10bed6a3177f916a6d5e_g1.dat" 129 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/137_0xd33204a6d9729fbd1afc52d535a8b5bc9bf4d4d1/transcript00.dat -H 'Range: bytes=28-91' > 137_0xd33204a6d9729fbd1afc52d535a8b5bc9bf4d4d1_g1.dat" 130 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/138_0xb3daa6d952d57e105c7c02a98c53df712b36db76/transcript00.dat -H 'Range: bytes=28-91' > 138_0xb3daa6d952d57e105c7c02a98c53df712b36db76_g1.dat" 131 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/139_0xc25bc1e5ef9d7d4ff79f7851a1c6a5b0610209ad/transcript00.dat -H 'Range: bytes=28-91' > 139_0xc25bc1e5ef9d7d4ff79f7851a1c6a5b0610209ad_g1.dat" 132 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/140_0x1e17a75616cd74f5846b1b71622aa8e10ea26cc0/transcript00.dat -H 'Range: bytes=28-91' > 140_0x1e17a75616cd74f5846b1b71622aa8e10ea26cc0_g1.dat" 133 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/141_0x70bbdb84e4abd452b190f6b7e5d7f131d11d38c8/transcript00.dat -H 'Range: bytes=28-91' > 141_0x70bbdb84e4abd452b190f6b7e5d7f131d11d38c8_g1.dat" 134 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/142_0x5cdb0039db97409243ca00ca70be8616fba322a0/transcript00.dat -H 'Range: bytes=28-91' > 142_0x5cdb0039db97409243ca00ca70be8616fba322a0_g1.dat" 135 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/143_0x9d6d9c4d2aa7aa68572929cbeb06caf583865c39/transcript00.dat -H 'Range: bytes=28-91' > 143_0x9d6d9c4d2aa7aa68572929cbeb06caf583865c39_g1.dat" 136 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/144_0x115c9e1694130640e0237eb8ad66be1ee29e1021/transcript00.dat -H 'Range: bytes=28-91' > 144_0x115c9e1694130640e0237eb8ad66be1ee29e1021_g1.dat" 137 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/146_0xeecd1a2e2d9ecc7898b41c64eb5b95b3d4f36d25/transcript00.dat -H 'Range: bytes=28-91' > 146_0xeecd1a2e2d9ecc7898b41c64eb5b95b3d4f36d25_g1.dat" 138 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/147_0x6ec5515ca4d3d03d3277abf0440302dd88d3d4e7/transcript00.dat -H 'Range: bytes=28-91' > 147_0x6ec5515ca4d3d03d3277abf0440302dd88d3d4e7_g1.dat" 139 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/150_0x65ee7c57c1eb5fc92f7bfdb7c80aff940c507cc0/transcript00.dat -H 'Range: bytes=28-91' > 150_0x65ee7c57c1eb5fc92f7bfdb7c80aff940c507cc0_g1.dat" 140 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/152_0x255a827b8172a4ef2c3cf36d6f86745bc67484c4/transcript00.dat -H 'Range: bytes=28-91' > 152_0x255a827b8172a4ef2c3cf36d6f86745bc67484c4_g1.dat" 141 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/155_0xaf638f50169836d0fa4ba6851852eddc465a77dc/transcript00.dat -H 'Range: bytes=28-91' > 155_0xaf638f50169836d0fa4ba6851852eddc465a77dc_g1.dat" 142 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/156_0xf3ad7a80c7debe37db5cee1e3ed45f31a5629e5e/transcript00.dat -H 'Range: bytes=28-91' > 156_0xf3ad7a80c7debe37db5cee1e3ed45f31a5629e5e_g1.dat" 143 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/157_0xc793e40cc38f91a00efc76bb46cc4a556cbfe876/transcript00.dat -H 'Range: bytes=28-91' > 157_0xc793e40cc38f91a00efc76bb46cc4a556cbfe876_g1.dat" 144 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/158_0x762bb0a33f912ab0972541d377e039de0cef8b35/transcript00.dat -H 'Range: bytes=28-91' > 158_0x762bb0a33f912ab0972541d377e039de0cef8b35_g1.dat" 145 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/162_0x5d6610f282fb5a940864da792c6af0bfce9e9fb8/transcript00.dat -H 'Range: bytes=28-91' > 162_0x5d6610f282fb5a940864da792c6af0bfce9e9fb8_g1.dat" 146 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/163_0x93f3b551b8e15a397bcce3494a15c2f26e6f4582/transcript00.dat -H 'Range: bytes=28-91' > 163_0x93f3b551b8e15a397bcce3494a15c2f26e6f4582_g1.dat" 147 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/164_0xd2cb932513eec93fc0a40243c39bf5525c0be5d2/transcript00.dat -H 'Range: bytes=28-91' > 164_0xd2cb932513eec93fc0a40243c39bf5525c0be5d2_g1.dat" 148 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/166_0x36da627552c2166ee81ec2944c131aec4ca8f504/transcript00.dat -H 'Range: bytes=28-91' > 166_0x36da627552c2166ee81ec2944c131aec4ca8f504_g1.dat" 149 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/168_0x0d7cc91c5698995fc44a503e60c270a0fb719bfa/transcript00.dat -H 'Range: bytes=28-91' > 168_0x0d7cc91c5698995fc44a503e60c270a0fb719bfa_g1.dat" 150 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/169_0x7cc2617e201ebac60dd37c940ceff0353bdda0a2/transcript00.dat -H 'Range: bytes=28-91' > 169_0x7cc2617e201ebac60dd37c940ceff0353bdda0a2_g1.dat" 151 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/170_0xe68967c95f5a9bccfdd711a2cbc23ec958f147ef/transcript00.dat -H 'Range: bytes=28-91' > 170_0xe68967c95f5a9bccfdd711a2cbc23ec958f147ef_g1.dat" 152 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/171_0x6b6f06c0325125ce5a010a6901ed2231e26b0246/transcript00.dat -H 'Range: bytes=28-91' > 171_0x6b6f06c0325125ce5a010a6901ed2231e26b0246_g1.dat" 153 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/172_0xc1a075a1f6ab6b74b84e21578f863a613ed5731b/transcript00.dat -H 'Range: bytes=28-91' > 172_0xc1a075a1f6ab6b74b84e21578f863a613ed5731b_g1.dat" 154 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/173_0x2591a8d50ca9a2fa9b9a5b2e02774a6945cbfd2c/transcript00.dat -H 'Range: bytes=28-91' > 173_0x2591a8d50ca9a2fa9b9a5b2e02774a6945cbfd2c_g1.dat" 155 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/174_0x9a20acff24626e94697ce874f933c32805fa8243/transcript00.dat -H 'Range: bytes=28-91' > 174_0x9a20acff24626e94697ce874f933c32805fa8243_g1.dat" 156 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/175_0xdd1b54cf15dd3ff35caa088b40bfb7d586dbd634/transcript00.dat -H 'Range: bytes=28-91' > 175_0xdd1b54cf15dd3ff35caa088b40bfb7d586dbd634_g1.dat" 157 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/176_0xa3ae668b6239fa3eb1dc26daabb03f244d0259f0/transcript00.dat -H 'Range: bytes=28-91' > 176_0xa3ae668b6239fa3eb1dc26daabb03f244d0259f0_g1.dat" 158 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/177_0x7b142aef8f36a4163f8f9ad2aa9b65a1b4f1a931/transcript00.dat -H 'Range: bytes=28-91' > 177_0x7b142aef8f36a4163f8f9ad2aa9b65a1b4f1a931_g1.dat" 159 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/178_0x9f61b8e4bcf9d896eed688e352aa8b91c5d03490/transcript00.dat -H 'Range: bytes=28-91' > 178_0x9f61b8e4bcf9d896eed688e352aa8b91c5d03490_g1.dat" 160 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/179_0xb51da5f6a840098a2b78a381a2a9716ff1f112c1/transcript00.dat -H 'Range: bytes=28-91' > 179_0xb51da5f6a840098a2b78a381a2a9716ff1f112c1_g1.dat" 161 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/180_0x2db0b18fd469eb489681ab1aeee58019f6342d0a/transcript00.dat -H 'Range: bytes=28-91' > 180_0x2db0b18fd469eb489681ab1aeee58019f6342d0a_g1.dat" 162 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/181_0x6a3738c6299f45c31697acea647d49edcc9c28a4/transcript00.dat -H 'Range: bytes=28-91' > 181_0x6a3738c6299f45c31697acea647d49edcc9c28a4_g1.dat" 163 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/183_0x04a23ba68e4469061cd461e8b847e820d4ced948/transcript00.dat -H 'Range: bytes=28-91' > 183_0x04a23ba68e4469061cd461e8b847e820d4ced948_g1.dat" 164 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/184_0xd243832b1bed5c2306997bb3a6c1698311180a5e/transcript00.dat -H 'Range: bytes=28-91' > 184_0xd243832b1bed5c2306997bb3a6c1698311180a5e_g1.dat" 165 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/185_0x4dd5ef35a9d552fe98255d7cb0135c7442433e09/transcript00.dat -H 'Range: bytes=28-91' > 185_0x4dd5ef35a9d552fe98255d7cb0135c7442433e09_g1.dat" 166 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/186_0xa49eec7f4f90598d5117e22e5b54f49408b70ccf/transcript00.dat -H 'Range: bytes=28-91' > 186_0xa49eec7f4f90598d5117e22e5b54f49408b70ccf_g1.dat" 167 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/187_0xadb644f697e4a11a0dcf1d38a88016c99d3b3169/transcript00.dat -H 'Range: bytes=28-91' > 187_0xadb644f697e4a11a0dcf1d38a88016c99d3b3169_g1.dat" 168 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/188_0x5145b8ef462d8b7ac397d5bf880ff651a47ac527/transcript00.dat -H 'Range: bytes=28-91' > 188_0x5145b8ef462d8b7ac397d5bf880ff651a47ac527_g1.dat" 169 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/189_0x1d14c4a99495be54d8fa8e8ffef0ad04db6e73c5/transcript00.dat -H 'Range: bytes=28-91' > 189_0x1d14c4a99495be54d8fa8e8ffef0ad04db6e73c5_g1.dat" 170 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/190_0x9675fb42f8e8f77d0525a05a2e493f109486c551/transcript00.dat -H 'Range: bytes=28-91' > 190_0x9675fb42f8e8f77d0525a05a2e493f109486c551_g1.dat" 171 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/191_0xba3ab7472d78c603a0c60751176693e226611eb9/transcript00.dat -H 'Range: bytes=28-91' > 191_0xba3ab7472d78c603a0c60751176693e226611eb9_g1.dat" 172 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/192_0x0e74ea9735675b5e28cc65f3ac5c70134cf37640/transcript00.dat -H 'Range: bytes=28-91' > 192_0x0e74ea9735675b5e28cc65f3ac5c70134cf37640_g1.dat" 173 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/193_0xcbf62865eab142728810a158ef77c9ed4aaa81b2/transcript00.dat -H 'Range: bytes=28-91' > 193_0xcbf62865eab142728810a158ef77c9ed4aaa81b2_g1.dat" 174 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/194_0x8b0b3502c6e5859796c69f510de2de8adf6d4225/transcript00.dat -H 'Range: bytes=28-91' > 194_0x8b0b3502c6e5859796c69f510de2de8adf6d4225_g1.dat" 175 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/196_0x9c3f372a2aacc0d7272f56a4664311b7647b0031/transcript00.dat -H 'Range: bytes=28-91' > 196_0x9c3f372a2aacc0d7272f56a4664311b7647b0031_g1.dat" 176 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/197_0xa57ec000b7fb9ea9b0119efdee0b8f15f895c2f3/transcript00.dat -H 'Range: bytes=28-91' > 197_0xa57ec000b7fb9ea9b0119efdee0b8f15f895c2f3_g1.dat" 177 | curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/sealed/transcript00.dat -H 'Range: bytes=28-91' > 198_sealed_g1.dat 178 | -------------------------------------------------------------------------------- /g2points/keys: -------------------------------------------------------------------------------- 1 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/001_0xdbbbef6a9db7ae52e73673747ece3407d8540307/transcript00.dat -H 'Range: bytes=322560028-322560283' > 001_0xdbbbef6a9db7ae52e73673747ece3407d8540307_g2.dat" 2 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/002_0x740cf03808d45ce6d7519cdaa8c4bafbc0409d8e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 002_0x740cf03808d45ce6d7519cdaa8c4bafbc0409d8e_g2.dat" 3 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/003_0x75d87981d5df0490e2949fb7f1936f16f3b85110/transcript00.dat -H 'Range: bytes=322560028-322560283' > 003_0x75d87981d5df0490e2949fb7f1936f16f3b85110_g2.dat" 4 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/004_0x7dc00a021cad0cafa9696d7430883a48772aa9bd/transcript00.dat -H 'Range: bytes=322560028-322560283' > 004_0x7dc00a021cad0cafa9696d7430883a48772aa9bd_g2.dat" 5 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/005_0x69dbe791cffd6295a1327f0d2015eaf6e2f52c1d/transcript00.dat -H 'Range: bytes=322560028-322560283' > 005_0x69dbe791cffd6295a1327f0d2015eaf6e2f52c1d_g2.dat" 6 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/006_0x1891ef0a3cdae5b96782bd9e65cdf014ae3c9587/transcript00.dat -H 'Range: bytes=322560028-322560283' > 006_0x1891ef0a3cdae5b96782bd9e65cdf014ae3c9587_g2.dat" 7 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/007_0x3b16821a5dbbff86e4a88ea0621ec6be016cd79a/transcript00.dat -H 'Range: bytes=322560028-322560283' > 007_0x3b16821a5dbbff86e4a88ea0621ec6be016cd79a_g2.dat" 8 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/008_0xe570b479145327965b88707fe6695316b5982b16/transcript00.dat -H 'Range: bytes=322560028-322560283' > 008_0xe570b479145327965b88707fe6695316b5982b16_g2.dat" 9 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/009_0x1454a61f1d2a90790e04653d02aee637d995f110/transcript00.dat -H 'Range: bytes=322560028-322560283' > 009_0x1454a61f1d2a90790e04653d02aee637d995f110_g2.dat" 10 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/010_0xeeb6cd10a623f8aa2d6b986a842b8340bfab38dd/transcript00.dat -H 'Range: bytes=322560028-322560283' > 010_0xeeb6cd10a623f8aa2d6b986a842b8340bfab38dd_g2.dat" 11 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/011_0x7e5708ded50e35c23d7ef9e22e25412c509b2fcd/transcript00.dat -H 'Range: bytes=322560028-322560283' > 011_0x7e5708ded50e35c23d7ef9e22e25412c509b2fcd_g2.dat" 12 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/012_0xc7fe9fa93b8b941b714a4158118f5745f42003d6/transcript00.dat -H 'Range: bytes=322560028-322560283' > 012_0xc7fe9fa93b8b941b714a4158118f5745f42003d6_g2.dat" 13 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/013_0x39b3dcdcda1da7051d1ee6df66d3c1d494b4b35f/transcript00.dat -H 'Range: bytes=322560028-322560283' > 013_0x39b3dcdcda1da7051d1ee6df66d3c1d494b4b35f_g2.dat" 14 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/014_0x96914c4e5b6ff913522df06604f60a7b26930049/transcript00.dat -H 'Range: bytes=322560028-322560283' > 014_0x96914c4e5b6ff913522df06604f60a7b26930049_g2.dat" 15 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/015_0xdfa007c4b7d0e8dbc87562f564024793d2115129/transcript00.dat -H 'Range: bytes=322560028-322560283' > 015_0xdfa007c4b7d0e8dbc87562f564024793d2115129_g2.dat" 16 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/016_0xd65b1a3f74d0e65fb8c37755fc4a8bf9c723383e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 016_0xd65b1a3f74d0e65fb8c37755fc4a8bf9c723383e_g2.dat" 17 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/017_0xdc08baed2e27e2d69dc479cbfa2d0ec1f45240ab/transcript00.dat -H 'Range: bytes=322560028-322560283' > 017_0xdc08baed2e27e2d69dc479cbfa2d0ec1f45240ab_g2.dat" 18 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/018_0x3c22b9cbf6d53d9e00ea506e79f8d0a2233b53c8/transcript00.dat -H 'Range: bytes=322560028-322560283' > 018_0x3c22b9cbf6d53d9e00ea506e79f8d0a2233b53c8_g2.dat" 19 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/019_0x918a858ed47a61e6866ce475f219ec81feece613/transcript00.dat -H 'Range: bytes=322560028-322560283' > 019_0x918a858ed47a61e6866ce475f219ec81feece613_g2.dat" 20 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/020_0xdcfb6b6c9613753c0cb6ad0f760e26d496d3c86b/transcript00.dat -H 'Range: bytes=322560028-322560283' > 020_0xdcfb6b6c9613753c0cb6ad0f760e26d496d3c86b_g2.dat" 21 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/021_0x53d389867702b19b5b7ba9a12d60b727eae14bb0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 021_0x53d389867702b19b5b7ba9a12d60b727eae14bb0_g2.dat" 22 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/022_0x6a8d553a35122adac225bffa2d97a5ef9549be0e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 022_0x6a8d553a35122adac225bffa2d97a5ef9549be0e_g2.dat" 23 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/023_0x7fc43eabcfc9a1a277bee4aa71b1b91f6295787b/transcript00.dat -H 'Range: bytes=322560028-322560283' > 023_0x7fc43eabcfc9a1a277bee4aa71b1b91f6295787b_g2.dat" 24 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/024_0xacaf87a99d8056d5a2e8daf1a9754301319f2d2e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 024_0xacaf87a99d8056d5a2e8daf1a9754301319f2d2e_g2.dat" 25 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/026_0x64cb0559ecf1bc692e68b3bac5bfd6391bb161ce/transcript00.dat -H 'Range: bytes=322560028-322560283' > 026_0x64cb0559ecf1bc692e68b3bac5bfd6391bb161ce_g2.dat" 26 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/027_0xdb8f5f7bc1086e59ac909aa845effa09fde735eb/transcript00.dat -H 'Range: bytes=322560028-322560283' > 027_0xdb8f5f7bc1086e59ac909aa845effa09fde735eb_g2.dat" 27 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/028_0x864aad25c18680518726cff817f4c7dfa982623a/transcript00.dat -H 'Range: bytes=322560028-322560283' > 028_0x864aad25c18680518726cff817f4c7dfa982623a_g2.dat" 28 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/029_0x2717aa4d36423416cfa3a716c6a5a8ea108104ca/transcript00.dat -H 'Range: bytes=322560028-322560283' > 029_0x2717aa4d36423416cfa3a716c6a5a8ea108104ca_g2.dat" 29 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/030_0x913fd60887e7b99f2ee9115a79f3c5886ad2d47a/transcript00.dat -H 'Range: bytes=322560028-322560283' > 030_0x913fd60887e7b99f2ee9115a79f3c5886ad2d47a_g2.dat" 30 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/031_0xf95b7ab89fd7d2365a7e6e6a6362489471cd423f/transcript00.dat -H 'Range: bytes=322560028-322560283' > 031_0xf95b7ab89fd7d2365a7e6e6a6362489471cd423f_g2.dat" 31 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/032_0x0cd54126cf2a83bd0c81f46d99eab8b80d202544/transcript00.dat -H 'Range: bytes=322560028-322560283' > 032_0x0cd54126cf2a83bd0c81f46d99eab8b80d202544_g2.dat" 32 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/033_0x3e00521af2e1ef745bb4e59ed80cac14a9103e3c/transcript00.dat -H 'Range: bytes=322560028-322560283' > 033_0x3e00521af2e1ef745bb4e59ed80cac14a9103e3c_g2.dat" 33 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/034_0x1e7c4a7ec5ee819c6d1db0c10015b73832752a41/transcript00.dat -H 'Range: bytes=322560028-322560283' > 034_0x1e7c4a7ec5ee819c6d1db0c10015b73832752a41_g2.dat" 34 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/035_0x6c6ef314b536682574a4d5536ae210e3fc7a2e83/transcript00.dat -H 'Range: bytes=322560028-322560283' > 035_0x6c6ef314b536682574a4d5536ae210e3fc7a2e83_g2.dat" 35 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/036_0x63f3357c29b029d90789014cfce5f1b50762f456/transcript00.dat -H 'Range: bytes=322560028-322560283' > 036_0x63f3357c29b029d90789014cfce5f1b50762f456_g2.dat" 36 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/038_0x826fee669f9ff0b1d83988a5195e739d0c08d476/transcript00.dat -H 'Range: bytes=322560028-322560283' > 038_0x826fee669f9ff0b1d83988a5195e739d0c08d476_g2.dat" 37 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/039_0x67156e0f96b43b8e30934f7a809b356c5148721f/transcript00.dat -H 'Range: bytes=322560028-322560283' > 039_0x67156e0f96b43b8e30934f7a809b356c5148721f_g2.dat" 38 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/040_0xf02f630d1f2fac0b6c070b7a02a25d534e87c5ec/transcript00.dat -H 'Range: bytes=322560028-322560283' > 040_0xf02f630d1f2fac0b6c070b7a02a25d534e87c5ec_g2.dat" 39 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/041_0xf053adb5d6310219f84b5792db23a4fed3c25d57/transcript00.dat -H 'Range: bytes=322560028-322560283' > 041_0xf053adb5d6310219f84b5792db23a4fed3c25d57_g2.dat" 40 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/043_0x9f6926882d651affb16975c795b6c2b71348f791/transcript00.dat -H 'Range: bytes=322560028-322560283' > 043_0x9f6926882d651affb16975c795b6c2b71348f791_g2.dat" 41 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/044_0x5b8e94f4dc4c0cc2989c1ceff7adb7b7f83fc9d7/transcript00.dat -H 'Range: bytes=322560028-322560283' > 044_0x5b8e94f4dc4c0cc2989c1ceff7adb7b7f83fc9d7_g2.dat" 42 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/045_0xad025662656c27779e7893c8923eb8098c28ab01/transcript00.dat -H 'Range: bytes=322560028-322560283' > 045_0xad025662656c27779e7893c8923eb8098c28ab01_g2.dat" 43 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/046_0xfc2ec6a21004b9f79ff1ac69e352ec512be6a5aa/transcript00.dat -H 'Range: bytes=322560028-322560283' > 046_0xfc2ec6a21004b9f79ff1ac69e352ec512be6a5aa_g2.dat" 44 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/047_0x08d816526bdc9d077dd685bd9fa49f58a5ab8e48/transcript00.dat -H 'Range: bytes=322560028-322560283' > 047_0x08d816526bdc9d077dd685bd9fa49f58a5ab8e48_g2.dat" 45 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/048_0x037b22bd2ed3df1e5bb8fbf7faa2feac9dda22b0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 048_0x037b22bd2ed3df1e5bb8fbf7faa2feac9dda22b0_g2.dat" 46 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/049_0x29cfee3953a95a04f78725cf8a83943571441393/transcript00.dat -H 'Range: bytes=322560028-322560283' > 049_0x29cfee3953a95a04f78725cf8a83943571441393_g2.dat" 47 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/050_0x99a33899af30ad2515c9a6b0968983c098fc8420/transcript00.dat -H 'Range: bytes=322560028-322560283' > 050_0x99a33899af30ad2515c9a6b0968983c098fc8420_g2.dat" 48 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/051_0x43f9d5d896055825aecd5736b01d88ffee58ed9f/transcript00.dat -H 'Range: bytes=322560028-322560283' > 051_0x43f9d5d896055825aecd5736b01d88ffee58ed9f_g2.dat" 49 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/052_0x6b542c6ffc8e3880dbd443225d513f1903315859/transcript00.dat -H 'Range: bytes=322560028-322560283' > 052_0x6b542c6ffc8e3880dbd443225d513f1903315859_g2.dat" 50 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/053_0x9037a75c997bba5243a884122e9ac5b9c26ee3e2/transcript00.dat -H 'Range: bytes=322560028-322560283' > 053_0x9037a75c997bba5243a884122e9ac5b9c26ee3e2_g2.dat" 51 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/054_0x7ab874eeef0169ada0d225e9801a3ffffa26aac3/transcript00.dat -H 'Range: bytes=322560028-322560283' > 054_0x7ab874eeef0169ada0d225e9801a3ffffa26aac3_g2.dat" 52 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/055_0xc5c4ef18a806476fbaa1a2727ff4115d3dce7ba2/transcript00.dat -H 'Range: bytes=322560028-322560283' > 055_0xc5c4ef18a806476fbaa1a2727ff4115d3dce7ba2_g2.dat" 53 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/056_0x9315d886ea870f47e1619743df8c6e46b3704a42/transcript00.dat -H 'Range: bytes=322560028-322560283' > 056_0x9315d886ea870f47e1619743df8c6e46b3704a42_g2.dat" 54 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/057_0x83351a17e7138eac8430d7d17e2e7e71e7b16ce6/transcript00.dat -H 'Range: bytes=322560028-322560283' > 057_0x83351a17e7138eac8430d7d17e2e7e71e7b16ce6_g2.dat" 55 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/058_0x0653f6401e8d4529b50cc4fb1a0d859c9bf0ef18/transcript00.dat -H 'Range: bytes=322560028-322560283' > 058_0x0653f6401e8d4529b50cc4fb1a0d859c9bf0ef18_g2.dat" 56 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/059_0x9407505cdac6be5022d3fa6ad0bc1f5b4284d810/transcript00.dat -H 'Range: bytes=322560028-322560283' > 059_0x9407505cdac6be5022d3fa6ad0bc1f5b4284d810_g2.dat" 57 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/060_0x158c0148f60abb4a42aed6f6883600dc7ee56907/transcript00.dat -H 'Range: bytes=322560028-322560283' > 060_0x158c0148f60abb4a42aed6f6883600dc7ee56907_g2.dat" 58 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/061_0x6ce272d67d003a9ba6cd57be41cc5f6a0e9c4be0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 061_0x6ce272d67d003a9ba6cd57be41cc5f6a0e9c4be0_g2.dat" 59 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/062_0xe4f4ba7af3bc327f48fc35aa82f06bd0f2aa422d/transcript00.dat -H 'Range: bytes=322560028-322560283' > 062_0xe4f4ba7af3bc327f48fc35aa82f06bd0f2aa422d_g2.dat" 60 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/064_0x6706ea09b9b43efd0cb6c9ffb3bdb538a6af9d0f/transcript00.dat -H 'Range: bytes=322560028-322560283' > 064_0x6706ea09b9b43efd0cb6c9ffb3bdb538a6af9d0f_g2.dat" 61 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/065_0x051f84a3d77324b3765c6fba25ddc62a0975c5fc/transcript00.dat -H 'Range: bytes=322560028-322560283' > 065_0x051f84a3d77324b3765c6fba25ddc62a0975c5fc_g2.dat" 62 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/066_0x59839a277fad672ca7652817ede6adf9393dd066/transcript00.dat -H 'Range: bytes=322560028-322560283' > 066_0x59839a277fad672ca7652817ede6adf9393dd066_g2.dat" 63 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/067_0xc024559c710123b6caf5d225b56913aab339aad0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 067_0xc024559c710123b6caf5d225b56913aab339aad0_g2.dat" 64 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/068_0xf5e506034b97ec41946f8e203037d655dea0e600/transcript00.dat -H 'Range: bytes=322560028-322560283' > 068_0xf5e506034b97ec41946f8e203037d655dea0e600_g2.dat" 65 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/070_0x0b2059821a9706a8ffe39e530775a8834f33de40/transcript00.dat -H 'Range: bytes=322560028-322560283' > 070_0x0b2059821a9706a8ffe39e530775a8834f33de40_g2.dat" 66 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/071_0xe34e752ce6e08d2deb347bed9ebac35973c6a2f0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 071_0xe34e752ce6e08d2deb347bed9ebac35973c6a2f0_g2.dat" 67 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/072_0x2236060c09298deba9fd23c40f4e2492e86863d5/transcript00.dat -H 'Range: bytes=322560028-322560283' > 072_0x2236060c09298deba9fd23c40f4e2492e86863d5_g2.dat" 68 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/074_0xffd1ac3e8818adcbe5c597ea076e8d3210b45df5/transcript00.dat -H 'Range: bytes=322560028-322560283' > 074_0xffd1ac3e8818adcbe5c597ea076e8d3210b45df5_g2.dat" 69 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/075_0x21f045bda1a7e099c7a5bfd7952e65ce86bfcdae/transcript00.dat -H 'Range: bytes=322560028-322560283' > 075_0x21f045bda1a7e099c7a5bfd7952e65ce86bfcdae_g2.dat" 70 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/076_0x9e12aeb73500577352b2664f1d45d9d4ac7ac61d/transcript00.dat -H 'Range: bytes=322560028-322560283' > 076_0x9e12aeb73500577352b2664f1d45d9d4ac7ac61d_g2.dat" 71 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/077_0x8540f80fab2afcae8d8fd6b1557b1cf943a0999b/transcript00.dat -H 'Range: bytes=322560028-322560283' > 077_0x8540f80fab2afcae8d8fd6b1557b1cf943a0999b_g2.dat" 72 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/078_0xabcdef1b9238f734f8fdbf7cb007e73bfe624b8a/transcript00.dat -H 'Range: bytes=322560028-322560283' > 078_0xabcdef1b9238f734f8fdbf7cb007e73bfe624b8a_g2.dat" 73 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/079_0xf3eacd0e23022bddc2035c1bf40674aa73c9c01d/transcript00.dat -H 'Range: bytes=322560028-322560283' > 079_0xf3eacd0e23022bddc2035c1bf40674aa73c9c01d_g2.dat" 74 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/080_0x86d73b4962acf4e7ef626a73c43a5db68eebf0d0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 080_0x86d73b4962acf4e7ef626a73c43a5db68eebf0d0_g2.dat" 75 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/081_0x32cefb2dc869bbfe636f7547cda43f561bf88d5a/transcript00.dat -H 'Range: bytes=322560028-322560283' > 081_0x32cefb2dc869bbfe636f7547cda43f561bf88d5a_g2.dat" 76 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/082_0xf7a899a23200a56a33a714cfdd3582b09747e544/transcript00.dat -H 'Range: bytes=322560028-322560283' > 082_0xf7a899a23200a56a33a714cfdd3582b09747e544_g2.dat" 77 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/083_0x00000080d11010bc5816a0686e93eebcf7544560/transcript00.dat -H 'Range: bytes=322560028-322560283' > 083_0x00000080d11010bc5816a0686e93eebcf7544560_g2.dat" 78 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/084_0x505e20c0fb8252ca7ac21d54d5432eccd4f2d076/transcript00.dat -H 'Range: bytes=322560028-322560283' > 084_0x505e20c0fb8252ca7ac21d54d5432eccd4f2d076_g2.dat" 79 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/085_0xb56ab82eda00314971503494beaec6547a415aaa/transcript00.dat -H 'Range: bytes=322560028-322560283' > 085_0xb56ab82eda00314971503494beaec6547a415aaa_g2.dat" 80 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/086_0xe165f653c8dde97362fa0956cd4f50e1dba0fed9/transcript00.dat -H 'Range: bytes=322560028-322560283' > 086_0xe165f653c8dde97362fa0956cd4f50e1dba0fed9_g2.dat" 81 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/087_0x7777238023ba22d86266a5fe43d0b6e17d05d2c5/transcript00.dat -H 'Range: bytes=322560028-322560283' > 087_0x7777238023ba22d86266a5fe43d0b6e17d05d2c5_g2.dat" 82 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/088_0x2550d0a2004efd17dc3914ee0015e4f93af235a3/transcript00.dat -H 'Range: bytes=322560028-322560283' > 088_0x2550d0a2004efd17dc3914ee0015e4f93af235a3_g2.dat" 83 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/089_0x70ec9479ed111c4e214bc89e25d576c6c0fa48a0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 089_0x70ec9479ed111c4e214bc89e25d576c6c0fa48a0_g2.dat" 84 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/090_0xd6acd4d13f3ef64d4ae8eabe1350e87227c4d37e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 090_0xd6acd4d13f3ef64d4ae8eabe1350e87227c4d37e_g2.dat" 85 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/091_0x2a130c6c33107a14077b4d5261f8ebb65b908779/transcript00.dat -H 'Range: bytes=322560028-322560283' > 091_0x2a130c6c33107a14077b4d5261f8ebb65b908779_g2.dat" 86 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/093_0x5b73f2db6a23b3044c4f682a1f13a8e12abdc01d/transcript00.dat -H 'Range: bytes=322560028-322560283' > 093_0x5b73f2db6a23b3044c4f682a1f13a8e12abdc01d_g2.dat" 87 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/094_0xeda98b866ecc8db8b55abec476443cb9c499da60/transcript00.dat -H 'Range: bytes=322560028-322560283' > 094_0xeda98b866ecc8db8b55abec476443cb9c499da60_g2.dat" 88 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/095_0xa17ddb3a1ff5e67446c63d320a11766e97085020/transcript00.dat -H 'Range: bytes=322560028-322560283' > 095_0xa17ddb3a1ff5e67446c63d320a11766e97085020_g2.dat" 89 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/096_0x19db1426ae90c8008fea12f24814d1628c69b655/transcript00.dat -H 'Range: bytes=322560028-322560283' > 096_0x19db1426ae90c8008fea12f24814d1628c69b655_g2.dat" 90 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/097_0xe6c8382ec2cb73f04ce10c982a4b337a19f63a31/transcript00.dat -H 'Range: bytes=322560028-322560283' > 097_0xe6c8382ec2cb73f04ce10c982a4b337a19f63a31_g2.dat" 91 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/098_0xa986544e7911d1a0a8a2bb3f3ae89a32750e3311/transcript00.dat -H 'Range: bytes=322560028-322560283' > 098_0xa986544e7911d1a0a8a2bb3f3ae89a32750e3311_g2.dat" 92 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/099_0xbd46134d6060a1386a66793f46d5069eb6be5e9b/transcript00.dat -H 'Range: bytes=322560028-322560283' > 099_0xbd46134d6060a1386a66793f46d5069eb6be5e9b_g2.dat" 93 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/100_0xa490c1b2acf686371382aa6886f008877936fb0f/transcript00.dat -H 'Range: bytes=322560028-322560283' > 100_0xa490c1b2acf686371382aa6886f008877936fb0f_g2.dat" 94 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/101_0xcaf6b409e7a886eda2bed5ce1a890546d34f345f/transcript00.dat -H 'Range: bytes=322560028-322560283' > 101_0xcaf6b409e7a886eda2bed5ce1a890546d34f345f_g2.dat" 95 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/102_0x63aab151e3f8c2b2f8d56106d526a26eb3ffe2b6/transcript00.dat -H 'Range: bytes=322560028-322560283' > 102_0x63aab151e3f8c2b2f8d56106d526a26eb3ffe2b6_g2.dat" 96 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/103_0x2222979216ea2aec23caf82f35c8ce2376a8c25d/transcript00.dat -H 'Range: bytes=322560028-322560283' > 103_0x2222979216ea2aec23caf82f35c8ce2376a8c25d_g2.dat" 97 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/104_0x83f5752fda8cd711bdded24c5a26c1082a3fad3c/transcript00.dat -H 'Range: bytes=322560028-322560283' > 104_0x83f5752fda8cd711bdded24c5a26c1082a3fad3c_g2.dat" 98 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/105_0xbf4f3a01bb3f1d5e994b124784d6e4846b8d322d/transcript00.dat -H 'Range: bytes=322560028-322560283' > 105_0xbf4f3a01bb3f1d5e994b124784d6e4846b8d322d_g2.dat" 99 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/106_0x9066fc5a2e5a60a69116f81e64c37e72151149a4/transcript00.dat -H 'Range: bytes=322560028-322560283' > 106_0x9066fc5a2e5a60a69116f81e64c37e72151149a4_g2.dat" 100 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/107_0x88d116b5cddaf8f8c5ebf837ce6762e9ab3804ce/transcript00.dat -H 'Range: bytes=322560028-322560283' > 107_0x88d116b5cddaf8f8c5ebf837ce6762e9ab3804ce_g2.dat" 101 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/108_0x6d8ea0c6d5f04051bee8b200dbff4e7b34364f34/transcript00.dat -H 'Range: bytes=322560028-322560283' > 108_0x6d8ea0c6d5f04051bee8b200dbff4e7b34364f34_g2.dat" 102 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/109_0x07d62a36d35261afecf6cb89382d393a398edc1a/transcript00.dat -H 'Range: bytes=322560028-322560283' > 109_0x07d62a36d35261afecf6cb89382d393a398edc1a_g2.dat" 103 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/110_0xa84e201d232f173ec254748e879b87c64d6928b8/transcript00.dat -H 'Range: bytes=322560028-322560283' > 110_0xa84e201d232f173ec254748e879b87c64d6928b8_g2.dat" 104 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/111_0x446fa0c8ead753c7abf0b821f90d4338e72de380/transcript00.dat -H 'Range: bytes=322560028-322560283' > 111_0x446fa0c8ead753c7abf0b821f90d4338e72de380_g2.dat" 105 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/112_0x16f375e0f83bbdba8071b0c438505eb7fa741fa9/transcript00.dat -H 'Range: bytes=322560028-322560283' > 112_0x16f375e0f83bbdba8071b0c438505eb7fa741fa9_g2.dat" 106 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/113_0x8fc37396d421ce68298979c01e2bf39c98960a94/transcript00.dat -H 'Range: bytes=322560028-322560283' > 113_0x8fc37396d421ce68298979c01e2bf39c98960a94_g2.dat" 107 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/114_0xc4e3ac28554fa698822f542ec3a81fab53027d59/transcript00.dat -H 'Range: bytes=322560028-322560283' > 114_0xc4e3ac28554fa698822f542ec3a81fab53027d59_g2.dat" 108 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/115_0x11064f2aadd3ee47f0e13d36d49762f3eac69c3f/transcript00.dat -H 'Range: bytes=322560028-322560283' > 115_0x11064f2aadd3ee47f0e13d36d49762f3eac69c3f_g2.dat" 109 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/116_0x10f5226c5603abf293feeea9ed7b49c82c0a1562/transcript00.dat -H 'Range: bytes=322560028-322560283' > 116_0x10f5226c5603abf293feeea9ed7b49c82c0a1562_g2.dat" 110 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/117_0xaf2dcb5506ff81e810a66aa067524f362d98d878/transcript00.dat -H 'Range: bytes=322560028-322560283' > 117_0xaf2dcb5506ff81e810a66aa067524f362d98d878_g2.dat" 111 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/118_0xb83f97a8e3e4ed65d008c738572e7ae2953910bc/transcript00.dat -H 'Range: bytes=322560028-322560283' > 118_0xb83f97a8e3e4ed65d008c738572e7ae2953910bc_g2.dat" 112 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/120_0xf81639573a74d47ab408cc9518dfae44643be88b/transcript00.dat -H 'Range: bytes=322560028-322560283' > 120_0xf81639573a74d47ab408cc9518dfae44643be88b_g2.dat" 113 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/121_0x474648ef5b71c4996d495edeb6dcdd7aeb2f7887/transcript00.dat -H 'Range: bytes=322560028-322560283' > 121_0x474648ef5b71c4996d495edeb6dcdd7aeb2f7887_g2.dat" 114 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/122_0x767cf362df9164337294a29e088fef2f365fd25a/transcript00.dat -H 'Range: bytes=322560028-322560283' > 122_0x767cf362df9164337294a29e088fef2f365fd25a_g2.dat" 115 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/123_0xa08250f08943671f6a2f92efd1133c20f858f409/transcript00.dat -H 'Range: bytes=322560028-322560283' > 123_0xa08250f08943671f6a2f92efd1133c20f858f409_g2.dat" 116 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/124_0x8c002a5c72d5b2daf0d96c5395179d8ce5d924d8/transcript00.dat -H 'Range: bytes=322560028-322560283' > 124_0x8c002a5c72d5b2daf0d96c5395179d8ce5d924d8_g2.dat" 117 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/125_0x5bbdbaf010eaf6caef40d296d17f0259a27c5c02/transcript00.dat -H 'Range: bytes=322560028-322560283' > 125_0x5bbdbaf010eaf6caef40d296d17f0259a27c5c02_g2.dat" 118 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/126_0x35293f45d559487d9e8a26aa8bd06f84a38f3929/transcript00.dat -H 'Range: bytes=322560028-322560283' > 126_0x35293f45d559487d9e8a26aa8bd06f84a38f3929_g2.dat" 119 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/127_0x9bee194489b59cc4bed966eb6c25048421813da9/transcript00.dat -H 'Range: bytes=322560028-322560283' > 127_0x9bee194489b59cc4bed966eb6c25048421813da9_g2.dat" 120 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/128_0x4bcb303609f19e71ab82a3a3393c46bfea1e44fc/transcript00.dat -H 'Range: bytes=322560028-322560283' > 128_0x4bcb303609f19e71ab82a3a3393c46bfea1e44fc_g2.dat" 121 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/129_0xb33b76a232eea680a19889f0f567cafd7ced6ced/transcript00.dat -H 'Range: bytes=322560028-322560283' > 129_0xb33b76a232eea680a19889f0f567cafd7ced6ced_g2.dat" 122 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/130_0x22ea43c9a56d660b4d65f073c17317b7cb9308aa/transcript00.dat -H 'Range: bytes=322560028-322560283' > 130_0x22ea43c9a56d660b4d65f073c17317b7cb9308aa_g2.dat" 123 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/131_0xd8e6f7d6df0c82e3bb7fc39dd2855b7139fed96e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 131_0xd8e6f7d6df0c82e3bb7fc39dd2855b7139fed96e_g2.dat" 124 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/132_0x867db38c83f4287a71ffd0cdfba6ffae93150ff7/transcript00.dat -H 'Range: bytes=322560028-322560283' > 132_0x867db38c83f4287a71ffd0cdfba6ffae93150ff7_g2.dat" 125 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/133_0x2c56c3cc3623250c2bfda0f1704125df652c6044/transcript00.dat -H 'Range: bytes=322560028-322560283' > 133_0x2c56c3cc3623250c2bfda0f1704125df652c6044_g2.dat" 126 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/134_0x8e907533ca2f493686ee785abffa4a9459eb8d1e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 134_0x8e907533ca2f493686ee785abffa4a9459eb8d1e_g2.dat" 127 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/135_0xcdaaa052191d0ef614e2a3a463b60bb6ec07c1f6/transcript00.dat -H 'Range: bytes=322560028-322560283' > 135_0xcdaaa052191d0ef614e2a3a463b60bb6ec07c1f6_g2.dat" 128 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/136_0x71335c1a5f0cd5d1af9c10bed6a3177f916a6d5e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 136_0x71335c1a5f0cd5d1af9c10bed6a3177f916a6d5e_g2.dat" 129 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/137_0xd33204a6d9729fbd1afc52d535a8b5bc9bf4d4d1/transcript00.dat -H 'Range: bytes=322560028-322560283' > 137_0xd33204a6d9729fbd1afc52d535a8b5bc9bf4d4d1_g2.dat" 130 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/138_0xb3daa6d952d57e105c7c02a98c53df712b36db76/transcript00.dat -H 'Range: bytes=322560028-322560283' > 138_0xb3daa6d952d57e105c7c02a98c53df712b36db76_g2.dat" 131 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/139_0xc25bc1e5ef9d7d4ff79f7851a1c6a5b0610209ad/transcript00.dat -H 'Range: bytes=322560028-322560283' > 139_0xc25bc1e5ef9d7d4ff79f7851a1c6a5b0610209ad_g2.dat" 132 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/140_0x1e17a75616cd74f5846b1b71622aa8e10ea26cc0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 140_0x1e17a75616cd74f5846b1b71622aa8e10ea26cc0_g2.dat" 133 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/141_0x70bbdb84e4abd452b190f6b7e5d7f131d11d38c8/transcript00.dat -H 'Range: bytes=322560028-322560283' > 141_0x70bbdb84e4abd452b190f6b7e5d7f131d11d38c8_g2.dat" 134 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/142_0x5cdb0039db97409243ca00ca70be8616fba322a0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 142_0x5cdb0039db97409243ca00ca70be8616fba322a0_g2.dat" 135 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/143_0x9d6d9c4d2aa7aa68572929cbeb06caf583865c39/transcript00.dat -H 'Range: bytes=322560028-322560283' > 143_0x9d6d9c4d2aa7aa68572929cbeb06caf583865c39_g2.dat" 136 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/144_0x115c9e1694130640e0237eb8ad66be1ee29e1021/transcript00.dat -H 'Range: bytes=322560028-322560283' > 144_0x115c9e1694130640e0237eb8ad66be1ee29e1021_g2.dat" 137 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/146_0xeecd1a2e2d9ecc7898b41c64eb5b95b3d4f36d25/transcript00.dat -H 'Range: bytes=322560028-322560283' > 146_0xeecd1a2e2d9ecc7898b41c64eb5b95b3d4f36d25_g2.dat" 138 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/147_0x6ec5515ca4d3d03d3277abf0440302dd88d3d4e7/transcript00.dat -H 'Range: bytes=322560028-322560283' > 147_0x6ec5515ca4d3d03d3277abf0440302dd88d3d4e7_g2.dat" 139 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/150_0x65ee7c57c1eb5fc92f7bfdb7c80aff940c507cc0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 150_0x65ee7c57c1eb5fc92f7bfdb7c80aff940c507cc0_g2.dat" 140 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/152_0x255a827b8172a4ef2c3cf36d6f86745bc67484c4/transcript00.dat -H 'Range: bytes=322560028-322560283' > 152_0x255a827b8172a4ef2c3cf36d6f86745bc67484c4_g2.dat" 141 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/155_0xaf638f50169836d0fa4ba6851852eddc465a77dc/transcript00.dat -H 'Range: bytes=322560028-322560283' > 155_0xaf638f50169836d0fa4ba6851852eddc465a77dc_g2.dat" 142 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/156_0xf3ad7a80c7debe37db5cee1e3ed45f31a5629e5e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 156_0xf3ad7a80c7debe37db5cee1e3ed45f31a5629e5e_g2.dat" 143 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/157_0xc793e40cc38f91a00efc76bb46cc4a556cbfe876/transcript00.dat -H 'Range: bytes=322560028-322560283' > 157_0xc793e40cc38f91a00efc76bb46cc4a556cbfe876_g2.dat" 144 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/158_0x762bb0a33f912ab0972541d377e039de0cef8b35/transcript00.dat -H 'Range: bytes=322560028-322560283' > 158_0x762bb0a33f912ab0972541d377e039de0cef8b35_g2.dat" 145 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/162_0x5d6610f282fb5a940864da792c6af0bfce9e9fb8/transcript00.dat -H 'Range: bytes=322560028-322560283' > 162_0x5d6610f282fb5a940864da792c6af0bfce9e9fb8_g2.dat" 146 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/163_0x93f3b551b8e15a397bcce3494a15c2f26e6f4582/transcript00.dat -H 'Range: bytes=322560028-322560283' > 163_0x93f3b551b8e15a397bcce3494a15c2f26e6f4582_g2.dat" 147 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/164_0xd2cb932513eec93fc0a40243c39bf5525c0be5d2/transcript00.dat -H 'Range: bytes=322560028-322560283' > 164_0xd2cb932513eec93fc0a40243c39bf5525c0be5d2_g2.dat" 148 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/166_0x36da627552c2166ee81ec2944c131aec4ca8f504/transcript00.dat -H 'Range: bytes=322560028-322560283' > 166_0x36da627552c2166ee81ec2944c131aec4ca8f504_g2.dat" 149 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/168_0x0d7cc91c5698995fc44a503e60c270a0fb719bfa/transcript00.dat -H 'Range: bytes=322560028-322560283' > 168_0x0d7cc91c5698995fc44a503e60c270a0fb719bfa_g2.dat" 150 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/169_0x7cc2617e201ebac60dd37c940ceff0353bdda0a2/transcript00.dat -H 'Range: bytes=322560028-322560283' > 169_0x7cc2617e201ebac60dd37c940ceff0353bdda0a2_g2.dat" 151 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/170_0xe68967c95f5a9bccfdd711a2cbc23ec958f147ef/transcript00.dat -H 'Range: bytes=322560028-322560283' > 170_0xe68967c95f5a9bccfdd711a2cbc23ec958f147ef_g2.dat" 152 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/171_0x6b6f06c0325125ce5a010a6901ed2231e26b0246/transcript00.dat -H 'Range: bytes=322560028-322560283' > 171_0x6b6f06c0325125ce5a010a6901ed2231e26b0246_g2.dat" 153 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/172_0xc1a075a1f6ab6b74b84e21578f863a613ed5731b/transcript00.dat -H 'Range: bytes=322560028-322560283' > 172_0xc1a075a1f6ab6b74b84e21578f863a613ed5731b_g2.dat" 154 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/173_0x2591a8d50ca9a2fa9b9a5b2e02774a6945cbfd2c/transcript00.dat -H 'Range: bytes=322560028-322560283' > 173_0x2591a8d50ca9a2fa9b9a5b2e02774a6945cbfd2c_g2.dat" 155 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/174_0x9a20acff24626e94697ce874f933c32805fa8243/transcript00.dat -H 'Range: bytes=322560028-322560283' > 174_0x9a20acff24626e94697ce874f933c32805fa8243_g2.dat" 156 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/175_0xdd1b54cf15dd3ff35caa088b40bfb7d586dbd634/transcript00.dat -H 'Range: bytes=322560028-322560283' > 175_0xdd1b54cf15dd3ff35caa088b40bfb7d586dbd634_g2.dat" 157 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/176_0xa3ae668b6239fa3eb1dc26daabb03f244d0259f0/transcript00.dat -H 'Range: bytes=322560028-322560283' > 176_0xa3ae668b6239fa3eb1dc26daabb03f244d0259f0_g2.dat" 158 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/177_0x7b142aef8f36a4163f8f9ad2aa9b65a1b4f1a931/transcript00.dat -H 'Range: bytes=322560028-322560283' > 177_0x7b142aef8f36a4163f8f9ad2aa9b65a1b4f1a931_g2.dat" 159 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/178_0x9f61b8e4bcf9d896eed688e352aa8b91c5d03490/transcript00.dat -H 'Range: bytes=322560028-322560283' > 178_0x9f61b8e4bcf9d896eed688e352aa8b91c5d03490_g2.dat" 160 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/179_0xb51da5f6a840098a2b78a381a2a9716ff1f112c1/transcript00.dat -H 'Range: bytes=322560028-322560283' > 179_0xb51da5f6a840098a2b78a381a2a9716ff1f112c1_g2.dat" 161 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/180_0x2db0b18fd469eb489681ab1aeee58019f6342d0a/transcript00.dat -H 'Range: bytes=322560028-322560283' > 180_0x2db0b18fd469eb489681ab1aeee58019f6342d0a_g2.dat" 162 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/181_0x6a3738c6299f45c31697acea647d49edcc9c28a4/transcript00.dat -H 'Range: bytes=322560028-322560283' > 181_0x6a3738c6299f45c31697acea647d49edcc9c28a4_g2.dat" 163 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/183_0x04a23ba68e4469061cd461e8b847e820d4ced948/transcript00.dat -H 'Range: bytes=322560028-322560283' > 183_0x04a23ba68e4469061cd461e8b847e820d4ced948_g2.dat" 164 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/184_0xd243832b1bed5c2306997bb3a6c1698311180a5e/transcript00.dat -H 'Range: bytes=322560028-322560283' > 184_0xd243832b1bed5c2306997bb3a6c1698311180a5e_g2.dat" 165 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/185_0x4dd5ef35a9d552fe98255d7cb0135c7442433e09/transcript00.dat -H 'Range: bytes=322560028-322560283' > 185_0x4dd5ef35a9d552fe98255d7cb0135c7442433e09_g2.dat" 166 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/186_0xa49eec7f4f90598d5117e22e5b54f49408b70ccf/transcript00.dat -H 'Range: bytes=322560028-322560283' > 186_0xa49eec7f4f90598d5117e22e5b54f49408b70ccf_g2.dat" 167 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/187_0xadb644f697e4a11a0dcf1d38a88016c99d3b3169/transcript00.dat -H 'Range: bytes=322560028-322560283' > 187_0xadb644f697e4a11a0dcf1d38a88016c99d3b3169_g2.dat" 168 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/188_0x5145b8ef462d8b7ac397d5bf880ff651a47ac527/transcript00.dat -H 'Range: bytes=322560028-322560283' > 188_0x5145b8ef462d8b7ac397d5bf880ff651a47ac527_g2.dat" 169 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/189_0x1d14c4a99495be54d8fa8e8ffef0ad04db6e73c5/transcript00.dat -H 'Range: bytes=322560028-322560283' > 189_0x1d14c4a99495be54d8fa8e8ffef0ad04db6e73c5_g2.dat" 170 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/190_0x9675fb42f8e8f77d0525a05a2e493f109486c551/transcript00.dat -H 'Range: bytes=322560028-322560283' > 190_0x9675fb42f8e8f77d0525a05a2e493f109486c551_g2.dat" 171 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/191_0xba3ab7472d78c603a0c60751176693e226611eb9/transcript00.dat -H 'Range: bytes=322560028-322560283' > 191_0xba3ab7472d78c603a0c60751176693e226611eb9_g2.dat" 172 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/192_0x0e74ea9735675b5e28cc65f3ac5c70134cf37640/transcript00.dat -H 'Range: bytes=322560028-322560283' > 192_0x0e74ea9735675b5e28cc65f3ac5c70134cf37640_g2.dat" 173 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/193_0xcbf62865eab142728810a158ef77c9ed4aaa81b2/transcript00.dat -H 'Range: bytes=322560028-322560283' > 193_0xcbf62865eab142728810a158ef77c9ed4aaa81b2_g2.dat" 174 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/194_0x8b0b3502c6e5859796c69f510de2de8adf6d4225/transcript00.dat -H 'Range: bytes=322560028-322560283' > 194_0x8b0b3502c6e5859796c69f510de2de8adf6d4225_g2.dat" 175 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/196_0x9c3f372a2aacc0d7272f56a4664311b7647b0031/transcript00.dat -H 'Range: bytes=322560028-322560283' > 196_0x9c3f372a2aacc0d7272f56a4664311b7647b0031_g2.dat" 176 | "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/197_0xa57ec000b7fb9ea9b0119efdee0b8f15f895c2f3/transcript00.dat -H 'Range: bytes=322560028-322560283' > 197_0xa57ec000b7fb9ea9b0119efdee0b8f15f895c2f3_g2.dat" 177 | curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/sealed/transcript00.dat -H 'Range: bytes=322560028-322560283' > 198_sealed_g2.dat 178 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const program = require('commander'); 4 | const colour = require('colors'); 5 | const pad = require('pad'); 6 | const { exec } = require('child_process'); 7 | 8 | const parseTranscripts = require('./scripts/parseTranscripts') 9 | const signAttestation = require('./scripts/signAttestation'); 10 | const fetch = require('./prompts/fetch'); 11 | const getValidationType = require('./prompts/validationType'); 12 | const dependencies = require('./prompts/dependencies'); 13 | const getAddress = require('./prompts/address'); 14 | const attestation = require('./prompts/attestation'); 15 | 16 | async function executeCommand(cmd, prettyName, silent = false) { 17 | return new Promise((resolve, reject) => { 18 | const cmdData = exec(cmd); 19 | const output = []; 20 | cmdData.stdout.on('data', function (data) { 21 | output.push(data.toString()); 22 | if (!silent) console.log(data); 23 | }); 24 | 25 | cmdData.on('exit', function (code, data) { 26 | if (!silent) { 27 | if (code === 0) { 28 | if (!silent) console.log(colour.bold.green(`\n${prettyName} successful.\n`)); 29 | } else { 30 | if (!silent) console.log(colour.red(`${prettyName} failed.`)); 31 | return reject(data); 32 | } 33 | } 34 | return resolve(output); 35 | }); 36 | }).catch(console.log); 37 | } 38 | 39 | async function getPythonVersion(bin) { 40 | const [pythonVersion] = await executeCommand(`${bin} --version`, 'Feth python version', true); 41 | if (!pythonVersion) { 42 | return false; 43 | } 44 | const [,version] = pythonVersion.split(' '); 45 | const [mainRelease] = version.split('.'); 46 | return parseInt(mainRelease); 47 | } 48 | 49 | program 50 | .command('validate') 51 | .description('Validate AZTEC Ignition contribution') 52 | .action(async () => { 53 | const { address: rawAddress } = await getAddress(); 54 | const address = rawAddress.trim().toLowerCase(); 55 | 56 | const { validationType } = await getValidationType(); 57 | 58 | if (validationType === 'signature' || validationType === 'both') { 59 | console.log(pad(colour.bold.underline.white(`\nValidation of signature for address ${address}\n`), 30)); 60 | 61 | await executeCommand(`"$(pwd)/scripts/recoverAddress.sh" ${address}`, "Signature validation"); 62 | } 63 | 64 | if (validationType === 'inclusion' || validationType === 'both') { 65 | console.log(pad(colour.bold.underline.white(`\nValidation of inclusion for address ${address}\n`), 30)); 66 | 67 | const { confirmDownload } = await fetch(); 68 | if (!confirmDownload) { 69 | console.log(colour.yellow("Skipping download, assuming data is in relevant folders.")); 70 | } else { 71 | await executeCommand("npm run fetch:essential", "Data download"); 72 | } 73 | const pythonVersion = await getPythonVersion('python'); 74 | if ((!pythonVersion || pythonVersion < 3) && !(await getPythonVersion('python3'))) { 75 | console.log(colour.red('Please install python3 on your machine.')); 76 | return; 77 | } 78 | 79 | parseTranscripts(); 80 | const { confirmDependencies } = await dependencies(); 81 | if (confirmDependencies) { 82 | const pipBin = (pythonVersion < 3) ? 'pip3' : 'pip'; 83 | await executeCommand(`${pipBin} install py_ecc`, "Dependency install"); 84 | } 85 | console.log(pad(colour.bold.underline.white(`\nLaunching validation script...\n`), 30)); 86 | const pythonBin = (pythonVersion < 3) ? 'python3' : 'python'; 87 | await executeCommand(`${pythonBin} "./scripts/checkPairing.py" ${address}`, "Inclusion validation") 88 | } 89 | 90 | const { privateKey } = await attestation(); 91 | signAttestation(address, privateKey); 92 | }); 93 | 94 | program.parse(process.argv); -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ignition-points", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@aztec/bn128": { 8 | "version": "0.2.8", 9 | "resolved": "https://registry.npmjs.org/@aztec/bn128/-/bn128-0.2.8.tgz", 10 | "integrity": "sha512-DvZYZJlmn8zK2tKv5IvXmOLMwptirTW4G+AlZeg0Ucdp03CUhKckUgzckdxlkAS2Uv0UTVWwia9hYJTUyCkYhw==", 11 | "requires": { 12 | "@aztec/dev-utils": "0.12.5", 13 | "bn.js": "^4.11.8", 14 | "elliptic": "^6.4.1", 15 | "web3-utils": "^1.0.0-beta.55" 16 | }, 17 | "dependencies": { 18 | "bn.js": { 19 | "version": "4.11.8", 20 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 21 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 22 | } 23 | } 24 | }, 25 | "@aztec/dev-utils": { 26 | "version": "0.12.5", 27 | "resolved": "https://registry.npmjs.org/@aztec/dev-utils/-/dev-utils-0.12.5.tgz", 28 | "integrity": "sha512-CjiweQZF5FAhLhmMolS7JmLkUYfGKqsZOdyIQyv+aO5wSjU4Q/fcJgikPSzAt9DNnZrKqd2kXVV28VXVfwDvcw==", 29 | "requires": { 30 | "bn.js": "^4.11.8" 31 | }, 32 | "dependencies": { 33 | "bn.js": { 34 | "version": "4.11.8", 35 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 36 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 37 | } 38 | } 39 | }, 40 | "@types/bn.js": { 41 | "version": "4.11.6", 42 | "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", 43 | "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", 44 | "requires": { 45 | "@types/node": "*" 46 | } 47 | }, 48 | "@types/node": { 49 | "version": "10.17.13", 50 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz", 51 | "integrity": "sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==" 52 | }, 53 | "@types/ws": { 54 | "version": "6.0.4", 55 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz", 56 | "integrity": "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==", 57 | "requires": { 58 | "@types/node": "*" 59 | } 60 | }, 61 | "accepts": { 62 | "version": "1.3.7", 63 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 64 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", 65 | "requires": { 66 | "mime-types": "~2.1.24", 67 | "negotiator": "0.6.2" 68 | } 69 | }, 70 | "ajv": { 71 | "version": "6.10.2", 72 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", 73 | "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", 74 | "requires": { 75 | "fast-deep-equal": "^2.0.1", 76 | "fast-json-stable-stringify": "^2.0.0", 77 | "json-schema-traverse": "^0.4.1", 78 | "uri-js": "^4.2.2" 79 | } 80 | }, 81 | "ansi-escapes": { 82 | "version": "4.3.0", 83 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", 84 | "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", 85 | "requires": { 86 | "type-fest": "^0.8.1" 87 | } 88 | }, 89 | "ansi-regex": { 90 | "version": "5.0.0", 91 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 92 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" 93 | }, 94 | "ansi-styles": { 95 | "version": "3.2.1", 96 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 97 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 98 | "requires": { 99 | "color-convert": "^1.9.0" 100 | } 101 | }, 102 | "array-flatten": { 103 | "version": "1.1.1", 104 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 105 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 106 | }, 107 | "asn1": { 108 | "version": "0.2.4", 109 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 110 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 111 | "requires": { 112 | "safer-buffer": "~2.1.0" 113 | } 114 | }, 115 | "assert-plus": { 116 | "version": "1.0.0", 117 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 118 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" 119 | }, 120 | "async-limiter": { 121 | "version": "1.0.1", 122 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", 123 | "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" 124 | }, 125 | "asynckit": { 126 | "version": "0.4.0", 127 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 128 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 129 | }, 130 | "aws-sign2": { 131 | "version": "0.7.0", 132 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 133 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" 134 | }, 135 | "aws4": { 136 | "version": "1.9.0", 137 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", 138 | "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==" 139 | }, 140 | "base64-js": { 141 | "version": "1.3.1", 142 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", 143 | "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" 144 | }, 145 | "bcrypt-pbkdf": { 146 | "version": "1.0.2", 147 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 148 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 149 | "requires": { 150 | "tweetnacl": "^0.14.3" 151 | } 152 | }, 153 | "bindings": { 154 | "version": "1.5.0", 155 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 156 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 157 | "requires": { 158 | "file-uri-to-path": "1.0.0" 159 | } 160 | }, 161 | "bip39": { 162 | "version": "2.6.0", 163 | "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.6.0.tgz", 164 | "integrity": "sha512-RrnQRG2EgEoqO24ea+Q/fftuPUZLmrEM3qNhhGsA3PbaXaCW791LTzPuVyx/VprXQcTbPJ3K3UeTna8ZnVl2sg==", 165 | "requires": { 166 | "create-hash": "^1.1.0", 167 | "pbkdf2": "^3.0.9", 168 | "randombytes": "^2.0.1", 169 | "safe-buffer": "^5.0.1", 170 | "unorm": "^1.3.3" 171 | } 172 | }, 173 | "bip66": { 174 | "version": "1.1.5", 175 | "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", 176 | "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", 177 | "requires": { 178 | "safe-buffer": "^5.0.1" 179 | } 180 | }, 181 | "bl": { 182 | "version": "1.2.2", 183 | "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", 184 | "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", 185 | "requires": { 186 | "readable-stream": "^2.3.5", 187 | "safe-buffer": "^5.1.1" 188 | } 189 | }, 190 | "bluebird": { 191 | "version": "3.7.2", 192 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 193 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" 194 | }, 195 | "bn.js": { 196 | "version": "5.0.0", 197 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.0.0.tgz", 198 | "integrity": "sha512-bVwDX8AF+72fIUNuARelKAlQUNtPOfG2fRxorbVvFk4zpHbqLrPdOGfVg5vrKwVzLLePqPBiATaOZNELQzmS0A==" 199 | }, 200 | "body-parser": { 201 | "version": "1.19.0", 202 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", 203 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", 204 | "requires": { 205 | "bytes": "3.1.0", 206 | "content-type": "~1.0.4", 207 | "debug": "2.6.9", 208 | "depd": "~1.1.2", 209 | "http-errors": "1.7.2", 210 | "iconv-lite": "0.4.24", 211 | "on-finished": "~2.3.0", 212 | "qs": "6.7.0", 213 | "raw-body": "2.4.0", 214 | "type-is": "~1.6.17" 215 | } 216 | }, 217 | "brorand": { 218 | "version": "1.1.0", 219 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 220 | "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" 221 | }, 222 | "browserify-aes": { 223 | "version": "1.2.0", 224 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", 225 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", 226 | "requires": { 227 | "buffer-xor": "^1.0.3", 228 | "cipher-base": "^1.0.0", 229 | "create-hash": "^1.1.0", 230 | "evp_bytestokey": "^1.0.3", 231 | "inherits": "^2.0.1", 232 | "safe-buffer": "^5.0.1" 233 | } 234 | }, 235 | "bs58": { 236 | "version": "2.0.1", 237 | "resolved": "https://registry.npmjs.org/bs58/-/bs58-2.0.1.tgz", 238 | "integrity": "sha1-VZCNWPGYKrogCPob7Y+RmYopv40=" 239 | }, 240 | "buffer": { 241 | "version": "5.4.3", 242 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", 243 | "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", 244 | "requires": { 245 | "base64-js": "^1.0.2", 246 | "ieee754": "^1.1.4" 247 | } 248 | }, 249 | "buffer-alloc": { 250 | "version": "1.2.0", 251 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", 252 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", 253 | "requires": { 254 | "buffer-alloc-unsafe": "^1.1.0", 255 | "buffer-fill": "^1.0.0" 256 | } 257 | }, 258 | "buffer-alloc-unsafe": { 259 | "version": "1.1.0", 260 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", 261 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" 262 | }, 263 | "buffer-crc32": { 264 | "version": "0.2.13", 265 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 266 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" 267 | }, 268 | "buffer-fill": { 269 | "version": "1.0.0", 270 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", 271 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" 272 | }, 273 | "buffer-to-arraybuffer": { 274 | "version": "0.0.5", 275 | "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", 276 | "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" 277 | }, 278 | "buffer-xor": { 279 | "version": "1.0.3", 280 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 281 | "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" 282 | }, 283 | "bytes": { 284 | "version": "3.1.0", 285 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 286 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 287 | }, 288 | "caseless": { 289 | "version": "0.12.0", 290 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 291 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" 292 | }, 293 | "chalk": { 294 | "version": "2.4.2", 295 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 296 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 297 | "requires": { 298 | "ansi-styles": "^3.2.1", 299 | "escape-string-regexp": "^1.0.5", 300 | "supports-color": "^5.3.0" 301 | } 302 | }, 303 | "chardet": { 304 | "version": "0.7.0", 305 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 306 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" 307 | }, 308 | "chownr": { 309 | "version": "1.1.3", 310 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", 311 | "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" 312 | }, 313 | "cipher-base": { 314 | "version": "1.0.4", 315 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", 316 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", 317 | "requires": { 318 | "inherits": "^2.0.1", 319 | "safe-buffer": "^5.0.1" 320 | } 321 | }, 322 | "cli-cursor": { 323 | "version": "3.1.0", 324 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 325 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 326 | "requires": { 327 | "restore-cursor": "^3.1.0" 328 | } 329 | }, 330 | "cli-width": { 331 | "version": "2.2.0", 332 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 333 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" 334 | }, 335 | "clone": { 336 | "version": "1.0.4", 337 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 338 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" 339 | }, 340 | "coinstring": { 341 | "version": "2.3.0", 342 | "resolved": "https://registry.npmjs.org/coinstring/-/coinstring-2.3.0.tgz", 343 | "integrity": "sha1-zbYzY6lhUCQEolr7gsLibV/2J6Q=", 344 | "requires": { 345 | "bs58": "^2.0.1", 346 | "create-hash": "^1.1.1" 347 | } 348 | }, 349 | "color-convert": { 350 | "version": "1.9.3", 351 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 352 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 353 | "requires": { 354 | "color-name": "1.1.3" 355 | } 356 | }, 357 | "color-name": { 358 | "version": "1.1.3", 359 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 360 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 361 | }, 362 | "colors": { 363 | "version": "1.4.0", 364 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", 365 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" 366 | }, 367 | "combined-stream": { 368 | "version": "1.0.8", 369 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 370 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 371 | "requires": { 372 | "delayed-stream": "~1.0.0" 373 | } 374 | }, 375 | "commander": { 376 | "version": "4.0.1", 377 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz", 378 | "integrity": "sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==" 379 | }, 380 | "content-disposition": { 381 | "version": "0.5.3", 382 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", 383 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", 384 | "requires": { 385 | "safe-buffer": "5.1.2" 386 | }, 387 | "dependencies": { 388 | "safe-buffer": { 389 | "version": "5.1.2", 390 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 391 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 392 | } 393 | } 394 | }, 395 | "content-type": { 396 | "version": "1.0.4", 397 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 398 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 399 | }, 400 | "cookie": { 401 | "version": "0.4.0", 402 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", 403 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" 404 | }, 405 | "cookie-signature": { 406 | "version": "1.0.6", 407 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 408 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 409 | }, 410 | "core-util-is": { 411 | "version": "1.0.2", 412 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 413 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 414 | }, 415 | "cors": { 416 | "version": "2.8.5", 417 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 418 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 419 | "requires": { 420 | "object-assign": "^4", 421 | "vary": "^1" 422 | } 423 | }, 424 | "create-hash": { 425 | "version": "1.2.0", 426 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", 427 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", 428 | "requires": { 429 | "cipher-base": "^1.0.1", 430 | "inherits": "^2.0.1", 431 | "md5.js": "^1.3.4", 432 | "ripemd160": "^2.0.1", 433 | "sha.js": "^2.4.0" 434 | } 435 | }, 436 | "create-hmac": { 437 | "version": "1.1.7", 438 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", 439 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", 440 | "requires": { 441 | "cipher-base": "^1.0.3", 442 | "create-hash": "^1.1.0", 443 | "inherits": "^2.0.1", 444 | "ripemd160": "^2.0.0", 445 | "safe-buffer": "^5.0.1", 446 | "sha.js": "^2.4.8" 447 | } 448 | }, 449 | "dashdash": { 450 | "version": "1.14.1", 451 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 452 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 453 | "requires": { 454 | "assert-plus": "^1.0.0" 455 | } 456 | }, 457 | "debug": { 458 | "version": "2.6.9", 459 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 460 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 461 | "requires": { 462 | "ms": "2.0.0" 463 | } 464 | }, 465 | "decode-uri-component": { 466 | "version": "0.2.0", 467 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 468 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" 469 | }, 470 | "decompress": { 471 | "version": "4.2.0", 472 | "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", 473 | "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", 474 | "requires": { 475 | "decompress-tar": "^4.0.0", 476 | "decompress-tarbz2": "^4.0.0", 477 | "decompress-targz": "^4.0.0", 478 | "decompress-unzip": "^4.0.1", 479 | "graceful-fs": "^4.1.10", 480 | "make-dir": "^1.0.0", 481 | "pify": "^2.3.0", 482 | "strip-dirs": "^2.0.0" 483 | } 484 | }, 485 | "decompress-response": { 486 | "version": "3.3.0", 487 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", 488 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", 489 | "requires": { 490 | "mimic-response": "^1.0.0" 491 | } 492 | }, 493 | "decompress-tar": { 494 | "version": "4.1.1", 495 | "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", 496 | "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", 497 | "requires": { 498 | "file-type": "^5.2.0", 499 | "is-stream": "^1.1.0", 500 | "tar-stream": "^1.5.2" 501 | } 502 | }, 503 | "decompress-tarbz2": { 504 | "version": "4.1.1", 505 | "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", 506 | "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", 507 | "requires": { 508 | "decompress-tar": "^4.1.0", 509 | "file-type": "^6.1.0", 510 | "is-stream": "^1.1.0", 511 | "seek-bzip": "^1.0.5", 512 | "unbzip2-stream": "^1.0.9" 513 | }, 514 | "dependencies": { 515 | "file-type": { 516 | "version": "6.2.0", 517 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", 518 | "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" 519 | } 520 | } 521 | }, 522 | "decompress-targz": { 523 | "version": "4.1.1", 524 | "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", 525 | "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", 526 | "requires": { 527 | "decompress-tar": "^4.1.1", 528 | "file-type": "^5.2.0", 529 | "is-stream": "^1.1.0" 530 | } 531 | }, 532 | "decompress-unzip": { 533 | "version": "4.0.1", 534 | "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", 535 | "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", 536 | "requires": { 537 | "file-type": "^3.8.0", 538 | "get-stream": "^2.2.0", 539 | "pify": "^2.3.0", 540 | "yauzl": "^2.4.2" 541 | }, 542 | "dependencies": { 543 | "file-type": { 544 | "version": "3.9.0", 545 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", 546 | "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" 547 | } 548 | } 549 | }, 550 | "defaults": { 551 | "version": "1.0.3", 552 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 553 | "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 554 | "requires": { 555 | "clone": "^1.0.2" 556 | } 557 | }, 558 | "delayed-stream": { 559 | "version": "1.0.0", 560 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 561 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 562 | }, 563 | "depd": { 564 | "version": "1.1.2", 565 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 566 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 567 | }, 568 | "destroy": { 569 | "version": "1.0.4", 570 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 571 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 572 | }, 573 | "dom-walk": { 574 | "version": "0.1.1", 575 | "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", 576 | "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" 577 | }, 578 | "drbg.js": { 579 | "version": "1.0.1", 580 | "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", 581 | "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", 582 | "requires": { 583 | "browserify-aes": "^1.0.6", 584 | "create-hash": "^1.1.2", 585 | "create-hmac": "^1.1.4" 586 | } 587 | }, 588 | "duplexer3": { 589 | "version": "0.1.4", 590 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 591 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" 592 | }, 593 | "ecc-jsbn": { 594 | "version": "0.1.2", 595 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 596 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 597 | "requires": { 598 | "jsbn": "~0.1.0", 599 | "safer-buffer": "^2.1.0" 600 | } 601 | }, 602 | "ee-first": { 603 | "version": "1.1.1", 604 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 605 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 606 | }, 607 | "elliptic": { 608 | "version": "6.5.2", 609 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", 610 | "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", 611 | "requires": { 612 | "bn.js": "^4.4.0", 613 | "brorand": "^1.0.1", 614 | "hash.js": "^1.0.0", 615 | "hmac-drbg": "^1.0.0", 616 | "inherits": "^2.0.1", 617 | "minimalistic-assert": "^1.0.0", 618 | "minimalistic-crypto-utils": "^1.0.0" 619 | }, 620 | "dependencies": { 621 | "bn.js": { 622 | "version": "4.11.8", 623 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 624 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 625 | } 626 | } 627 | }, 628 | "emoji-regex": { 629 | "version": "8.0.0", 630 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 631 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 632 | }, 633 | "encodeurl": { 634 | "version": "1.0.2", 635 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 636 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 637 | }, 638 | "encoding": { 639 | "version": "0.1.12", 640 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", 641 | "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", 642 | "requires": { 643 | "iconv-lite": "~0.4.13" 644 | } 645 | }, 646 | "end-of-stream": { 647 | "version": "1.4.4", 648 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 649 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 650 | "requires": { 651 | "once": "^1.4.0" 652 | } 653 | }, 654 | "escape-html": { 655 | "version": "1.0.3", 656 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 657 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 658 | }, 659 | "escape-string-regexp": { 660 | "version": "1.0.5", 661 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 662 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 663 | }, 664 | "etag": { 665 | "version": "1.8.1", 666 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 667 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 668 | }, 669 | "eth-lib": { 670 | "version": "0.2.7", 671 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", 672 | "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", 673 | "requires": { 674 | "bn.js": "^4.11.6", 675 | "elliptic": "^6.4.0", 676 | "xhr-request-promise": "^0.1.2" 677 | }, 678 | "dependencies": { 679 | "bn.js": { 680 | "version": "4.11.8", 681 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 682 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 683 | } 684 | } 685 | }, 686 | "ethereum-bloom-filters": { 687 | "version": "1.0.6", 688 | "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.6.tgz", 689 | "integrity": "sha512-dE9CGNzgOOsdh7msZirvv8qjHtnHpvBlKe2647kM8v+yeF71IRso55jpojemvHV+jMjr48irPWxMRaHuOWzAFA==", 690 | "requires": { 691 | "js-sha3": "^0.8.0" 692 | } 693 | }, 694 | "ethjs-unit": { 695 | "version": "0.1.6", 696 | "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", 697 | "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", 698 | "requires": { 699 | "bn.js": "4.11.6", 700 | "number-to-bn": "1.7.0" 701 | }, 702 | "dependencies": { 703 | "bn.js": { 704 | "version": "4.11.6", 705 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", 706 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" 707 | } 708 | } 709 | }, 710 | "evp_bytestokey": { 711 | "version": "1.0.3", 712 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", 713 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", 714 | "requires": { 715 | "md5.js": "^1.3.4", 716 | "safe-buffer": "^5.1.1" 717 | } 718 | }, 719 | "express": { 720 | "version": "4.17.1", 721 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", 722 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", 723 | "requires": { 724 | "accepts": "~1.3.7", 725 | "array-flatten": "1.1.1", 726 | "body-parser": "1.19.0", 727 | "content-disposition": "0.5.3", 728 | "content-type": "~1.0.4", 729 | "cookie": "0.4.0", 730 | "cookie-signature": "1.0.6", 731 | "debug": "2.6.9", 732 | "depd": "~1.1.2", 733 | "encodeurl": "~1.0.2", 734 | "escape-html": "~1.0.3", 735 | "etag": "~1.8.1", 736 | "finalhandler": "~1.1.2", 737 | "fresh": "0.5.2", 738 | "merge-descriptors": "1.0.1", 739 | "methods": "~1.1.2", 740 | "on-finished": "~2.3.0", 741 | "parseurl": "~1.3.3", 742 | "path-to-regexp": "0.1.7", 743 | "proxy-addr": "~2.0.5", 744 | "qs": "6.7.0", 745 | "range-parser": "~1.2.1", 746 | "safe-buffer": "5.1.2", 747 | "send": "0.17.1", 748 | "serve-static": "1.14.1", 749 | "setprototypeof": "1.1.1", 750 | "statuses": "~1.5.0", 751 | "type-is": "~1.6.18", 752 | "utils-merge": "1.0.1", 753 | "vary": "~1.1.2" 754 | }, 755 | "dependencies": { 756 | "safe-buffer": { 757 | "version": "5.1.2", 758 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 759 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 760 | } 761 | } 762 | }, 763 | "extend": { 764 | "version": "3.0.2", 765 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 766 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 767 | }, 768 | "external-editor": { 769 | "version": "3.1.0", 770 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 771 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 772 | "requires": { 773 | "chardet": "^0.7.0", 774 | "iconv-lite": "^0.4.24", 775 | "tmp": "^0.0.33" 776 | } 777 | }, 778 | "extsprintf": { 779 | "version": "1.3.0", 780 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 781 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" 782 | }, 783 | "fast-deep-equal": { 784 | "version": "2.0.1", 785 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 786 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" 787 | }, 788 | "fast-json-stable-stringify": { 789 | "version": "2.1.0", 790 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 791 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 792 | }, 793 | "fd-slicer": { 794 | "version": "1.1.0", 795 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 796 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 797 | "requires": { 798 | "pend": "~1.2.0" 799 | } 800 | }, 801 | "figures": { 802 | "version": "3.1.0", 803 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", 804 | "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", 805 | "requires": { 806 | "escape-string-regexp": "^1.0.5" 807 | } 808 | }, 809 | "file-type": { 810 | "version": "5.2.0", 811 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", 812 | "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" 813 | }, 814 | "file-uri-to-path": { 815 | "version": "1.0.0", 816 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 817 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" 818 | }, 819 | "finalhandler": { 820 | "version": "1.1.2", 821 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 822 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 823 | "requires": { 824 | "debug": "2.6.9", 825 | "encodeurl": "~1.0.2", 826 | "escape-html": "~1.0.3", 827 | "on-finished": "~2.3.0", 828 | "parseurl": "~1.3.3", 829 | "statuses": "~1.5.0", 830 | "unpipe": "~1.0.0" 831 | } 832 | }, 833 | "forever-agent": { 834 | "version": "0.6.1", 835 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 836 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" 837 | }, 838 | "form-data": { 839 | "version": "2.3.3", 840 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 841 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 842 | "requires": { 843 | "asynckit": "^0.4.0", 844 | "combined-stream": "^1.0.6", 845 | "mime-types": "^2.1.12" 846 | } 847 | }, 848 | "forwarded": { 849 | "version": "0.1.2", 850 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 851 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" 852 | }, 853 | "fresh": { 854 | "version": "0.5.2", 855 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 856 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 857 | }, 858 | "fs-constants": { 859 | "version": "1.0.0", 860 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 861 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 862 | }, 863 | "fs-extra": { 864 | "version": "4.0.3", 865 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", 866 | "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", 867 | "requires": { 868 | "graceful-fs": "^4.1.2", 869 | "jsonfile": "^4.0.0", 870 | "universalify": "^0.1.0" 871 | } 872 | }, 873 | "fs-minipass": { 874 | "version": "1.2.7", 875 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", 876 | "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", 877 | "requires": { 878 | "minipass": "^2.6.0" 879 | } 880 | }, 881 | "get-stream": { 882 | "version": "2.3.1", 883 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", 884 | "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", 885 | "requires": { 886 | "object-assign": "^4.0.1", 887 | "pinkie-promise": "^2.0.0" 888 | } 889 | }, 890 | "getpass": { 891 | "version": "0.1.7", 892 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 893 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 894 | "requires": { 895 | "assert-plus": "^1.0.0" 896 | } 897 | }, 898 | "global": { 899 | "version": "4.3.2", 900 | "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", 901 | "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", 902 | "requires": { 903 | "min-document": "^2.19.0", 904 | "process": "~0.5.1" 905 | } 906 | }, 907 | "got": { 908 | "version": "7.1.0", 909 | "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", 910 | "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", 911 | "requires": { 912 | "decompress-response": "^3.2.0", 913 | "duplexer3": "^0.1.4", 914 | "get-stream": "^3.0.0", 915 | "is-plain-obj": "^1.1.0", 916 | "is-retry-allowed": "^1.0.0", 917 | "is-stream": "^1.0.0", 918 | "isurl": "^1.0.0-alpha5", 919 | "lowercase-keys": "^1.0.0", 920 | "p-cancelable": "^0.3.0", 921 | "p-timeout": "^1.1.1", 922 | "safe-buffer": "^5.0.1", 923 | "timed-out": "^4.0.0", 924 | "url-parse-lax": "^1.0.0", 925 | "url-to-options": "^1.0.1" 926 | }, 927 | "dependencies": { 928 | "get-stream": { 929 | "version": "3.0.0", 930 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 931 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" 932 | } 933 | } 934 | }, 935 | "graceful-fs": { 936 | "version": "4.2.3", 937 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", 938 | "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" 939 | }, 940 | "graceful-readlink": { 941 | "version": "1.0.1", 942 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 943 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" 944 | }, 945 | "har-schema": { 946 | "version": "2.0.0", 947 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 948 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" 949 | }, 950 | "har-validator": { 951 | "version": "5.1.3", 952 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", 953 | "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", 954 | "requires": { 955 | "ajv": "^6.5.5", 956 | "har-schema": "^2.0.0" 957 | } 958 | }, 959 | "has-flag": { 960 | "version": "3.0.0", 961 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 962 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 963 | }, 964 | "has-symbol-support-x": { 965 | "version": "1.4.2", 966 | "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", 967 | "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" 968 | }, 969 | "has-to-string-tag-x": { 970 | "version": "1.4.1", 971 | "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", 972 | "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", 973 | "requires": { 974 | "has-symbol-support-x": "^1.4.1" 975 | } 976 | }, 977 | "hash-base": { 978 | "version": "3.0.4", 979 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", 980 | "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", 981 | "requires": { 982 | "inherits": "^2.0.1", 983 | "safe-buffer": "^5.0.1" 984 | } 985 | }, 986 | "hash.js": { 987 | "version": "1.1.7", 988 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 989 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 990 | "requires": { 991 | "inherits": "^2.0.3", 992 | "minimalistic-assert": "^1.0.1" 993 | } 994 | }, 995 | "hdkey": { 996 | "version": "1.1.1", 997 | "resolved": "https://registry.npmjs.org/hdkey/-/hdkey-1.1.1.tgz", 998 | "integrity": "sha512-DvHZ5OuavsfWs5yfVJZestsnc3wzPvLWNk6c2nRUfo6X+OtxypGt20vDDf7Ba+MJzjL3KS1og2nw2eBbLCOUTA==", 999 | "requires": { 1000 | "coinstring": "^2.0.0", 1001 | "safe-buffer": "^5.1.1", 1002 | "secp256k1": "^3.0.1" 1003 | } 1004 | }, 1005 | "hmac-drbg": { 1006 | "version": "1.0.1", 1007 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 1008 | "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", 1009 | "requires": { 1010 | "hash.js": "^1.0.3", 1011 | "minimalistic-assert": "^1.0.0", 1012 | "minimalistic-crypto-utils": "^1.0.1" 1013 | } 1014 | }, 1015 | "http-errors": { 1016 | "version": "1.7.2", 1017 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 1018 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", 1019 | "requires": { 1020 | "depd": "~1.1.2", 1021 | "inherits": "2.0.3", 1022 | "setprototypeof": "1.1.1", 1023 | "statuses": ">= 1.5.0 < 2", 1024 | "toidentifier": "1.0.0" 1025 | }, 1026 | "dependencies": { 1027 | "inherits": { 1028 | "version": "2.0.3", 1029 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1030 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 1031 | } 1032 | } 1033 | }, 1034 | "http-signature": { 1035 | "version": "1.2.0", 1036 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 1037 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 1038 | "requires": { 1039 | "assert-plus": "^1.0.0", 1040 | "jsprim": "^1.2.2", 1041 | "sshpk": "^1.7.0" 1042 | } 1043 | }, 1044 | "iconv-lite": { 1045 | "version": "0.4.24", 1046 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1047 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1048 | "requires": { 1049 | "safer-buffer": ">= 2.1.2 < 3" 1050 | } 1051 | }, 1052 | "idna-uts46-hx": { 1053 | "version": "2.3.1", 1054 | "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", 1055 | "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", 1056 | "requires": { 1057 | "punycode": "2.1.0" 1058 | } 1059 | }, 1060 | "ieee754": { 1061 | "version": "1.1.13", 1062 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", 1063 | "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" 1064 | }, 1065 | "inherits": { 1066 | "version": "2.0.4", 1067 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1068 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1069 | }, 1070 | "inquirer": { 1071 | "version": "7.0.1", 1072 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.1.tgz", 1073 | "integrity": "sha512-V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw==", 1074 | "requires": { 1075 | "ansi-escapes": "^4.2.1", 1076 | "chalk": "^2.4.2", 1077 | "cli-cursor": "^3.1.0", 1078 | "cli-width": "^2.0.0", 1079 | "external-editor": "^3.0.3", 1080 | "figures": "^3.0.0", 1081 | "lodash": "^4.17.15", 1082 | "mute-stream": "0.0.8", 1083 | "run-async": "^2.2.0", 1084 | "rxjs": "^6.5.3", 1085 | "string-width": "^4.1.0", 1086 | "strip-ansi": "^5.1.0", 1087 | "through": "^2.3.6" 1088 | } 1089 | }, 1090 | "ipaddr.js": { 1091 | "version": "1.9.0", 1092 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", 1093 | "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" 1094 | }, 1095 | "is-fullwidth-code-point": { 1096 | "version": "3.0.0", 1097 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1098 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 1099 | }, 1100 | "is-function": { 1101 | "version": "1.0.1", 1102 | "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", 1103 | "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" 1104 | }, 1105 | "is-hex-prefixed": { 1106 | "version": "1.0.0", 1107 | "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", 1108 | "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" 1109 | }, 1110 | "is-natural-number": { 1111 | "version": "4.0.1", 1112 | "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", 1113 | "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" 1114 | }, 1115 | "is-object": { 1116 | "version": "1.0.1", 1117 | "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", 1118 | "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" 1119 | }, 1120 | "is-plain-obj": { 1121 | "version": "1.1.0", 1122 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 1123 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" 1124 | }, 1125 | "is-promise": { 1126 | "version": "2.1.0", 1127 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 1128 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" 1129 | }, 1130 | "is-retry-allowed": { 1131 | "version": "1.2.0", 1132 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", 1133 | "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" 1134 | }, 1135 | "is-stream": { 1136 | "version": "1.1.0", 1137 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1138 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 1139 | }, 1140 | "is-typedarray": { 1141 | "version": "1.0.0", 1142 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1143 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 1144 | }, 1145 | "isarray": { 1146 | "version": "1.0.0", 1147 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1148 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1149 | }, 1150 | "isomorphic-fetch": { 1151 | "version": "2.2.1", 1152 | "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", 1153 | "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", 1154 | "requires": { 1155 | "node-fetch": "^1.0.1", 1156 | "whatwg-fetch": ">=0.10.0" 1157 | } 1158 | }, 1159 | "isomorphic-ws": { 1160 | "version": "4.0.1", 1161 | "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", 1162 | "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==" 1163 | }, 1164 | "isstream": { 1165 | "version": "0.1.2", 1166 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1167 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 1168 | }, 1169 | "isurl": { 1170 | "version": "1.0.0", 1171 | "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", 1172 | "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", 1173 | "requires": { 1174 | "has-to-string-tag-x": "^1.2.0", 1175 | "is-object": "^1.0.1" 1176 | } 1177 | }, 1178 | "js-sha3": { 1179 | "version": "0.8.0", 1180 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", 1181 | "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" 1182 | }, 1183 | "jsbn": { 1184 | "version": "0.1.1", 1185 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1186 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" 1187 | }, 1188 | "json-schema": { 1189 | "version": "0.2.3", 1190 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 1191 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" 1192 | }, 1193 | "json-schema-traverse": { 1194 | "version": "0.4.1", 1195 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1196 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 1197 | }, 1198 | "json-stringify-safe": { 1199 | "version": "5.0.1", 1200 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1201 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" 1202 | }, 1203 | "jsonfile": { 1204 | "version": "4.0.0", 1205 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1206 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 1207 | "requires": { 1208 | "graceful-fs": "^4.1.6" 1209 | } 1210 | }, 1211 | "jsprim": { 1212 | "version": "1.4.1", 1213 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 1214 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 1215 | "requires": { 1216 | "assert-plus": "1.0.0", 1217 | "extsprintf": "1.3.0", 1218 | "json-schema": "0.2.3", 1219 | "verror": "1.10.0" 1220 | } 1221 | }, 1222 | "lodash": { 1223 | "version": "4.17.15", 1224 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 1225 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" 1226 | }, 1227 | "lowercase-keys": { 1228 | "version": "1.0.1", 1229 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 1230 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" 1231 | }, 1232 | "make-dir": { 1233 | "version": "1.3.0", 1234 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 1235 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", 1236 | "requires": { 1237 | "pify": "^3.0.0" 1238 | }, 1239 | "dependencies": { 1240 | "pify": { 1241 | "version": "3.0.0", 1242 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1243 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 1244 | } 1245 | } 1246 | }, 1247 | "md5.js": { 1248 | "version": "1.3.5", 1249 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 1250 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", 1251 | "requires": { 1252 | "hash-base": "^3.0.0", 1253 | "inherits": "^2.0.1", 1254 | "safe-buffer": "^5.1.2" 1255 | } 1256 | }, 1257 | "media-typer": { 1258 | "version": "0.3.0", 1259 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1260 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 1261 | }, 1262 | "merge-descriptors": { 1263 | "version": "1.0.1", 1264 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 1265 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 1266 | }, 1267 | "methods": { 1268 | "version": "1.1.2", 1269 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 1270 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 1271 | }, 1272 | "mime": { 1273 | "version": "1.6.0", 1274 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1275 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 1276 | }, 1277 | "mime-db": { 1278 | "version": "1.43.0", 1279 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", 1280 | "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" 1281 | }, 1282 | "mime-types": { 1283 | "version": "2.1.26", 1284 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", 1285 | "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", 1286 | "requires": { 1287 | "mime-db": "1.43.0" 1288 | } 1289 | }, 1290 | "mimic-fn": { 1291 | "version": "2.1.0", 1292 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1293 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" 1294 | }, 1295 | "mimic-response": { 1296 | "version": "1.0.1", 1297 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 1298 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 1299 | }, 1300 | "min-document": { 1301 | "version": "2.19.0", 1302 | "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", 1303 | "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", 1304 | "requires": { 1305 | "dom-walk": "^0.1.0" 1306 | } 1307 | }, 1308 | "minimalistic-assert": { 1309 | "version": "1.0.1", 1310 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 1311 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" 1312 | }, 1313 | "minimalistic-crypto-utils": { 1314 | "version": "1.0.1", 1315 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 1316 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" 1317 | }, 1318 | "minimist": { 1319 | "version": "0.0.8", 1320 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1321 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" 1322 | }, 1323 | "minipass": { 1324 | "version": "2.9.0", 1325 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", 1326 | "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", 1327 | "requires": { 1328 | "safe-buffer": "^5.1.2", 1329 | "yallist": "^3.0.0" 1330 | } 1331 | }, 1332 | "minizlib": { 1333 | "version": "1.3.3", 1334 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", 1335 | "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", 1336 | "requires": { 1337 | "minipass": "^2.9.0" 1338 | } 1339 | }, 1340 | "mkdirp": { 1341 | "version": "0.5.1", 1342 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1343 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1344 | "requires": { 1345 | "minimist": "0.0.8" 1346 | } 1347 | }, 1348 | "mkdirp-promise": { 1349 | "version": "5.0.1", 1350 | "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", 1351 | "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", 1352 | "requires": { 1353 | "mkdirp": "*" 1354 | } 1355 | }, 1356 | "mock-fs": { 1357 | "version": "4.10.4", 1358 | "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.10.4.tgz", 1359 | "integrity": "sha512-gDfZDLaPIvtOusbusLinfx6YSe2YpQsDT8qdP41P47dQ/NQggtkHukz7hwqgt8QvMBmAv+Z6DGmXPyb5BWX2nQ==" 1360 | }, 1361 | "ms": { 1362 | "version": "2.0.0", 1363 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1364 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1365 | }, 1366 | "mute-stream": { 1367 | "version": "0.0.8", 1368 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 1369 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" 1370 | }, 1371 | "nan": { 1372 | "version": "2.14.0", 1373 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", 1374 | "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" 1375 | }, 1376 | "nano-json-stream-parser": { 1377 | "version": "0.1.2", 1378 | "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", 1379 | "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" 1380 | }, 1381 | "negotiator": { 1382 | "version": "0.6.2", 1383 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 1384 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 1385 | }, 1386 | "node-fetch": { 1387 | "version": "1.7.3", 1388 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", 1389 | "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", 1390 | "requires": { 1391 | "encoding": "^0.1.11", 1392 | "is-stream": "^1.0.1" 1393 | } 1394 | }, 1395 | "number-to-bn": { 1396 | "version": "1.7.0", 1397 | "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", 1398 | "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", 1399 | "requires": { 1400 | "bn.js": "4.11.6", 1401 | "strip-hex-prefix": "1.0.0" 1402 | }, 1403 | "dependencies": { 1404 | "bn.js": { 1405 | "version": "4.11.6", 1406 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", 1407 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" 1408 | } 1409 | } 1410 | }, 1411 | "oauth-sign": { 1412 | "version": "0.9.0", 1413 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 1414 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" 1415 | }, 1416 | "object-assign": { 1417 | "version": "4.1.1", 1418 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1419 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 1420 | }, 1421 | "on-finished": { 1422 | "version": "2.3.0", 1423 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 1424 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 1425 | "requires": { 1426 | "ee-first": "1.1.1" 1427 | } 1428 | }, 1429 | "once": { 1430 | "version": "1.4.0", 1431 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1432 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1433 | "requires": { 1434 | "wrappy": "1" 1435 | } 1436 | }, 1437 | "onetime": { 1438 | "version": "5.1.0", 1439 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 1440 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 1441 | "requires": { 1442 | "mimic-fn": "^2.1.0" 1443 | } 1444 | }, 1445 | "os-tmpdir": { 1446 | "version": "1.0.2", 1447 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1448 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 1449 | }, 1450 | "p-cancelable": { 1451 | "version": "0.3.0", 1452 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", 1453 | "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" 1454 | }, 1455 | "p-finally": { 1456 | "version": "1.0.0", 1457 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 1458 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 1459 | }, 1460 | "p-timeout": { 1461 | "version": "1.2.1", 1462 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", 1463 | "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", 1464 | "requires": { 1465 | "p-finally": "^1.0.0" 1466 | } 1467 | }, 1468 | "pad": { 1469 | "version": "3.2.0", 1470 | "resolved": "https://registry.npmjs.org/pad/-/pad-3.2.0.tgz", 1471 | "integrity": "sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg==", 1472 | "requires": { 1473 | "wcwidth": "^1.0.1" 1474 | } 1475 | }, 1476 | "parse-headers": { 1477 | "version": "2.0.3", 1478 | "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", 1479 | "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" 1480 | }, 1481 | "parseurl": { 1482 | "version": "1.3.3", 1483 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 1484 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 1485 | }, 1486 | "path-to-regexp": { 1487 | "version": "0.1.7", 1488 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 1489 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 1490 | }, 1491 | "pbkdf2": { 1492 | "version": "3.0.17", 1493 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", 1494 | "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", 1495 | "requires": { 1496 | "create-hash": "^1.1.2", 1497 | "create-hmac": "^1.1.4", 1498 | "ripemd160": "^2.0.1", 1499 | "safe-buffer": "^5.0.1", 1500 | "sha.js": "^2.4.8" 1501 | } 1502 | }, 1503 | "pend": { 1504 | "version": "1.2.0", 1505 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 1506 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" 1507 | }, 1508 | "performance-now": { 1509 | "version": "2.1.0", 1510 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1511 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 1512 | }, 1513 | "pify": { 1514 | "version": "2.3.0", 1515 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1516 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" 1517 | }, 1518 | "pinkie": { 1519 | "version": "2.0.4", 1520 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1521 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" 1522 | }, 1523 | "pinkie-promise": { 1524 | "version": "2.0.1", 1525 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1526 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 1527 | "requires": { 1528 | "pinkie": "^2.0.0" 1529 | } 1530 | }, 1531 | "prepend-http": { 1532 | "version": "1.0.4", 1533 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 1534 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" 1535 | }, 1536 | "process": { 1537 | "version": "0.5.2", 1538 | "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", 1539 | "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" 1540 | }, 1541 | "process-nextick-args": { 1542 | "version": "2.0.1", 1543 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1544 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 1545 | }, 1546 | "proxy-addr": { 1547 | "version": "2.0.5", 1548 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", 1549 | "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", 1550 | "requires": { 1551 | "forwarded": "~0.1.2", 1552 | "ipaddr.js": "1.9.0" 1553 | } 1554 | }, 1555 | "psl": { 1556 | "version": "1.7.0", 1557 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", 1558 | "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==" 1559 | }, 1560 | "punycode": { 1561 | "version": "2.1.0", 1562 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", 1563 | "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" 1564 | }, 1565 | "qs": { 1566 | "version": "6.7.0", 1567 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", 1568 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" 1569 | }, 1570 | "query-string": { 1571 | "version": "5.1.1", 1572 | "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", 1573 | "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", 1574 | "requires": { 1575 | "decode-uri-component": "^0.2.0", 1576 | "object-assign": "^4.1.0", 1577 | "strict-uri-encode": "^1.0.0" 1578 | } 1579 | }, 1580 | "randombytes": { 1581 | "version": "2.1.0", 1582 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 1583 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 1584 | "requires": { 1585 | "safe-buffer": "^5.1.0" 1586 | } 1587 | }, 1588 | "range-parser": { 1589 | "version": "1.2.1", 1590 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 1591 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 1592 | }, 1593 | "raw-body": { 1594 | "version": "2.4.0", 1595 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", 1596 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", 1597 | "requires": { 1598 | "bytes": "3.1.0", 1599 | "http-errors": "1.7.2", 1600 | "iconv-lite": "0.4.24", 1601 | "unpipe": "1.0.0" 1602 | } 1603 | }, 1604 | "readable-stream": { 1605 | "version": "2.3.7", 1606 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 1607 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 1608 | "requires": { 1609 | "core-util-is": "~1.0.0", 1610 | "inherits": "~2.0.3", 1611 | "isarray": "~1.0.0", 1612 | "process-nextick-args": "~2.0.0", 1613 | "safe-buffer": "~5.1.1", 1614 | "string_decoder": "~1.1.1", 1615 | "util-deprecate": "~1.0.1" 1616 | }, 1617 | "dependencies": { 1618 | "safe-buffer": { 1619 | "version": "5.1.2", 1620 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1621 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1622 | } 1623 | } 1624 | }, 1625 | "request": { 1626 | "version": "2.88.0", 1627 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", 1628 | "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", 1629 | "requires": { 1630 | "aws-sign2": "~0.7.0", 1631 | "aws4": "^1.8.0", 1632 | "caseless": "~0.12.0", 1633 | "combined-stream": "~1.0.6", 1634 | "extend": "~3.0.2", 1635 | "forever-agent": "~0.6.1", 1636 | "form-data": "~2.3.2", 1637 | "har-validator": "~5.1.0", 1638 | "http-signature": "~1.2.0", 1639 | "is-typedarray": "~1.0.0", 1640 | "isstream": "~0.1.2", 1641 | "json-stringify-safe": "~5.0.1", 1642 | "mime-types": "~2.1.19", 1643 | "oauth-sign": "~0.9.0", 1644 | "performance-now": "^2.1.0", 1645 | "qs": "~6.5.2", 1646 | "safe-buffer": "^5.1.2", 1647 | "tough-cookie": "~2.4.3", 1648 | "tunnel-agent": "^0.6.0", 1649 | "uuid": "^3.3.2" 1650 | }, 1651 | "dependencies": { 1652 | "qs": { 1653 | "version": "6.5.2", 1654 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 1655 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" 1656 | } 1657 | } 1658 | }, 1659 | "restore-cursor": { 1660 | "version": "3.1.0", 1661 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 1662 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 1663 | "requires": { 1664 | "onetime": "^5.1.0", 1665 | "signal-exit": "^3.0.2" 1666 | } 1667 | }, 1668 | "ripemd160": { 1669 | "version": "2.0.2", 1670 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 1671 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 1672 | "requires": { 1673 | "hash-base": "^3.0.0", 1674 | "inherits": "^2.0.1" 1675 | } 1676 | }, 1677 | "rlp": { 1678 | "version": "2.2.4", 1679 | "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.4.tgz", 1680 | "integrity": "sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw==", 1681 | "requires": { 1682 | "bn.js": "^4.11.1" 1683 | }, 1684 | "dependencies": { 1685 | "bn.js": { 1686 | "version": "4.11.8", 1687 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 1688 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 1689 | } 1690 | } 1691 | }, 1692 | "run-async": { 1693 | "version": "2.3.0", 1694 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 1695 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 1696 | "requires": { 1697 | "is-promise": "^2.1.0" 1698 | } 1699 | }, 1700 | "rxjs": { 1701 | "version": "6.5.4", 1702 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", 1703 | "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", 1704 | "requires": { 1705 | "tslib": "^1.9.0" 1706 | } 1707 | }, 1708 | "safe-buffer": { 1709 | "version": "5.2.0", 1710 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", 1711 | "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" 1712 | }, 1713 | "safer-buffer": { 1714 | "version": "2.1.2", 1715 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1716 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1717 | }, 1718 | "secp256k1": { 1719 | "version": "3.8.0", 1720 | "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.8.0.tgz", 1721 | "integrity": "sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==", 1722 | "requires": { 1723 | "bindings": "^1.5.0", 1724 | "bip66": "^1.1.5", 1725 | "bn.js": "^4.11.8", 1726 | "create-hash": "^1.2.0", 1727 | "drbg.js": "^1.0.1", 1728 | "elliptic": "^6.5.2", 1729 | "nan": "^2.14.0", 1730 | "safe-buffer": "^5.1.2" 1731 | }, 1732 | "dependencies": { 1733 | "bn.js": { 1734 | "version": "4.11.8", 1735 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 1736 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 1737 | } 1738 | } 1739 | }, 1740 | "seek-bzip": { 1741 | "version": "1.0.5", 1742 | "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", 1743 | "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", 1744 | "requires": { 1745 | "commander": "~2.8.1" 1746 | }, 1747 | "dependencies": { 1748 | "commander": { 1749 | "version": "2.8.1", 1750 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 1751 | "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", 1752 | "requires": { 1753 | "graceful-readlink": ">= 1.0.0" 1754 | } 1755 | } 1756 | } 1757 | }, 1758 | "send": { 1759 | "version": "0.17.1", 1760 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", 1761 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", 1762 | "requires": { 1763 | "debug": "2.6.9", 1764 | "depd": "~1.1.2", 1765 | "destroy": "~1.0.4", 1766 | "encodeurl": "~1.0.2", 1767 | "escape-html": "~1.0.3", 1768 | "etag": "~1.8.1", 1769 | "fresh": "0.5.2", 1770 | "http-errors": "~1.7.2", 1771 | "mime": "1.6.0", 1772 | "ms": "2.1.1", 1773 | "on-finished": "~2.3.0", 1774 | "range-parser": "~1.2.1", 1775 | "statuses": "~1.5.0" 1776 | }, 1777 | "dependencies": { 1778 | "ms": { 1779 | "version": "2.1.1", 1780 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 1781 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" 1782 | } 1783 | } 1784 | }, 1785 | "serve-static": { 1786 | "version": "1.14.1", 1787 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", 1788 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", 1789 | "requires": { 1790 | "encodeurl": "~1.0.2", 1791 | "escape-html": "~1.0.3", 1792 | "parseurl": "~1.3.3", 1793 | "send": "0.17.1" 1794 | } 1795 | }, 1796 | "servify": { 1797 | "version": "0.1.12", 1798 | "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", 1799 | "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", 1800 | "requires": { 1801 | "body-parser": "^1.16.0", 1802 | "cors": "^2.8.1", 1803 | "express": "^4.14.0", 1804 | "request": "^2.79.0", 1805 | "xhr": "^2.3.3" 1806 | } 1807 | }, 1808 | "setimmediate": { 1809 | "version": "1.0.5", 1810 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 1811 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" 1812 | }, 1813 | "setprototypeof": { 1814 | "version": "1.1.1", 1815 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 1816 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 1817 | }, 1818 | "sha.js": { 1819 | "version": "2.4.11", 1820 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 1821 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 1822 | "requires": { 1823 | "inherits": "^2.0.1", 1824 | "safe-buffer": "^5.0.1" 1825 | } 1826 | }, 1827 | "signal-exit": { 1828 | "version": "3.0.2", 1829 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 1830 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 1831 | }, 1832 | "simple-concat": { 1833 | "version": "1.0.0", 1834 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", 1835 | "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" 1836 | }, 1837 | "simple-get": { 1838 | "version": "2.8.1", 1839 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", 1840 | "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", 1841 | "requires": { 1842 | "decompress-response": "^3.3.0", 1843 | "once": "^1.3.1", 1844 | "simple-concat": "^1.0.0" 1845 | } 1846 | }, 1847 | "sshpk": { 1848 | "version": "1.16.1", 1849 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 1850 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 1851 | "requires": { 1852 | "asn1": "~0.2.3", 1853 | "assert-plus": "^1.0.0", 1854 | "bcrypt-pbkdf": "^1.0.0", 1855 | "dashdash": "^1.12.0", 1856 | "ecc-jsbn": "~0.1.1", 1857 | "getpass": "^0.1.1", 1858 | "jsbn": "~0.1.0", 1859 | "safer-buffer": "^2.0.2", 1860 | "tweetnacl": "~0.14.0" 1861 | } 1862 | }, 1863 | "statuses": { 1864 | "version": "1.5.0", 1865 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 1866 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 1867 | }, 1868 | "strict-uri-encode": { 1869 | "version": "1.1.0", 1870 | "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", 1871 | "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" 1872 | }, 1873 | "string-width": { 1874 | "version": "4.2.0", 1875 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 1876 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 1877 | "requires": { 1878 | "emoji-regex": "^8.0.0", 1879 | "is-fullwidth-code-point": "^3.0.0", 1880 | "strip-ansi": "^6.0.0" 1881 | }, 1882 | "dependencies": { 1883 | "strip-ansi": { 1884 | "version": "6.0.0", 1885 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 1886 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 1887 | "requires": { 1888 | "ansi-regex": "^5.0.0" 1889 | } 1890 | } 1891 | } 1892 | }, 1893 | "string_decoder": { 1894 | "version": "1.1.1", 1895 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 1896 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 1897 | "requires": { 1898 | "safe-buffer": "~5.1.0" 1899 | }, 1900 | "dependencies": { 1901 | "safe-buffer": { 1902 | "version": "5.1.2", 1903 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1904 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1905 | } 1906 | } 1907 | }, 1908 | "strip-ansi": { 1909 | "version": "5.2.0", 1910 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1911 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1912 | "requires": { 1913 | "ansi-regex": "^4.1.0" 1914 | }, 1915 | "dependencies": { 1916 | "ansi-regex": { 1917 | "version": "4.1.0", 1918 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1919 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" 1920 | } 1921 | } 1922 | }, 1923 | "strip-dirs": { 1924 | "version": "2.1.0", 1925 | "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", 1926 | "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", 1927 | "requires": { 1928 | "is-natural-number": "^4.0.1" 1929 | } 1930 | }, 1931 | "strip-hex-prefix": { 1932 | "version": "1.0.0", 1933 | "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", 1934 | "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", 1935 | "requires": { 1936 | "is-hex-prefixed": "1.0.0" 1937 | } 1938 | }, 1939 | "supports-color": { 1940 | "version": "5.5.0", 1941 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1942 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1943 | "requires": { 1944 | "has-flag": "^3.0.0" 1945 | } 1946 | }, 1947 | "swarm-js": { 1948 | "version": "0.1.39", 1949 | "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.39.tgz", 1950 | "integrity": "sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg==", 1951 | "requires": { 1952 | "bluebird": "^3.5.0", 1953 | "buffer": "^5.0.5", 1954 | "decompress": "^4.0.0", 1955 | "eth-lib": "^0.1.26", 1956 | "fs-extra": "^4.0.2", 1957 | "got": "^7.1.0", 1958 | "mime-types": "^2.1.16", 1959 | "mkdirp-promise": "^5.0.1", 1960 | "mock-fs": "^4.1.0", 1961 | "setimmediate": "^1.0.5", 1962 | "tar": "^4.0.2", 1963 | "xhr-request-promise": "^0.1.2" 1964 | }, 1965 | "dependencies": { 1966 | "bn.js": { 1967 | "version": "4.11.8", 1968 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 1969 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 1970 | }, 1971 | "eth-lib": { 1972 | "version": "0.1.29", 1973 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", 1974 | "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", 1975 | "requires": { 1976 | "bn.js": "^4.11.6", 1977 | "elliptic": "^6.4.0", 1978 | "nano-json-stream-parser": "^0.1.2", 1979 | "servify": "^0.1.12", 1980 | "ws": "^3.0.0", 1981 | "xhr-request-promise": "^0.1.2" 1982 | } 1983 | }, 1984 | "safe-buffer": { 1985 | "version": "5.1.2", 1986 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1987 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1988 | }, 1989 | "ws": { 1990 | "version": "3.3.3", 1991 | "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", 1992 | "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", 1993 | "requires": { 1994 | "async-limiter": "~1.0.0", 1995 | "safe-buffer": "~5.1.0", 1996 | "ultron": "~1.1.0" 1997 | } 1998 | } 1999 | } 2000 | }, 2001 | "tar": { 2002 | "version": "4.4.13", 2003 | "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", 2004 | "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", 2005 | "requires": { 2006 | "chownr": "^1.1.1", 2007 | "fs-minipass": "^1.2.5", 2008 | "minipass": "^2.8.6", 2009 | "minizlib": "^1.2.1", 2010 | "mkdirp": "^0.5.0", 2011 | "safe-buffer": "^5.1.2", 2012 | "yallist": "^3.0.3" 2013 | } 2014 | }, 2015 | "tar-stream": { 2016 | "version": "1.6.2", 2017 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", 2018 | "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", 2019 | "requires": { 2020 | "bl": "^1.0.0", 2021 | "buffer-alloc": "^1.2.0", 2022 | "end-of-stream": "^1.0.0", 2023 | "fs-constants": "^1.0.0", 2024 | "readable-stream": "^2.3.0", 2025 | "to-buffer": "^1.1.1", 2026 | "xtend": "^4.0.0" 2027 | } 2028 | }, 2029 | "through": { 2030 | "version": "2.3.8", 2031 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 2032 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 2033 | }, 2034 | "timed-out": { 2035 | "version": "4.0.1", 2036 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 2037 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" 2038 | }, 2039 | "tmp": { 2040 | "version": "0.0.33", 2041 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 2042 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 2043 | "requires": { 2044 | "os-tmpdir": "~1.0.2" 2045 | } 2046 | }, 2047 | "to-buffer": { 2048 | "version": "1.1.1", 2049 | "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", 2050 | "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" 2051 | }, 2052 | "toidentifier": { 2053 | "version": "1.0.0", 2054 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 2055 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 2056 | }, 2057 | "tough-cookie": { 2058 | "version": "2.4.3", 2059 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", 2060 | "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", 2061 | "requires": { 2062 | "psl": "^1.1.24", 2063 | "punycode": "^1.4.1" 2064 | }, 2065 | "dependencies": { 2066 | "punycode": { 2067 | "version": "1.4.1", 2068 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 2069 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" 2070 | } 2071 | } 2072 | }, 2073 | "tslib": { 2074 | "version": "1.10.0", 2075 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", 2076 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" 2077 | }, 2078 | "tunnel-agent": { 2079 | "version": "0.6.0", 2080 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 2081 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 2082 | "requires": { 2083 | "safe-buffer": "^5.0.1" 2084 | } 2085 | }, 2086 | "tweetnacl": { 2087 | "version": "0.14.5", 2088 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 2089 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" 2090 | }, 2091 | "type-fest": { 2092 | "version": "0.8.1", 2093 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 2094 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" 2095 | }, 2096 | "type-is": { 2097 | "version": "1.6.18", 2098 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 2099 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 2100 | "requires": { 2101 | "media-typer": "0.3.0", 2102 | "mime-types": "~2.1.24" 2103 | } 2104 | }, 2105 | "ultron": { 2106 | "version": "1.1.1", 2107 | "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", 2108 | "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" 2109 | }, 2110 | "unbzip2-stream": { 2111 | "version": "1.3.3", 2112 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", 2113 | "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", 2114 | "requires": { 2115 | "buffer": "^5.2.1", 2116 | "through": "^2.3.8" 2117 | } 2118 | }, 2119 | "underscore": { 2120 | "version": "1.9.1", 2121 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", 2122 | "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" 2123 | }, 2124 | "universalify": { 2125 | "version": "0.1.2", 2126 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 2127 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 2128 | }, 2129 | "unorm": { 2130 | "version": "1.6.0", 2131 | "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", 2132 | "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==" 2133 | }, 2134 | "unpipe": { 2135 | "version": "1.0.0", 2136 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 2137 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 2138 | }, 2139 | "uri-js": { 2140 | "version": "4.2.2", 2141 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 2142 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 2143 | "requires": { 2144 | "punycode": "^2.1.0" 2145 | } 2146 | }, 2147 | "url-parse-lax": { 2148 | "version": "1.0.0", 2149 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 2150 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 2151 | "requires": { 2152 | "prepend-http": "^1.0.1" 2153 | } 2154 | }, 2155 | "url-set-query": { 2156 | "version": "1.0.0", 2157 | "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", 2158 | "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" 2159 | }, 2160 | "url-to-options": { 2161 | "version": "1.0.1", 2162 | "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", 2163 | "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" 2164 | }, 2165 | "utf8": { 2166 | "version": "3.0.0", 2167 | "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", 2168 | "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" 2169 | }, 2170 | "util-deprecate": { 2171 | "version": "1.0.2", 2172 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2173 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 2174 | }, 2175 | "utils-merge": { 2176 | "version": "1.0.1", 2177 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 2178 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 2179 | }, 2180 | "uuid": { 2181 | "version": "3.3.3", 2182 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", 2183 | "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" 2184 | }, 2185 | "vary": { 2186 | "version": "1.1.2", 2187 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 2188 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 2189 | }, 2190 | "verror": { 2191 | "version": "1.10.0", 2192 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 2193 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 2194 | "requires": { 2195 | "assert-plus": "^1.0.0", 2196 | "core-util-is": "1.0.2", 2197 | "extsprintf": "^1.2.0" 2198 | } 2199 | }, 2200 | "wcwidth": { 2201 | "version": "1.0.1", 2202 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 2203 | "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", 2204 | "requires": { 2205 | "defaults": "^1.0.3" 2206 | } 2207 | }, 2208 | "web3-utils": { 2209 | "version": "1.2.4", 2210 | "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.4.tgz", 2211 | "integrity": "sha512-+S86Ip+jqfIPQWvw2N/xBQq5JNqCO0dyvukGdJm8fEWHZbckT4WxSpHbx+9KLEWY4H4x9pUwnoRkK87pYyHfgQ==", 2212 | "requires": { 2213 | "bn.js": "4.11.8", 2214 | "eth-lib": "0.2.7", 2215 | "ethereum-bloom-filters": "^1.0.6", 2216 | "ethjs-unit": "0.1.6", 2217 | "number-to-bn": "1.7.0", 2218 | "randombytes": "^2.1.0", 2219 | "underscore": "1.9.1", 2220 | "utf8": "3.0.0" 2221 | }, 2222 | "dependencies": { 2223 | "bn.js": { 2224 | "version": "4.11.8", 2225 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 2226 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 2227 | } 2228 | } 2229 | }, 2230 | "web3x": { 2231 | "version": "4.0.6", 2232 | "resolved": "https://registry.npmjs.org/web3x/-/web3x-4.0.6.tgz", 2233 | "integrity": "sha512-rYc60WO6WjQ0O2b29LVM0Ov0Ca5DSfeKPfkUBpcT1JaB8JHnHRVedB/eBktIEytjUDMxotxIfsYRFsO4cbE95w==", 2234 | "requires": { 2235 | "@types/bn.js": "^4.11.2", 2236 | "@types/node": "^10.12.18", 2237 | "@types/ws": "^6.0.1", 2238 | "bip39": "^2.5.0", 2239 | "bn.js": "^4.11.8", 2240 | "browserify-aes": "^1.2.0", 2241 | "elliptic": "^6.4.0", 2242 | "hdkey": "^1.1.0", 2243 | "idna-uts46-hx": "^2.3.1", 2244 | "isomorphic-fetch": "^2.2.1", 2245 | "isomorphic-ws": "^4.0.1", 2246 | "pbkdf2": "^3.0.17", 2247 | "randombytes": "^2.0.6", 2248 | "rlp": "^2.2.3", 2249 | "swarm-js": "^0.1.39", 2250 | "tslib": "^1.9.3", 2251 | "utf8": "^3.0.0", 2252 | "ws": "^6.1.0" 2253 | }, 2254 | "dependencies": { 2255 | "bn.js": { 2256 | "version": "4.11.8", 2257 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 2258 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 2259 | } 2260 | } 2261 | }, 2262 | "whatwg-fetch": { 2263 | "version": "3.0.0", 2264 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", 2265 | "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" 2266 | }, 2267 | "wrappy": { 2268 | "version": "1.0.2", 2269 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2270 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 2271 | }, 2272 | "ws": { 2273 | "version": "6.2.1", 2274 | "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", 2275 | "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", 2276 | "requires": { 2277 | "async-limiter": "~1.0.0" 2278 | } 2279 | }, 2280 | "xhr": { 2281 | "version": "2.5.0", 2282 | "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", 2283 | "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", 2284 | "requires": { 2285 | "global": "~4.3.0", 2286 | "is-function": "^1.0.1", 2287 | "parse-headers": "^2.0.0", 2288 | "xtend": "^4.0.0" 2289 | } 2290 | }, 2291 | "xhr-request": { 2292 | "version": "1.1.0", 2293 | "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", 2294 | "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", 2295 | "requires": { 2296 | "buffer-to-arraybuffer": "^0.0.5", 2297 | "object-assign": "^4.1.1", 2298 | "query-string": "^5.0.1", 2299 | "simple-get": "^2.7.0", 2300 | "timed-out": "^4.0.1", 2301 | "url-set-query": "^1.0.0", 2302 | "xhr": "^2.0.4" 2303 | } 2304 | }, 2305 | "xhr-request-promise": { 2306 | "version": "0.1.2", 2307 | "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", 2308 | "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", 2309 | "requires": { 2310 | "xhr-request": "^1.0.1" 2311 | } 2312 | }, 2313 | "xtend": { 2314 | "version": "4.0.2", 2315 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 2316 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" 2317 | }, 2318 | "yallist": { 2319 | "version": "3.1.1", 2320 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 2321 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" 2322 | }, 2323 | "yauzl": { 2324 | "version": "2.10.0", 2325 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 2326 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 2327 | "requires": { 2328 | "buffer-crc32": "~0.2.3", 2329 | "fd-slicer": "~1.1.0" 2330 | } 2331 | } 2332 | } 2333 | } 2334 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ignition-points", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "fetch:g1": "bash ./scripts/g1.sh", 8 | "fetch:g2": "bash ./scripts/g2.sh", 9 | "fetch:signatures": "bash ./scripts/signatures.sh", 10 | "fetch:transcriptHashes": "bash ./scripts/transcripthashes.sh", 11 | "fetch:essential": "npm run fetch:g1 && npm run fetch:g2", 12 | "fetch:all": "npm fetch:essential && bash ./scripts/transcripthashes.sh", 13 | "parse:transcripts": "node ./scripts/parseTranscripts.js", 14 | "validate:signature": "bash ./scripts/recoverAddress.sh", 15 | "validate:transcript": "python ./scripts/checkPairing.py", 16 | "validate:all": "", 17 | "validate": "node index.js validate" 18 | }, 19 | "author": "", 20 | "license": "ISC", 21 | "bin": "./index.js", 22 | "dependencies": { 23 | "@aztec/bn128": "^0.2.8", 24 | "bn.js": "^5.0.0", 25 | "colors": "^1.4.0", 26 | "commander": "^4.0.1", 27 | "inquirer": "^7.0.1", 28 | "pad": "^3.2.0", 29 | "web3x": "^4.0.6" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /prompts/address.js: -------------------------------------------------------------------------------- 1 | const inquirer = require('inquirer'); 2 | 3 | const questions = [ 4 | { type: 'input', name: 'address', message: 'Input the address of the participant you want to perform validation for:', validate: (input, answers) => !!input }, 5 | ] 6 | 7 | module.exports = function () { 8 | return inquirer 9 | .prompt(questions) 10 | .then(function (answers) { 11 | return answers; 12 | }) 13 | } -------------------------------------------------------------------------------- /prompts/attestation.js: -------------------------------------------------------------------------------- 1 | const inquirer = require('inquirer'); 2 | 3 | const questions = [ 4 | { type: 'input', name: 'privateKey', message: '(optional) input the private key for the address you submitted to sign an attestation that you\'ve successfully validated the contribution:' }, 5 | ] 6 | 7 | module.exports = function () { 8 | return inquirer 9 | .prompt(questions) 10 | .then(function (answers) { 11 | return answers; 12 | }) 13 | } -------------------------------------------------------------------------------- /prompts/dependencies.js: -------------------------------------------------------------------------------- 1 | const inquirer = require('inquirer'); 2 | 3 | const questions = [ 4 | { type: 'confirm', name: 'confirmDependencies', message: 'Validating your transcript inclusion requires the python library py_ecc. Do you want to install it?', default: true }, 5 | ] 6 | 7 | module.exports = function () { 8 | return inquirer 9 | .prompt(questions) 10 | .then(function (answers) { 11 | return answers; 12 | }) 13 | } -------------------------------------------------------------------------------- /prompts/fetch.js: -------------------------------------------------------------------------------- 1 | const inquirer = require('inquirer'); 2 | 3 | const questions = [ 4 | { type: 'confirm', name: 'confirmDownload', message: 'This tool needs a number of points for each transcript. Do you want to download them?', default: true }, 5 | ] 6 | 7 | module.exports = function () { 8 | return inquirer 9 | .prompt(questions) 10 | .then(function (answers) { 11 | return answers; 12 | }) 13 | } -------------------------------------------------------------------------------- /prompts/validationType.js: -------------------------------------------------------------------------------- 1 | const inquirer = require('inquirer'); 2 | 3 | const validationKeys = { 4 | "Transcript signature": "signature", 5 | "Transcript inclusion (requires Python)": "inclusion", 6 | "Both (requires Python)": "both", 7 | } 8 | 9 | const thingsToValidate = Object.keys(validationKeys); 10 | 11 | const questions = [ 12 | { type: 'list', name: "validationType", message: "Do you want to validate the signature of a contribution, the inclusion of a contribution, or both?", choices: thingsToValidate }, 13 | ] 14 | 15 | module.exports = function () { 16 | return inquirer 17 | .prompt(questions) 18 | .then(function (answers) { 19 | return { 20 | ...answers, 21 | validationType: validationKeys[answers.validationType], 22 | }; 23 | }) 24 | } -------------------------------------------------------------------------------- /recover-address.js: -------------------------------------------------------------------------------- 1 | const { recover } = require('web3x/utils'); 2 | 3 | try { 4 | console.log( 5 | recover(process.argv[2], process.argv[3]) 6 | .toString() 7 | .toLowerCase() 8 | ); 9 | } catch (err) { 10 | console.log('Failed to recover address.'); 11 | process.exit(1); 12 | } 13 | -------------------------------------------------------------------------------- /scripts/checkPairing.py: -------------------------------------------------------------------------------- 1 | import json 2 | import sys 3 | import pprint 4 | import os 5 | 6 | from py_ecc import bn128 7 | 8 | from py_ecc.bn128.bn128_curve import ( 9 | G2, 10 | ) 11 | 12 | from py_ecc.fields import ( 13 | bn128_FQ as FQ, 14 | bn128_FQ2 as FQ2, 15 | bn128_FQ12 as FQ12, 16 | ) 17 | 18 | def check_pairing(participantG1, participantG2, previousParticipantG1): 19 | # G1 point for participant 20 | participant_g1_x = FQ(int(participantG1['x'])) 21 | participant_g1_y = FQ(int(participantG1['y'])) 22 | 23 | participant_g1 = (participant_g1_x, participant_g1_y) 24 | 25 | # G2 point for participant 26 | participant_g2_x = FQ2([int(participantG2['x']['c0']), int(participantG2['x']['c1'])]) 27 | participant_g2_y = FQ2([int(participantG2['y']['c0']), int(participantG2['y']['c1'])]) 28 | 29 | participant_g2 = (participant_g2_x, participant_g2_y) 30 | 31 | # G1 point for previous participant 32 | previous_participant_g1_x = FQ(int(previousParticipantG1['x'])) 33 | previous_participant_g1_y = FQ(int(previousParticipantG1['y'])) 34 | 35 | previous_participant_g1 = (previous_participant_g1_x, previous_participant_g1_y) 36 | 37 | e1 = bn128.final_exponentiate(bn128.pairing(G2, participant_g1)) 38 | e2 = bn128.final_exponentiate(bn128.pairing(participant_g2, previous_participant_g1)) 39 | 40 | pairing_result = (e1 == e2) 41 | 42 | assert(pairing_result == True) 43 | 44 | with open(os.getcwd() + '/points.json') as json_file: 45 | data = json.load(json_file) 46 | points = data['points'] 47 | participant_indices = data['addressToIndex'] 48 | participant_addresses = list(participant_indices.keys()) 49 | 50 | ## If participant is passed in, check previous, next all in sequence 51 | if len(sys.argv) > 1: 52 | participant_address = sys.argv[1].lower() 53 | # Will fail here if supplied address not in list 54 | participant_index = participant_indices[participant_address] 55 | participant_points = points[participant_address] 56 | 57 | if participant_index - 1 > 0: 58 | previous_participant_address = participant_addresses[participant_index - 1] 59 | previous_participant_points = points[previous_participant_address] 60 | # Will throw an exception if pairing check fails 61 | print("\nValidating that contribution from {} builds on {}...".format(participant_address, previous_participant_address)) 62 | print("\n{} G1 first point:".format(participant_address)) 63 | pprint.pprint(participant_points['g1']) 64 | print("\n{} G2 first point:".format(participant_address)) 65 | pprint.pprint(participant_points['g2']) 66 | print("\n{} G1 first point:".format(previous_participant_address)) 67 | pprint.pprint(previous_participant_points['g1']) 68 | check_pairing(participant_points['g1'], participant_points['g2'], previous_participant_points['g1']) 69 | print("\nSuccess! e(G2_generator, current_participant_first_g1) = e(current_participant_g2, previous_participant_first_g1)") 70 | print("\n –––––––––––––––––––––––– \n") 71 | 72 | if participant_index + 1 < len(participant_addresses): 73 | next_participant_address = participant_addresses[participant_index + 1] 74 | next_participant_points = points[next_participant_address] 75 | print("Validating that contribution from {} is built on by {}...".format(participant_address, next_participant_address)) 76 | print("\n{} G1 first point:".format(next_participant_address)) 77 | pprint.pprint(next_participant_points['g1']) 78 | print("\n{} G2 first point:".format(next_participant_address)) 79 | pprint.pprint(next_participant_points['g2']) 80 | print("\n{} G1 first point:".format(participant_address)) 81 | pprint.pprint(participant_points['g1']) 82 | check_pairing(next_participant_points['g1'], next_participant_points['g2'], participant_points['g1']) 83 | print("\nSuccess! e(G2_generator, next_participant_first_g1) = e(next_participant_g2, current_participant_first_g1)") 84 | else: 85 | print("Please input the address of the participant you want to validate.") 86 | -------------------------------------------------------------------------------- /scripts/g1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir g1points; 4 | rm g1points/*.dat 5 | cd g1points; 6 | 7 | echo "Downloading first G1 point of each transcript_0" 8 | 9 | if type "jq" > /dev/null; then 10 | TRANSCRIPT_NAMES=$(curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/manifest.json | jq ".participants | [ to_entries[] | (if .value.position|tostring|length == 1 then (\"00\" + (.value.position|tostring)) else if .value.position|tostring|length == 2 then (\"0\" + (.value.position|tostring)) else (.value.position|tostring) end end) + \"_\" + .value.address ] ") 11 | echo $TRANSCRIPT_NAMES | tr '[:upper:]' '[:lower:]' | jq " to_entries[] | \"curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/\" + (.value) + \"/transcript00.dat -H 'Range: bytes=28-91' > \" + (.value) + \"_g1.dat\" " > keys 12 | 13 | # Manual addition of sealed transcript 14 | echo "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/sealed/transcript00.dat -H 'Range: bytes=28-91' > 198_sealed_g1.dat" >> keys 15 | fi 16 | 17 | while read p; 18 | do 19 | echo $p 20 | eval $(sed -e 's/^"//' -e 's/"$//' <<< $p) 21 | done < keys; 22 | -------------------------------------------------------------------------------- /scripts/g2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir g2points; 4 | rm g2points/*.dat 5 | cd g2points; 6 | 7 | echo "Downloading G2 points of each transcript_0" 8 | 9 | if type "jq" > /dev/null; then 10 | TRANSCRIPT_NAMES=$(curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/manifest.json | jq ".participants | [ to_entries[] | (if .value.position|tostring|length == 1 then (\"00\" + (.value.position|tostring)) else if .value.position|tostring|length == 2 then (\"0\" + (.value.position|tostring)) else (.value.position|tostring) end end) + \"_\" + .value.address ] ") 11 | echo $TRANSCRIPT_NAMES | tr '[:upper:]' '[:lower:]' | jq " to_entries[] | \"curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/\" + (.value) + \"/transcript00.dat -H 'Range: bytes=322560028-322560283' > \" + (.value) + \"_g2.dat\" " > keys 12 | 13 | # Manual addition of sealed transcript 14 | echo "curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/sealed/transcript00.dat -H 'Range: bytes=322560028-322560283' > 198_sealed_g2.dat" >> keys 15 | fi 16 | while read p; 17 | do 18 | echo $p 19 | eval $(sed -e 's/^"//' -e 's/"$//' <<< $p) 20 | done < keys; -------------------------------------------------------------------------------- /scripts/parseTranscripts.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const BN = require('bn.js'); 3 | const bn128 = require('@aztec/bn128'); 4 | 5 | function extract32bytelittleendian(buffer, startIndex) { 6 | const extractedBuffer = new Buffer.alloc(8); 7 | 8 | let accumulator = new Buffer.alloc(0); 9 | for (let i = startIndex; i < startIndex + 32; i += 8) { 10 | buffer.copy(extractedBuffer, 0, i, i + 8); 11 | const chunk = extractedBuffer; 12 | accumulator = Buffer.concat([chunk, accumulator]) 13 | } 14 | return accumulator.toString('hex'); 15 | } 16 | 17 | module.exports = () => { 18 | const g1Files = fs.readdirSync('g1points'); 19 | const g2Files = fs.readdirSync('g2points'); 20 | 21 | const G1points = g1Files 22 | .filter(filename => filename !== 'keys' && filename !== 'descriptions') 23 | .reduce((acc, filename) => { 24 | const [participantNum, address] = filename.split('_'); 25 | const g1File = fs.readFileSync(`g1points/${filename}`); 26 | const G1x = extract32bytelittleendian(g1File, 0); 27 | const G1y = extract32bytelittleendian(g1File, 32); 28 | 29 | acc[address] = { 30 | participantNum: parseInt(participantNum), 31 | g1: { 32 | x: (new BN(G1x, 16)).toString(10), 33 | y: (new BN(G1y, 16)).toString(10) 34 | } 35 | }; 36 | return acc; 37 | }, {}); 38 | 39 | const G2points = g2Files 40 | .filter(filename => filename !== 'keys') 41 | .reduce((acc, filename) => { 42 | const g2File = fs.readFileSync(`g2points/${filename}`); 43 | const address = filename.split('_')[1]; 44 | 45 | const xc0_origin = extract32bytelittleendian(g2File, 128); 46 | const xc1_origin = extract32bytelittleendian(g2File, 160); 47 | 48 | const yc0_origin = extract32bytelittleendian(g2File, 192); 49 | const yc1_origin = extract32bytelittleendian(g2File, 224); 50 | 51 | const g2Point = { 52 | x: { 53 | c0: (new BN(xc0_origin, 16)).toString(10), 54 | c1: (new BN(xc1_origin, 16)).toString(10), 55 | }, 56 | y: { 57 | c0: (new BN(yc0_origin, 16)).toString(10), 58 | c1: (new BN(yc1_origin, 16)).toString(10), 59 | }, 60 | }; 61 | 62 | acc[address].g2 = g2Point; 63 | return acc; 64 | }, G1points); 65 | 66 | // participantNum skips some indices 67 | const addressToIndex = Object.keys(G2points) 68 | .sort((a, b) => G2points[a].participantNum - G2points[b].participantNum) 69 | .reduce((acc, address, index) => { 70 | acc[address] = index; 71 | return acc; 72 | }, {}); 73 | 74 | fs.writeFileSync('points.json', JSON.stringify({ 75 | points: G2points, 76 | addressToIndex, 77 | })); 78 | } -------------------------------------------------------------------------------- /scripts/recoverAddress.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | : ${API_URL=https://ignition.aztecprotocol.com} 5 | : ${TRANSCRIPTS=1} 6 | : ${SETUP_DIR=$(pwd)/setup_db} 7 | 8 | PREV_ADDRESS=$(echo $1 | tr '[:upper:]' '[:lower:]') 9 | bold=$(tput bold) 10 | normal=$(tput sgr0) 11 | 12 | mkdir -p "$SETUP_DIR" 13 | rm -f "$SETUP_DIR/*" 14 | for TRANSCRIPT in $(seq 0 $[TRANSCRIPTS - 1]); do 15 | echo Downloading full transcript $TRANSCRIPT for address $1... 16 | FILENAME="$SETUP_DIR/transcript$TRANSCRIPT" 17 | curl -s -S "$API_URL/api/data/$1/$TRANSCRIPT" > "$FILENAME.dat" 18 | curl -s -S "$API_URL/api/signature/$1/$TRANSCRIPT" > "$FILENAME.sig" 19 | HASH=0x$(shasum -a 256 "$FILENAME.dat" | cut -f1 -d ' ') 20 | 21 | echo "The SHA256 hash of transcript $TRANSCRIPT for address $1 is:" 22 | echo $bold$HASH$normal 23 | echo "The available signature over that hash is:" 24 | echo $bold$(cat "$FILENAME.sig")$normal 25 | 26 | RECOVERED=$(node recover-address $HASH $(cat "$FILENAME.sig")) 27 | 28 | echo "The recovered address given the above signature is:" 29 | echo $bold$RECOVERED$normal 30 | if [ "${RECOVERED}" != "${PREV_ADDRESS}" ]; then 31 | exit 1 32 | fi 33 | exit 0 34 | 35 | done -------------------------------------------------------------------------------- /scripts/signAttestation.js: -------------------------------------------------------------------------------- 1 | const { Account } = require('web3x/account'); 2 | const { hexToBuffer } = require('web3x/utils'); 3 | const colour = require('colors'); 4 | 5 | function signAttestation(submittedAddress, rawPvtKeyInput) { 6 | if (!rawPvtKeyInput) { 7 | console.log(colour.blue.bold(`\nThank you for taking part in Ignition. You can view data about your participation at https://www.aztecprotocol.com/ignition/participant/${submittedAddress}/`)); 8 | return; 9 | } 10 | 11 | try { 12 | const pvtKeyInput = (rawPvtKeyInput.startsWith('0x')) ? rawPvtKeyInput : `0x${rawPvtKeyInput}`; 13 | const account = Account.fromPrivate( 14 | hexToBuffer(pvtKeyInput) 15 | ); 16 | const address = account.address.toString(); 17 | 18 | if (address.toLowerCase() !== submittedAddress.trim().toLowerCase()) { 19 | console.log(colour.yellow("\nSubmitted private key does not match address being verified, aborting attestation.")); 20 | return; 21 | } 22 | 23 | const message = `https://www.aztecprotocol.com/ignition/participant/${submittedAddress}/?timestamp=${Date.now()}`; 24 | const signature = account.sign(message); 25 | 26 | console.log(colour.green.bold(`Successfully signed attestation for address ${address}\n`)); 27 | console.log(colour.white.bold.underline(`Attestation:`)); 28 | console.log(`Message: ${signature.message}`); 29 | console.log(`Hash: ${signature.messageHash}`); 30 | console.log(`Signature: ${signature.signature}`); 31 | 32 | console.log(colour.blue.bold('\nThank you for taking part in Ignition. You can publicly post the attestation above on any public facing website.')); 33 | } catch (e) { 34 | console.log(colour.blue.bold(`\nThank you for taking part in Ignition. You can view data about your participation at https://www.aztecprotocol.com/ignition/participant/${submittedAddress}/`)); 35 | return ; 36 | } 37 | } 38 | 39 | module.exports = signAttestation; -------------------------------------------------------------------------------- /scripts/signatures.sh: -------------------------------------------------------------------------------- 1 | # /bin/bash 2 | 3 | mkdir signatures; 4 | cd signatures; 5 | 6 | 7 | curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/manifest.json | jq ".participants | [ to_entries[] | (if .value.position|tostring|length == 1 then (\"00\" + (.value.position|tostring)) else if .value.position|tostring|length == 2 then (\"0\" + (.value.position|tostring)) else (.value.position|tostring) end end) + \"_\" + .value.address ] " | tr '[:upper:]' '[:lower:]' | jq " to_entries[] | \"curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/\" + (.value) + \"/transcript00.sig > \" + (.value) + \"_signature.sig\" " > keys 8 | 9 | while read p; 10 | do 11 | echo $p 12 | eval $(sed -e 's/^"//' -e 's/"$//' <<< $p) 13 | done < keys; 14 | -------------------------------------------------------------------------------- /scripts/transcripthashes.sh: -------------------------------------------------------------------------------- 1 | # /bin/bash 2 | 3 | mkdir transcripts; 4 | cd transcripts; 5 | 6 | 7 | curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/manifest.json | jq ".participants | [ to_entries[] | (if .value.position|tostring|length == 1 then (\"00\" + (.value.position|tostring)) else if .value.position|tostring|length == 2 then (\"0\" + (.value.position|tostring)) else (.value.position|tostring) end end) + \"_\" + .value.address ] " | tr '[:upper:]' '[:lower:]' | jq " to_entries[] | \"curl https://aztec-ignition.s3.eu-west-2.amazonaws.com/MAIN+IGNITION/\" + (.value) + \"/transcript00.dat >\" + (.value) + \"_0.dat\" " > keys 8 | 9 | while read p; 10 | do 11 | FILENAME=$(echo $p | cut -f2 -d '>' | sed 's/.$//'); 12 | eval $(sed -e 's/^"//' -e 's/"$//' <<< $p); 13 | 14 | echo "0x$(shasum -a 256 $FILENAME | cut -f1 -d ' ')" > $FILENAME"_hash"; 15 | rm $FILENAME; 16 | done < keys; 17 | --------------------------------------------------------------------------------