Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
756f807
feat: add multicall functionality to DerivativeWorkflows and RoyaltyT…
bonnie57 Jan 9, 2026
69779a7
feat: add batch registration types for optimized workflows in IPAsset
bonnie57 Jan 9, 2026
702efad
feat: add registration utilities for SPG NFT public minting check
bonnie57 Jan 9, 2026
330cc6f
feat: add aggregate3 functionality to Multicall3Client and enhance IP…
bonnie57 Jan 12, 2026
e96c6c9
refactor: replace _validate_license_terms_data method with validate_l…
bonnie57 Jan 12, 2026
5ab1c9c
refactor: remove deprecated batch registration methods and unused imp…
bonnie57 Jan 12, 2026
97bb30c
refactor: update mock fixtures in test_ip_asset.py to use MagicMock f…
bonnie57 Jan 12, 2026
ff34469
test: add unit test for test_registration_utils
bonnie57 Jan 12, 2026
8635ef6
feat: add transform_registration_request utility for processing regis…
bonnie57 Jan 12, 2026
984243b
feat: introduce registration utilities for IP asset operations, inclu…
bonnie57 Jan 13, 2026
293c9c2
feat: enhance registration request handling by introducing ExtraData …
bonnie57 Jan 13, 2026
587bcc7
fix: update import paths for registration utilities and enhance test …
bonnie57 Jan 14, 2026
6412b05
refactor: update MintAndRegisterRequest to allow None for allow_dupli…
bonnie57 Jan 14, 2026
93a5a41
feat: add validated_request structure to registration request handlin…
bonnie57 Jan 14, 2026
8370f38
refactor: streamline registration request handling by integrating tra…
bonnie57 Jan 14, 2026
647b41c
refactor: register_ip_and_attach_pil_terms_and_distribute_royalty_tok…
bonnie57 Jan 15, 2026
97c9f2e
refactor: register_derivative_ip_and_attach_pil_terms_and_distribute_…
bonnie57 Jan 16, 2026
ff16fac
refactor: simplify register_ip_and_attach_pil_terms by integrating tr…
bonnie57 Jan 16, 2026
e067c4a
refactor: register_derivative_ip with transform_request
bonnie57 Jan 16, 2026
b8abc34
refactor:mint_and_register_ip_and_attach_pil_terms_and_distribute_roy…
bonnie57 Jan 16, 2026
6325581
refactor: mint_and_register_ip_and_make_derivative_and_distribute_roy…
bonnie57 Jan 16, 2026
95a0d8c
refactor: enhance mint_and_register_ip_and_attach_pil_terms by integr…
bonnie57 Jan 16, 2026
32f729c
refactor: update IPAsset and transform_registration_request to utiliz…
bonnie57 Jan 16, 2026
825739a
refactor: simplify IPAsset's minting request by directly assigning ip…
bonnie57 Jan 16, 2026
db66574
refactor: remove unused _validate_derivative_data method from IPAsset…
bonnie57 Jan 19, 2026
5b997a4
refactor: use get_permission_signature instead of hardcode
bonnie57 Jan 19, 2026
b83756a
feat: return contract_call in the transfer request
bonnie57 Jan 19, 2026
e71e3bd
feat: add aggregate_multicall_requests function to group registration…
bonnie57 Jan 19, 2026
cc4e76b
feat: implement batch_ip_asset_with_optimized_workflows method for ef…
bonnie57 Jan 21, 2026
03fc689
refactor: update IPAsset and registration utilities to enhance reques…
bonnie57 Jan 21, 2026
6256c04
test: test_batch_register_ip_assets_with_optimized_workflows_with_reg…
bonnie57 Jan 21, 2026
684991a
test: test_batch_register_ip_assets_with_optimized_workflows_with_min…
bonnie57 Jan 22, 2026
5f3e608
feat: add the license terms id via ip_id
bonnie57 Jan 22, 2026
c75775e
test: add test_batch_register_ip_assets_with_optimized_workflows_with…
bonnie57 Jan 23, 2026
1dad611
test: add test_batch_register_ip_assets_with_optimized_workflows_with…
bonnie57 Jan 23, 2026
5156f3a
test: update registration utility tests to improve mocking and add ne…
bonnie57 Jan 26, 2026
da4a5e1
test:enhance the aggregate_multicall_requests method tests
bonnie57 Jan 26, 2026
d7e725c
test:prepare_distribute_royalty_tokens_requests
bonnie57 Jan 26, 2026
13e06bd
test:send_transactions
bonnie57 Jan 26, 2026
4d5fbc9
test:transform_distribute_royalty_tokens_request
bonnie57 Jan 26, 2026
e0e64fd
test:fix other tests
bonnie57 Jan 26, 2026
7599082
test: batch_ip_asset_with_optimized_workflows
bonnie57 Jan 26, 2026
e23cf56
refactor: move AggregatedRequestData to utils and clean up imports in…
bonnie57 Jan 27, 2026
7f63120
refactor: clean up IPAsset and registration utility files by removing…
bonnie57 Jan 27, 2026
b71f850
test: update TestCollectRoyaltyAndClaimReward to adjust amount and ma…
bonnie57 Jan 27, 2026
59bd444
refactor: update royalty_shares type in ExtraData and clean up import…
bonnie57 Jan 27, 2026
95416cc
refactor: update royalty_shares type in ExtraData to use RoyaltyShare…
bonnie57 Jan 27, 2026
50a9c92
refactor: rename original_method_reference to workflow_multicall_refe…
bonnie57 Jan 27, 2026
ad48971
refactor:remove todo to maintance
bonnie57 Jan 27, 2026
7267493
refactor: simplify allow_duplicates handling by removing legacy funct…
bonnie57 Jan 27, 2026
f202874
refactor: streamline IPAsset methods and improve code readability by …
bonnie57 Jan 27, 2026
b563982
refactor: update default minting fees in TestBatchRegisterIpAssetsWit…
bonnie57 Jan 27, 2026
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
10 changes: 10 additions & 0 deletions src/story_protocol_python_sdk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,12 @@
from .types.resource.IPAsset import (
BatchMintAndRegisterIPInput,
BatchMintAndRegisterIPResponse,
BatchRegisterIpAssetsWithOptimizedWorkflowsResponse,
BatchRegistrationResult,
IpRegistrationWorkflowRequest,
LicenseTermsDataInput,
LinkDerivativeResponse,
MintAndRegisterRequest,
MintedNFT,
MintNFT,
RegisterAndAttachAndDistributeRoyaltyTokensResponse,
Expand All @@ -26,6 +30,7 @@
RegisteredIP,
RegisterIpAssetResponse,
RegisterPILTermsAndAttachResponse,
RegisterRegistrationRequest,
RegistrationResponse,
RegistrationWithRoyaltyVaultAndLicenseTermsResponse,
RegistrationWithRoyaltyVaultResponse,
Expand Down Expand Up @@ -82,6 +87,11 @@
"RegisterIpAssetResponse",
"RegisterDerivativeIpAssetResponse",
"LinkDerivativeResponse",
"MintAndRegisterRequest",
"RegisterRegistrationRequest",
"IpRegistrationWorkflowRequest",
"BatchRegistrationResult",
"BatchRegisterIpAssetsWithOptimizedWorkflowsResponse",
# Constants
"ZERO_ADDRESS",
"ZERO_HASH",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@ def build_mintAndRegisterIpAndMakeDerivativeWithLicenseTokens_transaction(
).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
):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ def __init__(self, web3: Web3):
abi = json.load(abi_file)
self.contract = self.web3.eth.contract(address=contract_address, abi=abi)

def aggregate3(self, calls):
return self.contract.functions.aggregate3(calls).transact()

def build_aggregate3_transaction(self, calls, tx_params):
return self.contract.functions.aggregate3(calls).build_transaction(tx_params)

def aggregate3Value(self, calls):
return self.contract.functions.aggregate3Value(calls).transact()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,12 @@ def build_mintAndRegisterIpAndMakeDerivativeAndDistributeRoyaltyTokens_transacti
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 registerIpAndAttachPILTermsAndDeployRoyaltyVault(
self,
nftContract,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,6 @@ def mintFee(self):

def mintFeeToken(self):
return self.contract.functions.mintFeeToken().call()

def publicMinting(self):
return self.contract.functions.publicMinting().call()
Loading
Loading