Repository navigation
v1.3.3
TypeScript SDK v1.3.3 Release Notes
Version 1.3.3 introduces license token limit controls, adds new license management methods, and includes developer experience improvements. This release primarily focuses on enhancing license management capabilities while maintaining backward compatibility with minimal breaking changes.
Features & Enhancements
- Adds comprehensive support for license token limits. The SDK now supports setting total license token limits through the
maxLicenseTokensparameter inLicenseTermsDataInput, which automatically configures theTotalLicenseTokenLimitHook. Additionally, introduces the newsetMaxLicenseTokensmethod in theLicensemodule for setting limits on existing license terms(#572). The following methods support license token limiting:mintAndRegisterIpAssetWithPilTermsregisterIpAndAttachPilTermsregisterPilTermsAndAttachregisterIPAndAttachLicenseTermsAndDistributeRoyaltyTokensmintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokensbatchRegisterIpAssetsWithOptimizedWorkflowsbatchMintAndRegisterIpAssetWithPilTermssetMaxLicenseTokens(new method)
- Improves code quality by enabling ESLint between unit and integration tests and resolving all lint issues across the codebase(#563).
Breaking Changes
- In the IP Asset module, the response field
ipIdAndTokenIdinbatchRegisterIpAssetsWithOptimizedWorkflowshas been renamed toipAssetsWithLicenseTermsfor better semantic clarity(#572).
New Features Usage Examples
Setting License Token Limits:
// When registering IP with PIL terms
const result = await client.ipAsset.mintAndRegisterIpAssetWithPilTerms({
spgNftContract: nftContractAddress,
licenseTermsData: [
...
maxLicenseTokens: 100, // Limit this license to 100 tokens
},
],
});
// Setting limits for existing license terms
const setLimitResult = await client.license.setMaxLicenseTokens({
ipId: ipIdAddress,
licenseTermsId: licenseTermsId,
maxLicenseTokens: 100,
});Migration Guide
Migrating from v1.3.2 to v1.3.3
- Update references to the response field in
batchRegisterIpAssetsWithOptimizedWorkflows:
Old syntax:
const result = await client.ipAsset.batchRegisterIpAssetsWithOptimizedWorkflows({
requests: requests,
});
// Accessing: result.ipIdAndTokenIdNew syntax:
const result = await client.ipAsset.batchRegisterIpAssetsWithOptimizedWorkflows({
requests: requests,
});
// Accessing: result.ipAssetsWithLicenseTermsMigrating from v1.2.x
- Please refer to the 1.3.0-rc.1 release notes.