mirror of
https://github.com/tlsnotary/tlsn-js.git
synced 2026-01-09 15:07:59 -05:00
* Run tests and demos with playwright * ci: renamed workflow * Improved demo readmes * Use a separate page for each test
41 lines
17 KiB
TypeScript
41 lines
17 KiB
TypeScript
import { Presentation as _Presentation } from '../../src/lib';
|
|
// import { assert } from '../utils';
|
|
import * as Comlink from 'comlink';
|
|
import { Transcript } from '../../src/lib';
|
|
|
|
const { init, Presentation }: any = Comlink.wrap(
|
|
// @ts-ignore
|
|
new Worker(new URL('../worker.ts', import.meta.url)),
|
|
);
|
|
|
|
(async function verify_simple() {
|
|
try {
|
|
await init({ loggingLevel: 'Debug' });
|
|
|
|
console.time('verify');
|
|
const proofHex = `014000000000000000a1b7246d762c83b74830780ce6534adfd7aad9d984daeeb80577926e0b85b7ee0a0f48a1516aa5745cafa937ac6d31ae144fb2ea3acbb5132a4ac14ad90db2a190a03bbad11b3926836683ef942c591100000000022000000000000000dc1058c7334f0b4c410dab7b1b8027ef2af70458aeded9a6d5423fb6b0195a7a00000000012100000000000000037b48f19c139b6888fb5e383a4d72c2335186fd5858e7ae743ab4bf8e071b06e7010000001f9907680000000000000000170300001706000002000000000000004100000000000000045c3cc3619ab0170d7724db9d91ab426bba56e877ebb4d4d35f3a7e9d3fdf24a78d223141c3e12c2891763a8edefb75d261f04e765ad7a7fbd4391d1601986e05030000000220000000000000007ec0ee620736f65de47f4f2281cf02356f205c7751e9c2f195a62f4a370f5256010400000002200000000000000054aacb0178628f6c954d52f699d902ea25d4369843214bf1b72e02e043838949f0909206c8070957acf789290076b958d52a916df15b61251abf808abb286c4ce92f651b09f73d781624fcfe98fd503c0000000000000000000000000000000002050000000000000000000000000000000119000000000000007261772e67697468756275736572636f6e74656e742e636f6d03000000000000008906000000000000308206853082056da0030201020211009077344147316ef99599767aeafdf1b9300d06092a864886f70d01010b050030818f310b3009060355040613024742311b30190603550408131247726561746572204d616e636865737465723110300e0603550407130753616c666f726431183016060355040a130f5365637469676f204c696d69746564313730350603550403132e5365637469676f2052534120446f6d61696e2056616c69646174696f6e2053656375726520536572766572204341301e170d3235303330373030303030305a170d3236303330373233353935395a30163114301206035504030c0b2a2e6769746875622e696f30820122300d06092a864886f70d01010105000382010f003082010a0282010100c4a40b1255662582a767d76628c5ab6f87f2e015859bae7c1107a64b884982bb7ed4d1692f6b4655a16ea55c95def98aa2b097df37a373bfa01fc520a5e9a68fdaf9b64d4d6744975c02d38ef4f68b4de84aa8f00b3927f91d68d13620f86ecfc90e69135f0013e2b7554729721d5fe51c814c4bc4e3e1d4838ffa3a90086055739c9df293c6be6e8d62fc7069d8c6ed3f3b2c4a54fc98f2d8efa4844ed29dc2021d63dd4c913889775c742890ccd863ca33ba4d4dcf3534c4b0e96073b318383c56d1f81098f36fec62ef22332fc0758714cfbda18760c65e7572a73cd5fcb2e027f5403f99be99dd25547e4a206fdc76e0eb6a39682d0e0b28992d3b8566c10203010001a38203523082034e301f0603551d230418301680148d8c5ec454ad8ae177e99bf99b05e1b8018d61e1301d0603551d0e0416041412f07ed0316fe4af35b589fb42d9edb70b93cd04300e0603551d0f0101ff0404030205a0300c0603551d130101ff04023000301d0603551d250416301406082b0601050507030106082b0601050507030230490603551d20044230403034060b2b06010401b231010202073025302306082b06010505070201161768747470733a2f2f7365637469676f2e636f6d2f4350533008060667810c01020130818406082b0601050507010104783076304f06082b060105050730028643687474703a2f2f6372742e7365637469676f2e636f6d2f5365637469676f525341446f6d61696e56616c69646174696f6e53656375726553657276657243412e637274302306082b060105050730018617687474703a2f2f6f6373702e7365637469676f2e636f6d3082017e060a2b06010401d6790204020482016e0482016a0168007600969764bf555897adf743876837084277e9f03ad5f6a4f3366e46a43f0fcaa9c6000001956decac750000040300473045022100f98220b00a9bd9ca9056517824fd844485421f7457741ec38c83dce8287968ae022078ea52857b1793247dc210726767ed9e5447c9d8b4f03638bbd873798215c2ee0077001986d4c728aa6ffeba036f782a4d0191aace2d72310faece5d70412d254cc7d4000001956decac0e00000403004830460221008ebc806d7947b178ffbf87fb0965c9cc3517494baf0399111f776887858f5107022100be9e88c2aa10a7fd9ba96e7239d0ed53dc548a050bbf2ce677ddf029ccb25685007500cb38f715897c84a1445f5bc1ddfbc96ef29a59cd470a690585b0cb14c31458e7000001956decac37000004030046304402204bdf0bd43d96f27cd5ded210d11e14256c70c5bec8fd34fa7bd972d2703442c002205a65eecfd6035426cf5566f19b62868345b9b3bf02289a54669e0d08b39c7142307b0603551d1104743072820b2a2e6769746875622e696f820c2a2e6769746875622e636f6d82172a2e67697468756275736572636f6e74656e742e636f6d820a6769746875622e636f6d82096769746875622e696f821567697468756275736572636f6e74656e742e636f6d820e7777772e6769746875622e636f6d300d06092a864886f70d01010b05000382010100792c8d3542a6d5bd0ad6c15eefbb2767030e6291cff100914c8e36ea233a72a82377767f90d00e4ab3bbf8128fa076f183b76b8118164b6fc2adca9d702ef4acd23357a1961b4097196f8e3194817beec7b0e39c11f8d08b4a884ef6de8a5e5956e6d961317513d27249bf083c2c873d94dd29773375adbf4c4fb9926b835b4c20be7c46aad2e4fa45940208944502e9dafec5542bc0b35c61755582f66c4525ff61baf36e82cc81686e0d240f71a783187732ecdc516479a5a47cfefceb74ebb56ec631aa9bdbde28d19931476ba12fa8731009057bf76753420a8c2fa596b337129c71083b8b363077a1cbef458cc425855347bbd2ec3d299aad786ed255c4170600000000000030820613308203fba00302010202107d5b5126b476ba11db74160bbc530da7300d06092a864886f70d01010c0500308188310b3009060355040613025553311330110603550408130a4e6577204a6572736579311430120603550407130b4a65727365792043697479311e301c060355040a131554686520555345525452555354204e6574776f726b312e302c06035504031325555345525472757374205253412043657274696669636174696f6e20417574686f72697479301e170d3138313130323030303030305a170d3330313233313233353935395a30818f310b3009060355040613024742311b30190603550408131247726561746572204d616e636865737465723110300e0603550407130753616c666f726431183016060355040a130f5365637469676f204c696d69746564313730350603550403132e5365637469676f2052534120446f6d61696e2056616c69646174696f6e205365637572652053657276657220434130820122300d06092a864886f70d01010105000382010f003082010a0282010100d67333d6d73c20d000d21745b8d63e07a23fc741ee3230c9b06cfdf49fcb12980f2d3f8d4d010c820f177f622ee9b84879fb16834eadd7322593b707bfb9503fa94cc3402ae939ffd981ca1f163241da8026b9237a87201ee3ff209a3c95446f8775069040b4329316091008233ed2dd870f6f5d51146a0a69c54f017269cfd3934c6d04a0a31b827eb19ab9edc59ec537789f9a0834fb562e58c4090e06645bbc37dcf19f2868a856b092a35c9fbb8898081b241dab3085aeafb02e9e7a9dc1c0421ce202f0eae04ad2ef900eb4c14016f06f85424a64f7a430a0febf2ea3275a8e8b58b8adc319178463ed6f56fd83cb6034c474bee69ddbe1e4e5ca0c5f150203010001a382016e3082016a301f0603551d230418301680145379bf5aaa2b4acf5480e1d89bc09df2b20366cb301d0603551d0e041604148d8c5ec454ad8ae177e99bf99b05e1b8018d61e1300e0603551d0f0101ff04040302018630120603551d130101ff040830060101ff020100301d0603551d250416301406082b0601050507030106082b06010505070302301b0603551d200414301230060604551d20003008060667810c01020130500603551d1f044930473045a043a041863f687474703a2f2f63726c2e7573657274727573742e636f6d2f55534552547275737452534143657274696669636174696f6e417574686f726974792e63726c307606082b06010505070101046a3068303f06082b060105050730028633687474703a2f2f6372742e7573657274727573742e636f6d2f555345525472757374525341416464547275737443412e637274302506082b060105050730018619687474703a2f2f6f6373702e7573657274727573742e636f6d300d06092a864886f70d01010c0500038202010032bf61bd0e48c34fc7ba474df89c781901dc131d806ffcc370b4529a31339a5752fb319e6ba4ef54aa898d401768f811107cd2cab1f15586c7eeb3369186f63951bf46bf0fa0bab4f77e49c42a36179ee468397aaf944e566fb27b3bbf0a86bdcdc5771c03b838b1a21f5f7edb8adc4648b6680acfb2b5b4e234e467a93866095ed2b8fc9d283a174027c2724e29fd213c7ccf13fb962cc53144fd13edd59ba96968777ceee1ffa4f93638085339a284349c19f3be0eacd52437eb23a878d0d3e7ef924764623922efc6f711be2285c6664424268e10328dc893ae079e833e2fd9f9f5468e63bec1e6b4dca6cd21a8860a95d92e85261afdfcb1b657426d95d133f6391406824138f58f58dc805ba4d57d9578fda79bfffdc5a869ab26e7a7a405875ba9b7b8a3200b97a94585ddb38be589378e290dfc0617f638400e42e41206fb7bf3c6116862dfe398f413d8154f8bb169d91060bc642aea31b7e4b5a33a149b26e30b7bfd028eb699c138975936f6a874a286b65eebc664eacfa0a3f96e9eba2d11b6869808582dc9ac2564f25e75b438c1ae7f5a4683ea51cab6f19911356ba56a7bc600b0e7f8be64b2adc8c2f1ace351eaa493e079c8e18140c90a5be1123cc1602ae397c08942ca94cf46981269bb98d0c2d30d724b476ee593c43228638743e4b0323e0ad34bbf239b1429412b9a041f932df1c739483cad5a127f85050000000000003082058130820469a00302010202103972443af922b751d7d36c10dd313595300d06092a864886f70d01010c0500307b310b3009060355040613024742311b301906035504080c1247726561746572204d616e636865737465723110300e06035504070c0753616c666f7264311a3018060355040a0c11436f6d6f646f204341204c696d697465643121301f06035504030c18414141204365727469666963617465205365727669636573301e170d3139303331323030303030305a170d3238313233313233353935395a308188310b3009060355040613025553311330110603550408130a4e6577204a6572736579311430120603550407130b4a65727365792043697479311e301c060355040a131554686520555345525452555354204e6574776f726b312e302c06035504031325555345525472757374205253412043657274696669636174696f6e20417574686f7269747930820222300d06092a864886f70d01010105000382020f003082020a028202010080126517360ec3db08b3d0ac570d76edcd27d34cad508361e2aa204d092d6409dcce899fcc3da9ecf6cfc1dcf1d3b1d67b3728112b47da39c6bc3a19b45fa6bd7d9da36342b676f2a93b2b91f8e26fd0ec162090093ee2e874c918b491d46264db7fa306f188186a90223cbcfe13f087147bf6e41f8ed4e451c61167460851cb8614543fbc33fe7e6c9cff169d18bd518e35a6a766c87267db2166b1d49b7803c0503ae8ccf0dcbc9e4cfeaf0596351f575ab7ffcef93db72cb6f654ddc8e7123a4dae4c8ab75c9ab4b7203dca7f2234ae7e3b68660144e7014e46539b3360f794be5337907343f332c353efdbaafe744e69c76b8c6093dec4c70cdfe132aecc933b517895678bee3d56fe0cd0690f1b0ff325266b336df76e47fa7343e57e0ea566b1297c3284635589c40dc19354301913acd37d37a7eb5d3a6c355cdb41d712daa9490bdfd8808a0993628eb566cf2588cd84b8b13fa4390fd9029eeb124c957cf36b05a95e1683ccb867e2e8139dcc5b82d34cb3ed5bffdee573ac233b2d00bf3555740949d849581a7f9236e651920ef3267d1c4d17bcc9ec4326d0bf415f40a94444f499e757879e501f5754a83efd74632fb1506509e658422e431a4cb4f0254759fa041e93d426464a5081b2debe78b7fc6715e1c957841e0f63d6e962bad65f552eea5cc62808042539b80e2ba9f24c971c073f0d52f5edef2f820f0203010001a381f23081ef301f0603551d23041830168014a0110a233e96f107ece2af29ef82a57fd030a4b4301d0603551d0e041604145379bf5aaa2b4acf5480e1d89bc09df2b20366cb300e0603551d0f0101ff040403020186300f0603551d130101ff040530030101ff30110603551d20040a300830060604551d200030430603551d1f043c303a3038a036a0348632687474703a2f2f63726c2e636f6d6f646f63612e636f6d2f414141436572746966696361746553657276696365732e63726c303406082b0601050507010104283026302406082b060105050730018618687474703a2f2f6f6373702e636f6d6f646f63612e636f6d300d06092a864886f70d01010c05000382010100188751dc74213d9c8ae027b733d02eccecf0e6cb5e11de226f9b758e9e72fee4d6feaa1f9c962def034a7eaef48d6f723c433bc03febb8df5caaa9c6aef2fcd8eea37b43f686367c14e0cdf4f73ffedeb8b48af09196fefd43647efdccd201a17d7df81919c9422b13bf588bbaa4a266047688914e0c8914cea24dc932b3bae8141abc71f15bf0410b98000a220310e50cb1f9cd923719ed3bf1e43ab6f945132675afbbaaef3f7b773bd2c402913d1900d3175c39db3f7b180d45cd9385962f5ddf59164f3f51bdd545183fed4a8ee80661742316b50d50732744477f105d892a6b853114c4e8a96a4c80bc6a78cfb87f8e7672990c9dfed7910816a1a35f95080000000001000000000000a0f1fccbba723beefffe59543cf22a7d6f13dc308a54f9202d9179ff70ab434845ba5ab6e6d4c34b06980ce2b6d16e31ea4e474a8f255159d43d3b290e3a587c86fcba6fa6e0a7744662f5bf804645b78b866847d3799e9d193bb45b78edfec92c372cacacf52d24d3e95aa85dc82eeb6aa445f55c2d47992cdb75be66dc6d0a8bf98f24cc603a6399ea9337a27cd3a27e1fbb2cfa579e47ddeeae98a1f83d05c05986cca05dfedfde68b373575c8fcd929f6a6b0e92bd0a669ae91a160d585d910b89712ef493a003945620900780755272aa53aa6227a38cb1d3e8ec1421f175686fea6219dbda10aba3497107becb82d06a89b523795419c79c2ba418e9e400000000c1e3ace6c59d24e98485afd84e4124aa1f806f2e77a90651066fc8a1b54ef7eb6807991f3ffbb1b847b25f10df23de837871c66fca10460b444f574e47524401000000004100000000000000045c3cc3619ab0170d7724db9d91ab426bba56e877ebb4d4d35f3a7e9d3fdf24a78d223141c3e12c2891763a8edefb75d261f04e765ad7a7fbd4391d1601986e052142b2804e28bfad32f7f2b290aad5230101020f0000000000000000000000000000000f00000000000000080000000000000000000000010000000000000048020000000000004a0200000000000002000000000000000d0af196181554c44c563e056ed8a1d15c6403000000000000000000000001000000000000004d010000000000004f0100000000000002000000000000000d0ab1c1b3b3fe3e7122ff66db94f2306a4c0400000000000000000000000100000000000000cc02000000000000ce0200000000000002000000000000000d0a703b5f3b8645f6e384901c06a3f6cddd0200000000000000000000000100000000000000180100000000000035010000000000001d000000000000000d0a6163636570742d656e636f64696e673a206964656e746974790d0a86d96c79e411a2194887870acdba01db05000000000000000000000001000000000000009401000000000000960100000000000002000000000000000d0a988dce537b415ac1c669ccb3140bb0cb000000000000000000000000010000000000000017020000000000002c0200000000000015000000000000000d0a636f6e6e656374696f6e3a20636c6f73650d0abcc04b11b84822ac2be9dbb40ce08a710c000000000000000000000001000000000000006701000000000000690100000000000002000000000000000d0a49a7df1bfcdccb7198686245c032104e06000000000000000000000001000000000000001303000000000000170300000000000004000000000000000d0a0d0a8212644ad876213540dffe23eb843a390900000000000000000000000100000000000000e202000000000000e40200000000000002000000000000000d0a7cb4c2806ab12241e0ff3682a1588e5e0700000000000000010000000100000000000000d005000000000000170600000000000047000000000000002c0a20202020226c617374557064617465644174223a2022323032332d30312d31325431363a34323a31305a222c0a202020202276657273696f6e223a20312e320a20207d0a7dce5d50f60b72b8ed3b04bc144015d5210a00000000000000000000000100000000000000ff02000000000000010300000000000002000000000000000d0af28efff84e7e5aac1804cdf61eae3e0c0b00000000000000010000000100000000000000000000000000000086030000000000008603000000000000485454502f312e3120323030204f4b0d0a436f6e6e656374696f6e3a20636c6f73650d0a436f6e74656e742d4c656e6774683a203636370d0a43616368652d436f6e74726f6c3a206d61782d6167653d3330300d0a436f6e74656e742d53656375726974792d506f6c6963793a2064656661756c742d73726320276e6f6e65273b207374796c652d7372632027756e736166652d696e6c696e65273b2073616e64626f780d0a436f6e74656e742d547970653a20746578742f706c61696e3b20636861727365743d7574662d380d0a455461673a202262343238336233653662326561376530363739613230333464363362646132363039633165663433353931346638343231633366666530636636383261363839220d0a5374726963742d5472616e73706f72742d53656375726974793a206d61782d6167653d33313533363030300d0a582d436f6e74656e742d547970652d4f7074696f6e733a206e6f736e6966660d0a582d4672616d652d4f7074696f6e733a2064656e790d0a582d5853532d50726f74656374696f6e3a20313b206d6f64653d626c6f636b0d0a582d4769744875622d526571756573742d49643a20453842453a3231433141393a3938453230463a4144323533453a36383037393743420d0a4163636570742d52616e6765733a2062797465730d0a446174653a205475652c2032322041707220323032352031333a32363a353620474d540d0a5669613a20312e31207661726e6973680d0a582d5365727665642d42793a2063616368652d616d7332313035302d414d530d0a582d43616368653a204849540d0a582d43616368652d486974733a20300d0a582d54696d65723a2053313734353332383431372e3538313631342c5653302c56453135320d0a566172793a20417574686f72697a6174696f6e2c4163636570742d456e636f64696e672c4f726967696e0d0a4163636573732d436f6e74726f6c2d416c6c6f772d4f726967696e3a202a0d0a43726f73732d4f726967696e2d5265736f757263652d506f6c6963793a2063726f73732d6f726967696e0d0a582d466173746c792d526571756573742d49443a20356233646636353533333938343766613037656364623930386539356362343966383238613666330d0a457870697265733a205475652c2032322041707220323032352031333a33313a353620474d540d0a536f757263652d4167653a20300d0a0d0a7b0a2020226964223a209e0713e5584472033f4b46dc22adde6401000000000000000100000001000000000000009003000000000000ba050000000000002a020000000000002c0a202022696e666f726d6174696f6e223a207b0a20202020226e616d65223a20224a6f686e20446f65222c0a202020202261646472657373223a207b0a20202020202022737472656574223a202231323320456c6d20537472656574222c0a2020202020202263697479223a2022416e79746f776e222c0a202020202020227374617465223a20225859222c0a20202020202022706f7374616c436f6465223a20223132333435220a202020207d2c0a20202020226661766f72697465436f6c6f7273223a205b0a20202020202022626c7565222c0a20202020202022726564222c0a20202020202022677265656e222c0a2020202020202279656c6c6f77220a202020205d2c0a20202020226465736372697074696f6e223a20224a6f686e206973206120736f66747761726520656e67696e6565722e20486520656e6a6f79732068696b696e672c20706c6179696e6720766964656f2067616d65732c20616e642072656164696e6720626f6f6b732e20486973206661766f7269746520626f6f6b20697320274d6f6279204469636b272e222c0a2020202022656475636174696f6e223a207b0a20202020202022646567726565223a202242616368656c6f72277320696e20436f6d707574657220536369656e6365222c0a202020202020227363686f6f6c223a2022416e79746f776e20556e6976657273697479220a202020207d0a20207d2c0a2020226d657461223a207b0a2020202022637265617465644174223a20798b160cac038f70bcef687b89d565a20d000000000000000000000001000000000000005e02000000000000810200000000000023000000000000000d0a686f73743a207261772e67697468756275736572636f6e74656e742e636f6d0d0acf70b35b8c20d8180e1eba0493b82af00e000000000000000000000001000000000000000000000000000000890000000000000089000000000000004745542068747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f746c736e6f746172792f746c736e2f726566732f68656164732f6d61696e2f6372617465732f7365727665722d666978747572652f7365727665722f7372632f646174612f70726f7465637465645f646174612e6a736f6e20485454502f312e310d0ad7038194fab5e523f14bec72f44f13100000000000000000`;
|
|
const proof = (await new Presentation(proofHex)) as _Presentation;
|
|
const result = await proof.verify();
|
|
console.timeEnd('verify');
|
|
const transcript = new Transcript({
|
|
sent: result.transcript.sent,
|
|
recv: result.transcript.recv,
|
|
});
|
|
|
|
const sent = transcript.sent();
|
|
const recv = transcript.recv();
|
|
|
|
// @ts-ignore
|
|
document.getElementById('simple-verify').textContent = JSON.stringify({
|
|
sent,
|
|
recv
|
|
}, null, 2);
|
|
} catch (err) {
|
|
console.log('caught error from wasm');
|
|
console.error(err);
|
|
|
|
// @ts-ignore
|
|
document.getElementById('simple-verify').textContent = err.message;
|
|
}
|
|
})();
|