Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/Archive/bounties.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Story Protocol team reserves the right to reward less than the total number of a

* We prefer usage that covers more functions in the protocol, from registration of IP to licensing.

### What does success look like? What are possible features that we are looking for?
### What does success look like? What are the possible features that we are looking for?

* Ideally a submission has a clear use-case for Story Protocol and is thoughtfully integrated such that it makes sense from both a technical and use-case perspective. 

Expand Down Expand Up @@ -146,7 +146,7 @@ Story Protocol team reserves the right to reward less than the total number of a

* Only DeFi related submissions qualify, and judging will be based on how thoughtful the integration is and how centric Intellectual Property and native Story Protocol functionality is to the project. 

### What does success look like? What are possible features that we are looking for?
### What does success look like? What are the possible features that we are looking for?

* Ideally a submission has a clear use-case for increasing liquidity of intellectual property or new monetization models for creators. 

Expand Down Expand Up @@ -238,7 +238,7 @@ Story Protocol team reserves the right to reward less than the total number of a

* Judging will be based on how thoughtful the integration is and how centric Intellectual Property and native Story Protocol functionality is to the project. 

### What does success look like? What are possible features that we are looking for?
### What does success look like? What are the possible features that we are looking for?

* Ideally a submission has a clear use-case for simplifying and helping register intellectual property on Story Protocol on existing tools/apps/services. For example, a custom GPT, a browser extension, or a plugin for popular sites such as WordPress. Use of AI and other state of the art technologies are encouraged!

Expand Down Expand Up @@ -332,7 +332,7 @@ Story Protocol team reserves the right to reward less than the total number of a

* Judging will be based on how thoughtful the integration is and how centric Intellectual Property and native Story Protocol functionality is to the project. 

### What does success look like? What are possible features that we are looking for?
### What does success look like? What are the possible features that we are looking for?

* Ideally a submission has a clear use-case for simplifying and helping developers build on / use Story Protocol.

Expand Down Expand Up @@ -410,7 +410,7 @@ Story Protocol team reserves the right to reward less than the total number of a

* Register it on Story Protocol and share it on social media… Proof of Meme!

### What does success look like? What are possible features that we are looking for?
### What does success look like? What are the possible features that we are looking for?

* The meme is registered on Story Protocol as an IP

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ metadata:
next:
description: ''
---
This section demonstrates how to mint a license for an IP asset. You can only mint a license for an IP asset if it has a policy added to its configuration. A license is minted as an ERC1155 token and contains the necessary licensing details.
This section demonstrates how to mint a license for an IP asset. You can only mint a license for an IP asset if a policy has been added to its configuration. A license is minted as an ERC1155 token and contains the necessary licensing details.

## Prerequisites

Expand Down
4 changes: 2 additions & 2 deletions docs/Concepts/dispute-module/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ The main components of the arbitration system are:
</td>

<td style={{ textAlign: "left" }}>
Refers to registration of IP that already exists.
Refers to the registration of IP that already exists.
</td>
</tr>

Expand Down Expand Up @@ -157,4 +157,4 @@ If no address chooses to resolve, then the tag that was applied from the parent

### Cancel Dispute

In a case where a dispute was raised but the matter has been resolved before the dispute judgment, the dispute initiator can cancel the dispute. However, depending on the conditions of each arbitration policy, there may be non-refundable fees that are not recouped on cancellation.
In a case where a dispute was raised but the matter has been resolved before the dispute judgment, the dispute initiator can cancel the dispute. However, depending on the conditions of each arbitration policy, there may be non-refundable fees that are not recouped on cancellation.
4 changes: 2 additions & 2 deletions docs/Concepts/dispute-module/uma-arbitration-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ This arbitration policy is a dispute resolution mechanism that follows [UMA's](h

## Dispute Evidence Submission Guidelines

When raising a dispute or making a counter dispute, both parties can submit dispute evidence. Dispute evidence refers to a text document that UMA will use & read from to make a judgement on the dispute.
When raising a dispute or making a counter dispute, both parties can submit dispute evidence. Dispute evidence refers to a text document that UMA will use & read from to make a judgment on the dispute.

### Document Characteristics

Expand Down Expand Up @@ -163,4 +163,4 @@ Depending on what the type of the Dispute Tag is, you also need to include extra

> 📘 Note
>
> As the process is still experimental, we can expect iteration and fine-tuning on the contents/formats of how the evidence should be submitted.
> As the process is still experimental, we can expect iteration and fine-tuning on the contents/formats of how the evidence should be submitted.
4 changes: 2 additions & 2 deletions docs/Concepts/ip-asset/ipa-metadata-standard.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ This is the JSON metadata that is associated with an IP Asset, and gets stored i
</td>

<td style={{ textAlign: "left" }}>
This is assigned to verified application from Story Protocol directly (on a request basis so far). We will map each App ID to a name
This is assigned to verified applications from Story Protocol directly (on a request basis so far). We will map each App ID to a name
</td>
</tr>

Expand Down Expand Up @@ -529,4 +529,4 @@ The different relationship types that can be used for the `relationships` attrib
}
]
}
```
```
4 changes: 2 additions & 2 deletions docs/Concepts/ip-asset/ipa-modifications.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: IP Modifications & Restrictions
deprecated: false
exerpt: Learn about the modifications and restrictions for IP Assets.
excerpt: Learn about the modifications and restrictions for IP Assets.
hidden: false
metadata:
title: ''
Expand Down Expand Up @@ -124,4 +124,4 @@ In addition, [Group IPAs](doc:grouping-module) are subject to the following addi
| Action | Restriction |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Add IP Asset to a Group | You can only add an IP Asset to a group if that group is not "locked". A group becomes locked once the first license token is minted from it or a derivative is linked to it. |
| Remove IP Asset from a Group | You can only remove an IP Asset from a group if that group is not "locked". A group becomes locked once the first license token is minted from it or a derivative is linked to it. |
| Remove IP Asset from a Group | You can only remove an IP Asset from a group if that group is not "locked". A group becomes locked once the first license token is minted from it or a derivative is linked to it. |
4 changes: 2 additions & 2 deletions docs/Concepts/programmable-ip-license/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The PIL is the first and currently only example of a [License Template](doc:lice
* `mintingFee` - the cost of minting a license to use my work in your own works.
* `derivativesAttribution` - does someone have to credit me in their derivative works?

In code, these terms form a struct that represent their legal off-chain counterparts. To see all of the terms defined by the PIL and their associated explanations in code, see [PIL Terms](doc:pil-terms).
In code, these terms form a struct that represents their legal off-chain counterparts. To see all of the terms defined by the PIL and their associated explanations in code, see [PIL Terms](doc:pil-terms).

To see example configurations ("flavors") of the PIL, see [PIL Flavors (examples)](doc:pil-flavors).

Expand All @@ -50,4 +50,4 @@ We are excited to collect feedback and collaborate with IP owners to unlock the
<Card title="PIL Legal Text" href="https://github.com/storyprotocol/protocol-core-v1/blob/main/PIL_Testnet.pdf" icon="fa-scroll" iconColor="#ccb092" target="_blank">
Check out the actual PIL legal text. It is very human-readable for a legal text!
</Card>
</Cards>
</Cards>
4 changes: 2 additions & 2 deletions docs/Concepts/programmable-ip-license/pil-terms.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ struct PILTerms {
</td>

<td>
The ERC20 token to be used to pay the minting fee. The token must be registered in story protocol.
The ERC20 token to be used to pay the minting fee. The token must be registered in Story Protocol.
</td>
</tr>

Expand Down Expand Up @@ -452,4 +452,4 @@ Some PIL terms must be stored off-chain and passed in the `uri` field above. Thi
</td>
</tr>
</tbody>
</Table>
</Table>
4 changes: 2 additions & 2 deletions docs/Concepts/royalty-module/external-royalty-policies.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Following the example, when each remix is made and during the `onLinkToParents`

is called on the "Policy X" address. It should return the % of derivative's royalty tokens that the royalty policy demands for the link to happen. That share of royalty tokens are sent to the "Policy X" contract. In the example case:

* "Policy X" receives 3% of RT2 token supply that it can then redistributed to its userbase. IP1 owner wanted 10%, however - let's assume for the sake of the example - that due to the specific use case of "Policy X" and its custom logic, the IP2 owner is granted a special status in the platform in which it it has a 70% discount on the % share it has to give parent IPs due to having a very large distribution network to promote IPs. Therefore, instead of having to give 10% as the license percentage indicated it only gives 3%.
* "Policy X" receives 3% of RT2 token supply that it can then be redistributed to its userbase. IP1 owner wanted 10%, however - let's assume for the sake of the example - that due to the specific use case of "Policy X" and its custom logic, the IP2 owner is granted a special status in the platform in which it has a 70% discount on the % share it has to give parent IPs due to having a very large distribution network to promote IPs. Therefore, instead of having to give 10% as the license percentage indicated it only gives 3%.
* "Policy X" receives 50% of RT3 token supply that it can then redistributed to its userbase.

![](https://files.readme.io/33efb951a9be1339e849eb025d183a0f8d4f949f634ee5dfe1f13dac52c79bb0-image.png)
Expand All @@ -74,4 +74,4 @@ From the 1M USDC inflow to IP3 Royalty Vault:

* 500k USDC are claimed by the IP Account 3 which had 50% of RT3 token supply
* 100k USDC are claimed by the IP1 Royalty Vault which has 10% of RT3 token supply via `claimByTokenBatchAsSelf` function
* 400k USDC are claimed by "Policy X" which has 40 of RT3 token supply. This amount is further split by "Policy X" custom contract according to its specific rules - which define y% and z% - to its users.
* 400k USDC are claimed by "Policy X" which has 40 of RT3 token supply. This amount is further split by "Policy X" custom contract according to its specific rules - which define y% and z% - to its users.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ One common use case many developers will want is the ability to mint an IP as a

For these cases, we recommend using the Story Protocol SPG, which, besides offering more secure and convenient methods around remixing or registration of existing NFTs as IPAs, also offers a powerful minting engine through which you can directly create an ERC-721 representation of your IP while registering it into the protocol in a single interface.

Usually, you will likely not require your own custom ERC-721 collection for your IP, and simply want to perform ad-hoc registration of an off-chain asset. For these cases, we recommend using the **SPG default ERC-721 collection**, an ERC-721 that treats every NFT as an independent entity with its own customizable metadata, and also includes native support for rendering IP attribution within its `tokenURI()`. This means that these NFTs actually show you all details related to IP attribution, along with its own core metadata. Let's start by examining two core use-cases:
Usually, you will likely not require your own custom ERC-721 collection for your IP, and simply want to perform ad-hoc registration of an off-chain asset. For these cases, we recommend using the **SPG default ERC-721 collection**, an ERC-721 that treats every NFT as an independent entity with its own customizable metadata, and also includes native support for rendering IP attribution within its `tokenURI()`. This means that these NFTs actually show you all the details related to IP attribution, along with its own core metadata. Let's start by examining two core use-cases:

## Bundled IP minting and registration with the SPG default ERC-721 collection

Expand Down Expand Up @@ -145,7 +145,7 @@ Here, we call the `mintAndRegisterDerivativeIp` function of the SPG, which allow

## Bundled IP minting and registration with custom SPG ERC-721 collections

Because the SPG is a minting engine itself, it actually supports creation of custom IP collections out-of-the-box that allows you to perform bundled mint-backed registrations. In this section, we'll go over how you can leverage the SPG to create your own collection and use it for minting and registration of IP assets.
Because the SPG is a minting engine itself, it actually supports the creation of custom IP collections out-of-the-box that allows you to perform bundled mint-backed registrations. In this section, we'll go over how you can leverage the SPG to create your own collection and use it for minting and registration of IP assets.

*Note: If you want something even more customizable, we recommend simply creating your own ERC-721 collection, and then leveraging the default`registerIp` or `registerDerivativeIp` SPG functions (or `register` if you were to call the IPA registry directly).*

Expand Down
4 changes: 2 additions & 2 deletions docs/Introduction/ai-agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Here is an example of what the IP Metadata should look like for your AI Agent (u

## Adding Terms to your AI Agent

Upon registering your AI Agent, you can add license terms to it. However you can add more license terms to your AI Agent afterwards as well. Here is an example of how you attach commercial license terms to your agnet using the SDK:
Upon registering your AI Agent, you can add license terms to it. However you can add more license terms to your AI Agent afterwards as well. Here is an example of how you attach commercial license terms to your agent using the SDK:

```typescript TypeScript
import { LicenseTerms } from '@story-protocol/core-sdk';
Expand Down Expand Up @@ -95,4 +95,4 @@ console.log(`License Terms ${response.licenseTermsId} attached to IP Asset.`)

## Registering your Agent's Outputs

In the same way you registered your AI Agent on Story, you can register its outputs as well. For example, if you agent produces images and you want to register your image, follow the [How to Register IP on Story](https://docs.story.foundation/docs/how-to-register-ip-on-story#/) tutorial.
In the same way you registered your AI Agent on Story, you can register its outputs as well. For example, if your agent produces images and you want to register your image, follow the [How to Register IP on Story](https://docs.story.foundation/docs/how-to-register-ip-on-story#/) tutorial.
2 changes: 1 addition & 1 deletion docs/SDK Reference/sdk-dispute.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Cancels an ongoing dispute

Parameters:

* `request.disputeId`: The ID of the dispute to be cancelled.
* `request.disputeId`: The ID of the dispute to be canceled.
* `request.data`: [Optional] Additional data used in the cancellation process.
* `request.txOptions`: [Optional] The transaction [options](https://github.com/storyprotocol/sdk/blob/main/packages/core-sdk/src/types/options.ts).

Expand Down
4 changes: 2 additions & 2 deletions docs/SDK Reference/sdk-ipasset.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ Parameters:
* `request.spgNftContract`: The address of the NFT collection.
* `request.terms[]`: The array of license terms to be attached.
* `request.terms.transferable`: Indicates whether the license is transferable or not.
* `request.terms.royaltyPolicy`: The address of the royalty policy contract which required to StoryProtocol in advance.
* `request.terms.royaltyPolicy`: The address of the royalty policy contract which is required to StoryProtocol in advance.
* `request.terms.mintingFee`: The fee to be paid when minting a license.
* `request.terms.expiration`: The expiration period of the license.
* `request.terms.commercialUse`: Indicates whether the work can be used commercially or not.
Expand Down Expand Up @@ -442,4 +442,4 @@ export type RegisterIpResponse = {
encodedTxData?: EncodedTxData;
ipId?: Address;
};
```
```
2 changes: 1 addition & 1 deletion docs/SDK Reference/sdk-license.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ The license terms must be attached to the IP before calling this function. But i

IP owners can mint license tokens for their IPs for arbitrary license terms without attaching the license terms to IP.

It might require the caller pay the minting fee, depending on the license terms or configured by the iP owner. The minting fee is paid in the minting fee token specified in the license terms or configured by the IP owner. IP owners can configure the minting fee of their IPs or configure the minting fee module to determine the minting fee.
It might require the caller pay the minting fee, depending on the license terms or configured by the IP owner. The minting fee is paid in the minting fee token specified in the license terms or configured by the IP owner. IP owners can configure the minting fee of their IPs or configure the minting fee module to determine the minting fee.

| Method | Type |
| ------------------- | --------------------------------------------------------------------------- |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Returns the string identifier associated with the module.
bytes32 IN_DISPUTE
```

Tag to represent the dispute is in dispute state waiting for judgement
Tag to represent the dispute is in dispute state waiting for judgment

### IP\_ASSET\_REGISTRY

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Base contract for policy framework managers.
string name
```

Returns the name to be show in license NFT (LNFT) metadata
Returns the name to be shown in license NFT (LNFT) metadata

### licenseTextUrl

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ next:

**The RegistrationModule will get phased out post-beta, so we recommend using the IPAssetRegistry for registering IP assets!**

The registration module is responsible for registration of IP into the protocol. During registration, this module will register an IP into the protocol, create a resolver, and bind to it any licenses and terms specified by the IP registrant (IP account owner).
The registration module is responsible for the registration of IP into the protocol. During registration, this module will register an IP into the protocol, create a resolver, and bind to it any licenses and terms specified by the IP registrant (IP account owner).

### name

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ function registerIpAccount(uint256 chainId, address tokenContract, uint256 token

Deploys an IPAccount contract with the IPAccount implementation and returns the address of the new IP

*The IPAccount deployment deltegates to public ERC6551 Registry*
*The IPAccount deployment delegates to public ERC6551 Registry*

#### Parameters

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ constructor(address governance) public
function registerModuleType(string name, bytes4 interfaceId) external
```

Registers a new module type in the registry associate with an interface.
Registers a new module type in the registry associated with an interface.

*Enforced to be only callable by the protocol admin in governance.*

Expand Down
Loading