Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c87ff39
Added auto generated python classes for group module
aandrewchung Apr 11, 2025
0359b7a
Added EVEN_SPLIT_GROUP_POOL constant to utils for integration test
aandrewchung Apr 11, 2025
50fc9ef
Added group module to story client
aandrewchung Apr 11, 2025
d694606
Added register_group() to group module
aandrewchung Apr 11, 2025
4549e4c
Added royalty policy lrp constant for integration test
aandrewchung Apr 12, 2025
96d5016
Added register_group_and_attach_license()
aandrewchung Apr 12, 2025
14c55f3
Updated abis for grouping module and workflows
aandrewchung Apr 13, 2025
3b09084
buggy mint_and_register_ip_and_attach_license_and_add_to_group()
aandrewchung Apr 13, 2025
6729f0b
Added register_group_and_attach_license_and_add_ips() and respective …
aandrewchung Apr 14, 2025
c3bd25e
Added mint_and_register_ip_and_attach_license_and_add_to_group() and …
aandrewchung Apr 15, 2025
41bc880
Added transfer_to_vault() to royalty module
aandrewchung Apr 15, 2025
fd0ab87
testing collect_and_distribute_group_royalties()
aandrewchung Apr 15, 2025
89835ba
Updated abi jsons
aandrewchung Apr 16, 2025
2b0c29c
Updating setLicensingConfig() func
aandrewchung Apr 16, 2025
0cf2fde
Updated get_permission_signature for multiple permissions
aandrewchung Apr 17, 2025
6474b01
Added register_ip_and_attach_license_and_add_to_group() to group module
aandrewchung Apr 17, 2025
571d6f7
collect_and_distribute_group_royalties() bug
aandrewchung Apr 17, 2025
fa58f0b
uncommented integration tests for test_register_group_and_attach_lice…
aandrewchung Apr 17, 2025
f69431e
Updated transfer_to_vault() to use LRP abi
aandrewchung Apr 21, 2025
bc16e28
Debugging Groups Module Integration Tests (#67)
bpolania Apr 23, 2025
e092bdc
Update test_integration_ip_account.py
bpolania Apr 23, 2025
fe9a805
Update test_integration_nft_client.py
bpolania Apr 23, 2025
42ca46b
Update test_integration_ip_account.py
bpolania Apr 23, 2025
fcf51a0
Merge branch 'main' into andrew/add-group-module
bpolania Apr 23, 2025
33a1e5f
Addressed self.web3 vs Web3 cmnt
aandrewchung Apr 24, 2025
2334fe7
Updated parse fns to raise error instead of returning none
aandrewchung Apr 24, 2025
8940f54
fix CORE_METADATA_MODULE issue (#71)
bpolania Apr 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,35 +21,4 @@ def __init__(self, web3: Web3):
with open(abi_path, 'r') as abi_file:
abi = json.load(abi_file)
self.contract = self.web3.eth.contract(address=contract_address, abi=abi)

def mintAndRegisterIpAndMakeDerivative(self, spgNftContract, derivData, ipMetadata, recipient, allowDuplicates):
return self.contract.functions.mintAndRegisterIpAndMakeDerivative(spgNftContract, derivData, ipMetadata, recipient, allowDuplicates).transact()

def build_mintAndRegisterIpAndMakeDerivative_transaction(self, spgNftContract, derivData, ipMetadata, recipient, allowDuplicates, tx_params):
return self.contract.functions.mintAndRegisterIpAndMakeDerivative(spgNftContract, derivData, ipMetadata, recipient, allowDuplicates).build_transaction(tx_params)

def mintAndRegisterIpAndMakeDerivativeWithLicenseTokens(self, spgNftContract, licenseTokenIds, royaltyContext, maxRts, ipMetadata, recipient, allowDuplicates):
return self.contract.functions.mintAndRegisterIpAndMakeDerivativeWithLicenseTokens(spgNftContract, licenseTokenIds, royaltyContext, maxRts, ipMetadata, recipient, allowDuplicates).transact()

def build_mintAndRegisterIpAndMakeDerivativeWithLicenseTokens_transaction(self, spgNftContract, licenseTokenIds, royaltyContext, maxRts, ipMetadata, recipient, allowDuplicates, tx_params):
return self.contract.functions.mintAndRegisterIpAndMakeDerivativeWithLicenseTokens(spgNftContract, licenseTokenIds, royaltyContext, maxRts, ipMetadata, recipient, allowDuplicates).build_transaction(tx_params)

def multicall(self, data):
return self.contract.functions.multicall(data).transact()

def build_multicall_transaction(self, data, tx_params):
return self.contract.functions.multicall(data).build_transaction(tx_params)

def registerIpAndMakeDerivative(self, nftContract, tokenId, derivData, ipMetadata, sigMetadataAndRegister):
return self.contract.functions.registerIpAndMakeDerivative(nftContract, tokenId, derivData, ipMetadata, sigMetadataAndRegister).transact()

def build_registerIpAndMakeDerivative_transaction(self, nftContract, tokenId, derivData, ipMetadata, sigMetadataAndRegister, tx_params):
return self.contract.functions.registerIpAndMakeDerivative(nftContract, tokenId, derivData, ipMetadata, sigMetadataAndRegister).build_transaction(tx_params)

def registerIpAndMakeDerivativeWithLicenseTokens(self, nftContract, tokenId, licenseTokenIds, royaltyContext, maxRts, ipMetadata, sigMetadataAndRegister):
return self.contract.functions.registerIpAndMakeDerivativeWithLicenseTokens(nftContract, tokenId, licenseTokenIds, royaltyContext, maxRts, ipMetadata, sigMetadataAndRegister).transact()

def build_registerIpAndMakeDerivativeWithLicenseTokens_transaction(self, nftContract, tokenId, licenseTokenIds, royaltyContext, maxRts, ipMetadata, sigMetadataAndRegister, tx_params):
return self.contract.functions.registerIpAndMakeDerivativeWithLicenseTokens(nftContract, tokenId, licenseTokenIds, royaltyContext, maxRts, ipMetadata, sigMetadataAndRegister).build_transaction(tx_params)


Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,17 @@ def __init__(self, web3: Web3):
with open(abi_path, 'r') as abi_file:
abi = json.load(abi_file)
self.contract = self.web3.eth.contract(address=contract_address, abi=abi)

def addIp(self, groupIpId, ipIds, maxAllowedRewardShare):
return self.contract.functions.addIp(groupIpId, ipIds, maxAllowedRewardShare).transact()

def build_addIp_transaction(self, groupIpId, ipIds, maxAllowedRewardShare, tx_params):
return self.contract.functions.addIp(groupIpId, ipIds, maxAllowedRewardShare).build_transaction(tx_params)

def registerGroup(self, groupPool):
return self.contract.functions.registerGroup(groupPool).transact()

def build_registerGroup_transaction(self, groupPool, tx_params):
return self.contract.functions.registerGroup(groupPool).build_transaction(tx_params)


Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,34 @@ def __init__(self, web3: Web3):
abi = json.load(abi_file)
self.contract = self.web3.eth.contract(address=contract_address, abi=abi)

def mintAndRegisterIpAndAttachLicenseAndAddToGroup(self, spgNftContract, groupId, recipient, licensesData, ipMetadata, sigAddToGroup, allowDuplicates):
return self.contract.functions.mintAndRegisterIpAndAttachLicenseAndAddToGroup(spgNftContract, groupId, recipient, licensesData, ipMetadata, sigAddToGroup, allowDuplicates).transact()
def collectRoyaltiesAndClaimReward(self, groupIpId, currencyTokens, memberIpIds):
return self.contract.functions.collectRoyaltiesAndClaimReward(groupIpId, currencyTokens, memberIpIds).transact()

def build_mintAndRegisterIpAndAttachLicenseAndAddToGroup_transaction(self, spgNftContract, groupId, recipient, licensesData, ipMetadata, sigAddToGroup, allowDuplicates, tx_params):
return self.contract.functions.mintAndRegisterIpAndAttachLicenseAndAddToGroup(spgNftContract, groupId, recipient, licensesData, ipMetadata, sigAddToGroup, allowDuplicates).build_transaction(tx_params)
def build_collectRoyaltiesAndClaimReward_transaction(self, groupIpId, currencyTokens, memberIpIds, tx_params):
return self.contract.functions.collectRoyaltiesAndClaimReward(groupIpId, currencyTokens, memberIpIds).build_transaction(tx_params)

def mintAndRegisterIpAndAttachLicenseAndAddToGroup(self, spgNftContract, groupId, recipient, maxAllowedRewardShare, licensesData, ipMetadata, sigAddToGroup, allowDuplicates):
return self.contract.functions.mintAndRegisterIpAndAttachLicenseAndAddToGroup(spgNftContract, groupId, recipient, maxAllowedRewardShare, licensesData, ipMetadata, sigAddToGroup, allowDuplicates).transact()

def build_mintAndRegisterIpAndAttachLicenseAndAddToGroup_transaction(self, spgNftContract, groupId, recipient, maxAllowedRewardShare, licensesData, ipMetadata, sigAddToGroup, allowDuplicates, tx_params):
return self.contract.functions.mintAndRegisterIpAndAttachLicenseAndAddToGroup(spgNftContract, groupId, recipient, maxAllowedRewardShare, licensesData, ipMetadata, sigAddToGroup, allowDuplicates).build_transaction(tx_params)

def registerGroupAndAttachLicense(self, groupPool, licenseData):
return self.contract.functions.registerGroupAndAttachLicense(groupPool, licenseData).transact()

def build_registerGroupAndAttachLicense_transaction(self, groupPool, licenseData, tx_params):
return self.contract.functions.registerGroupAndAttachLicense(groupPool, licenseData).build_transaction(tx_params)

def registerGroupAndAttachLicenseAndAddIps(self, groupPool, ipIds, licenseData):
return self.contract.functions.registerGroupAndAttachLicenseAndAddIps(groupPool, ipIds, licenseData).transact()
def registerGroupAndAttachLicenseAndAddIps(self, groupPool, ipIds, maxAllowedRewardShare, licenseData):
return self.contract.functions.registerGroupAndAttachLicenseAndAddIps(groupPool, ipIds, maxAllowedRewardShare, licenseData).transact()

def build_registerGroupAndAttachLicenseAndAddIps_transaction(self, groupPool, ipIds, licenseData, tx_params):
return self.contract.functions.registerGroupAndAttachLicenseAndAddIps(groupPool, ipIds, licenseData).build_transaction(tx_params)
def build_registerGroupAndAttachLicenseAndAddIps_transaction(self, groupPool, ipIds, maxAllowedRewardShare, licenseData, tx_params):
return self.contract.functions.registerGroupAndAttachLicenseAndAddIps(groupPool, ipIds, maxAllowedRewardShare, licenseData).build_transaction(tx_params)

def registerIpAndAttachLicenseAndAddToGroup(self, nftContract, tokenId, groupId, licensesData, ipMetadata, sigMetadataAndAttachAndConfig, sigAddToGroup):
return self.contract.functions.registerIpAndAttachLicenseAndAddToGroup(nftContract, tokenId, groupId, licensesData, ipMetadata, sigMetadataAndAttachAndConfig, sigAddToGroup).transact()
def registerIpAndAttachLicenseAndAddToGroup(self, nftContract, tokenId, groupId, maxAllowedRewardShare, licensesData, ipMetadata, sigMetadataAndAttachAndConfig, sigAddToGroup):
return self.contract.functions.registerIpAndAttachLicenseAndAddToGroup(nftContract, tokenId, groupId, maxAllowedRewardShare, licensesData, ipMetadata, sigMetadataAndAttachAndConfig, sigAddToGroup).transact()

def build_registerIpAndAttachLicenseAndAddToGroup_transaction(self, nftContract, tokenId, groupId, licensesData, ipMetadata, sigMetadataAndAttachAndConfig, sigAddToGroup, tx_params):
return self.contract.functions.registerIpAndAttachLicenseAndAddToGroup(nftContract, tokenId, groupId, licensesData, ipMetadata, sigMetadataAndAttachAndConfig, sigAddToGroup).build_transaction(tx_params)
def build_registerIpAndAttachLicenseAndAddToGroup_transaction(self, nftContract, tokenId, groupId, maxAllowedRewardShare, licensesData, ipMetadata, sigMetadataAndAttachAndConfig, sigAddToGroup, tx_params):
return self.contract.functions.registerIpAndAttachLicenseAndAddToGroup(nftContract, tokenId, groupId, maxAllowedRewardShare, licensesData, ipMetadata, sigMetadataAndAttachAndConfig, sigAddToGroup).build_transaction(tx_params)


Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,11 @@ def __init__(self, web3: Web3):
with open(abi_path, 'r') as abi_file:
abi = json.load(abi_file)
self.contract = self.web3.eth.contract(address=contract_address, abi=abi)

def transferToVault(self, ipId, ancestorIpId, token):
return self.contract.functions.transferToVault(ipId, ancestorIpId, token).transact()

def build_transferToVault_transaction(self, ipId, ancestorIpId, token, tx_params):
return self.contract.functions.transferToVault(ipId, ancestorIpId, token).build_transaction(tx_params)


Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,11 @@ def __init__(self, web3: Web3):
with open(abi_path, 'r') as abi_file:
abi = json.load(abi_file)
self.contract = self.web3.eth.contract(address=contract_address, abi=abi)

def transferToVault(self, ipId, ancestorIpId, token):
return self.contract.functions.transferToVault(ipId, ancestorIpId, token).transact()

def build_transferToVault_transaction(self, ipId, ancestorIpId, token, tx_params):
return self.contract.functions.transferToVault(ipId, ancestorIpId, token).build_transaction(tx_params)


Loading