@lukso/lsp8-contracts 0.15.0-rc.5 → 0.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +15 -1
  2. package/artifacts/ILSP8IdentifiableDigitalAsset.json +0 -112
  3. package/artifacts/LSP8Burnable.json +0 -11
  4. package/artifacts/LSP8BurnableInitAbstract.json +0 -16
  5. package/artifacts/LSP8CappedSupply.json +0 -11
  6. package/artifacts/LSP8CappedSupplyInitAbstract.json +0 -16
  7. package/artifacts/LSP8Enumerable.json +0 -11
  8. package/artifacts/LSP8EnumerableInitAbstract.json +0 -16
  9. package/artifacts/LSP8IdentifiableDigitalAsset.json +0 -11
  10. package/artifacts/LSP8IdentifiableDigitalAssetInitAbstract.json +0 -16
  11. package/artifacts/LSP8Mintable.json +2 -13
  12. package/artifacts/LSP8MintableInit.json +2 -13
  13. package/artifacts/LSP8Votes.json +1230 -0
  14. package/artifacts/LSP8VotesInitAbstract.json +1222 -0
  15. package/compatibility-abis/LSP8IdentifiableDigitalAsset-v0.12.0.json +739 -748
  16. package/compatibility-abis/LSP8IdentifiableDigitalAsset-v0.13.0.json +890 -899
  17. package/compatibility-abis/LSP8IdentifiableDigitalAsset-v0.14.0.json +890 -899
  18. package/compatibility-abis/LSP8IdentifiableDigitalAsset.json +927 -0
  19. package/compatibility-abis/README.md +34 -0
  20. package/contracts/ILSP8IdentifiableDigitalAsset.sol +2 -8
  21. package/contracts/LSP8Constants.sol +4 -0
  22. package/contracts/LSP8IdentifiableDigitalAsset.sol +796 -36
  23. package/contracts/LSP8IdentifiableDigitalAssetInitAbstract.sol +806 -36
  24. package/contracts/extensions/LSP8CappedSupply.sol +1 -1
  25. package/contracts/extensions/LSP8CappedSupplyInitAbstract.sol +1 -1
  26. package/contracts/extensions/LSP8Enumerable.sol +6 -5
  27. package/contracts/extensions/LSP8EnumerableInitAbstract.sol +5 -5
  28. package/contracts/extensions/LSP8Votes.sol +94 -0
  29. package/contracts/extensions/LSP8VotesConstants.sol +8 -0
  30. package/contracts/extensions/LSP8VotesInitAbstract.sol +116 -0
  31. package/dist/index.cjs +10 -1
  32. package/dist/index.d.cts +23 -17
  33. package/dist/index.d.mts +23 -17
  34. package/dist/index.d.ts +23 -17
  35. package/dist/index.mjs +10 -2
  36. package/package.json +7 -8
  37. package/types/index.ts +3958 -1854
  38. package/contracts/LSP8IdentifiableDigitalAssetCore.sol +0 -806
  39. package/types/common.ts +0 -131
  40. package/types/contracts/ILSP8IdentifiableDigitalAsset.ts +0 -706
  41. package/types/contracts/LSP8IdentifiableDigitalAsset.ts +0 -778
  42. package/types/contracts/LSP8IdentifiableDigitalAssetInitAbstract.ts +0 -813
  43. package/types/contracts/extensions/LSP8Burnable.ts +0 -797
  44. package/types/contracts/extensions/LSP8BurnableInitAbstract.ts +0 -829
  45. package/types/contracts/extensions/LSP8CappedSupply.ts +0 -792
  46. package/types/contracts/extensions/LSP8CappedSupplyInitAbstract.ts +0 -824
  47. package/types/contracts/extensions/LSP8Enumerable.ts +0 -790
  48. package/types/contracts/extensions/LSP8EnumerableInitAbstract.ts +0 -821
  49. package/types/contracts/presets/LSP8Mintable.ts +0 -797
  50. package/types/contracts/presets/LSP8MintableInit.ts +0 -860
@@ -2,8 +2,42 @@
2
2
 
3
3
  This folder contains historical ABIs from previous release versions.
4
4
 
5
+ **🧬 Interface ID changes**
6
+
5
7
  - `v0.14.0`: LSP8 interface ID was `0x3a271706`.
6
8
  - `v0.13.0`: LSP8 interface ID was `0xecad9f75`.
7
9
  - `v0.12.0`: LSP8 interface ID was `0x30dc5278`.
8
10
 
9
11
  This is to enable dApps and projects to be backward compatible in their interfaces to display and interact with LSP8 token contracts deployed with these old versions, by consuming their old ABIs.
12
+
13
+ ## List of ABI changes from `0.12.0` to `0.13.0`:
14
+
15
+ **Events**
16
+
17
+ - event `AuthorizedOperator` renamed to `OperatorAuthorizationChanged`
18
+ - event `RevokedOperator` renamed to `OperatorRevoked`
19
+
20
+ **Functions**
21
+
22
+ - new function `batchCalls(bytes[])`.
23
+ - new function `getTokenIdData(bytes32)`, `getTokenIdDataBatch(bytes32[])`, `setTokenIdData(bytes32,bytes)` and `setTokenIdDataBatch(bytes32[],bytes[])`.
24
+ - `version()` endpoint removed from `0.12.0`.
25
+
26
+ **Errors**
27
+
28
+ - new custom errors: `LSP4TokenTypeNotEditable()`, `LSP8BatchCallFailed(uint256)`, `LSP8TokenIdsDataEmptyArray()` and `LSP8TokenIdsDataLengthMismatch()`.
29
+ - custom error `LSP8TokenIdTypeNotEditable` renamed to `LSP8TokenIdSchemaNotEditable`
30
+
31
+ ## List of ABI changes from `0.13.0` to `0.14.0`:
32
+
33
+ - custom error `LSP8TokenIdSchemaNotEditable` renamed to `LSP8TokenIdFormatNotEditable`.
34
+ - functions renamed as follow:
35
+ - `getTokenIdData(bytes32)` --> `getDataForTokenId(bytes32)`
36
+ - `getTokenIdDataBatch(bytes32[])` --> `getDataBatchForTokenId(bytes32[])`
37
+ - `setTokenIdData(bytes32,bytes)` --> `setDataForTokenId(bytes32,bytes)`
38
+ - `setTokenIdDataBatch(bytes32[],bytes[])` --> `setDataBatchForTokenId(bytes32[],bytes[])`
39
+
40
+ ## List of ABI changes from `0.14.0` to `latest`:
41
+
42
+ - removed custom error `LSP8CannotSendToSelf()`.
43
+ - new custom errors `LSP8TokenOwnerChanged` and `LSP8RevokeOperatorNotAuthorized`.
@@ -1,16 +1,10 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  pragma solidity ^0.8.4;
3
3
 
4
- // interfaces
5
- import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
6
- import {
7
- IERC725Y
8
- } from "@erc725/smart-contracts/contracts/interfaces/IERC725Y.sol";
9
-
10
4
  /**
11
5
  * @title Interface of the LSP8 - Identifiable Digital Asset standard, a non-fungible digital asset.
12
6
  */
13
- interface ILSP8IdentifiableDigitalAsset is IERC165, IERC725Y {
7
+ interface ILSP8IdentifiableDigitalAsset {
14
8
  // --- Events
15
9
 
16
10
  /**
@@ -254,7 +248,7 @@ interface ILSP8IdentifiableDigitalAsset is IERC165, IERC725Y {
254
248
  * @param from The address that owns the given `tokenId`.
255
249
  * @param to The address that will receive the `tokenId`.
256
250
  * @param tokenId The token ID to transfer.
257
- * @param force When set to `true`, the `to` address CAN be any addres.
251
+ * @param force When set to `true`, the `to` address CAN be any address.
258
252
  * When set to `false`, the `to` address MUST be a contract that supports the LSP1 UniversalReceiver standard.
259
253
  * @param data Any additional data the caller wants included in the emitted event, and sent in the hooks of the `from` and `to` addresses.
260
254
  *
@@ -4,6 +4,10 @@ pragma solidity ^0.8.4;
4
4
  // --- ERC165 interface ids
5
5
  bytes4 constant _INTERFACEID_LSP8 = 0x3a271706;
6
6
 
7
+ bytes4 constant _INTERFACEID_LSP8_V0_12_0 = 0x30dc5278;
8
+
9
+ bytes4 constant _INTERFACEID_LSP8_V0_14_0 = 0xecad9f75;
10
+
7
11
  // --- ERC725Y Data Keys
8
12
 
9
13
  // keccak256('LSP8TokenIdFormat')