
Product
Unify Your Security Stack with Socket Basics
A single platform for static analysis, secrets detection, container scanning, and CVE checks—built on trusted open source tools, ready to run out of the box.
pbt-chip-client
Advanced tools
This is a light-weight js lib that aims to make chip signatures for the PBT flow as seamless as possible.
The repo for the smart contracts can be found here.
yarn add pbt-chip-client
After installing, you can import the relevant chip manufacturer’s helpers. Currently, the only chip manufacturer supported in the repo is Kongiscash.
React example:
import { getPublicKeysFromScan, getSignatureFromScan } from 'pbt-chip-client/kong';
const MyComponent = () => {
const [keys, setKeys] = useState(null);
return (
<>
<button
onClick={() => {
getPublicKeysFromScan().then((keys) => {
setKeys(keys);
});
}}
>
Click Me To Initiate Scan
</button>
<button
onClick={() => {
getSignatureFromScan({
chipPublicKey: keys.primaryPublicKeyRaw,
address: '<user_eth_address>',
hash: '<blockhash>',
}).then((sig) => {
setSig(sig);
});
}}
>
Click Me To Sign EOA+blockhash w/ Chip
</button>
</>
);
}
This package exposes 2 functions for each chip manufacturer:
getPublicKeysFromScan
This function takes in a single object as the argument with the following parameters:
Parameter | Type | Description | Required |
---|---|---|---|
rpId | string | string representing the domain the scan is being called on. For example a workflow hosted on azuki.com would pass in azuki.com . Defaults to URL.hostname | No |
Return value
Promise<{
primaryPublicKeyHash: string;
primaryPublicKeyRaw: string;
secondaryPublicKeyHash: string;
secondaryPublicKeyRaw: string;
tertiaryPublicKeyHash: string;
tertiaryPublicKeyRaw: string;
} | undefined>
getSignatureFromScan
This function takes in a single object as the argument with the following parameters:
Parameter | Type | Description | Required |
---|---|---|---|
rpId | string | string representing the domain the scan is being called on. For example a workflow hosted on azuki.com would pass in azuki.com . Defaults to URL.hostname | No |
chipPublicKey | string | the public key for the chip. See getPublicKeysFromScan for how to grab | yes |
address | string | the address for the wallet that will be minting the PBT | yes |
hash | string | a recent blockhash. The PBT contract should be verifying that the blockhash signed is from a recent time window | yes |
Return value
Promise<string | undefined>
parseKeys
This function takes a single positional argument:
Parameter | Type | Description | Required |
---|---|---|---|
payload | string | A hex representation of the signature read from scan | Yes |
Return value
{
primaryPublicKeyHash: string;
primaryPublicKeyRaw: string;
secondaryPublicKeyHash: string;
secondaryPublicKeyRaw: string;
tertiaryPublicKeyHash: string;
tertiaryPublicKeyRaw: string;
} | undefined
Chiru Labs is not liable for any outcomes as a result of using this repo.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!
Distributed under the MIT License.
FAQs
Javascript library to make it easy to integrate with PBT for browsers
We found that pbt-chip-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
A single platform for static analysis, secrets detection, container scanning, and CVE checks—built on trusted open source tools, ready to run out of the box.
Product
Socket is launching experimental protection for the Hugging Face ecosystem, scanning for malware and malicious payload injections inside model files to prevent silent AI supply chain attacks.
Research
/Security News
The Socket Threat Research Team uncovered a coordinated campaign that floods the Chrome Web Store with 131 rebranded clones of a WhatsApp Web automation extension to spam Brazilian users.