New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

xumm-string-decode

Package Overview
Dependencies
Maintainers
0
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xumm-string-decode

JS/TS lib to decode strings for the Xaman app

  • 0.7.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
40
increased by166.67%
Maintainers
0
Weekly downloads
 
Created
Source

XUMM String Decode npm version GitHub Actions NodeJS status CDNJS Browserified CDNJS Browserified Minified

JS/TS lib to decode strings for the xrpl-labs.com XUMM app (when scanning a QR code).

Supports:

  • XrplDestination, eg. r... or X..., optionally URI syntax (containing amount, IOU, destination tag, etc.)
  • XrplDestinationTag (32-bit unsigned integers)
  • XummPayloadReference (UUIDv4)
  • XummPairingToken
  • XummTranslation
  • XrplTransactionHash
  • XrplSecret (mnemonic, family seed (s....) or HEX private key)
  • XrplSignedTransaction (signed HEX blob)
  • XrplTransactionTemplate (HEX encoded JSON transaction template)
  • PayId ($host/path where XrplDestination can be retrieved)

The lib. exports:

  • StringTypeDetector (class)
  • StringDecoder (class)
  • StringType (enum)
  • SecretType (enum)

Resources

Sample

1. Detect string type

const someString = 'https://xrplf.org//send?to=rPdvC6ccq8hCdPKSPJkPmyZ4Mi1oG2FFkT&amount=30&dt=123'
const detected = new StringTypeDetector(someString)
Methods

The sample (above) will expose these methods on detected:

  • getType(), returns one of the StringType enum values
  • getTypeName(), returns StringType enum string value

In case a valid string (type) could not be found, StringType.Invalid will be returned by getType().

Other available methods (you probably won't need to use:

  • getStrippedInput() (string)
  • getInput() (string)
  • getRawInput() (string)
  • isUrl() (boolean)
  • getSearchParams() (URLSearchParams, in case of URI input)
String types
  • StringType.Invalid
  • StringType.XummPayloadReference
  • StringType.XummPairingToken
  • StringType.XummTranslation
  • StringType.XrplTransactionHash
  • StringType.XrplDestination
  • StringType.XrplDestinationTag
  • StringType.XrplSignedTransaction
  • StringType.XrplTransactionTemplate
  • StringType.XrplSecret
  • StringType.IlpStreamInstruction
  • StringType.PayId

2. Decode values

Once a string type is detected with the StringTypeDetector and the string is not StringType.Invalid, you can get the parsed values in the correct type using the StringDecoder class:

// Use the previous sample (above, StringTypeDetector) as input:
const decoded = new StringDecoder(detected)
console.log(decoded.getAny())

The methods available on the StringDecoder object:

  • getXrplDestination(), returns XrplDestination
  • getXrplDestinationTag(), returns XrplDestinationTag
  • getXrplSecret(), returns XrplSecret
  • getXummPayloadReference(), returns XummPayloadReference
  • getXummPairingToken(), returns XummPairingToken
  • getXummTranslation(), returns XummTranslation
  • getXrplTransactionHash(), returns XrplTransactionHash
  • getXrplSignedTransaction(), returns XrplSignedTransaction
  • getXrplTransactionTemplate(), returns XrplTransactionTemplate
  • getPayId(), returns PayId

So: you can call the getXxxYyy method based on the detected string type, or just get the right one at once:

  • getAny(), returns detected result

3. Sample output objects

XrplDestination
{
  to: string
  tag?: number
  invoiceid?: string
  amount?: string
  currency?: string
  issuer?: string
}
XrplDestinationTag
{
  tag: number
}
XummTranslation
{
  uuid: string
}
XrplSecret
{
  secretType: SecretType
  familySeed?: string
  mnemonic?: string
  hexPrivateKey?: string
}

The SecretType (enum) can be one of:

{ FamilySeed, Hex, Mnemonic }
XrplSignedTransaction
{
  txblob: string
}
XrplTransactionHash
{
  txhash: string
}
XrplTransactionTemplate
{
  jsonhex: string
}
XummPairingToken
{
  token: string
}
XummPayloadReference
{
  uuid: string
}
PayId
{
  payId: string,
  url: string
}

FAQs

Package last updated on 10 Sep 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc