# Papyrus

## Overview

`Papyrus` is an `ONFT1155` contract that's a 1-n NFT and can be transferred across chains. It's basically `SBT` so can't be transferred to another wallet by the owner. It can be transferred to same wallet address on another chain or by an authorized `transferrer` (e.g. `Obelisk`) to another wallet.

## Buying a Papyrus

A papyrus is needed for staking 1 NFT when entering a draw in [Obelisk](/obelisk/development/v0-contracts/obelisk.md). To get papyrus NFTs, you can call `buy()` with  `_quantity * price` ETH. FYI, `price` can be updated by `owner`.

The amount paid is transferred to `treasury`, which can also be updated by `owner`.

## Sending Across Chain

Papyrus NFTs can be sent across chain via `sendFrom()` or `sendBatchFrom()`. For more information on how ONFT1155 works, refer to <https://layerzero.gitbook.io/docs/evm-guides/code-examples/onft-overview/1155>.

## Functions

```solidity
price(): Returns the price of a Papyrus NFT.

treasury(): Returns the address to which the price of Papyrus is transferred.

isTransferrer(address _transferrer): Checks if a given address is a transferrer. Returns true if the address is a transferrer.

buy(uint256 _quantity): Allows users to buy Papyrus NFTs. The transaction is reverted if the exact amount is not sent. The price is transferred to the treasury.

updatePrice(uint256 _price): Allows the owner to update the price of the NFT.

updateTreasury(address _treasury): Allows the owner to update the treasury address.

updateTransferrer(address _transferrer, bool _access): Allows the owner to update a transferrer's access rights.
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lz-asia.gitbook.io/obelisk/development/v0-contracts/papyrus.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
