Nonsense Parser Microframework

    lanyard
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.2 • Public • Published

    lanyard

    lanyard is a javascript client for lanyard.org – a decentralized way to create and consume allowlists.

    http is handled by isomorphic-fetch; this package targets browsers and backend servers.

    functionality

    creating an allowlist

    import lanyard from 'lanyard'
    
    const resp = await lanyard.createTree({
      unhashedLeaves: [
        '0xfb843f8c4992efdb6b42349c35f025ca55742d33',
        '0x7e5507281f62c0f8d666beaea212751cd88994b8',
        '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
      ],
      // leafTypeDescriptor: ["address"] // optional, used for abi encoded types
      // packedEncoding: boolean // optional, default false
    })
    
    console.log(resp.merkleRoot)
    // 0x8aeeaf632a31342dfccb7dd4f1654ec602c263b33769062bd6ed59d1644d2af6

    getting a tree by root

    const tree = await lanyard.getTree(
      '0x8aeeaf632a31342dfccb7dd4f1654ec602c263b33769062bd6ed59d1644d2af6',
    )
    
    console.log(tree)
    // {
    //   "unhashedLeaves": [
    //     "0xfb843f8c4992efdb6b42349c35f025ca55742d33",
    //     "0x7e5507281f62c0f8d666beaea212751cd88994b8",
    //     "0xd8da6bf26964af9d7eed9e03e53415d37aa96045"
    //   ],
    //   "leafCount": 3,
    //   "leafTypeDescriptor": null,
    //   "packedEncoding": false
    // }

    getting a proof for item

    const proof = await lanyard.getProof({
      merkleRoot:
        '0x8aeeaf632a31342dfccb7dd4f1654ec602c263b33769062bd6ed59d1644d2af6',
      unhashedLeaf: '0xfb843f8c4992efdb6b42349c35f025ca55742d33',
    })
    
    console.log(proof)
    // {
    //   "unhashedLeaf": "0xfb843f8c4992efdb6b42349c35f025ca55742d33",
    //   "proof": [
    //     "0xdb740d4f5f900a98f8513824cbcb164917f4e0b948914b750613b76063b70565",
    //     "0x06e120c2c3547c60ee47f712d32e5acf38b35d1cc62e23b055a69bb88284c281"
    //   ]
    // }

    getting roots for a proof

    const roots = await lanyard.getRoots([
      '0xdb740d4f5f900a98f8513824cbcb164917f4e0b948914b750613b76063b70565',
      '0x06e120c2c3547c60ee47f712d32e5acf38b35d1cc62e23b055a69bb88284c281',
    ])
    
    console.log(roots)
    
    // {
    //   "roots": [
    //     "0x8aeeaf632a31342dfccb7dd4f1654ec602c263b33769062bd6ed59d1644d2af6"
    //   ]
    // }

    Keywords

    none

    Install

    npm i lanyard

    DownloadsWeekly Downloads

    201

    Version

    1.1.2

    License

    MIT

    Unpacked Size

    8.04 kB

    Total Files

    8

    Last publish

    Collaborators

    • lukemiles