diff --git a/docs/contracts/_interface_ids_table.mdx b/docs/contracts/_interface_ids_table.mdx index d20fb1a5d3..67f121fef6 100644 --- a/docs/contracts/_interface_ids_table.mdx +++ b/docs/contracts/_interface_ids_table.mdx @@ -7,7 +7,7 @@ | **LSP0ERC725Account** | `0x24871b3d` | Interface of the [LSP-0-ERC725Account] standard, an account based smart contract that represents an identity on-chain. | | **LSP1UniversalReceiver** | `0x6bb56a14` | Interface of the LSP1 - Universal Receiver standard, an entry function for a contract to receive arbitrary information. | | **LSP1UniversalReceiverDelegate** | `0xa245bbda` | Interface of the LSP1 - Universal Receiver Delegate standard. | -| **LSP6KeyManager** | `0x23f34c62` | Interface of the LSP6 - Key Manager standard, a contract acting as a controller of an ERC725 Account using predfined permissions. | +| **LSP6KeyManager** | `0x23f34c62` | Interface of the LSP6 - Key Manager standard, a contract acting as a controller of an ERC725 Account using predefined permissions. | | **LSP7DigitalAsset** | `0xb3c4928f` | Interface of the LSP7 - Digital Asset standard, a fungible digital asset. | | **LSP8IdentifiableDigitalAsset** | `0x3a271706` | Interface of the LSP8 - Identifiable Digital Asset standard, a non-fungible digital asset. | | **LSP9Vault** | `0x28af17e6` | Interface of LSP9 - Vault standard, a blockchain vault that can hold assets and interact with other smart contracts. | diff --git a/docs/contracts/contracts/LSP0ERC725Account/LSP0ERC725Account.md b/docs/contracts/contracts/LSP0ERC725Account/LSP0ERC725Account.md index b74a1505fa..4388617865 100644 --- a/docs/contracts/contracts/LSP0ERC725Account/LSP0ERC725Account.md +++ b/docs/contracts/contracts/LSP0ERC725Account/LSP0ERC725Account.md @@ -847,7 +847,7 @@ function universalReceiver( ) external payable returns (bytes returnedValues); ``` -_Notifying the contract by calling its `universalReceiver` function with the following informations: typeId: `typeId`; data: `data`._ +_Notifying the contract by calling its `universalReceiver` function with the following information: typeId: `typeId`; data: `data`._ Achieves the goal of [LSP-1-UniversalReceiver] by allowing the account to be notified about incoming/outgoing transactions and enabling reactions to these actions. The reaction is achieved by having two external contracts ([LSP1UniversalReceiverDelegate]) that react on the whole transaction and on the specific typeId, respectively. The function performs the following steps: diff --git a/docs/contracts/contracts/LSP11BasicSocialRecovery/LSP11BasicSocialRecovery.md b/docs/contracts/contracts/LSP11BasicSocialRecovery/LSP11BasicSocialRecovery.md index eefb5e73dc..7c4e4dff39 100644 --- a/docs/contracts/contracts/LSP11BasicSocialRecovery/LSP11BasicSocialRecovery.md +++ b/docs/contracts/contracts/LSP11BasicSocialRecovery/LSP11BasicSocialRecovery.md @@ -353,7 +353,7 @@ Leaves the contract without owner. It will not be possible to call `onlyOwner` f function selectNewController(address addressSelected) external nonpayable; ``` -select an address to be a potentiel controller address if he reaches the guardian threshold and provide the correct secret string Requirements: +select an address to be a potential controller address if he reaches the guardian threshold and provide the correct secret string Requirements: - only guardians can select an address @@ -559,7 +559,7 @@ function _cleanStorage( ) internal nonpayable; ``` -Remove the guardians choice after a successfull recovery process +Remove the guardians choice after a successful recovery process To avoid keeping unnecessary state
@@ -745,7 +745,7 @@ event SelectedNewController( ); ``` -_Emitted when a guardian select a new potentiel controller address for the target_ +_Emitted when a guardian select a new potential controller address for the target_ #### Parameters diff --git a/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP.md b/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP.md index 1c4bb0da9e..3ee0d39f43 100644 --- a/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP.md +++ b/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP.md @@ -96,14 +96,14 @@ See [`IERC165-supportsInterface`](#ierc165-supportsinterface). :::info -- If some issues occured with generating the `dataKeys` or `dataValues` the `returnedMessage` will be an error message, otherwise it will be empty. -- If an error occured when trying to use `setDataBatch(dataKeys,dataValues)`, it will return the raw error data back to the caller. +- If some issues occurred with generating the `dataKeys` or `dataValues` the `returnedMessage` will be an error message, otherwise it will be empty. +- If an error occurred when trying to use `setDataBatch(dataKeys,dataValues)`, it will return the raw error data back to the caller. ::: :::caution Warning -When the data stored in the ERC725Y storage of the LSP0 contract is corrupted (\_e.g: ([LSP-5-ReceivedAssets]'s Array length not 16 bytes long, the token received is already registered in `LSP5ReceivetAssets[]`, the token being sent is not sent as full balance, etc...), the function call will still pass and return (**not revert!**) and not modify any data key on the storage of the [LSP-0-ERC725Account]. +When the data stored in the ERC725Y storage of the LSP0 contract is corrupted (\_e.g: ([LSP-5-ReceivedAssets]'s Array length not 16 bytes long, the token received is already registered in `LSP5ReceivedAssets[]`, the token being sent is not sent as full balance, etc...), the function call will still pass and return (**not revert!**) and not modify any data key on the storage of the [LSP-0-ERC725Account]. ::: diff --git a/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP/LSP1UniversalReceiverDelegateUP.md b/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP/LSP1UniversalReceiverDelegateUP.md index 4dde9b462a..be8e2a90b2 100644 --- a/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP/LSP1UniversalReceiverDelegateUP.md +++ b/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP/LSP1UniversalReceiverDelegateUP.md @@ -96,14 +96,14 @@ See [`IERC165-supportsInterface`](#ierc165-supportsinterface). :::info -- If some issues occured with generating the `dataKeys` or `dataValues` the `returnedMessage` will be an error message, otherwise it will be empty. -- If an error occured when trying to use `setDataBatch(dataKeys,dataValues)`, it will return the raw error data back to the caller. +- If some issues occurred with generating the `dataKeys` or `dataValues` the `returnedMessage` will be an error message, otherwise it will be empty. +- If an error occurred when trying to use `setDataBatch(dataKeys,dataValues)`, it will return the raw error data back to the caller. ::: :::caution Warning -When the data stored in the ERC725Y storage of the LSP0 contract is corrupted (\_e.g: ([LSP-5-ReceivedAssets]'s Array length not 16 bytes long, the token received is already registered in `LSP5ReceivetAssets[]`, the token being sent is not sent as full balance, etc...), the function call will still pass and return (**not revert!**) and not modify any data key on the storage of the [LSP-0-ERC725Account]. +When the data stored in the ERC725Y storage of the LSP0 contract is corrupted (\_e.g: ([LSP-5-ReceivedAssets]'s Array length not 16 bytes long, the token received is already registered in `LSP5ReceivedAssets[]`, the token being sent is not sent as full balance, etc...), the function call will still pass and return (**not revert!**) and not modify any data key on the storage of the [LSP-0-ERC725Account]. ::: diff --git a/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault.md b/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault.md index 4e0e203335..f2e555a2b8 100644 --- a/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault.md +++ b/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault.md @@ -94,8 +94,8 @@ See [`IERC165-supportsInterface`](#ierc165-supportsinterface). :::info -- If some issues occured with generating the `dataKeys` or `dataValues` the `returnedMessage` will be an error message, otherwise it will be empty. -- If an error occured when trying to use `setDataBatch(dataKeys,dataValues)`, it will return the raw error data back to the caller. +- If some issues occurred with generating the `dataKeys` or `dataValues` the `returnedMessage` will be an error message, otherwise it will be empty. +- If an error occurred when trying to use `setDataBatch(dataKeys,dataValues)`, it will return the raw error data back to the caller. ::: @@ -194,7 +194,7 @@ function _setDataBatchWithoutReverting( ) internal nonpayable returns (bytes); ``` -Calls `bytes4(keccak256(setDataBatch(bytes32[],bytes[])))` without checking for `bool succes`, but it returns all the data back. +Calls `bytes4(keccak256(setDataBatch(bytes32[],bytes[])))` without checking for `bool success`, but it returns all the data back. #### Parameters diff --git a/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault/LSP1UniversalReceiverDelegateVault.md b/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault/LSP1UniversalReceiverDelegateVault.md index 368b822868..6307e90bed 100644 --- a/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault/LSP1UniversalReceiverDelegateVault.md +++ b/docs/contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault/LSP1UniversalReceiverDelegateVault.md @@ -94,8 +94,8 @@ See [`IERC165-supportsInterface`](#ierc165-supportsinterface). :::info -- If some issues occured with generating the `dataKeys` or `dataValues` the `returnedMessage` will be an error message, otherwise it will be empty. -- If an error occured when trying to use `setDataBatch(dataKeys,dataValues)`, it will return the raw error data back to the caller. +- If some issues occurred with generating the `dataKeys` or `dataValues` the `returnedMessage` will be an error message, otherwise it will be empty. +- If an error occurred when trying to use `setDataBatch(dataKeys,dataValues)`, it will return the raw error data back to the caller. ::: @@ -194,7 +194,7 @@ function _setDataBatchWithoutReverting( ) internal nonpayable returns (bytes); ``` -Calls `bytes4(keccak256(setDataBatch(bytes32[],bytes[])))` without checking for `bool succes`, but it returns all the data back. +Calls `bytes4(keccak256(setDataBatch(bytes32[],bytes[])))` without checking for `bool success`, but it returns all the data back. #### Parameters diff --git a/docs/contracts/contracts/LSP23LinkedContractsFactory/LSP23LinkedContractsFactory.md b/docs/contracts/contracts/LSP23LinkedContractsFactory/LSP23LinkedContractsFactory.md index cc815d3f98..36cb1030b8 100644 --- a/docs/contracts/contracts/LSP23LinkedContractsFactory/LSP23LinkedContractsFactory.md +++ b/docs/contracts/contracts/LSP23LinkedContractsFactory/LSP23LinkedContractsFactory.md @@ -365,13 +365,13 @@ error PrimaryContractProxyInitFailureError(bytes errorData); _Failed to deploy & initialize the Primary Contract Proxy. Error: `errorData`._ -Reverts when the deployment & intialization of the contract has failed. +Reverts when the deployment & initialization of the contract has failed. #### Parameters | Name | Type | Description | | ----------- | :-----: | ----------------------------------------------------------------------------- | -| `errorData` | `bytes` | Potentially information about why the deployment & intialization have failed. | +| `errorData` | `bytes` | Potentially information about why the deployment & initialization have failed. |
@@ -392,13 +392,13 @@ error SecondaryContractProxyInitFailureError(bytes errorData); _Failed to deploy & initialize the Secondary Contract Proxy. Error: `errorData`._ -Reverts when the deployment & intialization of the secondary contract has failed. +Reverts when the deployment & initialization of the secondary contract has failed. #### Parameters | Name | Type | Description | | ----------- | :-----: | ----------------------------------------------------------------------------- | -| `errorData` | `bytes` | Potentially information about why the deployment & intialization have failed. | +| `errorData` | `bytes` | Potentially information about why the deployment & initialization have failed. |
diff --git a/docs/contracts/contracts/LSP25ExecuteRelayCall/LSP25MultiChannelNonce.md b/docs/contracts/contracts/LSP25ExecuteRelayCall/LSP25MultiChannelNonce.md index 773a9dbf73..25cc351bb6 100644 --- a/docs/contracts/contracts/LSP25ExecuteRelayCall/LSP25MultiChannelNonce.md +++ b/docs/contracts/contracts/LSP25ExecuteRelayCall/LSP25MultiChannelNonce.md @@ -16,7 +16,7 @@ > Implementation of the multi channel nonce and the signature verification defined in the LSP25 standard. -This contract can be used as a backbone for other smart contracts to implement meta-transactions via the LSP25 Execute Relay Call interface. It contains a storage of nonces for signer addresses across various channel IDs, enabling these signers to submit signed transactions that order-independant. (transactions that do not need to be submitted one after the other in a specific order). Finally, it contains internal functions to verify signatures for specific calldata according the signature format specified in the LSP25 standard. +This contract can be used as a backbone for other smart contracts to implement meta-transactions via the LSP25 Execute Relay Call interface. It contains a storage of nonces for signer addresses across various channel IDs, enabling these signers to submit signed transactions that order-independent. (transactions that do not need to be submitted one after the other in a specific order). Finally, it contains internal functions to verify signatures for specific calldata according the signature format specified in the LSP25 standard. ## Internal Methods diff --git a/docs/contracts/contracts/LSP6KeyManager/LSP6KeyManager.md b/docs/contracts/contracts/LSP6KeyManager/LSP6KeyManager.md index 85613ad425..997bde8e24 100644 --- a/docs/contracts/contracts/LSP6KeyManager/LSP6KeyManager.md +++ b/docs/contracts/contracts/LSP6KeyManager/LSP6KeyManager.md @@ -132,7 +132,7 @@ function executeBatch( ) external payable returns (bytes[]); ``` -\*Executing the following batch of payloads and sensind on the linked contract. +\*Executing the following batch of payloads and sending on the linked contract. - payloads: `payloads` @@ -241,7 +241,7 @@ function executeRelayCallBatch( _Executing a batch of relay calls (= meta-transactions)._ -Same as [`executeRelayCall`](#executerelaycall) but execute a batch of signed calldata payloads (abi-encoded function calls) in a single transaction. The `signatures` can be from multiple controllers, not necessarely the same controller, as long as each of these controllers that signed have the right permissions related to the calldata `payload` they signed. +Same as [`executeRelayCall`](#executerelaycall) but execute a batch of signed calldata payloads (abi-encoded function calls) in a single transaction. The `signatures` can be from multiple controllers, not necessarily the same controller, as long as each of these controllers that signed have the right permissions related to the calldata `payload` they signed.
@@ -286,7 +286,7 @@ Same as [`executeRelayCall`](#executerelaycall) but execute a batch of signed ca A signer can choose its channel number arbitrarily. The recommended practice is to: - use `channelId == 0` for transactions for which the ordering of execution matters.abi _Example: you have two transactions A and B, and transaction A must be executed first and complete successfully before transaction B should be executed)._ -- use any other `channelId` number for transactions that you want to be order independant (out-of-order execution, execution _"in parallel"_). \_Example: you have two transactions A and B. You want transaction B to be executed a) without having to wait for transaction A to complete, or b) regardless if transaction A completed successfully or not. +- use any other `channelId` number for transactions that you want to be order independent (out-of-order execution, execution _"in parallel"_). \_Example: you have two transactions A and B. You want transaction B to be executed a) without having to wait for transaction A to complete, or b) regardless if transaction A completed successfully or not. ::: @@ -401,7 +401,7 @@ function lsp20VerifyCall( | Name | Type | Description | | ---- | :------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `0` | `bytes4` | MUST return the first 3 bytes of `lsp20VerifyCall(address,uint256,bytes)` function selector if the call to the function is allowed, concatened with a byte that determines if the lsp20VerifyCallResult function should be called after the original function call. The byte that invoke the lsp20VerifyCallResult function is strictly `0x01`. | +| `0` | `bytes4` | MUST return the first 3 bytes of `lsp20VerifyCall(address,uint256,bytes)` function selector if the call to the function is allowed, concatenated with a byte that determines if the lsp20VerifyCallResult function should be called after the original function call. The byte that invoke the lsp20VerifyCallResult function is strictly `0x01`. |
diff --git a/docs/contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset.md b/docs/contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset.md index 4fabf13e16..fd98e976ee 100644 --- a/docs/contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset.md +++ b/docs/contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset.md @@ -234,7 +234,7 @@ Allows a caller to batch different function calls in one call. Perform a `delega function decimals() external view returns (uint8); ``` -Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned wiil be `0`. Otherwise `18` is the common value. +Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned will be `0`. Otherwise `18` is the common value. #### Returns @@ -937,7 +937,7 @@ Spend `amountToSpend` from the `operator`'s authorized on behalf of the `tokenOw | --------------- | :-------: | ------------------------------------------------------------------- | | `operator` | `address` | The address of the operator to decrease the allowance of. | | `tokenOwner` | `address` | The address that granted an allowance on its balance to `operator`. | -| `amountToSpend` | `uint256` | The amount of tokens to substract in allowance of `operator`. | +| `amountToSpend` | `uint256` | The amount of tokens to subtract in allowance of `operator`. |
@@ -1001,7 +1001,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1026,7 +1026,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7Burnable.md b/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7Burnable.md index d5ecec050c..ed32191330 100644 --- a/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7Burnable.md +++ b/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7Burnable.md @@ -1026,7 +1026,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1051,7 +1051,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7CappedSupply.md b/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7CappedSupply.md index 5c0d299173..db297ea27c 100644 --- a/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7CappedSupply.md +++ b/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7CappedSupply.md @@ -232,7 +232,7 @@ Allows a caller to batch different function calls in one call. Perform a `delega function decimals() external view returns (uint8); ``` -Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned wiil be `0`. Otherwise `18` is the common value. +Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned will be `0`. Otherwise `18` is the common value. #### Returns @@ -634,7 +634,7 @@ function tokenSupplyCap() external view returns (uint256); _The maximum supply amount of tokens allowed to exist is `_TOKEN_SUPPLY_CAP`._ -Get the maximum number of tokens that can exist to circulate. Once [`totalSupply`](#totalsupply) reaches reaches [`totalSuuplyCap`](#totalsuuplycap), it is not possible to mint more tokens. +Get the maximum number of tokens that can exist to circulate. Once [`totalSupply`](#totalsupply) reaches reaches [`totalSupplyCap`](#totalsuuplycap), it is not possible to mint more tokens. #### Returns @@ -936,7 +936,7 @@ Spend `amountToSpend` from the `operator`'s authorized on behalf of the `tokenOw | --------------- | :-------: | ------------------------------------------------------------------- | | `operator` | `address` | The address of the operator to decrease the allowance of. | | `tokenOwner` | `address` | The address that granted an allowance on its balance to `operator`. | -| `amountToSpend` | `uint256` | The amount of tokens to substract in allowance of `operator`. | +| `amountToSpend` | `uint256` | The amount of tokens to subtract in allowance of `operator`. |
@@ -1000,7 +1000,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1025,7 +1025,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7CompatibleERC20.md b/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7CompatibleERC20.md index 7917357227..d378bc992a 100644 --- a/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7CompatibleERC20.md +++ b/docs/contracts/contracts/LSP7DigitalAsset/extensions/LSP7CompatibleERC20.md @@ -308,7 +308,7 @@ Allows a caller to batch different function calls in one call. Perform a `delega function decimals() external view returns (uint8); ``` -Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned wiil be `0`. Otherwise `18` is the common value. +Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned will be `0`. Otherwise `18` is the common value. #### Returns @@ -1061,7 +1061,7 @@ Spend `amountToSpend` from the `operator`'s authorized on behalf of the `tokenOw | --------------- | :-------: | ------------------------------------------------------------------- | | `operator` | `address` | The address of the operator to decrease the allowance of. | | `tokenOwner` | `address` | The address that granted an allowance on its balance to `operator`. | -| `amountToSpend` | `uint256` | The amount of tokens to substract in allowance of `operator`. | +| `amountToSpend` | `uint256` | The amount of tokens to subtract in allowance of `operator`. |
@@ -1091,7 +1091,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1116,7 +1116,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP7DigitalAsset/presets/LSP7CompatibleERC20Mintable.md b/docs/contracts/contracts/LSP7DigitalAsset/presets/LSP7CompatibleERC20Mintable.md index 0161d72f22..1f0e5b8d75 100644 --- a/docs/contracts/contracts/LSP7DigitalAsset/presets/LSP7CompatibleERC20Mintable.md +++ b/docs/contracts/contracts/LSP7DigitalAsset/presets/LSP7CompatibleERC20Mintable.md @@ -315,7 +315,7 @@ Allows a caller to batch different function calls in one call. Perform a `delega function decimals() external view returns (uint8); ``` -Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned wiil be `0`. Otherwise `18` is the common value. +Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned will be `0`. Otherwise `18` is the common value. #### Returns @@ -1101,7 +1101,7 @@ Spend `amountToSpend` from the `operator`'s authorized on behalf of the `tokenOw | --------------- | :-------: | ------------------------------------------------------------------- | | `operator` | `address` | The address of the operator to decrease the allowance of. | | `tokenOwner` | `address` | The address that granted an allowance on its balance to `operator`. | -| `amountToSpend` | `uint256` | The amount of tokens to substract in allowance of `operator`. | +| `amountToSpend` | `uint256` | The amount of tokens to subtract in allowance of `operator`. |
@@ -1131,7 +1131,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1156,7 +1156,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP7DigitalAsset/presets/LSP7Mintable.md b/docs/contracts/contracts/LSP7DigitalAsset/presets/LSP7Mintable.md index 99fde2ae22..9e8388e4b1 100644 --- a/docs/contracts/contracts/LSP7DigitalAsset/presets/LSP7Mintable.md +++ b/docs/contracts/contracts/LSP7DigitalAsset/presets/LSP7Mintable.md @@ -265,7 +265,7 @@ Allows a caller to batch different function calls in one call. Perform a `delega function decimals() external view returns (uint8); ``` -Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned wiil be `0`. Otherwise `18` is the common value. +Returns the number of decimals used to get its user representation. If the asset contract has been set to be non-divisible via the `isNonDivisible_` parameter in the `constructor`, the decimals returned will be `0`. Otherwise `18` is the common value. #### Returns @@ -1001,7 +1001,7 @@ Spend `amountToSpend` from the `operator`'s authorized on behalf of the `tokenOw | --------------- | :-------: | ------------------------------------------------------------------- | | `operator` | `address` | The address of the operator to decrease the allowance of. | | `tokenOwner` | `address` | The address that granted an allowance on its balance to `operator`. | -| `amountToSpend` | `uint256` | The amount of tokens to substract in allowance of `operator`. | +| `amountToSpend` | `uint256` | The amount of tokens to subtract in allowance of `operator`. |
@@ -1065,7 +1065,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1090,7 +1090,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md index 45152088eb..fc2b0ea465 100644 --- a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md +++ b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.md @@ -769,7 +769,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If | `from` | `address` | The address that owns the given `tokenId`. | | `to` | `address` | The address that will receive the `tokenId`. | | `tokenId` | `bytes32` | The token ID to transfer. | -| `force` | `bool` | When set to `true`, the `to` address CAN be any addres. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | +| `force` | `bool` | When set to `true`, the `to` address CAN be any address. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | | `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the hooks of the `from` and `to` addresses. |
@@ -1185,7 +1185,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1210,7 +1210,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient via LSP1** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient via LSP1** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md index 3d623117a9..9f703d2e4b 100644 --- a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md +++ b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.md @@ -795,7 +795,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If | `from` | `address` | The address that owns the given `tokenId`. | | `to` | `address` | The address that will receive the `tokenId`. | | `tokenId` | `bytes32` | The token ID to transfer. | -| `force` | `bool` | When set to `true`, the `to` address CAN be any addres. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | +| `force` | `bool` | When set to `true`, the `to` address CAN be any address. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | | `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the hooks of the `from` and `to` addresses. |
@@ -1211,7 +1211,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1236,7 +1236,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient via LSP1** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient via LSP1** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md index 9841715d8b..4de60b91d4 100644 --- a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md +++ b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.md @@ -729,7 +729,7 @@ function tokenSupplyCap() external view returns (uint256); _The maximum supply amount of tokens allowed to exist is `_TOKEN_SUPPLY_CAP`._ -Get the maximum number of tokens that can exist to circulate. Once [`totalSupply`](#totalsupply) reaches reaches [`totalSuuplyCap`](#totalsuuplycap), it is not possible to mint more tokens. +Get the maximum number of tokens that can exist to circulate. Once [`totalSupply`](#totalsupply) reaches reaches [`totalSupplyCap`](#totalsuuplycap), it is not possible to mint more tokens. #### Returns @@ -794,7 +794,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If | `from` | `address` | The address that owns the given `tokenId`. | | `to` | `address` | The address that will receive the `tokenId`. | | `tokenId` | `bytes32` | The token ID to transfer. | -| `force` | `bool` | When set to `true`, the `to` address CAN be any addres. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | +| `force` | `bool` | When set to `true`, the `to` address CAN be any address. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | | `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the hooks of the `from` and `to` addresses. |
@@ -1185,7 +1185,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1210,7 +1210,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient via LSP1** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient via LSP1** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md index 7357fc5c76..8fcc8c1a74 100644 --- a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md +++ b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.md @@ -1112,7 +1112,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If | `from` | `address` | The address that owns the given `tokenId`. | | `to` | `address` | The address that will receive the `tokenId`. | | `tokenId` | `bytes32` | The token ID to transfer. | -| `force` | `bool` | When set to `true`, the `to` address CAN be any addres. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | +| `force` | `bool` | When set to `true`, the `to` address CAN be any address. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | | `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the hooks of the `from` and `to` addresses. |
@@ -1462,7 +1462,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1487,7 +1487,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient via LSP1** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient via LSP1** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md index 37095361cf..db685e7a88 100644 --- a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md +++ b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.md @@ -800,7 +800,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If | `from` | `address` | The address that owns the given `tokenId`. | | `to` | `address` | The address that will receive the `tokenId`. | | `tokenId` | `bytes32` | The token ID to transfer. | -| `force` | `bool` | When set to `true`, the `to` address CAN be any addres. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | +| `force` | `bool` | When set to `true`, the `to` address CAN be any address. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | | `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the hooks of the `from` and `to` addresses. |
@@ -1238,7 +1238,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient via LSP1** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient via LSP1** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.md b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.md index 7571dd9830..4caa1d5224 100644 --- a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.md +++ b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.md @@ -1156,7 +1156,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If | `from` | `address` | The address that owns the given `tokenId`. | | `to` | `address` | The address that will receive the `tokenId`. | | `tokenId` | `bytes32` | The token ID to transfer. | -| `force` | `bool` | When set to `true`, the `to` address CAN be any addres. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | +| `force` | `bool` | When set to `true`, the `to` address CAN be any address. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | | `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the hooks of the `from` and `to` addresses. |
@@ -1506,7 +1506,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1531,7 +1531,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient via LSP1** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient via LSP1** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md index bdaaa1fce3..e665e656af 100644 --- a/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md +++ b/docs/contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md @@ -835,7 +835,7 @@ Transfer a given `tokenId` token from the `from` address to the `to` address. If | `from` | `address` | The address that owns the given `tokenId`. | | `to` | `address` | The address that will receive the `tokenId`. | | `tokenId` | `bytes32` | The token ID to transfer. | -| `force` | `bool` | When set to `true`, the `to` address CAN be any addres. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | +| `force` | `bool` | When set to `true`, the `to` address CAN be any address. When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard. | | `data` | `bytes` | Any additional data the caller wants included in the emitted event, and sent in the hooks of the `from` and `to` addresses. |
@@ -1251,7 +1251,7 @@ function _beforeTokenTransfer( ``` Hook that is called before any token transfer, including minting and burning. -Allows to run custom logic before updating balances and notifiying sender/recipient by overriding this function. +Allows to run custom logic before updating balances and notifying sender/recipient by overriding this function. #### Parameters @@ -1276,7 +1276,7 @@ function _afterTokenTransfer( ``` Hook that is called after any token transfer, including minting and burning. -Allows to run custom logic after updating balances, but **before notifiying sender/recipient via LSP1** by overriding this function. +Allows to run custom logic after updating balances, but **before notifying sender/recipient via LSP1** by overriding this function. #### Parameters diff --git a/docs/contracts/contracts/LSP9Vault/LSP9Vault.md b/docs/contracts/contracts/LSP9Vault/LSP9Vault.md index ded563c24c..7b74a92fb3 100644 --- a/docs/contracts/contracts/LSP9Vault/LSP9Vault.md +++ b/docs/contracts/contracts/LSP9Vault/LSP9Vault.md @@ -764,7 +764,7 @@ function universalReceiver( ) external payable returns (bytes returnedValues); ``` -_Notifying the contract by calling its `universalReceiver` function with the following informations: typeId: `typeId`; data: `data`._ +_Notifying the contract by calling its `universalReceiver` function with the following information: typeId: `typeId`; data: `data`._ Achieves the goal of [LSP-1-UniversalReceiver] by allowing the account to be notified about incoming/outgoing transactions and enabling reactions to these actions. The reaction is achieved by having two external contracts ([LSP1UniversalReceiverDelegate]) that react on the whole transaction and on the specific typeId, respectively. The function performs the following steps: diff --git a/docs/contracts/contracts/UniversalProfile.md b/docs/contracts/contracts/UniversalProfile.md index 0af3ab61c4..1af69dc7ab 100644 --- a/docs/contracts/contracts/UniversalProfile.md +++ b/docs/contracts/contracts/UniversalProfile.md @@ -776,7 +776,7 @@ function universalReceiver( ) external payable returns (bytes returnedValues); ``` -_Notifying the contract by calling its `universalReceiver` function with the following informations: typeId: `typeId`; data: `data`._ +_Notifying the contract by calling its `universalReceiver` function with the following information: typeId: `typeId`; data: `data`._ Achieves the goal of [LSP-1-UniversalReceiver] by allowing the account to be notified about incoming/outgoing transactions and enabling reactions to these actions. The reaction is achieved by having two external contracts ([LSP1UniversalReceiverDelegate]) that react on the whole transaction and on the specific typeId, respectively. The function performs the following steps: diff --git a/docs/contracts/contracts/UniversalProfile/UniversalProfile.md b/docs/contracts/contracts/UniversalProfile/UniversalProfile.md index 289bba5c56..4257ec4e56 100644 --- a/docs/contracts/contracts/UniversalProfile/UniversalProfile.md +++ b/docs/contracts/contracts/UniversalProfile/UniversalProfile.md @@ -776,7 +776,7 @@ function universalReceiver( ) external payable returns (bytes returnedValues); ``` -_Notifying the contract by calling its `universalReceiver` function with the following informations: typeId: `typeId`; data: `data`._ +_Notifying the contract by calling its `universalReceiver` function with the following information: typeId: `typeId`; data: `data`._ Achieves the goal of [LSP-1-UniversalReceiver] by allowing the account to be notified about incoming/outgoing transactions and enabling reactions to these actions. The reaction is achieved by having two external contracts ([LSP1UniversalReceiverDelegate]) that react on the whole transaction and on the specific typeId, respectively. The function performs the following steps: diff --git a/docs/contracts/deployed-contracts.md b/docs/contracts/deployed-contracts.md index a595db9ac2..5ae0aa66ce 100644 --- a/docs/contracts/deployed-contracts.md +++ b/docs/contracts/deployed-contracts.md @@ -13,7 +13,7 @@ Check our guide [**_🏭 Deploy Universal Profile + its Key Manager with LSP23 F ::: -Below is a list of contracts deployed on the LUKSO Mainnet for production usage. These contracts are deployed with `CREATE2` using the Nick Factory, so that they can be re-deployed at different addresses accross multiple chains. +Below is a list of contracts deployed on the LUKSO Mainnet for production usage. These contracts are deployed with `CREATE2` using the Nick Factory, so that they can be re-deployed at different addresses across multiple chains. ## 🏭 Factory contracts diff --git a/docs/contracts/introduction.md b/docs/contracts/introduction.md index 2016aa8e5f..fbdbf13701 100644 --- a/docs/contracts/introduction.md +++ b/docs/contracts/introduction.md @@ -160,7 +160,7 @@ The `@lukso/lsp-smart-contracts` repository contains two types of contracts: | Type | Description | Example | | ---------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------- | | **Standard contracts** | One contract deployed per user. Deployed and initialized via a `constructor`. | `LSP0ERC725Account.sol` | -| **Base contracts** | Deploy one contract for all users. To be used as base contract behind proxies. Initialized via a `initalize(...)` function. | `LSP0ERC725AccountInit.sol` | +| **Base contracts** | Deploy one contract for all users. To be used as base contract behind proxies. Initialized via a `initialize(...)` function. | `LSP0ERC725AccountInit.sol` | ## LSP Recipes diff --git a/docs/contracts/libraries/LSP1Utils.md b/docs/contracts/libraries/LSP1Utils.md index b57da1178d..d0302372ea 100644 --- a/docs/contracts/libraries/LSP1Utils.md +++ b/docs/contracts/libraries/LSP1Utils.md @@ -16,7 +16,7 @@ > LSP1 Utility library. -LSP1Utils is a library of utility functions that can be used to notify the `universalReceiver` function of a contract that implements LSP1 and retrieve informations related to LSP1 `typeId`. Based on LSP1 Universal Receiver standard. +LSP1Utils is a library of utility functions that can be used to notify the `universalReceiver` function of a contract that implements LSP1 and retrieve information related to LSP1 `typeId`. Based on LSP1 Universal Receiver standard. ## Internal Methods diff --git a/docs/contracts/overview/KeyManager.md b/docs/contracts/overview/KeyManager.md index ef182255fe..5ac17be1df 100644 --- a/docs/contracts/overview/KeyManager.md +++ b/docs/contracts/overview/KeyManager.md @@ -23,7 +23,7 @@ You can then grant partial access to any address so that they can use your Unive | Example | Description | Permissions | | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------- | | Treasury & Funds Manager | Allow certain addresses to transfer your native tokens (or any LSP7 tokens) to certain specific addresses (_e.g: allow a crypto accountant or treasury manager to manage your funds on your behalf, allow a video game dApp to transfer the game tokens, etc..._) | `SUPER_TRANSFERVALUE`
or `TRANSFERVALUE` + Allowed Calls on specific addresses
or `CALL` + Allowed Calls on certain token addresses. | -| Brand Manager | Allow certain addresses representating Marketing managers to either manage the metadata (and branding) of your Universal Profile, or the metadata of any NFT collections created by your Universal Profile. | `SETDATA` + Allowed ERC725Y Data Keys to manage the UP
`CALL` + Allowed Calls on specific NFT collection contract addresses. | +| Brand Manager | Allow certain addresses representing Marketing managers to either manage the metadata (and branding) of your Universal Profile, or the metadata of any NFT collections created by your Universal Profile. | `SETDATA` + Allowed ERC725Y Data Keys to manage the UP
`CALL` + Allowed Calls on specific NFT collection contract addresses. | | Metadata Manager | Allow certain dApps to store some user settings related to the dApp under the Universal Profile's storage, and allow each specific dApp to update these specific data only. | `SETDATA` + Allowed ERC725Y Data Keys | | Universal Receiver Delegate | Allow your Universal Receiver Delegate to operate automatically when receiving tokens or NFTs (_e.g: add / remove them in your received assets, automatically transfer a certain percentage of tokens received into a saving vault, save certain valuable NFTs into a vault, etc..._) | | | Social Recovery | Plug a service to gain you back access to your 🆙 if you have a lost access to your main controller private key / address. | `ADDCONTROLLER` | @@ -72,7 +72,7 @@ If controller has `CALL` permission but has no `AllowedCalls`, controller will n ::: -Key Manager allows for restricting controller addresses to be able to call specific functions on specific addresses which should be of a specific standard. In order to achieve such functionallity one could encode a set of type calls, addresses, standards and functions to [`bytes[CompactBytesArray]`](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-2-ERC725YJSONSchema.md#bytesncompactbytesarray), and store them under the [Allowed Calls](../../standards/access-control/lsp6-key-manager.md#allowed-calls) data key. +Key Manager allows for restricting controller addresses to be able to call specific functions on specific addresses which should be of a specific standard. In order to achieve such functionality one could encode a set of type calls, addresses, standards and functions to [`bytes[CompactBytesArray]`](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-2-ERC725YJSONSchema.md#bytesncompactbytesarray), and store them under the [Allowed Calls](../../standards/access-control/lsp6-key-manager.md#allowed-calls) data key. _E.g._ diff --git a/docs/contracts/overview/LSP1Delegate.md b/docs/contracts/overview/LSP1Delegate.md index 9dac7ebef0..9e61b9738f 100644 --- a/docs/contracts/overview/LSP1Delegate.md +++ b/docs/contracts/overview/LSP1Delegate.md @@ -14,7 +14,7 @@ There are two default implementations of the LSP1 Delegate contracts available, ## Routing -The Universal Profile implementation allows for attaching multiple instances of Universal Receiver Delegate to it. This is due to LSP1 Routing. You could have a single General Purpose Unviersal Receiver Delegate and multiple instances of Specific Unviersal Receiver Delegate. +The Universal Profile implementation allows for attaching multiple instances of Universal Receiver Delegate to it. This is due to LSP1 Routing. You could have a single General Purpose Universal Receiver Delegate and multiple instances of Specific Universal Receiver Delegate. A General Purpose Universal Receiver Delegate has its address stored under the [LSP1UniversalReceiverDelegate Singleton](/standards/accounts/lsp1-universal-receiver-delegate.md#lsp1universalreceiverdelegate-singleton) data key. This contract will be called on any LSP1 hook, meaning that it can potentially react on any [TypeID](../type-ids.md#universal-receiver-type-ids). diff --git a/docs/faq/lukso/feature-requests.md b/docs/faq/lukso/feature-requests.md index abeb28ed42..af6c419bce 100644 --- a/docs/faq/lukso/feature-requests.md +++ b/docs/faq/lukso/feature-requests.md @@ -16,7 +16,7 @@ Yes, developers have several options for financial support when building on LUKS ## Will LUKSO be listed on additional exchanges? -At the moment, LUKSO is available on [KuCoin](https://www.kucoin.com/de), [Crypto.com](https://crypto.com/), and [Gate.io](https://www.gate.io/). As the network continues to expand, additionl exchanges may consider joining. It is important to note that this decision is entirely at the discretion of the exchanges. +At the moment, LUKSO is available on [KuCoin](https://www.kucoin.com/de), [Crypto.com](https://crypto.com/), and [Gate.io](https://www.gate.io/). As the network continues to expand, additional exchanges may consider joining. It is important to note that this decision is entirely at the discretion of the exchanges. ## Will there be a Mobile Application for Universal Profiles? diff --git a/docs/faq/lukso/project-differentiation.md b/docs/faq/lukso/project-differentiation.md index 0fb708bef7..f24750ad1f 100644 --- a/docs/faq/lukso/project-differentiation.md +++ b/docs/faq/lukso/project-differentiation.md @@ -12,7 +12,7 @@ The [Ethereum Name Service](https://docs.ens.domains/) (ENS) and Universal Profi ENS is a **naming system** for accounts on the Ethereum blockchain. It functions similarly to the internet's domain name system (DNS), enabling users to replace long, complex blockchain addresses with verifiable human-friendly names. Name services make it easier for users to send transactions and interact with smart contracts without remembering their account addresses. Users can even add additional information, such as social media links, email addresses, keywords, or profile pictures. -Universal Profiles, on the other hand, are **accounts acting as the center for your user profile, persona and blockchain interactions**. They can have extensive and editable informations directly embedded on them (on the smart contract that represents the Universal Profile) while also being able to interact with on-chain applications, just as regular wallets. In comparison, information associated to an ENS name is stored and maintained within a global ENS registry service. +Universal Profiles, on the other hand, are **accounts acting as the center for your user profile, persona and blockchain interactions**. They can have extensive and editable information directly embedded on them (on the smart contract that represents the Universal Profile) while also being able to interact with on-chain applications, just as regular wallets. In comparison, information associated to an ENS name is stored and maintained within a global ENS registry service. While name services are convenient for transferring assets, they are **not as fitting to maintain an on-chain persona**. The domains can not be secured with multiple keys, have limited attachable information, and require payments to keep your domain names. If the subscription expires, all historical transactions no longer bear this name, meaning **users would lose their** verifiable information and **reputation** connected to the name. Anyone else could rebuy the domain and assume the identity associated with it. Universal Profiles can tackle such concerns, as they have convenience features such as **permission management and rotatable keys**. However, Universal Profiles are accounts and have regular blockchain addresses. diff --git a/docs/faq/lukso/project-origins.md b/docs/faq/lukso/project-origins.md index 3ce259e77c..cf441a523c 100644 --- a/docs/faq/lukso/project-origins.md +++ b/docs/faq/lukso/project-origins.md @@ -42,7 +42,7 @@ The official address of the Genesis Deposit Contract is [`0x42000421dd80d1e90e56 The deposit contract called the external LYXe [ERC777](https://ethereum.org/de/developers/docs/standards/tokens/erc-777/) token contract to lock the deposit amounts. To prepare the genesis files of the mainnet launch featured a freeze. Therefore, the deposit contract featured checks if a public key has been registered, preventing duplicate deposits. Only static deposit amounts of 32 LYX were allowed. -The freeze also came with a delay function to allow people to have time still after the LUKSO team triggered it. Each validator that went through the Genesis Launchpad stored not only the LYXe token but also a vote for the initial coin supply of the mainnet. The additional data was stored on-chain to have a publically verifiable source of the initial LYX supply and distribution. +The freeze also came with a delay function to allow people to have time still after the LUKSO team triggered it. Each validator that went through the Genesis Launchpad stored not only the LYXe token but also a vote for the initial coin supply of the mainnet. The additional data was stored on-chain to have a publicly verifiable source of the initial LYX supply and distribution. ## How was the token supply of LUKSO determined? diff --git a/docs/faq/network/blockchain-architecture.md b/docs/faq/network/blockchain-architecture.md index f7de66a626..aa9ed9f8f2 100644 --- a/docs/faq/network/blockchain-architecture.md +++ b/docs/faq/network/blockchain-architecture.md @@ -87,7 +87,7 @@ An epoch in PoS is a fixed period during which slots occur. It is a larger time Epochs provide several vital functions: - **Validator Shuffling**: At the start of each epoch, a random selection process determines the active validators and assigns them to slots. This is done to ensure that the system remains decentralized and that no single validator can predict far in advance when they will be selected. -- **Rewards and Penaltie**s: At the end of each epoch, rewards and penalties are calculated for validators. Validators that correctly proposed and attested to blocks receive rewards, while those who behaved maliciously or were offline are penalized. +- **Rewards and Penalties**: At the end of each epoch, rewards and penalties are calculated for validators. Validators that correctly proposed and attested to blocks receive rewards, while those who behaved maliciously or were offline are penalized. - **Finality**: An epoch also plays a role in achieving finality. Finality refers to the point at which a block cannot be changed or removed from the blockchain. The finality is achieved in every epoch. ## What are slots? diff --git a/docs/faq/network/node-setup.md b/docs/faq/network/node-setup.md index 338e2903f3..a9dbb6032f 100644 --- a/docs/faq/network/node-setup.md +++ b/docs/faq/network/node-setup.md @@ -30,7 +30,7 @@ Currently, LUKSO officially supports Geth, Erigon, Lighthouse, and Prysm. All cl ## Should I run an archive or a full node? -A full node downloads the entire blockchain and validates all blocks and transactions against the network's consensus rules. It stores the **current state of the network, including account balances, contracts, storage, and other informatio**n. However, it does not keep all historical states. If you need to check the balance of an account at a specific block height in the past, a full node cannot provide this information directly. +A full node downloads the entire blockchain and validates all blocks and transactions against the network's consensus rules. It stores the **current state of the network, including account balances, contracts, storage, and other information**. However, it does not keep all historical states. If you need to check the balance of an account at a specific block height in the past, a full node cannot provide this information directly. An archive node is a particular type of full node. It also downloads the entire blockchain and validates all blocks and transactions like a full node. In addition to the current state of the network, it **also stores all historical states since the genesis block**. Keeping the entire historical state makes an archive node much more storage extensive than a full node, but it allows you to query any historical state directly on the node. diff --git a/docs/faq/network/staking.md b/docs/faq/network/staking.md index 6afee81fc9..8f04af5406 100644 --- a/docs/faq/network/staking.md +++ b/docs/faq/network/staking.md @@ -40,7 +40,7 @@ No. Rewards are given out for each validator key separately and do not increase ## Are LYX/LYXt locked after they have been deposited? -No, validators are not locked after depositing their stake. The locking **only occurred for genesis deposits** before the Shappella fork went live on the LUKSO mainnet. Please remember that the deposited LYX can only be exited from the network after they have been activated, which may take up to 24h. In addition, the exit process may also **take up to multiple hours** until it is picked up from the consensus. Please also note that it requires setting withdrawal credentials to withdraw your funds to an account. +No, validators are not locked after depositing their stake. The locking **only occurred for genesis deposits** before the Shapella fork went live on the LUKSO mainnet. Please remember that the deposited LYX can only be exited from the network after they have been activated, which may take up to 24h. In addition, the exit process may also **take up to multiple hours** until it is picked up from the consensus. Please also note that it requires setting withdrawal credentials to withdraw your funds to an account. ## Are there different types of withdrawals for validators? @@ -102,6 +102,6 @@ In case you have multiple wallets to make deposits from but you don't want to se ## How much stake will I lose for being offline? -The exact calculation of penalties can be complex due to these variables, but there are rough estimates based on the [EVM Panelty Research](https://alonmuroch-65570.medium.com/how-long-will-it-take-an-inactive-eth2-validator-to-get-ejected-a6ce8f98fd1c). You will roughly lose 0.01 LYX/LYXt per validatory for being offline for an hour. After being offline for a whole day, it will increase to about 0.1 LYX/LYXt. After an entire offline week, it will be approximately 1 LYX/LYXt per validator. +The exact calculation of penalties can be complex due to these variables, but there are rough estimates based on the [EVM Penalty Research](https://alonmuroch-65570.medium.com/how-long-will-it-take-an-inactive-eth2-validator-to-get-ejected-a6ce8f98fd1c). You will roughly lose 0.01 LYX/LYXt per validatory for being offline for an hour. After being offline for a whole day, it will increase to about 0.1 LYX/LYXt. After an entire offline week, it will be approximately 1 LYX/LYXt per validator. A validator will lose roughly 60% of their staked LYX after 18 days of inactivity. It takes around three weeks for the effective balance to fall to around 16 LYX/LYXt, which will cause the validator to be ejected from the PoS protocol. Remember, these are **rough estimates, and the penalties could differ** based on the network conditions. If the network is not finalizing, e.g., over one-third of the network is offline, penalties can ramp up significantly. diff --git a/docs/faq/network/validators.md b/docs/faq/network/validators.md index 503bf2db25..3478953b0f 100644 --- a/docs/faq/network/validators.md +++ b/docs/faq/network/validators.md @@ -56,7 +56,7 @@ If you plan to become a validator for testnet, please contact `testnet-validator ## What happens when my validator is offline? -In Proof of Stake, validators can be penalized for being offline. The **penalties for an offline validator are dynamically adjusted** based on the total amount of offline validators and their offline duration. You can find rough estemates within the [staking section](./staking.md) of the FAQ. +In Proof of Stake, validators can be penalized for being offline. The **penalties for an offline validator are dynamically adjusted** based on the total amount of offline validators and their offline duration. You can find rough estimates within the [staking section](./staking.md) of the FAQ. This mechanism **incentivizes validators to stay online** and actively participate in the network's consensus process. Validators are expected to be online to propose and attest to blocks. If a validator is offline, they're not fulfilling their role, so their balance slowly leaks over time. The inactivity penalty is proportional to the square of the time the validator has been offline, meaning the penalty accelerates the longer the validator is offline. diff --git a/docs/faq/onboarding/lukso-standards.md b/docs/faq/onboarding/lukso-standards.md index 841508c480..686357fa44 100644 --- a/docs/faq/onboarding/lukso-standards.md +++ b/docs/faq/onboarding/lukso-standards.md @@ -23,14 +23,14 @@ With LSPs, the mission is to have standards that facilitate using tools that abs - Assets can be **anchored** directly to the blockchain **account's storage** using [LSP1](/standards/accounts/lsp1-universal-receiver), abandoning complex data fetching. - Token IDs have an increased size and can map any serial number (for digital or physical products) on-chain, which also allows NFC integration. - Developers and users can safely utilize **events from asset contracts**, regulate allowlists and blocklists, customize UI and app workflows, or create consensus for asset transfers using LSP1 Delegate. -- Assets have **built-in security for sending assets** to accounts without recovery, utiliszing account abstraction with their force parameter in [LSP7](/standards/tokens/LSP7-Digital-Asset) and [LSP8](/standards/tokens/LSP8-Identifiable-Digital-Asset). +- Assets have **built-in security for sending assets** to accounts without recovery, utilizing account abstraction with their force parameter in [LSP7](/standards/tokens/LSP7-Digital-Asset) and [LSP8](/standards/tokens/LSP8-Identifiable-Digital-Asset). - Attached data can always be verified through hash integration in the [LSP2](/standards/metadata/lsp2-json-schema) schema. - Assets can be **organized and managed in vaults** using [LSP9](/standards/accounts/lsp9-vault). Here, multiple services and games can have permissioned access for updating the asset data of user accounts. - For NFTs, individual token IDs from a collection can have **separate metadata**, upgrades, creators, and behaviors, instead of just being limited to the logic of the mint contract. ## What's the recommended language for LSP development? -If you want to build on the LUKSO blockchain, the recommended programming language is Solidity. It is the implementation language of LSPs, the most commonly used language for the EVM, and the default implementation langauge for LSPs. +If you want to build on the LUKSO blockchain, the recommended programming language is Solidity. It is the implementation language of LSPs, the most commonly used language for the EVM, and the default implementation language for LSPs. ## Why are LSPs not proposed as ERCs? diff --git a/docs/learn/concepts.md b/docs/learn/concepts.md index 022be0400c..e2cc6013c4 100644 --- a/docs/learn/concepts.md +++ b/docs/learn/concepts.md @@ -23,5 +23,5 @@ Highlight any word and click `Ask Cookbook` in the Navbar for its definition. | [ERC725Y](/standards/erc725#erc725x) | ERC725Y is the basic tool that lets you store information, while LSP2 is the set of rules that makes sure everyone stores and retrieves this information in an organized and understandable way. | | [LYXt](../../docs/faq/lukso/general-information.md#whats-the-difference-between-lyxt-lyxe-and-lyx) | LYXt is the token for developers to use on our testnet. It can always be acquired by anyone for free. | | [LYXe](../../docs/faq/lukso/general-information.md#whats-the-difference-between-lyxt-lyxe-and-lyx) | LYXe is the token that was deployed on Ethereum before LUKSO Mainnet was launched. It allowed people to invest in LUKSO pre-launch. | -| [Metadata](/standards/metadata/lsp3-profile-metadata.md) | This typically refers to the additional data that is stored against a token or NFT. The difference on LUKSO is it can be extended.

For example, imagine you've bought a house and have the deed as an NFT on LUKSO. Well now, as rennovations are carried out, they can be continually added to the NFT for history. | +| [Metadata](/standards/metadata/lsp3-profile-metadata.md) | This typically refers to the additional data that is stored against a token or NFT. The difference on LUKSO is it can be extended.

For example, imagine you've bought a house and have the deed as an NFT on LUKSO. Well now, as renovations are carried out, they can be continually added to the NFT for history. | | Account Abstraction | Account abstraction is abstracting away smart contract execution from storing funds. With a smart contract account, you can program it to do all sorts of things. You can set up automatic payments, create multi-signature wallets that require multiple people to approve transactions, or even add security features like daily spending limits. It's like having a customizable, programmable bank account on the blockchain. | diff --git a/docs/learn/digital-assets/metadata-management/cascade-and-sense-support.md b/docs/learn/digital-assets/metadata-management/cascade-and-sense-support.md index e9acc41d68..991d9be523 100644 --- a/docs/learn/digital-assets/metadata-management/cascade-and-sense-support.md +++ b/docs/learn/digital-assets/metadata-management/cascade-and-sense-support.md @@ -72,7 +72,7 @@ if (result) { ### Retrieve activation ticket transaction id -To get activation ticket transaction status and id, you can use `retrieveTxId` funciton of provider. +To get activation ticket transaction status and id, you can use `retrieveTxId` function of provider. ``` const { result_id } = await provider.uploadToCascade(file); diff --git a/docs/learn/digital-assets/metadata-management/read-asset-data.md b/docs/learn/digital-assets/metadata-management/read-asset-data.md index 53cfa1308b..acb3dfa6c1 100644 --- a/docs/learn/digital-assets/metadata-management/read-asset-data.md +++ b/docs/learn/digital-assets/metadata-management/read-asset-data.md @@ -235,7 +235,7 @@ console.log(tokenSymbol); To fetch the whole JSON file of the asset's metadata, you can use the following 2 functions of the [`erc725js`](../../../tools/dapps/erc725js/getting-started.md) library: - [`fetchData('LSP4Metadata')`](../../../tools/dapps/erc725js/methods.md#fetchdata): This will download and decode the content of `VerifiableURI` as JSON. -- [`getData(LSP4Metadata)`](../../../tools/dapps/erc725js/methods#getdata): This will retrieve the raw data value from the smart contract. You will then need to decode the `VerifiableURI` maunually using [`decodeData(...)`](../../../tools/dapps/erc725js/methods.md#decodedata). +- [`getData(LSP4Metadata)`](../../../tools/dapps/erc725js/methods#getdata): This will retrieve the raw data value from the smart contract. You will then need to decode the `VerifiableURI` manually using [`decodeData(...)`](../../../tools/dapps/erc725js/methods.md#decodedata). ```ts // Download and verify the asset metadata JSON file @@ -386,4 +386,4 @@ Based on the [token type](#detect-the-token-type), the information of the [LSP4 - If your asset is a Token (`tokenType = 0`), individual metadata **cant be set**, due to the lack of token IDs. - If your asset is an NFT (`tokenType = 1`), individual metadata **may be set in addition** to the global token information. -- If your asset is a Collection (`tokenType = 2`), the token ID-specific medatada is **mandatory**. +- If your asset is a Collection (`tokenType = 2`), the token ID-specific metadata is **mandatory**. diff --git a/docs/learn/digital-assets/nft/create-nft-collection-lsp8.md b/docs/learn/digital-assets/nft/create-nft-collection-lsp8.md index 48cb117f75..0ea59f317f 100644 --- a/docs/learn/digital-assets/nft/create-nft-collection-lsp8.md +++ b/docs/learn/digital-assets/nft/create-nft-collection-lsp8.md @@ -33,7 +33,7 @@ When creating smart contracts representing digital assets on LUKSO, you need to - `1` = NFT - `2` = Collection -For this example we will use the `Collection` token type. You can create a custom 🌄 [LSP8 Identfiable Digital Asset Collection](../../../standards/tokens/LSP8-Identifiable-Digital-Asset.md) that extends [LSP8Mintable](../../../contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md) so that new assets can be created within the smart contract. +For this example we will use the `Collection` token type. You can create a custom 🌄 [LSP8 Identifiable Digital Asset Collection](../../../standards/tokens/LSP8-Identifiable-Digital-Asset.md) that extends [LSP8Mintable](../../../contracts/contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.md) so that new assets can be created within the smart contract. ```solidity title="contracts/BasicNFTCollection.sol" // SPDX-License-Identifier: MIT diff --git a/docs/learn/digital-assets/nft/read-nft-metadata.md b/docs/learn/digital-assets/nft/read-nft-metadata.md index 1711133355..c9df909a43 100644 --- a/docs/learn/digital-assets/nft/read-nft-metadata.md +++ b/docs/learn/digital-assets/nft/read-nft-metadata.md @@ -389,7 +389,7 @@ Assets created with LSP versions below 🛠️ [`@lukso/lsp-smart-contracts`](/t ::: -You can fetch the [`LSP8TokenMetadataBaseURI`](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenmetadatabaseuri) and build the correct metadata link by concatinating the [formatted](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformat) token ID. Based on the [`LSP8TokenIDFormat`](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformat), the Base URI can either be: +You can fetch the [`LSP8TokenMetadataBaseURI`](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenmetadatabaseuri) and build the correct metadata link by concatenating the [formatted](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformat) token ID. Based on the [`LSP8TokenIDFormat`](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenidformat), the Base URI can either be: - **equal across all token IDs**: To fetch the global Base URI, use the [`getData(...)`](../../../contracts/contracts/ERC725/ERC725.md#getdata) function of the asset to receive the [ERC725Y data storage](/standards/erc725.md#erc725y-generic-data-keyvalue-store). This applies if the [`LSP8TokenIDFormat`](#preparing-the-token-ids) is `0, 1, 2, or 4`. - **mixed across all token IDs**: To fetch the individual Base URI, use the [`getDataFromTokenID(...)`](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#getdatafortokenid) function using a specific token ID. This has to be done if the [`LSP8TokenIDFormat`](#preparing-the-token-ids) is `100, 101, 102, or 104`. @@ -501,7 +501,7 @@ function generateMetadataLink(link: string) { // Use your default IPFS Gateway address return link; } - // If link has custom protocoll, adjust the link + // If link has custom protocol, adjust the link if (link.startsWith('ipfs://')) { // Use your default IPFS Gateway address return `https://api.universalprofile.cloud/ipfs/${link.slice(7)}`; @@ -529,7 +529,7 @@ if (metadataJsonLink) { -If you retrieved the metadata using [`LSP8TokenMetadataBaseURI`](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenmetadatabaseuri), the URL will always be generated by combining the Base URL with previously prepared token ID as Byte32 Hex String. You can simply concatinate them to retrieve the full link. However, the token ID needs to be decoded first. +If you retrieved the metadata using [`LSP8TokenMetadataBaseURI`](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-8-IdentifiableDigitalAsset.md#lsp8tokenmetadatabaseuri), the URL will always be generated by combining the Base URL with previously prepared token ID as Byte32 Hex String. You can simply concatenate them to retrieve the full link. However, the token ID needs to be decoded first.
How to decode a tokenID from Byte32 Hex String according to LSP8TokenIdFormat diff --git a/docs/learn/digital-assets/token/create-lsp7-token.md b/docs/learn/digital-assets/token/create-lsp7-token.md index 914dde09fc..27896d6659 100644 --- a/docs/learn/digital-assets/token/create-lsp7-token.md +++ b/docs/learn/digital-assets/token/create-lsp7-token.md @@ -155,7 +155,7 @@ module.exports = [ ]; ``` -To verify the deployed token, you can use the **blockscout API properties** set up within the [Getting Started](../../../learn/getting-started.mdx) section. If you configured the API, you will be able to run the verification by specifying the _token address_, _paramter file_, and _network_: +To verify the deployed token, you can use the **blockscout API properties** set up within the [Getting Started](../../../learn/getting-started.mdx) section. If you configured the API, you will be able to run the verification by specifying the _token address_, _parameter file_, and _network_: ```bash npx hardhat verify --constructor-args ./verify/myCustomToken.ts --network luksoTestnet diff --git a/docs/learn/other-guides/utilize-ipfs-storage.md b/docs/learn/other-guides/utilize-ipfs-storage.md index 203f68c233..cc78c67df9 100644 --- a/docs/learn/other-guides/utilize-ipfs-storage.md +++ b/docs/learn/other-guides/utilize-ipfs-storage.md @@ -159,7 +159,7 @@ console.log(result_id, ipfs_url); **Using Sense** -To upload files via IPFS using Sense Protocol, please setup api key and add thata as environment variables. +To upload files via IPFS using Sense Protocol, please setup api key and add that as environment variables. ```ts import { SenseUploader } from '@lukso/data-provider-sense'; diff --git a/docs/learn/universal-profile/advanced-guides/extend-profile-functionalities.md b/docs/learn/universal-profile/advanced-guides/extend-profile-functionalities.md index 208f659b70..2ad2f1bc5c 100644 --- a/docs/learn/universal-profile/advanced-guides/extend-profile-functionalities.md +++ b/docs/learn/universal-profile/advanced-guides/extend-profile-functionalities.md @@ -371,7 +371,7 @@ main(); ## Extending InterfaceIds -Extending `interfaceIds` is crucial for Universal Profiles, as many protocols check for support of specific `interfaceIds` before executing calls to certain functions. Extending interfaceIds typically follows a similar approach to extending functions, with the main distinction being the existance of the `supportsInterface` function. +Extending `interfaceIds` is crucial for Universal Profiles, as many protocols check for support of specific `interfaceIds` before executing calls to certain functions. Extending interfaceIds typically follows a similar approach to extending functions, with the main distinction being the existence of the `supportsInterface` function. ### Step 1: Create a Contract Supporting a Specific InterfaceId diff --git a/docs/learn/universal-profile/advanced-guides/upgrade-key-manager.md b/docs/learn/universal-profile/advanced-guides/upgrade-key-manager.md index 9fa5732137..f75253569a 100644 --- a/docs/learn/universal-profile/advanced-guides/upgrade-key-manager.md +++ b/docs/learn/universal-profile/advanced-guides/upgrade-key-manager.md @@ -407,7 +407,7 @@ const testLSP6 = async () => { console.log( `The new owner of the Universal Profile is: ${universalProfileOwner}`, ); - console.log(`The old LSP6 Key Manager is at address: ${keyManagerAdderss}`); + console.log(`The old LSP6 Key Manager is at address: ${keyManagerAddress}`); const keyManager = new web3.eth.Contract( LSP6KeyManager.abi, diff --git a/docs/learn/universal-profile/interactions/transfer-lyx.md b/docs/learn/universal-profile/interactions/transfer-lyx.md index 162d050c91..c0394d4f4e 100644 --- a/docs/learn/universal-profile/interactions/transfer-lyx.md +++ b/docs/learn/universal-profile/interactions/transfer-lyx.md @@ -12,11 +12,11 @@ import TabItem from '@theme/TabItem';
Transfering 0.5 LYXt between two Universal Profiles
-Transfering 0.5 LYXt between two Universal Profiles. +Transferring 0.5 LYXt between two Universal Profiles.

diff --git a/docs/learn/universal-profile/interactions/transfer-tokens-and-nfts.md b/docs/learn/universal-profile/interactions/transfer-tokens-and-nfts.md index 02c44b9e70..c22900a73a 100644 --- a/docs/learn/universal-profile/interactions/transfer-tokens-and-nfts.md +++ b/docs/learn/universal-profile/interactions/transfer-tokens-and-nfts.md @@ -12,10 +12,10 @@ import TabItem from '@theme/TabItem';
Transfering 1,000 CHILL tokens or a Chillwhale NFT between two Universal Profiles
-Transfering 1,000 CHILL tokens between two Universal Profiles. +Transferring 1,000 CHILL tokens between two Universal Profiles.

@@ -66,7 +66,7 @@ Call the [LSP7 `transfer(address,address,uint256,bool,bytes)`](../../../contract > Since most tokens have 18 [`decimals()`](../../../contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset.md#decimals), make sure to specify the `amount` with 18 decimals place. For instance, if you want to transfer 8 tokens the `amount` parameter will be: `8_000_000_000_000_000_000` ✅, not `8` ❌. -> Otherwise, the transfer might have occured but you might not see the balance of the recipient updated, since you transferred only a tiny small amount (`8` for a token with 18 decimals is basically 1 / 1e18). To do so easily, use one of number utility function from _ethers.js_ or _web3.js_. +> Otherwise, the transfer might have occurred but you might not see the balance of the recipient updated, since you transferred only a tiny small amount (`8` for a token with 18 decimals is basically 1 / 1e18). To do so easily, use one of number utility function from _ethers.js_ or _web3.js_. diff --git a/docs/learn/universal-profile/key-manager/execute-relay-transactions.md b/docs/learn/universal-profile/key-manager/execute-relay-transactions.md index fc07d98c76..3fedcda4bc 100644 --- a/docs/learn/universal-profile/key-manager/execute-relay-transactions.md +++ b/docs/learn/universal-profile/key-manager/execute-relay-transactions.md @@ -422,7 +422,7 @@ You can find more information about `executeRelayCall` within the [LSP6 Contract ::: -To execute a previously signed transaction, the relayer will need all the following informations: +To execute a previously signed transaction, the relayer will need all the following information: - `signature` generated in **step 2.3**. - `nonce` of the signing controller. @@ -430,7 +430,7 @@ To execute a previously signed transaction, the relayer will need all the follow - `abiPayload` as abi-encoded function call to execute on the 🆙. - `keyManagerAddress` associated with the Universal Profile we want to execute on. -The relayer can now call the [`executeRelayCall`](../../../contracts/contracts/LSP6KeyManager/LSP6KeyManager.md#executerelaycall) function on the Key Manager (`keyManagerAddress`) of the profile, passing all these informations as function arguments. +The relayer can now call the [`executeRelayCall`](../../../contracts/contracts/LSP6KeyManager/LSP6KeyManager.md#executerelaycall) function on the Key Manager (`keyManagerAddress`) of the profile, passing all these information as function arguments. diff --git a/docs/learn/universal-profile/key-manager/grant-permissions.md b/docs/learn/universal-profile/key-manager/grant-permissions.md index 5eadb01a37..0b322a1d91 100644 --- a/docs/learn/universal-profile/key-manager/grant-permissions.md +++ b/docs/learn/universal-profile/key-manager/grant-permissions.md @@ -267,4 +267,4 @@ console.log( Finally, to test the actual permissions, you can do this guide using a `beneficiaryAddress` that you have control over. -You can try the [**Edit Universal Profile**](../metadata/edit-profile.md) guide, using this new 3rd party address that you have control over to test if it can successfull edit the profile details. This will give you guarantee that this `beneficiaryAddress` has the `SETDATA` permission working. +You can try the [**Edit Universal Profile**](../metadata/edit-profile.md) guide, using this new 3rd party address that you have control over to test if it can successfully edit the profile details. This will give you guarantee that this `beneficiaryAddress` has the `SETDATA` permission working. diff --git a/docs/learn/universal-profile/metadata/read-profile-data.md b/docs/learn/universal-profile/metadata/read-profile-data.md index 1005e7b8fc..0bda80e8e1 100644 --- a/docs/learn/universal-profile/metadata/read-profile-data.md +++ b/docs/learn/universal-profile/metadata/read-profile-data.md @@ -40,7 +40,7 @@ npm install @erc725/erc725.js The parameters to provide to the erc725 instance are: - [Schema](https://github.com/ERC725Alliance/erc725.js/tree/develop/schemas): specifies which data keys will be used to retrieve data from the Universal Profile. -- Univeral Profile address: the address of the Universal Profile you want to retrieve data from. +- Universal Profile address: the address of the Universal Profile you want to retrieve data from. - Optional only for retrieving decoded data: RPC provider (web3, ethereum, ethers) or plain RPC url of [mainnet](../../../networks/mainnet/parameters.md) or [testnet](../../../networks/testnet/parameters.md) networks. ```js title="Creating an erc725 instance to read data from a Universal Profile" @@ -59,7 +59,7 @@ const erc725js = new ERC725( ## Get all profile data -Use the `await erc725js.getData()` functon from _erc725.js_ without passing any parameter. +Use the `await erc725js.getData()` function from _erc725.js_ without passing any parameter. ```js title="Get all profile data" import { ERC725 } from '@erc725/erc725.js'; diff --git a/docs/learn/universal-profile/universal-receiver/accept-reject-assets.md b/docs/learn/universal-profile/universal-receiver/accept-reject-assets.md index 8c4932911e..0bd9f5d87c 100644 --- a/docs/learn/universal-profile/universal-receiver/accept-reject-assets.md +++ b/docs/learn/universal-profile/universal-receiver/accept-reject-assets.md @@ -44,7 +44,7 @@ A full list of LSP1 TypeIds that can be filtered from the `UniversalReceiver` ev // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; -// This code is only used for guides puprose, it is working but not verified nor audited. +// This code is only used for guides purpose, it is working but not verified nor audited. // modules import {LSP1UniversalReceiverDelegateUP} from "@lukso/lsp-smart-contracts/contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP/LSP1UniversalReceiverDelegateUP.sol"; diff --git a/docs/learn/universal-profile/universal-receiver/create-receiver-forwarder.md b/docs/learn/universal-profile/universal-receiver/create-receiver-forwarder.md index 848bec4f36..a346f87ff7 100644 --- a/docs/learn/universal-profile/universal-receiver/create-receiver-forwarder.md +++ b/docs/learn/universal-profile/universal-receiver/create-receiver-forwarder.md @@ -210,7 +210,7 @@ contract LSP1Forwarder is ERC165, ILSP1Delegate { return "Token not in allowlist"; } - // extract data (we only need the amount that was transfered / minted) + // extract data (we only need the amount that was transferred / minted) (, , , uint256 amount, ) = abi.decode( data, (address, address, address, uint256, bytes) @@ -395,7 +395,7 @@ contract LSP1Forwarder is ERC165, ILSP1Delegate { return "Token not in allowlist"; } - // extract data (we only need the amount that was transfered / minted) + // extract data (we only need the amount that was transferred / minted) (, , , uint256 amount, ) = abi.decode( data, (address, address, address, uint256, bytes) diff --git a/docs/learn/vault/edit-vault-data.md b/docs/learn/vault/edit-vault-data.md index 47d516b996..9f6cabbcf0 100644 --- a/docs/learn/vault/edit-vault-data.md +++ b/docs/learn/vault/edit-vault-data.md @@ -363,7 +363,7 @@ const updateVaultURD = async (vaultURDAddress) => { }); }; -// update the curent Vault's URD +// update the current Vault's URD await updateVaultURD(vaultURDAddress); ``` @@ -395,7 +395,7 @@ const updateVaultURD = async (vaultURDAddress) => { ); }; -// update the curent Vault's URD +// update the current Vault's URD await updateVaultURD(vaultURDAddress); ``` @@ -477,7 +477,7 @@ const updateVaultURD = async (vaultURDAddress) => { // deploy a new Vault URD and retrieve its address const vaultURDAddress = await deployVaultURD(); -// update the curent Vault's URD +// update the current Vault's URD await updateVaultURD(vaultURDAddress); ``` @@ -543,7 +543,7 @@ const updateVaultURD = async (vaultURDAddress) => { // deploy a new Vault URD and retrieve its address const vaultURDAddress = await deployVaultURD(); -// update the curent Vault's URD +// update the current Vault's URD await updateVaultURD(vaultURDAddress); ``` diff --git a/docs/learn/vault/interact-with-contracts.md b/docs/learn/vault/interact-with-contracts.md index 14b0686f0d..1dcd49a027 100644 --- a/docs/learn/vault/interact-with-contracts.md +++ b/docs/learn/vault/interact-with-contracts.md @@ -39,7 +39,7 @@ To complete this mini-guide, we will need: :::info -The chosen EOA needs to have [**CALL Permission**](../../standards/access-control/lsp6-key-manager.md#permissions) together with [**AllowedCalls**](../../standards/access-control/lsp6-key-manager.md#allowed-calls) or [**SUPER_CALL Pemrission**](../../standards/access-control/lsp6-key-manager.md#super-permissions) +The chosen EOA needs to have [**CALL Permission**](../../standards/access-control/lsp6-key-manager.md#permissions) together with [**AllowedCalls**](../../standards/access-control/lsp6-key-manager.md#allowed-calls) or [**SUPER_CALL Permission**](../../standards/access-control/lsp6-key-manager.md#super-permissions) ::: diff --git a/docs/networks/testnet/running-a-node.md b/docs/networks/testnet/running-a-node.md index d180cac706..3f972d5eae 100644 --- a/docs/networks/testnet/running-a-node.md +++ b/docs/networks/testnet/running-a-node.md @@ -8,7 +8,7 @@ description: 'Run a Testnet LUKSO node with one of the three options: Dappnode, :::info -Running a testnet node is very similar to running a mainnet node. Therefore, we recommand you to read the [mainnet version](../mainnet/running-a-node.md) first and to adjust the commands with the instructions provided here. +Running a testnet node is very similar to running a mainnet node. Therefore, we recommend you to read the [mainnet version](../mainnet/running-a-node.md) first and to adjust the commands with the instructions provided here. ::: diff --git a/docs/standards/access-control/lsp14-ownable-2-step.md b/docs/standards/access-control/lsp14-ownable-2-step.md index 81bfc3441f..3b3b5d26a6 100644 --- a/docs/standards/access-control/lsp14-ownable-2-step.md +++ b/docs/standards/access-control/lsp14-ownable-2-step.md @@ -34,7 +34,7 @@ What is needed is a safer mechanism for managing contract ownership. **LSP14 - Ownable2Step** is an extended version of [EIP173 - Contract Ownership Standard](https://eips.ethereum.org/EIPS/eip-173) that uses a 2-step process for transferring and renouncing ownership. -**LSP14 - Ownable2Step** modifies the processes of _tranferring and renouncing ownership_ in the following way: +**LSP14 - Ownable2Step** modifies the processes of _transferring and renouncing ownership_ in the following way: 1. For _transferring ownership_ the method `transferOwnership(...)` is modified in a way so the **address** passed as parameter will not be the owner directly but a pending owner. A new method is introduced, `acceptOwnership()`, which should be called by the **pending owner** in order for the process of _transferring ownership_ to be complete. @@ -68,7 +68,7 @@ The hook is executed whenever the owner _initiates the process of transferring o #### Accept Ownership Hooks These hooks are designed to _notify the previous and new owner_ when ownership of the contract has been fully transferred. One hook notifies the previous owner and the second one notifies the new owner. -Each hook is executed whenever the _new owner confirms the process of tranferring ownership_. +Each hook is executed whenever the _new owner confirms the process of transferring ownership_. - The hook that notifies the previous owner is only executed if the previous owner is a contract that **implements LSP1**. - The hook that notifies the new owner is only executed if the new owner is a contract that **implements LSP1**. @@ -77,10 +77,10 @@ Each hook is executed whenever the _new owner confirms the process of tranferrin ### Renouncing the contract ownership -The control of the contract is refully renounced _once the owner of the contract confirmes the ownership renouncement_. The 2 steps of ownership renouncement are described below: +The control of the contract is fully renounced _once the owner of the contract confirms the ownership renouncement_. The 2 steps of ownership renouncement are described below: -1. The owner initiates the process of ownerhsip renouncement via the ['renounceOwnership()'](../../contracts/contracts/LSP14Ownable2Step/LSP14Ownable2Step.md#renounceownership) function. +1. The owner initiates the process of ownership renouncement via the ['renounceOwnership()'](../../contracts/contracts/LSP14Ownable2Step/LSP14Ownable2Step.md#renounceownership) function. -2. After waiting for 200 blocks to pass from the intiation of the ownership renouncement process the owner has a window of 200 block for confirming the renouncement via ['renounceOwnership()'](../../contracts/contracts/LSP14Ownable2Step/LSP14Ownable2Step.md#renounceownership). If the owner doesn't confirm in that window of time, the process cannot be confirmed and the owner must start again if it was intended to renounce ownership. +2. After waiting for 200 blocks to pass from the initiation of the ownership renouncement process the owner has a window of 200 block for confirming the renouncement via ['renounceOwnership()'](../../contracts/contracts/LSP14Ownable2Step/LSP14Ownable2Step.md#renounceownership). If the owner doesn't confirm in that window of time, the process cannot be confirmed and the owner must start again if it was intended to renounce ownership. ![Renounce Ownership](/img/standards/lsp14/renounce-ownership.jpeg) diff --git a/docs/standards/access-control/lsp6-key-manager.md b/docs/standards/access-control/lsp6-key-manager.md index 4a376bbe30..aa8ddcd947 100644 --- a/docs/standards/access-control/lsp6-key-manager.md +++ b/docs/standards/access-control/lsp6-key-manager.md @@ -63,7 +63,7 @@ While the Key Manager allows for a very fine-grained control over the Universal **Good practices:** -1. Split the permissions over the Universal Profile accross different devices, hardware wallets or a combination of both. +1. Split the permissions over the Universal Profile across different devices, hardware wallets or a combination of both. 2. Make sure to double or triple check when granting permissions to 3rd parties (other Universal Profiles, DApps, etc.). ::: @@ -93,7 +93,7 @@ The `ADDCONTROLLER` permission enables to grant permissions to new addresses tha The `ADDCONTROLLER` permission is needed to: -- Give a new address some permission(s) by setting its permissions under `AddressPermissions:Permissions:` (this is also refered to _"adding a new controller"_) +- Give a new address some permission(s) by setting its permissions under `AddressPermissions:Permissions:` (this is also referred to _"adding a new controller"_) - Add a new controller address in the list of `AddressPermissions[index]` at a specific `index`. - Increase the length of the `AddressPermissions[]` Array length (to describe that a new controller has been added). @@ -194,7 +194,7 @@ _Example:_ One of the best uses for this permission is the following scenario: -1. The ERC725Acccount linked to the Key Manager makes an external call to a _contract A_. +1. The ERC725Account linked to the Key Manager makes an external call to a _contract A_. 2. _Contract A_ will make some internal updates using the received data. 3. The _contract A_ will then call back the ERC725Account **(via the Key Manager)** with another payload that will update the account storage. @@ -627,7 +627,7 @@ If you want to have multiple different interactions, you MUST add each of the de
Example 1: allow only to CALL a specific LSP0 at a specific address -To allow a controller to only do `CALL` to any function on a LSP0ERC725Account (interface ID `0x3e89ad98`) deployed at address `0xCA41e4ea94c8fA99889c8EA2c8948768cBaf4bc0`, the following value for the CompactBYytesArray of allowed calls will be used: +To allow a controller to only do `CALL` to any function on a LSP0ERC725Account (interface ID `0x3e89ad98`) deployed at address `0xCA41e4ea94c8fA99889c8EA2c8948768cBaf4bc0`, the following value for the CompactBytesArray of allowed calls will be used: `0x002000000002CA41e4ea94c8fA99889c8EA2c8948768cBaf4bc03e89ad98ffffffff` @@ -775,7 +775,7 @@ A CompactBytesArray for these 3 different ERC725Y Data Keys would look like this } ``` -Below is an example use case. An ERC725Account can allow some applications to add/edit informations on its storage via `setData(...)`. The account can restrict such Dapps and protocols to edit the data keys that are only relevant to the logic of their applications. +Below is an example use case. An ERC725Account can allow some applications to add/edit information on its storage via `setData(...)`. The account can restrict such Dapps and protocols to edit the data keys that are only relevant to the logic of their applications. ![LSP6 Allowed ERC725YDataKeys overview](/img/standards/lsp6/lsp6-allowed-erc725ydatakeys-overview.jpeg) diff --git a/docs/standards/accounts/lsp0-erc725account.md b/docs/standards/accounts/lsp0-erc725account.md index 569120d5e6..5ba6e3a884 100644 --- a/docs/standards/accounts/lsp0-erc725account.md +++ b/docs/standards/accounts/lsp0-erc725account.md @@ -1,7 +1,7 @@ --- sidebar_label: 'LSP0 - ERC725 Account' sidebar_position: 2 -descriotion: LUKSO's LSP0 - ERC725 Account. +description: LUKSO's LSP0 - ERC725 Account. --- # LSP0 - ERC725 Account diff --git a/docs/standards/accounts/lsp1-universal-receiver.md b/docs/standards/accounts/lsp1-universal-receiver.md index 6b21004802..c67295a35b 100644 --- a/docs/standards/accounts/lsp1-universal-receiver.md +++ b/docs/standards/accounts/lsp1-universal-receiver.md @@ -66,7 +66,7 @@ For example, **to notify the recipient that he is about to receive tokens**, dur - bytes32 `typeId`: **Hash**('ERCXXXXTokenReceived') - bytes `data`: **packedData**(amount of token sent, the sender address, the block timestamp) -In this way, instead of **listening to all the events of the token contrats on the network**, and checking which one of these transfers is relative to the recipient, users can listen to the **[UniversalReceiver](../../contracts/contracts/LSP0ERC725Account/LSP0ERC725Account.md#universalreceiver-1)** event on the contract implementing the `universalReceiver(..)` and know the token transfer details. +In this way, instead of **listening to all the events of the token contracts on the network**, and checking which one of these transfers is relative to the recipient, users can listen to the **[UniversalReceiver](../../contracts/contracts/LSP0ERC725Account/LSP0ERC725Account.md#universalreceiver-1)** event on the contract implementing the `universalReceiver(..)` and know the token transfer details. As well as emitting an event, the `universalReceiver(...)` function can implement **custom logic** to make the contract behave differently based on the data received. Some ideas include: diff --git a/docs/standards/accounts/lsp15-transaction-relayer-api.md b/docs/standards/accounts/lsp15-transaction-relayer-api.md index 7f2f788fd4..0cf75f32b9 100644 --- a/docs/standards/accounts/lsp15-transaction-relayer-api.md +++ b/docs/standards/accounts/lsp15-transaction-relayer-api.md @@ -57,7 +57,7 @@ Executes a signed transaction on behalf of a Universal Profile using [`executeRe Returns the available quota left for a registered Universal Profile. -- `signature` is the message value signed by a controller key with the [`SIGN` permission](../access-control/lsp6-key-manager#permissions) of the Universal Profile. The hash to sign should be calculated as [EIP-712](https://eips.ethereum.org/EIPS/eip-712) hash where the message is `keccack256(address, timestamp)`. Make sure that no matter the language or platform timestamp is of type `int`, `int256`, `uint` or `uint256`. In the backend the message is reconstructed using [soliditysha3()](https://web3js.readthedocs.io/en/v1.7.4/web3-utils.html#soliditysha3) to verify the signature. +- `signature` is the message value signed by a controller key with the [`SIGN` permission](../access-control/lsp6-key-manager#permissions) of the Universal Profile. The hash to sign should be calculated as [EIP-712](https://eips.ethereum.org/EIPS/eip-712) hash where the message is `keccak256(address, timestamp)`. Make sure that no matter the language or platform timestamp is of type `int`, `int256`, `uint` or `uint256`. In the backend the message is reconstructed using [soliditysha3()](https://web3js.readthedocs.io/en/v1.7.4/web3-utils.html#soliditysha3) to verify the signature. [Web3.js](https://web3js.readthedocs.io/en/v1.8.0/web3-eth-accounts.html?#sign) and [ethers.js](https://docs.ethers.io/v5/api/signer/#Signer-signMessage) both automatically hash when using their native sign functions. This may need to be done manually if using a different library. diff --git a/docs/standards/accounts/lsp17-contract-extension.md b/docs/standards/accounts/lsp17-contract-extension.md index d4d58b776d..617dc75570 100644 --- a/docs/standards/accounts/lsp17-contract-extension.md +++ b/docs/standards/accounts/lsp17-contract-extension.md @@ -72,7 +72,7 @@ The 52 bytes of additional calldata appended to the call to the extension contra While contracts can deploy and customize their own extensions, many smart contracts **share almost the same logic** for certain functions. In this case, the same extensions can be re-used by different contracts supporting LSP17. -For example, **_smart contract A & B_** are two independant contracts that implement different functions but share the same logic for verifying signatures. Therefore, they can use the same extension for signature validation for the `isValidSignature(..)` function. +For example, **_smart contract A & B_** are two independent contracts that implement different functions but share the same logic for verifying signatures. Therefore, they can use the same extension for signature validation for the `isValidSignature(..)` function. ![Two contracts sharing the same LSP17 Extension](/img/standards/lsp17/ShareExtension.jpeg) diff --git a/docs/standards/accounts/lsp25-execute-relay-call.md b/docs/standards/accounts/lsp25-execute-relay-call.md index 86931d5ed3..dad1d1b464 100644 --- a/docs/standards/accounts/lsp25-execute-relay-call.md +++ b/docs/standards/accounts/lsp25-execute-relay-call.md @@ -1,7 +1,7 @@ --- title: LSP25 - Execute Relay Call sidebar_position: 9 -description: Learn about meta transactions using the LSP25 Execute Relay Call standards and how to use multi-channel nonces to dispatch transactions that are order independant or not. +description: Learn about meta transactions using the LSP25 Execute Relay Call standards and how to use multi-channel nonces to dispatch transactions that are order independent or not. --- # LSP25 - Execute Relay Call diff --git a/docs/standards/factories/lsp16-universal-factory.md b/docs/standards/factories/lsp16-universal-factory.md index 2e0709ec4c..3d904138aa 100644 --- a/docs/standards/factories/lsp16-universal-factory.md +++ b/docs/standards/factories/lsp16-universal-factory.md @@ -21,7 +21,7 @@ LSP16 introduces a universal factory for deploying smart contracts using the CRE ## Introduction -The use of different blockchain networks has brought with it a unique challenge: ensuring that an entity or user controlling an address on one chain can have the same control on another chain. For Externally Owned Accounts, this is known, as possesing the private key of the address means control over it regardless of the chain. +The use of different blockchain networks has brought with it a unique challenge: ensuring that an entity or user controlling an address on one chain can have the same control on another chain. For Externally Owned Accounts, this is known, as possessing the private key of the address means control over it regardless of the chain. ![EOA Control](/img/standards/lsp16/EOA-Control.jpeg) @@ -35,7 +35,7 @@ Therefore, it's preferable to opt for a situation that can allow for the creatio ## What does this standard represent? -This standard defines a contract called **Universal Factory** which provide a way to deploy the same contracts at the same addresses accross different chains given few requirements. +This standard defines a contract called **Universal Factory** which provide a way to deploy the same contracts at the same addresses across different chains given few requirements. ![UniversalFactory](/img/standards/lsp16/UniversalFactory.jpeg) @@ -57,7 +57,7 @@ For initializable contracts, the initialization data is included into the salt t Additionally, it ensures that the same bytecode and salt will create the same contract address on different chains, given that the UniversalFactory contract was deployed on the same address on each chain. -For a contract to be replicated at the same address accross different chain, it should be deployed using the same: +For a contract to be replicated at the same address across different chain, it should be deployed using the same: - Bytecode - Salt diff --git a/docs/standards/factories/lsp23-linked-contracts-factory.md b/docs/standards/factories/lsp23-linked-contracts-factory.md index 22bb76b6f1..c3322d4b08 100644 --- a/docs/standards/factories/lsp23-linked-contracts-factory.md +++ b/docs/standards/factories/lsp23-linked-contracts-factory.md @@ -18,7 +18,7 @@ LSP 23 simplifies the deployment of interdependent smart contracts by providing Deploying smart contracts that are interdependent can be a complex process. Often, two or more contracts need each other's addresses at deployment, creating a circular dependency that can be challenging to resolve. -![Circular Depedency](/img/standards/lsp23/circular-dependency.jpeg) +![Circular Dependency](/img/standards/lsp23/circular-dependency.jpeg) The LSP23 Linked Contracts Factory addresses this issue by providing a unified interface for deploying linked contracts with an optional post-deployment execution. This standard simplifies the deployment of complex contract systems, making it easier for developers to deploy interdependent contracts without the need for manual intervention. diff --git a/docs/standards/introduction.md b/docs/standards/introduction.md index 9d9e5eaffd..018bc83aad 100644 --- a/docs/standards/introduction.md +++ b/docs/standards/introduction.md @@ -1,6 +1,6 @@ --- title: 'Introduction' -description: Introduction to LSPs (LUKSO Standars Proposals). +description: Introduction to LSPs (LUKSO Standard Proposals). --- import StandardsGallery from '@site/src/components/StandardsGallery'; diff --git a/docs/standards/metadata/lsp2-json-schema.md b/docs/standards/metadata/lsp2-json-schema.md index 8390a52f99..1d5da93f3b 100644 --- a/docs/standards/metadata/lsp2-json-schema.md +++ b/docs/standards/metadata/lsp2-json-schema.md @@ -56,7 +56,7 @@ By introducing a schema, we can represent contract storage in the same way acros LSP2 introduces new ways to encode data, depending on its type. From single to multiple entries (like arrays or maps). -A data key in the contract storage can be defined as a JSON object with properties that describe the key. The schema includes informations about the data key itself, as well as its value to explain what this data represents. +A data key in the contract storage can be defined as a JSON object with properties that describe the key. The schema includes information about the data key itself, as well as its value to explain what this data represents. ```json { diff --git a/docs/standards/tokens/LSP4-Digital-Asset-Metadata.md b/docs/standards/tokens/LSP4-Digital-Asset-Metadata.md index 47a4dd60bc..e9d76db520 100644 --- a/docs/standards/tokens/LSP4-Digital-Asset-Metadata.md +++ b/docs/standards/tokens/LSP4-Digital-Asset-Metadata.md @@ -162,7 +162,7 @@ LSP4 defines 3 default token types (see [table above](./LSP4-Digital-Asset-Metad } ``` -The value attached to this data key repesents the type of token of the digital asset. The defaults values are: +The value attached to this data key represents the type of token of the digital asset. The defaults values are: - 0 (Token) - 1 (NFT) diff --git a/docs/standards/tokens/LSP7-Digital-Asset.md b/docs/standards/tokens/LSP7-Digital-Asset.md index a987f814cd..656b5f44a7 100644 --- a/docs/standards/tokens/LSP7-Digital-Asset.md +++ b/docs/standards/tokens/LSP7-Digital-Asset.md @@ -59,7 +59,7 @@ To ensure a flexible and generic asset representation, the token contract should :::caution -When LSP7 assets are transfered, the LSP7 contract will notify the token sender and recipient using [`_notifyTokenSender(...)`](../../contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset.md#_notifytokensender) and [`_notifyTokenReceiver(...)`](../../contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset.md#_notifytokenreceiver). +When LSP7 assets are transferred, the LSP7 contract will notify the token sender and recipient using [`_notifyTokenSender(...)`](../../contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset.md#_notifytokensender) and [`_notifyTokenReceiver(...)`](../../contracts/contracts/LSP7DigitalAsset/LSP7DigitalAsset.md#_notifytokenreceiver). **These methods will make external calls** to the [`universalReceiver(...)`](../../contracts/contracts/LSP0ERC725Account/LSP0ERC725Account.md#universalreceiver) functions of both the sender and recipient. diff --git a/docs/standards/tokens/LSP8-Identifiable-Digital-Asset.md b/docs/standards/tokens/LSP8-Identifiable-Digital-Asset.md index 41a467de12..02e1223c71 100644 --- a/docs/standards/tokens/LSP8-Identifiable-Digital-Asset.md +++ b/docs/standards/tokens/LSP8-Identifiable-Digital-Asset.md @@ -125,7 +125,7 @@ During an **ERC721 token transfer**, the ownership of the tokenId is changed fro ![ERC721 Transfer](/img/standards/lsp8/erc721-transfer.jpeg) -During an **LSP8 token transfer**, as well as updating the tokenId ownership, both the sender and recipient are informed of the transfer by calling the **[`universalReceiever(...)`](../accounts/lsp1-universal-receiver.md#lsp1---universal-receiver)** function on their profiles. +During an **LSP8 token transfer**, as well as updating the tokenId ownership, both the sender and recipient are informed of the transfer by calling the **[`universalReceiver(...)`](../accounts/lsp1-universal-receiver.md#lsp1---universal-receiver)** function on their profiles. ![LSP8 Transfer](/img/standards/lsp8/lsp8-transfer.jpeg) diff --git a/docs/tools/apis/up-rpc-api.md b/docs/tools/apis/up-rpc-api.md index 4b9b8c45cf..d84b39f0a9 100644 --- a/docs/tools/apis/up-rpc-api.md +++ b/docs/tools/apis/up-rpc-api.md @@ -70,7 +70,7 @@ It requests that the user provides an Ethereum address that should sign the tran #### Returns -`string` - on a successful call the method returns a signature, a string representing hex encoded bytes or an error with code `4001` - if the user rejects the requets +`string` - on a successful call the method returns a signature, a string representing hex encoded bytes or an error with code `4001` - if the user rejects the request ### personal_sign diff --git a/docs/tools/dapps/eip191-signerjs/getting-started.md b/docs/tools/dapps/eip191-signerjs/getting-started.md index b196dbf764..1ea901ae15 100644 --- a/docs/tools/dapps/eip191-signerjs/getting-started.md +++ b/docs/tools/dapps/eip191-signerjs/getting-started.md @@ -18,7 +18,7 @@ The following format is used to sign data : In the case of an Ethereum Signed Message: - 1 byte version = `0x45` -- version specific data = `thereum Signed Message:\n + len(message)` +- version specific data = `Ethereum Signed Message:\n + len(message)` In the case of data with intended validator: diff --git a/docs/tools/dapps/erc725js/methods.md b/docs/tools/dapps/erc725js/methods.md index 1b3b3a0fa7..a147007c1a 100644 --- a/docs/tools/dapps/erc725js/methods.md +++ b/docs/tools/dapps/erc725js/methods.md @@ -278,7 +278,7 @@ myErc725.encodeData( const schemas = [ { name: 'DynamicKey::', - key: '0xForDynamicKeysThisFieldIsIrrelevantAndWillBeOverwriten', + key: '0xForDynamicKeysThisFieldIsIrrelevantAndWillBeOverwritten', keyType: 'Mapping', valueType: 'bytes', valueContent: 'Address', @@ -1477,7 +1477,7 @@ The name(s) (or the encoded name(s) as schema key) of the element(s) in the smar ```javascript title="Receiving all keys from the schema" import ERC725 from '@erc725/erc725.js'; -import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.sjon'; +import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.json'; const universalProfileAddress = '0x0F4180da178ed1C71398a57ca8Cb177F69591f1f'; const myErc725 = new ERC725(LSP3Schemas, universalProfileAddress); @@ -1523,7 +1523,7 @@ await myErc725.fetchData(); ```javascript title="Receiving one key from the schema" import ERC725 from '@erc725/erc725.js'; -import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.sjon'; +import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.json'; const universalProfileAddress = '0x0F4180da178ed1C71398a57ca8Cb177F69591f1f'; const myErc725 = new ERC725(LSP3Schemas, universalProfileAddress); @@ -1552,7 +1552,7 @@ await myErc725.fetchData(['LSP1UniversalReceiverDelegate']); ```javascript title="Receiving multiple keys from the schema" import ERC725 from '@erc725/erc725.js'; -import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.sjon'; +import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.json'; const universalProfileAddress = '0x0F4180da178ed1C71398a57ca8Cb177F69591f1f'; const myErc725 = new ERC725(LSP3Schemas, universalProfileAddress); @@ -1642,7 +1642,7 @@ The name(s) (or the encoded name(s) as schema key) of the element(s) in the smar ```javascript title="Receiving all keys from the schema" import ERC725 from '@erc725/erc725.js'; -import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.sjon'; +import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.json'; const universalProfileAddress = '0x0F4180da178ed1C71398a57ca8Cb177F69591f1f'; const myErc725 = new ERC725(LSP3Schemas, universalProfileAddress); @@ -1695,7 +1695,7 @@ await myErc725.getData(); ```javascript title="Receiving one key from the schema" import ERC725 from '@erc725/erc725.js'; -import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.sjon'; +import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.json'; const universalProfileAddress = '0x0F4180da178ed1C71398a57ca8Cb177F69591f1f'; const myErc725 = new ERC725(LSP3Schemas, universalProfileAddress); @@ -1746,7 +1746,7 @@ await myErc725.getData('LSP1UniversalReceiverDelegate'); ```javascript title="Receiving multiple keys from the schema" import ERC725 from '@erc725/erc725.js'; -import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.sjon'; +import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.json'; const universalProfileAddress = '0x0F4180da178ed1C71398a57ca8Cb177F69591f1f'; const myErc725 = new ERC725(LSP3Schemas, universalProfileAddress); @@ -1778,7 +1778,7 @@ await myErc725.getData(['LSP3Profile', 'LSP1UniversalReceiverDelegate']); ```javascript title="Receiving dynamic keys from the schema" import ERC725 from '@erc725/erc725.js'; -import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.sjon'; +import LSP3Schemas from '@erc725/erc725.js/schemas/LSP3ProfileMetadata.json'; const luksoUniversalProfile = '0x8363Cfe6c787218f0ADA0A4aBC289A8d9dfc2453'; const myErc725 = new ERC725(LSP3Schemas, luksoUniversalProfile); @@ -2730,7 +2730,7 @@ The encoded permission (32bytes hex). | Name | Type | Description | | :------------------- | :----- | :------------------------------------------------------------------------------------------------- | -| `decodedPermissions` | Object | An object specifying whether default LSP6 permissions are included in provided hexademical string. | +| `decodedPermissions` | Object | An object specifying whether default LSP6 permissions are included in provided hexadecimal string. | #### Example diff --git a/docs/tools/dapps/lsp-utils/LSP23LinkedContractsFactory.md b/docs/tools/dapps/lsp-utils/LSP23LinkedContractsFactory.md index 2781cf5230..4f72a5ac9b 100644 --- a/docs/tools/dapps/lsp-utils/LSP23LinkedContractsFactory.md +++ b/docs/tools/dapps/lsp-utils/LSP23LinkedContractsFactory.md @@ -13,7 +13,7 @@ Deploy Universal Profile with Key Manager using LSP23 Linked Contracts Factory. | Name | Type | Description | | :---------------------- | :------------------- | :-------------------------------------------------------------------------------- | | `signer` | `Signer` \| `Wallet` | The signer used to deploy the contracts, needs to have native token for gas fees. | -| `mainController` | `BytesLike` | The main controller for the Unviersal Profile. | +| `mainController` | `BytesLike` | The main controller for the Universal Profile. | | `additionalDataKeys` | `BytesLike`[] | Data keys that you want to set on deployment. | | `additionalDataValues` | `BytesLike`[] | Data values that you want to set on deployment. | | `additionalControllers` | `LSP6Controller`[] | Additional controllers for the deployed Universal Profile. | diff --git a/docs/tools/dapps/lsp-utils/LSP4DigitalAssetMetadata.md b/docs/tools/dapps/lsp-utils/LSP4DigitalAssetMetadata.md index 0dd19811c1..bb363edf13 100644 --- a/docs/tools/dapps/lsp-utils/LSP4DigitalAssetMetadata.md +++ b/docs/tools/dapps/lsp-utils/LSP4DigitalAssetMetadata.md @@ -13,7 +13,7 @@ Add LSP4 Creators to the digital asset contract that supports ERC725Y. | Name | Type | Description | | :------------- | :----------------------- | :----------------------------------------------------------------------------------- | | `digitalAsset` | `BytesLike` \| `ERC725Y` | - | -| `newCreators` | `Issuer`[] | An array of creators which specifies the address and interface id of each creatotor. | +| `newCreators` | `Issuer`[] | An array of creators which specifies the address and interface id of each creator. | | `signer?` | `Signer` \| `Wallet` | The signer that will send the transaction. | #### Returns diff --git a/docs/tools/dapps/lsp-utils/LSP5ReceivedAssets.md b/docs/tools/dapps/lsp-utils/LSP5ReceivedAssets.md index f0e09e9494..fc296746be 100644 --- a/docs/tools/dapps/lsp-utils/LSP5ReceivedAssets.md +++ b/docs/tools/dapps/lsp-utils/LSP5ReceivedAssets.md @@ -12,7 +12,7 @@ Generate an array of Data Key/Value pairs to be set on the receiver address afte | Name | Type | Description | | :----------------- | :----------------- | :---------------------------------------------------------------------- | -| `erc725YContract` | `UniversalProfile` | The contract instance of the asset reciever. | +| `erc725YContract` | `UniversalProfile` | The contract instance of the asset receiver. | | `assetAddress` | `BytesLike` | The address of the asset being received (_e.g: an LSP7 or LSP8 token_). | | `assetInterfaceId` | `BytesLike` | The interfaceID of the asset being received. | diff --git a/docs/tools/dapps/lsp-utils/LSP6KeyManager.md b/docs/tools/dapps/lsp-utils/LSP6KeyManager.md index e117d47956..90dd9ea48f 100644 --- a/docs/tools/dapps/lsp-utils/LSP6KeyManager.md +++ b/docs/tools/dapps/lsp-utils/LSP6KeyManager.md @@ -169,7 +169,7 @@ Decode a hex value, containing a `BitArray` of permissions. The `AddressPermissi | Name | Type | Description | | :------------------------ | :------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `permissions` | `BytesLike` | A hex value, containing a BitArray of permissions. | -| `decodedPermissionsType?` | `"bigint"` \| `"boolean"` \| `"BytesLike"` \| `"LSP6PermissionName"` | Optional param, defaults to `LSP6PermissionName`. Can be used to specfiy the type of the return array. Options: - `BytesLike` - `bigint` - `boolean` - `LSP6PermissionName` | +| `decodedPermissionsType?` | `"bigint"` \| `"boolean"` \| `"BytesLike"` \| `"LSP6PermissionName"` | Optional param, defaults to `LSP6PermissionName`. Can be used to specify the type of the return array. Options: - `BytesLike` - `bigint` - `boolean` - `LSP6PermissionName` | #### Returns @@ -287,7 +287,7 @@ encodeAllowedCalls( ▸ **encodeAllowedERC725YDataKeys**(`dataKeys`): `string` -Enocde a list of data keys as `{ "valueType": "bytes[CompactBytesArray]" }`. The result can be user for `AddressPermissions:AllowedERC725YDataKeys:
` +Encode a list of data keys as `{ "valueType": "bytes[CompactBytesArray]" }`. The result can be user for `AddressPermissions:AllowedERC725YDataKeys:
` #### Parameters @@ -308,7 +308,7 @@ v0.0.1 **`Throws`** - When one of `dataKeys[index]` is not hex. -- When one of `dataKeys[index]` has a length of 0 bytes or bigger thsn 32 bytes. +- When one of `dataKeys[index]` has a length of 0 bytes or bigger than 32 bytes. **`See`** diff --git a/docs/tools/integrations.md b/docs/tools/integrations.md index 75bdfb158c..3e2993b014 100644 --- a/docs/tools/integrations.md +++ b/docs/tools/integrations.md @@ -176,7 +176,7 @@ All the RPC URLs are listed under the [**Networks**](../networks/mainnet/paramet - Cookbook provides bundled smart contract libraries that can be directly used within Visual Studio Code, Foundry, Harthat, or Remix. Their webpage also features a ChatGPT integration to help learn and deploy LSPs. + Cookbook provides bundled smart contract libraries that can be directly used within Visual Studio Code, Foundry, Hardhat, or Remix. Their webpage also features a ChatGPT integration to help learn and deploy LSPs.
  • Cookbook LSP Libraries
  • Visual Studio Code Extension
  • diff --git a/src/components/ContractCardsGallery/index.tsx b/src/components/ContractCardsGallery/index.tsx index f65f9c45b3..9ffc26c295 100644 --- a/src/components/ContractCardsGallery/index.tsx +++ b/src/components/ContractCardsGallery/index.tsx @@ -14,7 +14,7 @@ const Contracts_AccountsInteraction = [ url: '/contracts/overview/LSP1Delegate', urlABI: '/contracts/contracts/LSP6KeyManager', description: - 'Allows to react on transfers and informations received (token transfers, notifications, etc...)', + 'Allows to react on transfers and information received (token transfers, notifications, etc...)', }, { diff --git a/src/components/StandardsGallery/index.tsx b/src/components/StandardsGallery/index.tsx index 1f3c3a1269..2bc534a789 100644 --- a/src/components/StandardsGallery/index.tsx +++ b/src/components/StandardsGallery/index.tsx @@ -109,7 +109,7 @@ const STANDARDS = [ title: '💸 LSP18', name: 'Royalties', link: 'https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-18-Royalties.md', - text: 'Set of data keys to store informations about royalty recipient addresses and their claimable percentage.', + text: 'Set of data keys to store information about royalty recipient addresses and their claimable percentage.', }, { title: '🔄 LSP20',