lukso-network / docs Goto Github PK
View Code? Open in Web Editor NEWLUKSO technical documentation
Home Page: https://docs.lukso.tech
License: Apache License 2.0
LUKSO technical documentation
Home Page: https://docs.lukso.tech
License: Apache License 2.0
Describe the bug
2 minor typos, boxed in red. Wording seems to be carried over from the LSP7 page.
Link
Link
Refer to transfer() function explanation within - https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-7-DigitalAsset.md
You'll see duplicate text:
In docs/standards/nft-2.0/LSP7-Digital-Asset.md
There is line:
"This standard was based on ERC20 and ERC777 with additional features mentioned below"
Which suggests that the standard implements full eip-777, for example granularity, while it's not the case.
I suggest rephrasing it to "This standard was based on ERC20 and some ideas from ERC777 with additional features mentioned below"
The link to the technical lightpaper is dead: https://lukso.network/assets/LUKSO_Technical_Lightpaper.pdf
In this file:
https://github.com/lukso-network/docs/blob/main/docs/faq/lukso.md
It would be nice to have a feedback widget, similar too:
Based on https://github.com/Uniswap/analytics-events
Based on: https://www.feelback.dev/ - https://www.npmjs.com/package/@feelback/react
Create a CONTRIBUTING.md
file and put the content in it:
Here are some typos I've found over past few days building for Lukso's Build up #25
https://docs.lukso.tech/standards/nft-2.0/LSP7-Digital-Asset describes, "LSP7-DigitalAsset is a standard that aims to describe fungible assets. The term fungible means that these assets are mutually interchangeable (e.g., one token has the same value as another token)."
But then the documents categorize LSP7 as a NFT 2.0 if tokens are indivisible.
https://docs.lukso.tech/tools/lsp-factoryjs/deployment/digital-asset: "LSP7 is based on the ERC20 token standard and can be used as an NFT 2.0 contract by setting the isNFT constructor value to true when deploying. This will set the contract decimals value to 0 so that all tokens are indivisible."
This is really just semantics, but I think it is contradictory to describe a fungible token (by definition) as a NFT 2.0 (non-fungible token). Suggestion: use a different boolean name (e.g. _isDivisible) to represent divisibility, and don't use "NFT 2.0" to describe LSP7.
Describe the bug
TypeErorr : failed to fetch here ipfs while adding api.ipfs.lukso.network port:443
maybe the correct address is : api.2eff.lukso.dev
Screenshots
In this guide - https://docs.lukso.tech/learn/expert-guides/vault/edit-vault-data/#create-a-contract-instance - we're saving the deployed URD address with vaultURD.target, which happens to be undefined.
const deployVaultURD = async () => {
// create a LSP1UniversalReceiverDelegateVault Contract Factory
const vaultURDFactory = new ethers.ContractFactory(
LSP1UniversalReceiverDelegateVault.abi,
LSP1UniversalReceiverDelegateVault.bytecode,
);
// deploy the Universal Receiver Delegate Vault contract
const vaultURD = await vaultURDFactory.connect(myEOA).deploy();
**return vaultURD.target;**
};
Correct way to access address in return object is vaultURD.address as seen in the screenshot:
Update "Further Information" with most recent articles: https://docs.lukso.tech/networks/mainnet/
This page is outdated:
https://docs.lukso.tech/tools/relayer-api/execute-transaction
Change this page from Relayer API
to Relayer
where we put all information regarding relay systems (incl. links to repo, markdown, standards, etc.)
Move the "tutorial" part of this page to the guides page and explain how executeRelayCall()
works and how a dev can prepare a transaction so it can be executed by the relay service.
Describe the bug
The beginning of a sentence should start with a capital letter.
allowing state changes at the address being called.
Link
https://docs.lukso.tech/standards/universal-profile/lsp6-key-manager
Describe the bug
After moving to a new computer and installing the universal profile extension there is no way to import an existing profile. This makes the extension not very useful for testing. I understand that it's not production code, but without this you're like to a particular device or browser. I now have 4 universal profiles which no longer makes them very universal.
Link
Browser home clicking on extension the first time.
This doesn't seem the right repo to put this defect, however the installation page only has this link.
generate the hash of the uploaded
https://docs.lukso.tech/learn/assets#generate-the-json-file
Add more example code to show how it is done, esp. the part the hashes the files.
It could be nice to make a reference to:
https://docs.lukso.tech/tools/lsp-utils/LSP2ERC725YJSONSchema#encodeasseturl
https://faucet.testnet.lukso.network/
And make it clear it won't work on L16
Link to doc page: https://docs.lukso.tech/learn/expert-guides/key-manager/grant-permissions#step-1---initialize-erc725js
Below code is an array of keys and values:
const data = erc725.encodeData([
// the permission of the beneficiary address
{
keyName: 'AddressPermissions:Permissions:<address>',
dynamicKeyParts: beneficiaryAddress,
value: beneficiaryPermissions,
},
// the new list controllers addresses (= addresses with permissions set on the UP)
// + the incremented `AddressPermissions[]` array length
{
keyName: 'AddressPermissions[]',
value: [...controllers, beneficiaryAddress],
},
]);
Yet we're passing arrays of keys and values to setData.
// step 3.3 - send the transaction
await myUniversalProfile.methods.setData(
data.keys,
data.values,
).send({
from: myEOA.address,
gasLimit: 300_000,
});
setData needs to be changed to setDataBatch. Also, at the end of the page it's called "data", but before it's called "permissionData".
Was "uploadMetaData" changed to "uploadProfileData"? Docs still use "uploadMetaData"
https://docs.lukso.tech/tools/lsp-factoryjs/deployment/universal-profile
As mentioned by @Hugoo , when we go to the contract section we cannot see internal functions such as _mint(..)
, _burn(..)
and _transfer(..)
. These functions should be explained also.
To add a note that these contracts are standard contract that should be inherited and not deployed directly.
We have a mock relayer repo:
https://github.com/lukso-network/tools-mock-relayer
But no information about it on our docs
It would be good to add a section somewhere named Migrated to LUKSO where we explain the main differences that we have with Ethereum, stating the relationship between Ethereum Mainnet and LUKSO, protocol difference, wallets interaction differences, etc ..
Inspired by: Migrate to Celo
Getting this import trace in my .ts/.tsx files when using lukso/lsp-factory.js. Though I know package is mainly vanilla js, there seems to be little support for typescript.
Import trace for requested module:
./node_modules/@lukso/lsp-factory.js/build/module/src/lib/helpers/config.helper.js
./node_modules/@lukso/lsp-factory.js/build/module/src/lib/classes/universal-profile.js
./node_modules/@lukso/lsp-factory.js/build/module/src/index.js
./components/assets/Assets.tsx
./app/portfolio/page.tsx
โ ./node_modules/@lukso/lsp-factory.js/build/module/src/lib/helpers/config.helper.js
Should not import the named export 'version' (imported as 'lspSmartContractsVersion') from default-exporting module (only default export is available soon)
Import trace for requested module:
./node_modules/@lukso/lsp-factory.js/build/module/src/lib/helpers/config.helper.js
./node_modules/@lukso/lsp-factory.js/build/module/src/lib/classes/universal-profile.js
./node_modules/@lukso/lsp-factory.js/build/module/src/index.js
./components/assets/Assets.tsx
./app/portfolio/page.tsx
โ ./node_modules/@lukso/lsp-factory.js/build/module/src/lib/helpers/config.helper.js
Should not import the named export 'version' (imported as 'lspSmartContractsVersion') from default-exporting module (only default export is available soon)
Import trace for requested module:
./node_modules/@lukso/lsp-factory.js/build/module/src/lib/helpers/config.helper.js
./node_modules/@lukso/lsp-factory.js/build/module/src/lib/classes/universal-profile.js
./node_modules/@lukso/lsp-factory.js/build/module/src/index.js
./components/assets/Assets.tsx
./app/portfolio/page.tsx
https://docs.lukso.tech/learn/smart-contract-developers/retrieve-token-type#implementation
We should add a solidity function call which shows how to query this data.
Right now it says basically:
Here is the key _LSP4_TOKEN_TYPE_DATA_KEY
use getData
and deal with it. Good luck my friend.
So let's add something like:
import {ERC725YCore} from "@erc725/smart-contracts/contracts/ERC725YCore.sol";
// ...
bytes memory tokenTypeDataKey = ERC725YCore._getData( _LSP4_TOKEN_TYPE_DATA_KEY);
Add creation guide for Vault standard and show how it can be connected to the Universal Profile.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.