From 79d6dab1d86f8226542b1d3e7c6cebe119801049 Mon Sep 17 00:00:00 2001 From: jxom <7336481+jxom@users.noreply.github.com> Date: Fri, 8 May 2026 08:39:08 +1000 Subject: [PATCH 001/192] wip: v1 Amp-Thread-ID: https://ampcode.com/threads/T-019e0423-2129-734a-8c3f-314d3aab0bbd --- .gitignore | 3 - .npmrc | 4 - contracts/generated.ts | 10 +- examples/webauthn-p256/.gitignore | 24 - examples/webauthn-p256/CHANGELOG.md | 43 - examples/webauthn-p256/index.html | 13 - examples/webauthn-p256/package.json | 21 - examples/webauthn-p256/public/vite.svg | 1 - examples/webauthn-p256/src/App.tsx | 143 -- examples/webauthn-p256/src/main.tsx | 9 - examples/webauthn-p256/src/vite-env.d.ts | 1 - examples/webauthn-p256/tsconfig.app.json | 24 - examples/webauthn-p256/tsconfig.json | 7 - examples/webauthn-p256/tsconfig.node.json | 22 - examples/webauthn-p256/vite.config.ts | 7 - package.json | 710 ++++++- pnpm-lock.yaml | 1627 ++++++----------- pnpm-workspace.yaml | 31 +- scripts/build-mine-wasm.ts | 98 - scripts/exports:update.ts | 103 ++ scripts/preconstruct.ts | 54 - scripts/prepublish.ts | 44 - scripts/utils/exports.ts | 96 - .../{update-version.ts => version:update.ts} | 2 +- site/package.json | 2 +- site/pages/guides/json-rpc.md | 2 +- src/core/_test/AbiParameters.bench.ts | 794 -------- src/core/_test/Address.bench.ts | 13 - src/core/_test/Base58.bench.ts | 29 - src/core/_test/BinaryStateTree.bench.ts | 18 - src/core/_test/Hex.bench.ts | 62 - src/core/_test/Kzg.test.ts | 2 +- src/core/_test/Rlp.bench.ts | 252 --- src/jsr.json | 2 +- src/package.json | 56 - src/tsconfig.json | 15 + test/kzg.ts | 2 +- test/tsconfig.json | 27 + tsconfig.base.json | 50 +- tsconfig.build.json | 16 - tsconfig.json | 25 +- 41 files changed, 1415 insertions(+), 3049 deletions(-) delete mode 100644 .npmrc delete mode 100644 examples/webauthn-p256/.gitignore delete mode 100644 examples/webauthn-p256/CHANGELOG.md delete mode 100644 examples/webauthn-p256/index.html delete mode 100644 examples/webauthn-p256/package.json delete mode 100644 examples/webauthn-p256/public/vite.svg delete mode 100644 examples/webauthn-p256/src/App.tsx delete mode 100644 examples/webauthn-p256/src/main.tsx delete mode 100644 examples/webauthn-p256/src/vite-env.d.ts delete mode 100644 examples/webauthn-p256/tsconfig.app.json delete mode 100644 examples/webauthn-p256/tsconfig.json delete mode 100644 examples/webauthn-p256/tsconfig.node.json delete mode 100644 examples/webauthn-p256/vite.config.ts delete mode 100644 scripts/build-mine-wasm.ts create mode 100644 scripts/exports:update.ts delete mode 100644 scripts/preconstruct.ts delete mode 100644 scripts/prepublish.ts delete mode 100644 scripts/utils/exports.ts rename scripts/{update-version.ts => version:update.ts} (89%) delete mode 100644 src/core/_test/AbiParameters.bench.ts delete mode 100644 src/core/_test/Address.bench.ts delete mode 100644 src/core/_test/Base58.bench.ts delete mode 100644 src/core/_test/BinaryStateTree.bench.ts delete mode 100644 src/core/_test/Hex.bench.ts delete mode 100644 src/core/_test/Rlp.bench.ts delete mode 100644 src/package.json create mode 100644 src/tsconfig.json create mode 100644 test/tsconfig.json delete mode 100644 tsconfig.build.json diff --git a/.gitignore b/.gitignore index 51093831..6d88c5b3 100644 --- a/.gitignore +++ b/.gitignore @@ -4,9 +4,6 @@ .env .local .pnpm-store -_esm -_cjs -_types dist coverage node_modules diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 84cc0246..00000000 --- a/.npmrc +++ /dev/null @@ -1,4 +0,0 @@ -auto-install-peers=false -link-workspace-packages=true -provenance=false -strict-peer-dependencies=false diff --git a/contracts/generated.ts b/contracts/generated.ts index 014ced28..bebeff61 100644 --- a/contracts/generated.ts +++ b/contracts/generated.ts @@ -65,7 +65,7 @@ export const VerifySig = { } ], "bytecode": { - "object": "0x6080604052348015600e575f5ffd5b50610c628061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c806398ef1ed81461002d575b5f5ffd5b610047600480360381019061004291906106d0565b61005d565b6040516100549190610756565b60405180910390f35b5f7f64926492649264926492649264926492649264926492649264926492649264925f1b61008a836104b9565b03610246575f606080848060200190518101906100a79190610826565b8093508194508295505050505f8373ffffffffffffffffffffffffffffffffffffffff16836040516100d991906108f2565b5f604051808303815f865af19150503d805f8114610112576040519150601f19603f3d011682016040523d82523d5f602084013e610117565b606091505b505090505f8873ffffffffffffffffffffffffffffffffffffffff163b0361017a5780610179576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017090610962565b60405180910390fd5b5b631626ba7e60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168873ffffffffffffffffffffffffffffffffffffffff16631626ba7e89856040518363ffffffff1660e01b81526004016101dc9291906109d7565b602060405180830381865afa1580156101f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061021b9190610a5a565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149450505050506104b2565b5f8473ffffffffffffffffffffffffffffffffffffffff163b111561032d57631626ba7e60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff16631626ba7e85856040518363ffffffff1660e01b81526004016102c79291906109d7565b602060405180830381865afa1580156102e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103069190610a5a565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161490506104b2565b6041825114610371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036890610af5565b60405180910390fd5b6103796104d4565b8290505f8160016003811061039157610390610b13565b5b602002015190505f826002600381106103ad576103ac610b13565b5b602002015190505f856040815181106103c9576103c8610b13565b5b602001015160f81c60f81b60f81c9050601b8160ff16141580156103f15750601c8160ff1614155b15610431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042890610bb0565b60405180910390fd5b8773ffffffffffffffffffffffffffffffffffffffff166001888386866040515f815260200160405260405161046a9493929190610be9565b6020604051602081039080840390855afa15801561048a573d5f5f3e3d5ffd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16149450505050505b9392505050565b5f6020825110156104c8575f5ffd5b81518201519050919050565b6040518060600160405280600390602082028036833780820191505090505090565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61053082610507565b9050919050565b61054081610526565b811461054a575f5ffd5b50565b5f8135905061055b81610537565b92915050565b5f819050919050565b61057381610561565b811461057d575f5ffd5b50565b5f8135905061058e8161056a565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105e28261059c565b810181811067ffffffffffffffff82111715610601576106006105ac565b5b80604052505050565b5f6106136104f6565b905061061f82826105d9565b919050565b5f67ffffffffffffffff82111561063e5761063d6105ac565b5b6106478261059c565b9050602081019050919050565b828183375f83830152505050565b5f61067461066f84610624565b61060a565b9050828152602081018484840111156106905761068f610598565b5b61069b848285610654565b509392505050565b5f82601f8301126106b7576106b6610594565b5b81356106c7848260208601610662565b91505092915050565b5f5f5f606084860312156106e7576106e66104ff565b5b5f6106f48682870161054d565b935050602061070586828701610580565b925050604084013567ffffffffffffffff81111561072657610725610503565b5b610732868287016106a3565b9150509250925092565b5f8115159050919050565b6107508161073c565b82525050565b5f6020820190506107695f830184610747565b92915050565b5f61077982610507565b9050919050565b6107898161076f565b8114610793575f5ffd5b50565b5f815190506107a481610780565b92915050565b8281835e5f83830152505050565b5f6107ca6107c584610624565b61060a565b9050828152602081018484840111156107e6576107e5610598565b5b6107f18482856107aa565b509392505050565b5f82601f83011261080d5761080c610594565b5b815161081d8482602086016107b8565b91505092915050565b5f5f5f6060848603121561083d5761083c6104ff565b5b5f61084a86828701610796565b935050602084015167ffffffffffffffff81111561086b5761086a610503565b5b610877868287016107f9565b925050604084015167ffffffffffffffff81111561089857610897610503565b5b6108a4868287016107f9565b9150509250925092565b5f81519050919050565b5f81905092915050565b5f6108cc826108ae565b6108d681856108b8565b93506108e68185602086016107aa565b80840191505092915050565b5f6108fd82846108c2565b915081905092915050565b5f82825260208201905092915050565b7f5369676e617475726556616c696461746f723a206465706c6f796d656e7400005f82015250565b5f61094c601e83610908565b915061095782610918565b602082019050919050565b5f6020820190508181035f83015261097981610940565b9050919050565b61098981610561565b82525050565b5f82825260208201905092915050565b5f6109a9826108ae565b6109b3818561098f565b93506109c38185602086016107aa565b6109cc8161059c565b840191505092915050565b5f6040820190506109ea5f830185610980565b81810360208301526109fc818461099f565b90509392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610a3981610a05565b8114610a43575f5ffd5b50565b5f81519050610a5481610a30565b92915050565b5f60208284031215610a6f57610a6e6104ff565b5b5f610a7c84828501610a46565b91505092915050565b7f5369676e617475726556616c696461746f72237265636f7665725369676e65725f8201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000602082015250565b5f610adf603a83610908565b9150610aea82610a85565b604082019050919050565b5f6020820190508181035f830152610b0c81610ad3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f5369676e617475726556616c696461746f72237265636f7665725369676e65725f8201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000602082015250565b5f610b9a603b83610908565b9150610ba582610b40565b604082019050919050565b5f6020820190508181035f830152610bc781610b8e565b9050919050565b5f60ff82169050919050565b610be381610bce565b82525050565b5f608082019050610bfc5f830187610980565b610c096020830186610bda565b610c166040830185610980565b610c236060830184610980565b9594505050505056fea26469706673582212202129bba2dd4e24d8e6d4cfcc28d4fe35910091ca42140981d277bef20a8fe3a264736f6c634300081d0033", + "object": "0x6080604052348015600e575f5ffd5b50610c628061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c806398ef1ed81461002d575b5f5ffd5b610047600480360381019061004291906106d0565b61005d565b6040516100549190610756565b60405180910390f35b5f7f64926492649264926492649264926492649264926492649264926492649264925f1b61008a836104b9565b03610246575f606080848060200190518101906100a79190610826565b8093508194508295505050505f8373ffffffffffffffffffffffffffffffffffffffff16836040516100d991906108f2565b5f604051808303815f865af19150503d805f8114610112576040519150601f19603f3d011682016040523d82523d5f602084013e610117565b606091505b505090505f8873ffffffffffffffffffffffffffffffffffffffff163b0361017a5780610179576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017090610962565b60405180910390fd5b5b631626ba7e60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168873ffffffffffffffffffffffffffffffffffffffff16631626ba7e89856040518363ffffffff1660e01b81526004016101dc9291906109d7565b602060405180830381865afa1580156101f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061021b9190610a5a565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149450505050506104b2565b5f8473ffffffffffffffffffffffffffffffffffffffff163b111561032d57631626ba7e60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff16631626ba7e85856040518363ffffffff1660e01b81526004016102c79291906109d7565b602060405180830381865afa1580156102e2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103069190610a5a565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161490506104b2565b6041825114610371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036890610af5565b60405180910390fd5b6103796104d4565b8290505f8160016003811061039157610390610b13565b5b602002015190505f826002600381106103ad576103ac610b13565b5b602002015190505f856040815181106103c9576103c8610b13565b5b602001015160f81c60f81b60f81c9050601b8160ff16141580156103f15750601c8160ff1614155b15610431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042890610bb0565b60405180910390fd5b8773ffffffffffffffffffffffffffffffffffffffff166001888386866040515f815260200160405260405161046a9493929190610be9565b6020604051602081039080840390855afa15801561048a573d5f5f3e3d5ffd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16149450505050505b9392505050565b5f6020825110156104c8575f5ffd5b81518201519050919050565b6040518060600160405280600390602082028036833780820191505090505090565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61053082610507565b9050919050565b61054081610526565b811461054a575f5ffd5b50565b5f8135905061055b81610537565b92915050565b5f819050919050565b61057381610561565b811461057d575f5ffd5b50565b5f8135905061058e8161056a565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105e28261059c565b810181811067ffffffffffffffff82111715610601576106006105ac565b5b80604052505050565b5f6106136104f6565b905061061f82826105d9565b919050565b5f67ffffffffffffffff82111561063e5761063d6105ac565b5b6106478261059c565b9050602081019050919050565b828183375f83830152505050565b5f61067461066f84610624565b61060a565b9050828152602081018484840111156106905761068f610598565b5b61069b848285610654565b509392505050565b5f82601f8301126106b7576106b6610594565b5b81356106c7848260208601610662565b91505092915050565b5f5f5f606084860312156106e7576106e66104ff565b5b5f6106f48682870161054d565b935050602061070586828701610580565b925050604084013567ffffffffffffffff81111561072657610725610503565b5b610732868287016106a3565b9150509250925092565b5f8115159050919050565b6107508161073c565b82525050565b5f6020820190506107695f830184610747565b92915050565b5f61077982610507565b9050919050565b6107898161076f565b8114610793575f5ffd5b50565b5f815190506107a481610780565b92915050565b8281835e5f83830152505050565b5f6107ca6107c584610624565b61060a565b9050828152602081018484840111156107e6576107e5610598565b5b6107f18482856107aa565b509392505050565b5f82601f83011261080d5761080c610594565b5b815161081d8482602086016107b8565b91505092915050565b5f5f5f6060848603121561083d5761083c6104ff565b5b5f61084a86828701610796565b935050602084015167ffffffffffffffff81111561086b5761086a610503565b5b610877868287016107f9565b925050604084015167ffffffffffffffff81111561089857610897610503565b5b6108a4868287016107f9565b9150509250925092565b5f81519050919050565b5f81905092915050565b5f6108cc826108ae565b6108d681856108b8565b93506108e68185602086016107aa565b80840191505092915050565b5f6108fd82846108c2565b915081905092915050565b5f82825260208201905092915050565b7f5369676e617475726556616c696461746f723a206465706c6f796d656e7400005f82015250565b5f61094c601e83610908565b915061095782610918565b602082019050919050565b5f6020820190508181035f83015261097981610940565b9050919050565b61098981610561565b82525050565b5f82825260208201905092915050565b5f6109a9826108ae565b6109b3818561098f565b93506109c38185602086016107aa565b6109cc8161059c565b840191505092915050565b5f6040820190506109ea5f830185610980565b81810360208301526109fc818461099f565b90509392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610a3981610a05565b8114610a43575f5ffd5b50565b5f81519050610a5481610a30565b92915050565b5f60208284031215610a6f57610a6e6104ff565b5b5f610a7c84828501610a46565b91505092915050565b7f5369676e617475726556616c696461746f72237265636f7665725369676e65725f8201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000602082015250565b5f610adf603a83610908565b9150610aea82610a85565b604082019050919050565b5f6020820190508181035f830152610b0c81610ad3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f5369676e617475726556616c696461746f72237265636f7665725369676e65725f8201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000602082015250565b5f610b9a603b83610908565b9150610ba582610b40565b604082019050919050565b5f6020820190508181035f830152610bc781610b8e565b9050919050565b5f60ff82169050919050565b610be381610bce565b82525050565b5f608082019050610bfc5f830187610980565b610c096020830186610bda565b610c166040830185610980565b610c236060830184610980565b9594505050505056fea26469706673582212209109586a683feac2580e75fe8e500db062fae5d1ff962674086c47959962d34764736f6c63430008210033", "sourceMap": "285:2507:0:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} } @@ -118,7 +118,7 @@ export const NonConformingEvents = { } ], "bytecode": { - "object": "0x6080604052348015600e575f5ffd5b506101e78061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063a9059cbb1461002d575b5f5ffd5b6100476004803603810190610042919061012e565b610049565b005b3373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838360405161009192919061018a565b60405180910390a25050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100ca826100a1565b9050919050565b6100da816100c0565b81146100e4575f5ffd5b50565b5f813590506100f5816100d1565b92915050565b5f819050919050565b61010d816100fb565b8114610117575f5ffd5b50565b5f8135905061012881610104565b92915050565b5f5f604083850312156101445761014361009d565b5b5f610151858286016100e7565b92505060206101628582860161011a565b9150509250929050565b610175816100c0565b82525050565b610184816100fb565b82525050565b5f60408201905061019d5f83018561016c565b6101aa602083018461017b565b939250505056fea26469706673582212202e493b13b94ee161ebf7e3630f602931207c763465d25d279e96f59a65c2f8e364736f6c634300081d0033", + "object": "0x6080604052348015600e575f5ffd5b506101e78061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063a9059cbb1461002d575b5f5ffd5b6100476004803603810190610042919061012e565b610049565b005b3373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838360405161009192919061018a565b60405180910390a25050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100ca826100a1565b9050919050565b6100da816100c0565b81146100e4575f5ffd5b50565b5f813590506100f5816100d1565b92915050565b5f819050919050565b61010d816100fb565b8114610117575f5ffd5b50565b5f8135905061012881610104565b92915050565b5f5f604083850312156101445761014361009d565b5b5f610151858286016100e7565b92505060206101628582860161011a565b9150509250929050565b610175816100c0565b82525050565b610184816100fb565b82525050565b5f60408201905061019d5f83018561016c565b6101aa602083018461017b565b939250505056fea264697066735822122008a236c6ee950bd6c50a565d706bfeed727632540a5c0617ff5a127d3b046d4b64736f6c63430008210033", "sourceMap": "64:296:5:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} } @@ -160,7 +160,7 @@ export const Events = { } ], "bytecode": { - "object": "0x6080604052348015600e575f5ffd5b506101578061001c5f395ff3fe60806040526004361061001d575f3560e01c80636146195414610021575b5f5ffd5b61002961002b565b005b3373ffffffffffffffffffffffffffffffffffffffff167f7b2cff6dbed2a9cdb935eb6c46afadba8c4436a7aef48222ff62fce1ece4fcf3345f36604051610075939291906100f1565b60405180910390a2565b5f819050919050565b6100918161007f565b82525050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6100d08385610097565b93506100dd8385846100a7565b6100e6836100b5565b840190509392505050565b5f6040820190506101045f830186610088565b81810360208301526101178184866100c5565b905094935050505056fea2646970667358221220aace77a9470f9d20993332839954dfc6e3d33444399a5064bf51004bcbad317364736f6c634300081d0033", + "object": "0x6080604052348015600e575f5ffd5b506101578061001c5f395ff3fe60806040526004361061001d575f3560e01c80636146195414610021575b5f5ffd5b61002961002b565b005b3373ffffffffffffffffffffffffffffffffffffffff167f7b2cff6dbed2a9cdb935eb6c46afadba8c4436a7aef48222ff62fce1ece4fcf3345f36604051610075939291906100f1565b60405180910390a2565b5f819050919050565b6100918161007f565b82525050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6100d08385610097565b93506100dd8385846100a7565b6100e6836100b5565b840190509392505050565b5f6040820190506101045f830186610088565b81810360208301526101178184866100c5565b905094935050505056fea2646970667358221220027fdd8a1166f9f9acb1137726252a1ae390dd3b60c37573e1080a3dee98e10b64736f6c63430008210033", "sourceMap": "64:203:4:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} } @@ -348,7 +348,7 @@ export const Errors = { } ], "bytecode": { - "object": "0x6080604052348015600e575f5ffd5b506107f78061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100f3575f3560e01c80638de18b9111610095578063c66cf13311610064578063c66cf1331461018d578063d44de866146101ab578063eb1aba20146101c9578063efbbf995146101d3576100f3565b80638de18b9114610165578063940b88021461016f5780639f55870914610179578063a997732e14610183576100f3565b80634a9bc278116100d15780634a9bc278146101295780634adac6eb14610133578063699389ca1461015157806388452b851461015b576100f3565b806304696152146100f75780631515d7681461010157806324db9ba01461010b575b5f5ffd5b6100ff6101dd565b005b6101096101ed565b005b610113610258565b60405161012091906104e7565b60405180910390f35b61013161027a565b005b61013b610285565b60405161014891906104e7565b60405180910390f35b6101596102c7565b005b6101636102d2565b005b61016d61030d565b005b610177610378565b005b6101816103b3565b005b61018b6103ee565b005b610195610429565b6040516101a291906104e7565b60405180910390f35b6101b361044b565b6040516101c091906104e7565b60405180910390f35b6101d161048d565b005b6101db61049d565b005b5f6101eb576101ea610500565b5b565b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff168152602001604581525060456040517fdb731cf400000000000000000000000000000000000000000000000000000000815260040161024f929190610644565b60405180910390fd5b5f5f604590505f5f90505f818361026f91906106d8565b905080935050505090565b5f610283575f5ffd5b565b5f5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505f600190505f81836102bc9190610708565b905080935050505090565b5f6102d0575f5ffd5b565b6040517ff90063980000000000000000000000000000000000000000000000000000000081526004016103049061073b565b60405180910390fd5b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff168152602001604581525060456040517fdb731cf400000000000000000000000000000000000000000000000000000000815260040161036f929190610644565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103aa906107a3565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e5906107a3565b60405180910390fd5b6040517ff90063980000000000000000000000000000000000000000000000000000000081526004016104209061073b565b60405180910390fd5b5f5f604590505f5f90505f818361044091906106d8565b905080935050505090565b5f5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505f600190505f81836104829190610708565b905080935050505090565b5f61049b5761049a610500565b5b565b6040517f67476b9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f819050919050565b6104e1816104cf565b82525050565b5f6020820190506104fa5f8301846104d8565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105568261052d565b9050919050565b6105668161054c565b82525050565b610575816104cf565b82525050565b604082015f82015161058f5f85018261055d565b5060208201516105a2602085018261056c565b50505050565b5f82825260208201905092915050565b7f62756767657200000000000000000000000000000000000000000000000000005f82015250565b5f6105ec6006836105a8565b91506105f7826105b8565b602082019050919050565b5f819050919050565b5f819050919050565b5f61062e61062961062484610602565b61060b565b6104cf565b9050919050565b61063e81610614565b82525050565b5f6080820190506106575f83018561057b565b8181036040830152610668816105e0565b90506106776060830184610635565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6106e2826104cf565b91506106ed836104cf565b9250826106fd576106fc61067e565b5b828204905092915050565b5f610712826104cf565b915061071d836104cf565b9250828201905080821115610735576107346106ab565b5b92915050565b5f6020820190508181035f830152610752816105e0565b9050919050565b7f54686973206973206120726576657274206d65737361676500000000000000005f82015250565b5f61078d6018836105a8565b915061079882610759565b602082019050919050565b5f6020820190508181035f8301526107ba81610781565b905091905056fea264697066735822122019210d99bf94a8477f12b7f428062f3da7ae7e6c9973f12b2145e978d1a30c1064736f6c634300081d0033", + "object": "0x6080604052348015600e575f5ffd5b506107f78061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100f3575f3560e01c80638de18b9111610095578063c66cf13311610064578063c66cf1331461018d578063d44de866146101ab578063eb1aba20146101c9578063efbbf995146101d3576100f3565b80638de18b9114610165578063940b88021461016f5780639f55870914610179578063a997732e14610183576100f3565b80634a9bc278116100d15780634a9bc278146101295780634adac6eb14610133578063699389ca1461015157806388452b851461015b576100f3565b806304696152146100f75780631515d7681461010157806324db9ba01461010b575b5f5ffd5b6100ff6101dd565b005b6101096101ed565b005b610113610258565b60405161012091906104e7565b60405180910390f35b61013161027a565b005b61013b610285565b60405161014891906104e7565b60405180910390f35b6101596102c7565b005b6101636102d2565b005b61016d61030d565b005b610177610378565b005b6101816103b3565b005b61018b6103ee565b005b610195610429565b6040516101a291906104e7565b60405180910390f35b6101b361044b565b6040516101c091906104e7565b60405180910390f35b6101d161048d565b005b6101db61049d565b005b5f6101eb576101ea610500565b5b565b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff168152602001604581525060456040517fdb731cf400000000000000000000000000000000000000000000000000000000815260040161024f929190610644565b60405180910390fd5b5f5f604590505f5f90505f818361026f91906106d8565b905080935050505090565b5f610283575f5ffd5b565b5f5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505f600190505f81836102bc9190610708565b905080935050505090565b5f6102d0575f5ffd5b565b6040517ff90063980000000000000000000000000000000000000000000000000000000081526004016103049061073b565b60405180910390fd5b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff168152602001604581525060456040517fdb731cf400000000000000000000000000000000000000000000000000000000815260040161036f929190610644565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103aa906107a3565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e5906107a3565b60405180910390fd5b6040517ff90063980000000000000000000000000000000000000000000000000000000081526004016104209061073b565b60405180910390fd5b5f5f604590505f5f90505f818361044091906106d8565b905080935050505090565b5f5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90505f600190505f81836104829190610708565b905080935050505090565b5f61049b5761049a610500565b5b565b6040517f67476b9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f819050919050565b6104e1816104cf565b82525050565b5f6020820190506104fa5f8301846104d8565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105568261052d565b9050919050565b6105668161054c565b82525050565b610575816104cf565b82525050565b604082015f82015161058f5f85018261055d565b5060208201516105a2602085018261056c565b50505050565b5f82825260208201905092915050565b7f62756767657200000000000000000000000000000000000000000000000000005f82015250565b5f6105ec6006836105a8565b91506105f7826105b8565b602082019050919050565b5f819050919050565b5f819050919050565b5f61062e61062961062484610602565b61060b565b6104cf565b9050919050565b61063e81610614565b82525050565b5f6080820190506106575f83018561057b565b8181036040830152610668816105e0565b90506106776060830184610635565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6106e2826104cf565b91506106ed836104cf565b9250826106fd576106fc61067e565b5b828204905092915050565b5f610712826104cf565b915061071d836104cf565b9250828201905080821115610735576107346106ab565b5b92915050565b5f6020820190508181035f830152610752816105e0565b9050919050565b7f54686973206973206120726576657274206d65737361676500000000000000005f82015250565b5f61078d6018836105a8565b915061079882610759565b602082019050919050565b5f6020820190508181035f8301526107ba81610781565b905091905056fea26469706673582212205d410a391e05649611303c8a3682e4519420a7c4373ef3616fb9bef0f04e285364736f6c63430008210033", "sourceMap": "64:2024:3:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} } @@ -434,7 +434,7 @@ export const Constructor = { } ], "bytecode": { - "object": "0x608060405234801561000f575f5ffd5b50604051610151380380610151833981810160405281019061003191906100c9565b5050610107565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100658261003c565b9050919050565b6100758161005b565b811461007f575f5ffd5b50565b5f815190506100908161006c565b92915050565b5f819050919050565b6100a881610096565b81146100b2575f5ffd5b50565b5f815190506100c38161009f565b92915050565b5f5f604083850312156100df576100de610038565b5b5f6100ec85828601610082565b92505060206100fd858286016100b5565b9150509250929050565b603e806101135f395ff3fe60806040525f5ffdfea2646970667358221220ffffb9ea97b58311e9036d4e20d4065f80cd556c59bddc668d96b8f9f33b6cce64736f6c634300081d0033", + "object": "0x608060405234801561000f575f5ffd5b50604051610151380380610151833981810160405281019061003191906100c9565b5050610107565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100658261003c565b9050919050565b6100758161005b565b811461007f575f5ffd5b50565b5f815190506100908161006c565b92915050565b5f819050919050565b6100a881610096565b81146100b2575f5ffd5b50565b5f815190506100c38161009f565b92915050565b5f5f604083850312156100df576100de610038565b5b5f6100ec85828601610082565b92505060206100fd858286016100b5565b9150509250929050565b603e806101135f395ff3fe60806040525f5ffdfea2646970667358221220281b0a06a216dfc53e964ae1d7fbeb5becfbf67331307943c38e8dba2f9b309064736f6c63430008210033", "sourceMap": "64:78:2:-:0;;;91:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;64:78;;88:117:6;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:77::-;882:7;911:5;900:16;;845:77;;;:::o;928:122::-;1001:24;1019:5;1001:24;:::i;:::-;994:5;991:35;981:63;;1040:1;1037;1030:12;981:63;928:122;:::o;1056:143::-;1113:5;1144:6;1138:13;1129:22;;1160:33;1187:5;1160:33;:::i;:::-;1056:143;;;;:::o;1205:507::-;1284:6;1292;1341:2;1329:9;1320:7;1316:23;1312:32;1309:119;;;1347:79;;:::i;:::-;1309:119;1467:1;1492:64;1548:7;1539:6;1528:9;1524:22;1492:64;:::i;:::-;1482:74;;1438:128;1605:2;1631:64;1687:7;1678:6;1667:9;1663:22;1631:64;:::i;:::-;1621:74;;1576:129;1205:507;;;;;:::o;64:78:2:-;;;;;;;", "linkReferences": {} } diff --git a/examples/webauthn-p256/.gitignore b/examples/webauthn-p256/.gitignore deleted file mode 100644 index a547bf36..00000000 --- a/examples/webauthn-p256/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/examples/webauthn-p256/CHANGELOG.md b/examples/webauthn-p256/CHANGELOG.md deleted file mode 100644 index 6335f168..00000000 --- a/examples/webauthn-p256/CHANGELOG.md +++ /dev/null @@ -1,43 +0,0 @@ -# webauthn-p256 - -## 0.0.6 - -### Patch Changes - -- Updated dependencies [[`644b96a`](https://github.com/wevm/ox/commit/644b96a169a118c6f0606eda5354785523ed099b)]: - - ox@0.1.5 - -## 0.0.5 - -### Patch Changes - -- Updated dependencies [[`777fe42`](https://github.com/wevm/ox/commit/777fe4249c5225c676ff690fda58c5fcfb35d1f0)]: - - ox@0.1.4 - -## 0.0.4 - -### Patch Changes - -- Updated dependencies [[`868d431`](https://github.com/wevm/ox/commit/868d4319a8cda77345f85f9f2e88ca786f0c8cfe)]: - - ox@0.1.3 - -## 0.0.3 - -### Patch Changes - -- Updated dependencies [[`f438faf`](https://github.com/wevm/ox/commit/f438fafbd396248283876eba220f4c661c47bfd2)]: - - ox@0.1.2 - -## 0.0.2 - -### Patch Changes - -- Updated dependencies [[`b7de4f2`](https://github.com/wevm/ox/commit/b7de4f2180520fd7f2bf08955df6e676d75db93e)]: - - ox@0.1.1 - -## 0.0.1 - -### Patch Changes - -- Updated dependencies [[`4297bcf`](https://github.com/wevm/ox/commit/4297bcf0acef7f1f208ba3770d679fefa0c2cb8d)]: - - ox@0.1.0 diff --git a/examples/webauthn-p256/index.html b/examples/webauthn-p256/index.html deleted file mode 100644 index 7ff31eb6..00000000 --- a/examples/webauthn-p256/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - WebAuthnP256 Example - - -

WebAuthnP256 Example

-
- - - diff --git a/examples/webauthn-p256/package.json b/examples/webauthn-p256/package.json deleted file mode 100644 index 56fe92a3..00000000 --- a/examples/webauthn-p256/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "webauthn-p256", - "private": true, - "type": "module", - "scripts": { - "dev": "vite" - }, - "dependencies": { - "ox": "workspace:*", - "react": "^18.3.1", - "react-dom": "^18.3.1" - }, - "devDependencies": { - "@types/react": "^18.3.3", - "@types/react-dom": "^18.3.0", - "@vitejs/plugin-react": "^4.3.1", - "globals": "^15.9.0", - "typescript": "^5.5.3", - "vite": "^5.4.1" - } -} diff --git a/examples/webauthn-p256/public/vite.svg b/examples/webauthn-p256/public/vite.svg deleted file mode 100644 index e7b8dfb1..00000000 --- a/examples/webauthn-p256/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples/webauthn-p256/src/App.tsx b/examples/webauthn-p256/src/App.tsx deleted file mode 100644 index ec4d7da0..00000000 --- a/examples/webauthn-p256/src/App.tsx +++ /dev/null @@ -1,143 +0,0 @@ -import { type Hex, Json, PublicKey, WebAuthnP256 } from 'ox' -import { useState } from 'react' - -export function App() { - const [credential, setCredential] = useState() - const [signResponse, setSignResponse] = - useState() - const [verified, setVerified] = useState() - - return ( -
-

Create Credential

-
{ - e.preventDefault() - const formData = new FormData(e.target as HTMLFormElement) - - const credential = await WebAuthnP256.createCredential({ - name: formData.get('name') as string, - }) - setCredential(credential) - }} - > - - -
-
- {credential && ( -
- Credential ID: -
- {credential.id} -
-
- Public Key: -
-
{Json.stringify(credential.publicKey, null, 2)}
- Public Key (serialized): -
-
{PublicKey.toHex(credential.publicKey)}
-
- )} -
-
-

Sign

-
-
{ - e.preventDefault() - const formData = new FormData(e.target as HTMLFormElement) - const challenge = formData.get('challenge') as Hex.Hex - - const response = await WebAuthnP256.sign({ - credentialId: credential?.id, - challenge, - }) - setSignResponse(response) - }} - > - Challenge: -
- - -
-
- {signResponse && ( -
- Signature: -
-
{Json.stringify(signResponse.signature, null, 2)}
-
- Metadata: -
-
{Json.stringify(signResponse.metadata, null, 2)}
-
- )} - {signResponse && credential && ( -
-
-
-

Verify

-
{ - e.preventDefault() - - setVerified(undefined) - - const formData = new FormData(e.target as HTMLFormElement) - const challenge = formData.get('challenge') as Hex.Hex - const signature = Json.parse( - formData.get('signature') as string, - ) - const metadata = Json.parse(formData.get('webauthn') as string) - - const verified = WebAuthnP256.verify({ - challenge, - publicKey: credential.publicKey, - signature, - metadata, - }) - - setVerified(verified) - }} - > - Challenge: -
- -
-
- Signature: -
-