Repository navigation
Conversation
added 30 commits
June 26, 2026 09:47
- Replaced the deprecated `ngrok` package with `@ngrok/ngrok` in `package.json` and updated the version of `vite` to `6.4.2`. - Added a new script for starting an HTTPS tunnel using the official ngrok SDK. - Updated the README to reflect changes in tunnel configuration and added instructions for setting the ngrok authtoken. - Enhanced the `ows-signer` package with new features, including a version bump to `0.1.0`, and added various utility functions for handling cryptographic operations and RPC communication. - Introduced new files for handling state management, RPC events, and hex conversions in the `ows-signer` package.
- Added `viem` as a new dependency and peer dependency in `package.json` for improved EIP-191/712 support. - Updated the `recoverKey` method in `handlers.js` to emit a `RecoverySessionStarted` event. - Revised the README to clarify the SDK's purpose, installation instructions, and usage examples, including the new `OWSSigner` class. - Refactored exports in `index.ts` to streamline the API and improve usability.
…S SDKs - Introduced the `@1shotapi/ows-types` package containing shared TypeScript types and error classes for the Open Wallet Standard (OWS) SDKs. - Updated dependencies in `ows-provider`, `ows-signer-utils`, and `ows-wallet-utils` to include `@1shotapi/ows-types`. - Enhanced documentation in `AGENTS.md`, `CONTRIBUTING.md`, and `README.md` to reflect the new package and its usage. - Implemented Zod validation for EIP-1193 parameters in `ows-wallet-utils` and updated related RPC methods. - Added tests for error handling in the new types package.
- Integrated `@1shotapi/ows-types` for shared error classes and wire protocol types in `ows-provider`, `ows-signer-utils`, and `ows-wallet-utils`. - Upgraded to Zod 4 for enhanced validation capabilities in the OWSWallet and OWSProxy implementations. - Emitted `RecoverySessionStarted` event in `ows-signer` after successful key recovery.
- Created a new `.env.example` file to guide users in setting up ngrok authtoken and optional domain for secure tunneling. - Added `dotenv` as a dependency in multiple package.json files to facilitate environment variable management. - Updated README files to include instructions for copying the `.env.example` and configuring ngrok for development. - Refactored wallet iframe and host example scripts to utilize ngrok for HTTPS tunneling, enhancing the development experience.
Refactor OWS example host to use Webpack and enhance wallet integration - Migrated the example host application from Vite to Webpack for improved build management. - Updated the development scripts to support Webpack and removed Vite configuration. - Enhanced the wallet iframe integration by dynamically deriving the wallet URL from the environment configuration. - Improved the user interface with a new layout for signing messages and displaying wallet addresses. - Added support for Solana address retrieval in the wallet integration. - Updated documentation to reflect changes in setup and usage instructions for the example host and wallet iframe.
- Introduced a new `EIP1193Provider` class for handling EIP-1193 requests with typed results for known methods. - Added support for branded types from `@1shotapi/ows-types` to improve type safety and semantic clarity. - Updated the example host to remove unnecessary type imports and streamline the request handling process. - Refactored tests to validate the new provider implementation and ensure correct type inference for EVM account addresses.
- Added a new branded type `EVMSignatureHex` for hex-encoded ECDSA signatures to enhance type safety. - Updated the EIP-1193 requests to utilize the new `EVMSignatureHex` type, replacing the previous `EvmSignatureHex`. - Adjusted imports in relevant files to reflect the new type structure and ensure consistency across the codebase.
- Updated the OWS architecture to define three layers: Host Layer, Branding Layer, and Signing Layer, enhancing clarity in documentation and implementation. - Introduced a new general-purpose wallet example (`@1shotapi/ows-example-general-wallet`) to demonstrate the Branding Layer and its interaction with the Signing Layer. - Updated various documentation files, including `README.md`, `AGENTS.md`, and `CONTRIBUTING.md`, to reflect the new structure and examples. - Removed the previous wallet iframe example to streamline the focus on the new architecture. - Adjusted environment configurations and scripts to support the new wallet example and ensure proper integration with ngrok for development.
- Introduced `@1shotapi/ows-branding-core` package containing contracts and install helpers for branding layer modules. - Added `@1shotapi/ows-registry` package for copy-paste module templates, including an approval dialog for EIP-191 `personal_sign`. - Updated example general wallet to integrate branding modules and enhance user interface with a new approval dialog. - Enhanced documentation in `README.md` and `AGENTS.md` to reflect the new branding architecture and usage instructions.
- Replaced `@1shotapi/postmate` with the `postmate` package across the codebase, updating documentation and examples accordingly. - Introduced a new create-backup module in the general wallet example, allowing users to create encrypted backups of their wallets. - Enhanced the user interface in the general wallet example with new styles and actions for better user experience. - Updated the `README.md`, `AGENTS.md`, and `CONTRIBUTING.md` files to reflect changes in dependencies and new features.
- Introduced a new "Restore backup" button in the general wallet UI for user-initiated recovery of encrypted wallet backups. - Implemented the `createRestoreBackupModule` to handle the restore process, including user prompts for passphrase entry and recovery key handling. - Enhanced the main wallet logic to manage recovery sessions and update UI elements based on wallet state. - Updated storage utilities to support saving and loading encrypted backups. - Added necessary dialog components for a seamless user experience during the restore process.
- Introduced `EVMChainId` type to represent Ethereum chain IDs in a branded format. - Enhanced the general wallet example by allowing branding modules to register additional EIP-1193 methods, including JSON-RPC reads. - Added a chain selection dropdown in the UI for users to switch between different Ethereum chains. - Implemented logic to handle chain switching and refresh the UI based on the selected chain. - Updated styles for the new chain selection interface to improve user experience.
…ments - Added input field and button for users to check ERC-20 token balances in the wallet example. - Implemented logic to validate token addresses and retrieve balance information using the `viem` library. - Updated styles for new input elements and improved overall UI layout for better user experience. - Included necessary dependencies in package configuration for handling ERC-20 interactions.
- Renamed `personalSignApprovalModule` to `approvalDialogModule` for clarity. - Added support for EIP-712 `eth_signTypedData` requests, allowing users to approve structured data signing. - Enhanced the approval dialog UI to display typed data details, including primary type, domain, and message. - Updated related types and methods in the branding core to accommodate new signing functionalities. - Improved styles and layout for better user experience in the approval dialog.
- Introduced the `@1shotapi/ows-credentials` package, including types, mocks, and OID4VCI/OID4VP abstractions. - Added examples for a mock credential issuer and verifier, demonstrating credential offer and presentation processes. - Updated the general wallet example to support credential management and display. - Enhanced documentation in `AGENTS.md` and added normative docs for the credentials extension in `spec/credentials/`. - Updated package configurations and scripts to integrate new credential functionalities across examples.
- Added `module` and `moduleResolution` options to `tsconfig.json` files for credential issuer, verifier, and host examples to support ESNext modules. - Introduced `extensionAlias` in Webpack configurations for credential issuer, verifier, general wallet, and host examples to resolve `.js` extensions to `.ts` and `.js`. - Updated `mock-verifier.ts` to use `CredentialIssuer` type for improved type safety in the `validateMockPresentation` function. - Enhanced the general wallet example by integrating a new function to display a dialog for listing credentials.
- Removed unused wallet container styles from CSS files in credential issuer, verifier, and host examples to streamline the UI. - Replaced `InMemoryCredentialStore` with `LocalStorageCredentialStore` in the general wallet example to enable persistent credential storage across sessions. - Introduced a new `LocalStorageCredentialStore` class for managing credentials in local storage, including methods for saving, retrieving, and deleting credentials. - Added tests for the `LocalStorageCredentialStore` to ensure functionality and persistence across instances. - Enhanced the display handling in the OWS provider to initialize hidden states for iframe containers, improving UI management.
- Implemented real SD-JWT VC presentation building with selective disclosure and holder key binding using `@sd-jwt/core` and `@sd-jwt/sd-jwt-vc`. - Updated examples to demonstrate issuing and presenting cryptographically valid demo credentials. - Extended `BrandingSignerHost` with new methods `getPublicKey` and `signDigest` for improved wallet-bound presentations. - Refactored credential verifier to support asynchronous validation of mock presentations. - Enhanced the credentials provider module to include holder key binding functionality for SD-JWT VCs.
…ntials package - Integrated verifiable credential functionalities into core OWS packages, including types and OID4 interfaces in `ows-types`, branding wire and SD-JWT presentation in `ows-wallet-utils`, and host proxy and SD-JWT verification in `ows-provider`. - Moved demo-only mock OID4 clients and fixtures to a new `examples/credentials-shared` directory for better organization and accessibility. - Removed the `@1shotapi/ows-credentials` package, streamlining the credential management process across examples and enhancing overall code maintainability.
- Moved SD-JWT VC presentation and crypto utilities from `@1shotapi/ows-wallet-utils` to `@1shotapi/ows-types`, enhancing modularity and clarity in the codebase. - Updated dependencies across various packages and examples to reflect the removal of `ows-wallet-utils` dependencies where applicable. - Adjusted import paths in examples and tests to utilize the new structure, ensuring seamless functionality with the updated utility locations. - Documented changes in `AGENTS.md` to clarify the new roles of `ows-types` and `ows-wallet-utils` in handling SD-JWT functionalities.
- Added wallet onboarding and main panel structure in the HTML for improved user experience. - Introduced new storage functions for caching EVM and Solana addresses, enhancing address management. - Refactored wallet setup logic to streamline the process of unlocking and creating wallets with passkeys. - Integrated account connection module to handle address requests and improve user interactions. - Updated UI elements to support new wallet setup dialogs and ensure a cohesive user experience.
…ifier examples - Updated `.env.example` to include optional HTTPS configuration for host layer examples. - Modified `.gitignore` to exclude local HTTPS certificates for credential issuer and verifier. - Improved README files for credential issuer and verifier to clarify HTTPS requirements for passkeys. - Refactored Webpack configurations for credential issuer and verifier to support HTTPS setup. - Updated development scripts to log the correct URL scheme (HTTP/HTTPS) for local servers.
Replace the centered Canvas floater with a bottom-anchored signer host, add compact sheet styling in the signing layer, and expose onCeremonyPanel for branding scrims. Co-authored-by: Cursor <cursoragent@cursor.com>
Use half the branding viewport for the passkey drawer, keep description visible without internal scroll, and top-align grab handle with balanced padding above the title. Co-authored-by: Cursor <cursoragent@cursor.com>
Feature/signer UI panel
- Clarified the installation process for first-party integrator skills, directing users to the `1Shot-API/skills` repository. - Updated the command for installing skills globally in the local Cursor environment. - Removed outdated references to the `skills/ows-branding-layer` documentation and deleted unnecessary files related to the branding layer skills. - Enhanced README and AGENTS.md to reflect the latest changes in skill management and integration processes.
Update agent skills documentation and installation instructions
Remove RPC Timeouts
…randed primitives for program/mint/signature, and `SolanaSigner` methods for message and transaction signing. Update documentation and integrate new Solana host client into the provider. Enhance types and utilities for Solana addresses and signatures.
Enhance ows-provider with Wallet Standard integration for Solana - Added Wallet Standard discovery support in `proxy.solana.registerSolanaWallet()` and `unregisterSolanaWallet()`. - Implemented Solana features for connecting and signing transactions, utilizing `@solana/transactions` for transaction handling. - Introduced `OwsSolanaStandardWallet` class to manage Solana wallet interactions and features. - Updated `ConversionUtils` to include base64 encoding/decoding methods. - Added tests for the new Solana wallet functionality and conversion utilities. - Updated dependencies to include Wallet Standard packages.
- Replaced `SolanaTransactionSignature` with `SolanaTransactionHash` to better represent the transaction ID. - Introduced `TransactionHash` type to support cross-chain transaction IDs for EVM and Solana. - Updated `ConversionUtils` with new methods for handling Solana pubkeys and EVM addresses. - Added tests for new conversion utilities and ensured compatibility with existing types.
Solana Support
wallet-utils were not published
…ions, and remediated some findings.
Security audit
…ame. Co-authored-by: Cursor <cursoragent@cursor.com>
Allow private-key reveal after the passkey sheet blurs the signer ifr…
The paste form was a second card inside the wallet page. Use the passkey bottom sheet and tell the user to paste an EVM key to recover their 1Shot accounts. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Show private-key import as the ceremony sheet.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.