@story-protocol/core-sdk 1.2.0-rc.3 → 1.2.0-rc.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -774,7 +774,7 @@ function _inherits(subClass, superClass) {
774
774
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
775
775
  /**
776
776
  *
777
- */var royaltyTokenDistributionWorkflowsAbi=[{type:"constructor",inputs:[{name:"accessController",internalType:"address",type:"address"},{name:"coreMetadataModule",internalType:"address",type:"address"},{name:"ipAssetRegistry",internalType:"address",type:"address"},{name:"licenseRegistry",internalType:"address",type:"address"},{name:"licensingModule",internalType:"address",type:"address"},{name:"pilTemplate",internalType:"address",type:"address"},{name:"royaltyModule",internalType:"address",type:"address"}],stateMutability:"nonpayable"},{type:"error",inputs:[{name:"authority",internalType:"address",type:"address"}],name:"AccessManagedInvalidAuthority"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"delay",internalType:"uint32",type:"uint32"}],name:"AccessManagedRequiredDelay"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"}],name:"AccessManagedUnauthorized"},{type:"error",inputs:[{name:"target",internalType:"address",type:"address"}],name:"AddressEmptyCode"},{type:"error",inputs:[{name:"account",internalType:"address",type:"address"}],name:"AddressInsufficientBalance"},{type:"error",inputs:[{name:"implementation",internalType:"address",type:"address"}],name:"ERC1967InvalidImplementation"},{type:"error",inputs:[],name:"ERC1967NonPayable"},{type:"error",inputs:[],name:"FailedInnerCall"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"RoyaltyTokenDistributionWorkflows__RoyaltyVaultNotDeployed"},{type:"error",inputs:[],name:"RoyaltyTokenDistributionWorkflows__TotalPercentagesExceeds100Percent"},{type:"error",inputs:[],name:"RoyaltyTokenDistributionWorkflows__ZeroAddressParam"},{type:"error",inputs:[{name:"token",internalType:"address",type:"address"}],name:"SafeERC20FailedOperation"},{type:"error",inputs:[],name:"UUPSUnauthorizedCallContext"},{type:"error",inputs:[{name:"slot",internalType:"bytes32",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID"},{type:"error",inputs:[],name:"Workflow__CallerNotAuthorizedToMint"},{type:"event",anonymous:false,inputs:[{name:"authority",internalType:"address",type:"address",indexed:false}],name:"AuthorityUpdated"},{type:"event",anonymous:false,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:false}],name:"Initialized"},{type:"event",anonymous:false,inputs:[{name:"implementation",internalType:"address",type:"address",indexed:true}],name:"Upgraded"},{type:"function",inputs:[],name:"ACCESS_CONTROLLER",outputs:[{name:"",internalType:"contract IAccessController",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"CORE_METADATA_MODULE",outputs:[{name:"",internalType:"contract ICoreMetadataModule",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"IP_ASSET_REGISTRY",outputs:[{name:"",internalType:"contract IIPAssetRegistry",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"LICENSE_REGISTRY",outputs:[{name:"",internalType:"contract ILicenseRegistry",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"LICENSING_MODULE",outputs:[{name:"",internalType:"contract ILicensingModule",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"PIL_TEMPLATE",outputs:[{name:"",internalType:"contract IPILicenseTemplate",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"ROYALTY_MODULE",outputs:[{name:"",internalType:"contract IRoyaltyModule",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{name:"",internalType:"string",type:"string"}],stateMutability:"view"},{type:"function",inputs:[],name:"authority",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"ipId",internalType:"address",type:"address"},{name:"ipRoyaltyVault",internalType:"address",type:"address"},{name:"royaltyShares",internalType:"struct WorkflowStructs.RoyaltyShare[]",type:"tuple[]",components:[{name:"author",internalType:"address",type:"address"},{name:"percentage",internalType:"uint32",type:"uint32"}]},{name:"sigApproveRoyaltyTokens",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]}],name:"distributeRoyaltyTokens",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"accessManager",internalType:"address",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"isConsumingScheduledOp",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"view"},{type:"function",inputs:[{name:"spgNftContract",internalType:"address",type:"address"},{name:"recipient",internalType:"address",type:"address"},{name:"ipMetadata",internalType:"struct WorkflowStructs.IPMetadata",type:"tuple",components:[{name:"ipMetadataURI",internalType:"string",type:"string"},{name:"ipMetadataHash",internalType:"bytes32",type:"bytes32"},{name:"nftMetadataURI",internalType:"string",type:"string"},{name:"nftMetadataHash",internalType:"bytes32",type:"bytes32"}]},{name:"terms",internalType:"struct PILTerms",type:"tuple",components:[{name:"transferable",internalType:"bool",type:"bool"},{name:"royaltyPolicy",internalType:"address",type:"address"},{name:"defaultMintingFee",internalType:"uint256",type:"uint256"},{name:"expiration",internalType:"uint256",type:"uint256"},{name:"commercialUse",internalType:"bool",type:"bool"},{name:"commercialAttribution",internalType:"bool",type:"bool"},{name:"commercializerChecker",internalType:"address",type:"address"},{name:"commercializerCheckerData",internalType:"bytes",type:"bytes"},{name:"commercialRevShare",internalType:"uint32",type:"uint32"},{name:"commercialRevCeiling",internalType:"uint256",type:"uint256"},{name:"derivativesAllowed",internalType:"bool",type:"bool"},{name:"derivativesAttribution",internalType:"bool",type:"bool"},{name:"derivativesApproval",internalType:"bool",type:"bool"},{name:"derivativesReciprocal",internalType:"bool",type:"bool"},{name:"derivativeRevCeiling",internalType:"uint256",type:"uint256"},{name:"currency",internalType:"address",type:"address"},{name:"uri",internalType:"string",type:"string"}]},{name:"royaltyShares",internalType:"struct WorkflowStructs.RoyaltyShare[]",type:"tuple[]",components:[{name:"author",internalType:"address",type:"address"},{name:"percentage",internalType:"uint32",type:"uint32"}]}],name:"mintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokens",outputs:[{name:"ipId",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"licenseTermsId",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"spgNftContract",internalType:"address",type:"address"},{name:"recipient",internalType:"address",type:"address"},{name:"ipMetadata",internalType:"struct WorkflowStructs.IPMetadata",type:"tuple",components:[{name:"ipMetadataURI",internalType:"string",type:"string"},{name:"ipMetadataHash",internalType:"bytes32",type:"bytes32"},{name:"nftMetadataURI",internalType:"string",type:"string"},{name:"nftMetadataHash",internalType:"bytes32",type:"bytes32"}]},{name:"derivData",internalType:"struct WorkflowStructs.MakeDerivative",type:"tuple",components:[{name:"parentIpIds",internalType:"address[]",type:"address[]"},{name:"licenseTemplate",internalType:"address",type:"address"},{name:"licenseTermsIds",internalType:"uint256[]",type:"uint256[]"},{name:"royaltyContext",internalType:"bytes",type:"bytes"}]},{name:"royaltyShares",internalType:"struct WorkflowStructs.RoyaltyShare[]",type:"tuple[]",components:[{name:"author",internalType:"address",type:"address"},{name:"percentage",internalType:"uint32",type:"uint32"}]}],name:"mintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokens",outputs:[{name:"ipId",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data",internalType:"bytes[]",type:"bytes[]"}],name:"multicall",outputs:[{name:"results",internalType:"bytes[]",type:"bytes[]"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"proxiableUUID",outputs:[{name:"",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[{name:"nftContract",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"ipMetadata",internalType:"struct WorkflowStructs.IPMetadata",type:"tuple",components:[{name:"ipMetadataURI",internalType:"string",type:"string"},{name:"ipMetadataHash",internalType:"bytes32",type:"bytes32"},{name:"nftMetadataURI",internalType:"string",type:"string"},{name:"nftMetadataHash",internalType:"bytes32",type:"bytes32"}]},{name:"terms",internalType:"struct PILTerms",type:"tuple",components:[{name:"transferable",internalType:"bool",type:"bool"},{name:"royaltyPolicy",internalType:"address",type:"address"},{name:"defaultMintingFee",internalType:"uint256",type:"uint256"},{name:"expiration",internalType:"uint256",type:"uint256"},{name:"commercialUse",internalType:"bool",type:"bool"},{name:"commercialAttribution",internalType:"bool",type:"bool"},{name:"commercializerChecker",internalType:"address",type:"address"},{name:"commercializerCheckerData",internalType:"bytes",type:"bytes"},{name:"commercialRevShare",internalType:"uint32",type:"uint32"},{name:"commercialRevCeiling",internalType:"uint256",type:"uint256"},{name:"derivativesAllowed",internalType:"bool",type:"bool"},{name:"derivativesAttribution",internalType:"bool",type:"bool"},{name:"derivativesApproval",internalType:"bool",type:"bool"},{name:"derivativesReciprocal",internalType:"bool",type:"bool"},{name:"derivativeRevCeiling",internalType:"uint256",type:"uint256"},{name:"currency",internalType:"address",type:"address"},{name:"uri",internalType:"string",type:"string"}]},{name:"sigMetadata",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]},{name:"sigAttach",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]}],name:"registerIpAndAttachPILTermsAndDeployRoyaltyVault",outputs:[{name:"ipId",internalType:"address",type:"address"},{name:"licenseTermsId",internalType:"uint256",type:"uint256"},{name:"ipRoyaltyVault",internalType:"address",type:"address"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"nftContract",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"ipMetadata",internalType:"struct WorkflowStructs.IPMetadata",type:"tuple",components:[{name:"ipMetadataURI",internalType:"string",type:"string"},{name:"ipMetadataHash",internalType:"bytes32",type:"bytes32"},{name:"nftMetadataURI",internalType:"string",type:"string"},{name:"nftMetadataHash",internalType:"bytes32",type:"bytes32"}]},{name:"derivData",internalType:"struct WorkflowStructs.MakeDerivative",type:"tuple",components:[{name:"parentIpIds",internalType:"address[]",type:"address[]"},{name:"licenseTemplate",internalType:"address",type:"address"},{name:"licenseTermsIds",internalType:"uint256[]",type:"uint256[]"},{name:"royaltyContext",internalType:"bytes",type:"bytes"}]},{name:"sigMetadata",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]},{name:"sigRegister",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]}],name:"registerIpAndMakeDerivativeAndDeployRoyaltyVault",outputs:[{name:"ipId",internalType:"address",type:"address"},{name:"ipRoyaltyVault",internalType:"address",type:"address"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newAuthority",internalType:"address",type:"address"}],name:"setAuthority",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newNftContractBeacon",internalType:"address",type:"address"}],name:"setNftContractBeacon",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newImplementation",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable"}];/**
777
+ */var royaltyTokenDistributionWorkflowsAbi=[{type:"constructor",inputs:[{name:"accessController",internalType:"address",type:"address"},{name:"coreMetadataModule",internalType:"address",type:"address"},{name:"ipAssetRegistry",internalType:"address",type:"address"},{name:"licenseRegistry",internalType:"address",type:"address"},{name:"licensingModule",internalType:"address",type:"address"},{name:"pilTemplate",internalType:"address",type:"address"},{name:"royaltyModule",internalType:"address",type:"address"}],stateMutability:"nonpayable"},{type:"error",inputs:[{name:"authority",internalType:"address",type:"address"}],name:"AccessManagedInvalidAuthority"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"delay",internalType:"uint32",type:"uint32"}],name:"AccessManagedRequiredDelay"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"}],name:"AccessManagedUnauthorized"},{type:"error",inputs:[{name:"target",internalType:"address",type:"address"}],name:"AddressEmptyCode"},{type:"error",inputs:[{name:"account",internalType:"address",type:"address"}],name:"AddressInsufficientBalance"},{type:"error",inputs:[{name:"implementation",internalType:"address",type:"address"}],name:"ERC1967InvalidImplementation"},{type:"error",inputs:[],name:"ERC1967NonPayable"},{type:"error",inputs:[],name:"FailedInnerCall"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"RoyaltyTokenDistributionWorkflows__RoyaltyVaultNotDeployed"},{type:"error",inputs:[],name:"RoyaltyTokenDistributionWorkflows__TotalPercentagesExceeds100Percent"},{type:"error",inputs:[],name:"RoyaltyTokenDistributionWorkflows__ZeroAddressParam"},{type:"error",inputs:[{name:"token",internalType:"address",type:"address"}],name:"SafeERC20FailedOperation"},{type:"error",inputs:[],name:"UUPSUnauthorizedCallContext"},{type:"error",inputs:[{name:"slot",internalType:"bytes32",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID"},{type:"error",inputs:[],name:"Workflow__CallerNotAuthorizedToMint"},{type:"event",anonymous:false,inputs:[{name:"authority",internalType:"address",type:"address",indexed:false}],name:"AuthorityUpdated"},{type:"event",anonymous:false,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:false}],name:"Initialized"},{type:"event",anonymous:false,inputs:[{name:"implementation",internalType:"address",type:"address",indexed:true}],name:"Upgraded"},{type:"function",inputs:[],name:"ACCESS_CONTROLLER",outputs:[{name:"",internalType:"contract IAccessController",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"CORE_METADATA_MODULE",outputs:[{name:"",internalType:"contract ICoreMetadataModule",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"IP_ASSET_REGISTRY",outputs:[{name:"",internalType:"contract IIPAssetRegistry",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"LICENSE_REGISTRY",outputs:[{name:"",internalType:"contract ILicenseRegistry",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"LICENSING_MODULE",outputs:[{name:"",internalType:"contract ILicensingModule",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"PIL_TEMPLATE",outputs:[{name:"",internalType:"contract IPILicenseTemplate",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"ROYALTY_MODULE",outputs:[{name:"",internalType:"contract IRoyaltyModule",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{name:"",internalType:"string",type:"string"}],stateMutability:"view"},{type:"function",inputs:[],name:"authority",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"ipId",internalType:"address",type:"address"},{name:"ipRoyaltyVault",internalType:"address",type:"address"},{name:"royaltyShares",internalType:"struct WorkflowStructs.RoyaltyShare[]",type:"tuple[]",components:[{name:"author",internalType:"address",type:"address"},{name:"percentage",internalType:"uint32",type:"uint32"}]},{name:"sigApproveRoyaltyTokens",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]}],name:"distributeRoyaltyTokens",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"accessManager",internalType:"address",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"isConsumingScheduledOp",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"view"},{type:"function",inputs:[{name:"spgNftContract",internalType:"address",type:"address"},{name:"recipient",internalType:"address",type:"address"},{name:"ipMetadata",internalType:"struct WorkflowStructs.IPMetadata",type:"tuple",components:[{name:"ipMetadataURI",internalType:"string",type:"string"},{name:"ipMetadataHash",internalType:"bytes32",type:"bytes32"},{name:"nftMetadataURI",internalType:"string",type:"string"},{name:"nftMetadataHash",internalType:"bytes32",type:"bytes32"}]},{name:"terms",internalType:"struct PILTerms[]",type:"tuple[]",components:[{name:"transferable",internalType:"bool",type:"bool"},{name:"royaltyPolicy",internalType:"address",type:"address"},{name:"defaultMintingFee",internalType:"uint256",type:"uint256"},{name:"expiration",internalType:"uint256",type:"uint256"},{name:"commercialUse",internalType:"bool",type:"bool"},{name:"commercialAttribution",internalType:"bool",type:"bool"},{name:"commercializerChecker",internalType:"address",type:"address"},{name:"commercializerCheckerData",internalType:"bytes",type:"bytes"},{name:"commercialRevShare",internalType:"uint32",type:"uint32"},{name:"commercialRevCeiling",internalType:"uint256",type:"uint256"},{name:"derivativesAllowed",internalType:"bool",type:"bool"},{name:"derivativesAttribution",internalType:"bool",type:"bool"},{name:"derivativesApproval",internalType:"bool",type:"bool"},{name:"derivativesReciprocal",internalType:"bool",type:"bool"},{name:"derivativeRevCeiling",internalType:"uint256",type:"uint256"},{name:"currency",internalType:"address",type:"address"},{name:"uri",internalType:"string",type:"string"}]},{name:"royaltyShares",internalType:"struct WorkflowStructs.RoyaltyShare[]",type:"tuple[]",components:[{name:"author",internalType:"address",type:"address"},{name:"percentage",internalType:"uint32",type:"uint32"}]}],name:"mintAndRegisterIpAndAttachPILTermsAndDistributeRoyaltyTokens",outputs:[{name:"ipId",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"licenseTermsIds",internalType:"uint256[]",type:"uint256[]"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"spgNftContract",internalType:"address",type:"address"},{name:"recipient",internalType:"address",type:"address"},{name:"ipMetadata",internalType:"struct WorkflowStructs.IPMetadata",type:"tuple",components:[{name:"ipMetadataURI",internalType:"string",type:"string"},{name:"ipMetadataHash",internalType:"bytes32",type:"bytes32"},{name:"nftMetadataURI",internalType:"string",type:"string"},{name:"nftMetadataHash",internalType:"bytes32",type:"bytes32"}]},{name:"derivData",internalType:"struct WorkflowStructs.MakeDerivative",type:"tuple",components:[{name:"parentIpIds",internalType:"address[]",type:"address[]"},{name:"licenseTemplate",internalType:"address",type:"address"},{name:"licenseTermsIds",internalType:"uint256[]",type:"uint256[]"},{name:"royaltyContext",internalType:"bytes",type:"bytes"}]},{name:"royaltyShares",internalType:"struct WorkflowStructs.RoyaltyShare[]",type:"tuple[]",components:[{name:"author",internalType:"address",type:"address"},{name:"percentage",internalType:"uint32",type:"uint32"}]}],name:"mintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokens",outputs:[{name:"ipId",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data",internalType:"bytes[]",type:"bytes[]"}],name:"multicall",outputs:[{name:"results",internalType:"bytes[]",type:"bytes[]"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"proxiableUUID",outputs:[{name:"",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[{name:"nftContract",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"ipMetadata",internalType:"struct WorkflowStructs.IPMetadata",type:"tuple",components:[{name:"ipMetadataURI",internalType:"string",type:"string"},{name:"ipMetadataHash",internalType:"bytes32",type:"bytes32"},{name:"nftMetadataURI",internalType:"string",type:"string"},{name:"nftMetadataHash",internalType:"bytes32",type:"bytes32"}]},{name:"terms",internalType:"struct PILTerms[]",type:"tuple[]",components:[{name:"transferable",internalType:"bool",type:"bool"},{name:"royaltyPolicy",internalType:"address",type:"address"},{name:"defaultMintingFee",internalType:"uint256",type:"uint256"},{name:"expiration",internalType:"uint256",type:"uint256"},{name:"commercialUse",internalType:"bool",type:"bool"},{name:"commercialAttribution",internalType:"bool",type:"bool"},{name:"commercializerChecker",internalType:"address",type:"address"},{name:"commercializerCheckerData",internalType:"bytes",type:"bytes"},{name:"commercialRevShare",internalType:"uint32",type:"uint32"},{name:"commercialRevCeiling",internalType:"uint256",type:"uint256"},{name:"derivativesAllowed",internalType:"bool",type:"bool"},{name:"derivativesAttribution",internalType:"bool",type:"bool"},{name:"derivativesApproval",internalType:"bool",type:"bool"},{name:"derivativesReciprocal",internalType:"bool",type:"bool"},{name:"derivativeRevCeiling",internalType:"uint256",type:"uint256"},{name:"currency",internalType:"address",type:"address"},{name:"uri",internalType:"string",type:"string"}]},{name:"sigMetadata",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]},{name:"sigAttach",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]}],name:"registerIpAndAttachPILTermsAndDeployRoyaltyVault",outputs:[{name:"ipId",internalType:"address",type:"address"},{name:"licenseTermsIds",internalType:"uint256[]",type:"uint256[]"},{name:"ipRoyaltyVault",internalType:"address",type:"address"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"nftContract",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"ipMetadata",internalType:"struct WorkflowStructs.IPMetadata",type:"tuple",components:[{name:"ipMetadataURI",internalType:"string",type:"string"},{name:"ipMetadataHash",internalType:"bytes32",type:"bytes32"},{name:"nftMetadataURI",internalType:"string",type:"string"},{name:"nftMetadataHash",internalType:"bytes32",type:"bytes32"}]},{name:"derivData",internalType:"struct WorkflowStructs.MakeDerivative",type:"tuple",components:[{name:"parentIpIds",internalType:"address[]",type:"address[]"},{name:"licenseTemplate",internalType:"address",type:"address"},{name:"licenseTermsIds",internalType:"uint256[]",type:"uint256[]"},{name:"royaltyContext",internalType:"bytes",type:"bytes"}]},{name:"sigMetadata",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]},{name:"sigRegister",internalType:"struct WorkflowStructs.SignatureData",type:"tuple",components:[{name:"signer",internalType:"address",type:"address"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"signature",internalType:"bytes",type:"bytes"}]}],name:"registerIpAndMakeDerivativeAndDeployRoyaltyVault",outputs:[{name:"ipId",internalType:"address",type:"address"},{name:"ipRoyaltyVault",internalType:"address",type:"address"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newAuthority",internalType:"address",type:"address"}],name:"setAuthority",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newNftContractBeacon",internalType:"address",type:"address"}],name:"setNftContractBeacon",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newImplementation",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable"}];/**
778
778
  *
779
779
  */var royaltyTokenDistributionWorkflowsAddress={1516:"0x39D9C7a23AA9e33E06aAAf51ebaDd11342b5be50"};// RoyaltyWorkflows
780
780
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -3064,7 +3064,7 @@ function getAddress(address,chainId){return address[chainId||0]||"0x";}// Contra
3064
3064
  * @param spgNftContract address
3065
3065
  * @param recipient address
3066
3066
  * @param ipMetadata tuple
3067
- * @param terms tuple
3067
+ * @param terms tuple[]
3068
3068
  * @param royaltyShares tuple[]
3069
3069
  */ /**
3070
3070
  * RoyaltyTokenDistributionWorkflowsMintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokensRequest
@@ -3080,7 +3080,7 @@ function getAddress(address,chainId){return address[chainId||0]||"0x";}// Contra
3080
3080
  * @param nftContract address
3081
3081
  * @param tokenId uint256
3082
3082
  * @param ipMetadata tuple
3083
- * @param terms tuple
3083
+ * @param terms tuple[]
3084
3084
  * @param sigMetadata tuple
3085
3085
  * @param sigAttach tuple
3086
3086
  */ /**
@@ -5774,12 +5774,12 @@ var IPAssetClient = /*#__PURE__*/function () {
5774
5774
  return registerIpAndMakeDerivativeWithLicenseTokens;
5775
5775
  }()
5776
5776
  /**
5777
- * Register the given NFT and attach license terms and distribute royalty tokens. In order to successfully distribute royalty tokens, the license terms attached to the IP must be
5777
+ * Register the given NFT and attach license terms and distribute royalty tokens. In order to successfully distribute royalty tokens, the first license terms attached to the IP must be
5778
5778
  * a commercial license.
5779
5779
  * @param request - The request object that contains all data needed to register ip and attach license terms and distribute royalty tokens.
5780
5780
  * @param request.nftContract The address of the NFT collection.
5781
5781
  * @param request.tokenId The ID of the NFT.
5782
- * @param request.terms The array of license terms to be attached.
5782
+ * @param {Array} request.terms The array of license terms to be attached.
5783
5783
  * @param request.terms.transferable Indicates whether the license is transferable or not.
5784
5784
  * @param request.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
5785
5785
  * @param request.terms.mintingFee The fee to be paid when minting a license.
@@ -5807,7 +5807,7 @@ var IPAssetClient = /*#__PURE__*/function () {
5807
5807
  * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
5808
5808
  * @param request.deadline [Optional] The deadline for the signature in seconds, default is 1000s.
5809
5809
  * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option.
5810
- * @returns A Promise that resolves to a transaction hashes, IP ID, License terms ID, and IP royalty vault.
5810
+ * @returns A Promise that resolves to a transaction hashes, IP ID, IP royalty vault and an array containing the license terms ID.
5811
5811
  * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
5812
5812
  * @emits IpRoyaltyVaultDeployed (ipId, ipRoyaltyVault)
5813
5813
  */
@@ -5816,42 +5816,56 @@ var IPAssetClient = /*#__PURE__*/function () {
5816
5816
  key: "registerIPAndAttachLicenseTermsAndDistributeRoyaltyTokens",
5817
5817
  value: (function () {
5818
5818
  var _registerIPAndAttachLicenseTermsAndDistributeRoyaltyTokens = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee16(request) {
5819
- var _request$ipMetadata33, _request$ipMetadata34, _request$ipMetadata35, _request$ipMetadata36, _request$txOptions27, _this$getRoyaltyShare, royaltyShares, totalAmount, licenseTerm, blockTimestamp, calculatedDeadline, ipIdAddress, isRegistered, _yield$getPermissionS9, sigMetadataSignature, sigMetadataState, _yield$getPermissionS10, sigAttachSignature, sigAttachState, registerIpAndAttachPilTermsAndDeployRoyaltyVaultTxHash, txReceipt, ipId, licenseTermsId, ipRoyaltyVault, distributeRoyaltyTokensTxHash;
5819
+ var _request$ipMetadata33, _request$ipMetadata34, _request$ipMetadata35, _request$ipMetadata36, _request$txOptions27, _this$getRoyaltyShare, royaltyShares, totalAmount, licenseTerms, i, term, licenseTerm, blockTimestamp, calculatedDeadline, ipIdAddress, isRegistered, _yield$getPermissionS9, sigMetadataSignature, sigMetadataState, _yield$getPermissionS10, sigAttachSignature, sigAttachState, registerIpAndAttachPilTermsAndDeployRoyaltyVaultTxHash, txReceipt, ipId, licenseTermsIds, ipRoyaltyVault, distributeRoyaltyTokensTxHash;
5820
5820
  return _regeneratorRuntime().wrap(function _callee16$(_context16) {
5821
5821
  while (1) switch (_context16.prev = _context16.next) {
5822
5822
  case 0:
5823
5823
  _context16.prev = 0;
5824
- if (request.terms.commercialUse) {
5825
- _context16.next = 3;
5824
+ _this$getRoyaltyShare = this.getRoyaltyShares(request.royaltyShares), royaltyShares = _this$getRoyaltyShare.royaltyShares, totalAmount = _this$getRoyaltyShare.totalAmount;
5825
+ licenseTerms = [];
5826
+ i = 0;
5827
+ case 4:
5828
+ if (!(i < request.terms.length)) {
5829
+ _context16.next = 15;
5826
5830
  break;
5827
5831
  }
5828
- throw new Error("Commercial use is required to deploy a royalty vault.");
5829
- case 3:
5830
- _this$getRoyaltyShare = this.getRoyaltyShares(request.royaltyShares), royaltyShares = _this$getRoyaltyShare.royaltyShares, totalAmount = _this$getRoyaltyShare.totalAmount;
5831
- _context16.next = 6;
5832
- return validateLicenseTerms(request.terms, this.rpcClient);
5833
- case 6:
5832
+ term = request.terms[i];
5833
+ if (!(i === 0 && !term.commercialUse)) {
5834
+ _context16.next = 8;
5835
+ break;
5836
+ }
5837
+ throw new Error("The first license term must be a commercial license.");
5838
+ case 8:
5839
+ _context16.next = 10;
5840
+ return validateLicenseTerms(term, this.rpcClient);
5841
+ case 10:
5834
5842
  licenseTerm = _context16.sent;
5835
- _context16.next = 9;
5843
+ licenseTerms.push(licenseTerm);
5844
+ case 12:
5845
+ i++;
5846
+ _context16.next = 4;
5847
+ break;
5848
+ case 15:
5849
+ _context16.next = 17;
5836
5850
  return this.rpcClient.getBlock();
5837
- case 9:
5851
+ case 17:
5838
5852
  blockTimestamp = _context16.sent.timestamp;
5839
5853
  calculatedDeadline = getDeadline(blockTimestamp, request.deadline);
5840
- _context16.next = 13;
5854
+ _context16.next = 21;
5841
5855
  return this.getIpIdAddress(getAddress$1(request.nftContract, "request.nftContract"), request.tokenId);
5842
- case 13:
5856
+ case 21:
5843
5857
  ipIdAddress = _context16.sent;
5844
- _context16.next = 16;
5858
+ _context16.next = 24;
5845
5859
  return this.isRegistered(ipIdAddress);
5846
- case 16:
5860
+ case 24:
5847
5861
  isRegistered = _context16.sent;
5848
5862
  if (!isRegistered) {
5849
- _context16.next = 19;
5863
+ _context16.next = 27;
5850
5864
  break;
5851
5865
  }
5852
5866
  throw new Error("The NFT with id ".concat(request.tokenId, " is already registered as IP."));
5853
- case 19:
5854
- _context16.next = 21;
5867
+ case 27:
5868
+ _context16.next = 29;
5855
5869
  return getPermissionSignature({
5856
5870
  ipId: ipIdAddress,
5857
5871
  deadline: calculatedDeadline,
@@ -5868,11 +5882,11 @@ var IPAssetClient = /*#__PURE__*/function () {
5868
5882
  func: "function setAll(address,string,bytes32,bytes32)"
5869
5883
  }]
5870
5884
  });
5871
- case 21:
5885
+ case 29:
5872
5886
  _yield$getPermissionS9 = _context16.sent;
5873
5887
  sigMetadataSignature = _yield$getPermissionS9.signature;
5874
5888
  sigMetadataState = _yield$getPermissionS9.nonce;
5875
- _context16.next = 26;
5889
+ _context16.next = 34;
5876
5890
  return getPermissionSignature({
5877
5891
  ipId: ipIdAddress,
5878
5892
  deadline: calculatedDeadline,
@@ -5887,11 +5901,11 @@ var IPAssetClient = /*#__PURE__*/function () {
5887
5901
  func: "function attachLicenseTerms(address,address,uint256)"
5888
5902
  }]
5889
5903
  });
5890
- case 26:
5904
+ case 34:
5891
5905
  _yield$getPermissionS10 = _context16.sent;
5892
5906
  sigAttachSignature = _yield$getPermissionS10.signature;
5893
5907
  sigAttachState = _yield$getPermissionS10.nonce;
5894
- _context16.next = 31;
5908
+ _context16.next = 39;
5895
5909
  return this.royaltyTokenDistributionWorkflowsClient.registerIpAndAttachPilTermsAndDeployRoyaltyVault({
5896
5910
  nftContract: request.nftContract,
5897
5911
  tokenId: BigInt(request.tokenId),
@@ -5901,7 +5915,7 @@ var IPAssetClient = /*#__PURE__*/function () {
5901
5915
  nftMetadataURI: ((_request$ipMetadata35 = request.ipMetadata) === null || _request$ipMetadata35 === void 0 ? void 0 : _request$ipMetadata35.nftMetadataURI) || "",
5902
5916
  nftMetadataHash: ((_request$ipMetadata36 = request.ipMetadata) === null || _request$ipMetadata36 === void 0 ? void 0 : _request$ipMetadata36.nftMetadataHash) || viem.zeroHash
5903
5917
  },
5904
- terms: licenseTerm,
5918
+ terms: licenseTerms,
5905
5919
  sigMetadata: {
5906
5920
  signer: this.wallet.account.address,
5907
5921
  deadline: calculatedDeadline,
@@ -5913,21 +5927,21 @@ var IPAssetClient = /*#__PURE__*/function () {
5913
5927
  signature: sigAttachSignature
5914
5928
  }
5915
5929
  });
5916
- case 31:
5930
+ case 39:
5917
5931
  registerIpAndAttachPilTermsAndDeployRoyaltyVaultTxHash = _context16.sent;
5918
- _context16.next = 34;
5932
+ _context16.next = 42;
5919
5933
  return this.rpcClient.waitForTransactionReceipt(_objectSpread2(_objectSpread2({}, request.txOptions), {}, {
5920
5934
  hash: registerIpAndAttachPilTermsAndDeployRoyaltyVaultTxHash
5921
5935
  }));
5922
- case 34:
5936
+ case 42:
5923
5937
  txReceipt = _context16.sent;
5924
5938
  ipId = this.getIpIdAndTokenIdsFromEvent(txReceipt)[0].ipId;
5925
- _context16.next = 38;
5926
- return this.getLicenseTermsId([licenseTerm]);
5927
- case 38:
5928
- licenseTermsId = _context16.sent;
5939
+ _context16.next = 46;
5940
+ return this.getLicenseTermsId(licenseTerms);
5941
+ case 46:
5942
+ licenseTermsIds = _context16.sent;
5929
5943
  ipRoyaltyVault = this.royaltyModuleEventClient.parseTxIpRoyaltyVaultDeployedEvent(txReceipt)[0].ipRoyaltyVault;
5930
- _context16.next = 42;
5944
+ _context16.next = 50;
5931
5945
  return this.distributeRoyaltyTokens({
5932
5946
  ipId: ipId,
5933
5947
  deadline: calculatedDeadline,
@@ -5937,33 +5951,33 @@ var IPAssetClient = /*#__PURE__*/function () {
5937
5951
  totalAmount: totalAmount,
5938
5952
  txOptions: request.txOptions
5939
5953
  });
5940
- case 42:
5954
+ case 50:
5941
5955
  distributeRoyaltyTokensTxHash = _context16.sent;
5942
5956
  if (!((_request$txOptions27 = request.txOptions) !== null && _request$txOptions27 !== void 0 && _request$txOptions27.waitForTransaction)) {
5943
- _context16.next = 46;
5957
+ _context16.next = 54;
5944
5958
  break;
5945
5959
  }
5946
- _context16.next = 46;
5960
+ _context16.next = 54;
5947
5961
  return this.rpcClient.waitForTransactionReceipt(_objectSpread2(_objectSpread2({}, request.txOptions), {}, {
5948
5962
  hash: distributeRoyaltyTokensTxHash
5949
5963
  }));
5950
- case 46:
5964
+ case 54:
5951
5965
  return _context16.abrupt("return", {
5952
5966
  registerIpAndAttachPilTermsAndDeployRoyaltyVaultTxHash: registerIpAndAttachPilTermsAndDeployRoyaltyVaultTxHash,
5953
5967
  distributeRoyaltyTokensTxHash: distributeRoyaltyTokensTxHash,
5954
5968
  ipId: ipId,
5955
- licenseTermsId: licenseTermsId[0],
5969
+ licenseTermsIds: licenseTermsIds,
5956
5970
  ipRoyaltyVault: ipRoyaltyVault
5957
5971
  });
5958
- case 49:
5959
- _context16.prev = 49;
5972
+ case 57:
5973
+ _context16.prev = 57;
5960
5974
  _context16.t0 = _context16["catch"](0);
5961
5975
  handleError(_context16.t0, "Failed to register IP and attach license terms and distribute royalty tokens");
5962
- case 52:
5976
+ case 60:
5963
5977
  case "end":
5964
5978
  return _context16.stop();
5965
5979
  }
5966
- }, _callee16, this, [[0, 49]]);
5980
+ }, _callee16, this, [[0, 57]]);
5967
5981
  }));
5968
5982
  function registerIPAndAttachLicenseTermsAndDistributeRoyaltyTokens(_x16) {
5969
5983
  return _registerIPAndAttachLicenseTermsAndDistributeRoyaltyTokens.apply(this, arguments);
@@ -5996,9 +6010,9 @@ var IPAssetClient = /*#__PURE__*/function () {
5996
6010
  */
5997
6011
  )
5998
6012
  }, {
5999
- key: "registerDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokens",
6013
+ key: "registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens",
6000
6014
  value: (function () {
6001
- var _registerDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokens = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee17(request) {
6015
+ var _registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee17(request) {
6002
6016
  var _request$ipMetadata37, _request$ipMetadata38, _request$ipMetadata39, _request$ipMetadata40, _request$txOptions28, _this$getRoyaltyShare2, royaltyShares, totalAmount, blockTimestamp, calculatedDeadline, ipIdAddress, isRegistered, _yield$getPermissionS11, sigMetadataSignature, sigMetadataState, _yield$getPermissionS12, sigAttachSignature, sigAttachState, txHash, txReceipt, _this$getIpIdAndToken, ipId, tokenId, ipRoyaltyVault, distributeRoyaltyTokensTxHash;
6003
6017
  return _regeneratorRuntime().wrap(function _callee17$(_context17) {
6004
6018
  while (1) switch (_context17.prev = _context17.next) {
@@ -6123,7 +6137,7 @@ var IPAssetClient = /*#__PURE__*/function () {
6123
6137
  }));
6124
6138
  case 38:
6125
6139
  return _context17.abrupt("return", {
6126
- registerDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokensTxHash: txHash,
6140
+ registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokensTxHash: txHash,
6127
6141
  distributeRoyaltyTokensTxHash: distributeRoyaltyTokensTxHash,
6128
6142
  ipId: ipId,
6129
6143
  tokenId: tokenId,
@@ -6139,17 +6153,17 @@ var IPAssetClient = /*#__PURE__*/function () {
6139
6153
  }
6140
6154
  }, _callee17, this, [[0, 41]]);
6141
6155
  }));
6142
- function registerDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokens(_x17) {
6143
- return _registerDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokens.apply(this, arguments);
6156
+ function registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens(_x17) {
6157
+ return _registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens.apply(this, arguments);
6144
6158
  }
6145
- return registerDerivativeAndAttachLicenseTermsAndDistributeRoyaltyTokens;
6159
+ return registerDerivativeIpAndAttachLicenseTermsAndDistributeRoyaltyTokens;
6146
6160
  }()
6147
6161
  /**
6148
- * Mint an NFT and register the IP, attach PIL terms, and distribute royalty tokens. In order to successfully distribute royalty tokens, the license terms attached to the IP must be
6162
+ * Mint an NFT and register the IP, attach PIL terms, and distribute royalty tokens. In order to successfully distribute royalty tokens, First the license terms attached to the IP must be
6149
6163
  * a commercial license.
6150
6164
  * @param request - The request object that contains all data needed to mint an NFT and register the IP, attach PIL terms, and distribute royalty tokens.
6151
6165
  * @param request.spgNftContract The address of the SPG NFT contract.
6152
- * @param request.terms The array of license terms to be attached.
6166
+ * @param {Array} request.terms The array of license terms to be attached.
6153
6167
  * @param request.terms.transferable Indicates whether the license is transferable or not.
6154
6168
  * @param request.terms.royaltyPolicy The address of the royalty policy contract which required to StoryProtocol in advance.
6155
6169
  * @param request.terms.mintingFee The fee to be paid when minting a license.
@@ -6177,31 +6191,46 @@ var IPAssetClient = /*#__PURE__*/function () {
6177
6191
  * @param request.royaltyShares.percentage The percentage of the royalty share, 10 represents 10%.
6178
6192
  * @param request.recipient - [Optional] The address to receive the minted NFT,default value is your wallet address.
6179
6193
  * @param request.txOptions [Optional] This extends `WaitForTransactionReceiptParameters` from the Viem library, excluding the `hash` property, without encodedTxData option.
6180
- * @returns A Promise that resolves to a transaction hash, IP ID, License terms ID, and IP royalty vault, Token ID.
6194
+ * @returns A Promise that resolves to a transaction hash, IP ID, IP royalty vault, Token ID, and an array containing the license terms ID.
6181
6195
  * @emits IPRegistered (ipId, chainId, tokenContract, tokenId, name, uri, registrationDate)
6196
+ * @emits IpRoyaltyVaultDeployed (ipId, ipRoyaltyVault)
6182
6197
  */
6183
6198
  )
6184
6199
  }, {
6185
6200
  key: "mintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokens",
6186
6201
  value: (function () {
6187
6202
  var _mintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokens = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee18(request) {
6188
- var _request$ipMetadata41, _request$ipMetadata42, _request$ipMetadata43, _request$ipMetadata44, _request$txOptions29, licenseTerm, _this$getRoyaltyShare3, royaltyShares, txHash, txReceipt, _this$getIpIdAndToken2, ipId, tokenId, licenseTermsId, ipRoyaltyVault;
6203
+ var _request$ipMetadata41, _request$ipMetadata42, _request$ipMetadata43, _request$ipMetadata44, _request$txOptions29, licenseTerms, i, term, licenseTerm, _this$getRoyaltyShare3, royaltyShares, txHash, txReceipt, _this$getIpIdAndToken2, ipId, tokenId, licenseTermsIds, ipRoyaltyVault;
6189
6204
  return _regeneratorRuntime().wrap(function _callee18$(_context18) {
6190
6205
  while (1) switch (_context18.prev = _context18.next) {
6191
6206
  case 0:
6192
6207
  _context18.prev = 0;
6193
- if (request.terms.commercialUse) {
6194
- _context18.next = 3;
6208
+ licenseTerms = [];
6209
+ i = 0;
6210
+ case 3:
6211
+ if (!(i < request.terms.length)) {
6212
+ _context18.next = 14;
6195
6213
  break;
6196
6214
  }
6197
- throw new Error("Commercial use is required to deploy a royalty vault.");
6198
- case 3:
6199
- _context18.next = 5;
6200
- return validateLicenseTerms(request.terms, this.rpcClient);
6201
- case 5:
6215
+ term = request.terms[i];
6216
+ if (!(i === 0 && !term.commercialUse)) {
6217
+ _context18.next = 7;
6218
+ break;
6219
+ }
6220
+ throw new Error("First license term must be a commercial license.");
6221
+ case 7:
6222
+ _context18.next = 9;
6223
+ return validateLicenseTerms(term, this.rpcClient);
6224
+ case 9:
6202
6225
  licenseTerm = _context18.sent;
6226
+ licenseTerms.push(licenseTerm);
6227
+ case 11:
6228
+ i++;
6229
+ _context18.next = 3;
6230
+ break;
6231
+ case 14:
6203
6232
  _this$getRoyaltyShare3 = this.getRoyaltyShares(request.royaltyShares), royaltyShares = _this$getRoyaltyShare3.royaltyShares;
6204
- _context18.next = 9;
6233
+ _context18.next = 17;
6205
6234
  return this.royaltyTokenDistributionWorkflowsClient.mintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokens({
6206
6235
  spgNftContract: getAddress$1(request.spgNftContract, "request.spgNftContract"),
6207
6236
  recipient: request.recipient && getAddress$1(request.recipient, "request.recipient") || this.wallet.account.address,
@@ -6211,47 +6240,47 @@ var IPAssetClient = /*#__PURE__*/function () {
6211
6240
  nftMetadataURI: ((_request$ipMetadata43 = request.ipMetadata) === null || _request$ipMetadata43 === void 0 ? void 0 : _request$ipMetadata43.nftMetadataURI) || "",
6212
6241
  nftMetadataHash: ((_request$ipMetadata44 = request.ipMetadata) === null || _request$ipMetadata44 === void 0 ? void 0 : _request$ipMetadata44.nftMetadataHash) || viem.zeroHash
6213
6242
  },
6214
- terms: licenseTerm,
6243
+ terms: licenseTerms,
6215
6244
  royaltyShares: royaltyShares
6216
6245
  });
6217
- case 9:
6246
+ case 17:
6218
6247
  txHash = _context18.sent;
6219
6248
  if (!((_request$txOptions29 = request.txOptions) !== null && _request$txOptions29 !== void 0 && _request$txOptions29.waitForTransaction)) {
6220
- _context18.next = 20;
6249
+ _context18.next = 28;
6221
6250
  break;
6222
6251
  }
6223
- _context18.next = 13;
6252
+ _context18.next = 21;
6224
6253
  return this.rpcClient.waitForTransactionReceipt(_objectSpread2(_objectSpread2({}, request.txOptions), {}, {
6225
6254
  hash: txHash
6226
6255
  }));
6227
- case 13:
6256
+ case 21:
6228
6257
  txReceipt = _context18.sent;
6229
6258
  _this$getIpIdAndToken2 = this.getIpIdAndTokenIdsFromEvent(txReceipt)[0], ipId = _this$getIpIdAndToken2.ipId, tokenId = _this$getIpIdAndToken2.tokenId;
6230
- _context18.next = 17;
6231
- return this.getLicenseTermsId([licenseTerm]);
6232
- case 17:
6233
- licenseTermsId = _context18.sent;
6259
+ _context18.next = 25;
6260
+ return this.getLicenseTermsId(licenseTerms);
6261
+ case 25:
6262
+ licenseTermsIds = _context18.sent;
6234
6263
  ipRoyaltyVault = this.royaltyModuleEventClient.parseTxIpRoyaltyVaultDeployedEvent(txReceipt)[0].ipRoyaltyVault;
6235
6264
  return _context18.abrupt("return", {
6236
6265
  txHash: txHash,
6237
6266
  ipId: ipId,
6238
- licenseTermsId: licenseTermsId[0],
6267
+ licenseTermsIds: licenseTermsIds,
6239
6268
  ipRoyaltyVault: ipRoyaltyVault,
6240
6269
  tokenId: tokenId
6241
6270
  });
6242
- case 20:
6271
+ case 28:
6243
6272
  return _context18.abrupt("return", {
6244
6273
  txHash: txHash
6245
6274
  });
6246
- case 23:
6247
- _context18.prev = 23;
6275
+ case 31:
6276
+ _context18.prev = 31;
6248
6277
  _context18.t0 = _context18["catch"](0);
6249
6278
  handleError(_context18.t0, "Failed to mint and register IP and attach PIL terms and distribute royalty tokens");
6250
- case 26:
6279
+ case 34:
6251
6280
  case "end":
6252
6281
  return _context18.stop();
6253
6282
  }
6254
- }, _callee18, this, [[0, 23]]);
6283
+ }, _callee18, this, [[0, 31]]);
6255
6284
  }));
6256
6285
  function mintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokens(_x18) {
6257
6286
  return _mintAndRegisterIpAndAttachPilTermsAndDistributeRoyaltyTokens.apply(this, arguments);