- Expects
unitas parameter - Expects some xtz amount attached to the transaction
- Returns operations with distributed splits to participants
- Changes storage
undistributedledger - Changes storage
residualssum - Anyone can call this entrypoint
- Behaviour depends on
thresholdsettings - Some xtz amount might be locked in
residuals
This entrypoint allows HicProxy contract to receive xtz and split it among participants. When this contract used as a recepient of xtz (as a seller in the marketplace or as a royalty receiver) it runs logic that redistribute incoming value using participant shares. By default all incoming values automaticly sent to participants, but admin can set threshold that determines the minimal value that will trigger automatic payout to participant. If value is less than threshold it will be kept in contract until it reaches it. If incoming amount can't be split equally between all participants, the residuals left on the contract and will be reused next time contract recieves some payment (during next default call).
- Expects
addressof the participant that should receive undistributed amount - Expects no attached amount
- Returns operation with this undistributed amount from
undistributedledger - Sets
undistributedledger foraddressto0n - Anyone can call this entrypoint for any address in
undistributedledger
This entrypoint allow participant to withdraw its undistributed earnings if there is some threshold set and participant wants to receive his share before this threshold is reached. Anyone can call this withdraw for anyone, so it is possible to withdraw for a contract if it had no logic to call withdraw by itself, it can be useful for stacked collab contracts.
- Expects
natwith new threshold value - Expects no attached amount
- Changes storage
thresholdvalue - Only admin can call this entrypoint
This entrypoint changes threshold value that used in default redistribution mechanics. Default value is 0n which means no threshold is set.
- Expects
executeParamswhich is record oflambdawithexecutableCallandpackedParamswithbytespayload - Might allow to attach some amount to the call
- Emits operations that encoded in lambda
- Only admin can call this entrypoint
Allows administrator to make any operation from the contract name (this can be useful to support another marketplaces that can arise in the future). Shortly: this entrypoint allows admin to run any code that does not change contract storage. There are examples of lambdas in the repository, one of which is marketplace V3 swap
To compile lambda you can use docker version of LIGO compiler:
docker run --rm -v "$PWD":"$PWD" -w "$PWD" ligolang/ligo:0.39.0 compile expression pascaligo lambda --init-file "contracts/lambdas/call/marketplaceV3Swap.ligo" > build/tz/lambdas/call/marketplace_v3_swap.tz- Expects
mintParamsthat have the same interface that h=nmint_OBJKTentrypoint - Expects no attached amount
- Emits mint operation to
mint_OBJKTto the storageminterAddress - Only admin can call this entrypoint
When this entrypoint is called all given params redirected to the h=n minter using split-contract name as a Source, so split-contract became creator of the minted objkt. This allows this contract receive and redistribute royalties in the future.
- Expects
swapParamsthat have the same interface that h=n V2 marketplaceswapentrypoint - Expects no attached amount
- Emits mint operation to
swapto the storagemarketplaceAddress - Only admin can call this entrypoint
The same as mint_OBJKT this swap call allows to swap token on V2 marketplace from the name of the collab contract. This entrypoint was not updated to V3 marketplace to keep backward compatibility. This is possible to swap using Teia V3 marketplace with lambda call.
- Expects
cancelSwapParamsthat have the same interface that h=n V2 marketplacecancel_swapentrypoint - Expects no attached amount
- Emits mint operation to
cancel_swapto the storagemarketplaceAddress - Only admin can call this entrypoint
This entrypoint allow to cancel swap from V2 marketplace.
- Expects
collectParamsthat have the same interface that h=n V2 marketplacecollectentrypoint - Expects no attached amount
- Emits mint operation to
collectto the storagemarketplaceAddress - Only admin can call this entrypoint
This entrypoint allows to collect other tokens from V2 marketplace.
- Expects
registryParamsthat have the same interface that h=n registryregistryentrypoint - Expects no attached amount
- Emits mint operation to
registryto the storageregistryAddress - Only admin can call this entrypoint
This entrypoint allows to change collab name / description in registry.
- Expects
unitas parameter - Expects no attached amount
- Emits mint operation to
unregistryto the storageregistryAddress - Only admin can call this entrypoint
- Expects FA2
update_operatorsas parameter - Expects no attached amount
- Emits mint operation to
update_operatorsto the storagetokenAddress - Only admin can call this entrypoint
This entrypoint allows to make update_operators call from collab contract name which is required to interact from collab contract with another contracts (including marketplaces).
- Expects FA2
transferas parameter - Expects no attached amount
- Emits mint operation to
transferto the storagetokenAddress - Only admin can call this entrypoint
This entrypoint allows to make transfers from the collab contract name. It might be useful for airdrops.
- Expects
addressof new administrator - Expects no attached amount
- Changes storage
administratorto new administrator - Only admin can call this entrypoint
This can be useful to transfer admin rights to another address.
Onchain views is feature that was added in hangzhou protocol upgrade. This allows to make read-only synchronous calls to the contract to get some info onchain.
- Expects
unitas parameter - Returns map with addresses as keys and shares as values for each participant from the contract
- Expects
unitas parameter - Returns set of participants that required to sign to be shown in UI
- Expects
unitas parameter - Returns administrator address
- Expects
unitas parameter - Returns amount of xtz that was received by this collab during its existance time (might have interesting usecases I suppose)
- Expects
unitas parameter - Return amount of total shares in contract
MINT_NF: error raised if minter is not properly configured during contract originationSWAP_NF: error raised if marketplace is not properly configured during contract originationREG_NF: error raised if registry is not properly configured during contract originationADDR_NF: error raised if recipient address is not foundFA2_NF: error raised if token is not properly configured during contract originationAMNT_FRBD: error raised if entrypoint is not expecting to receive any amount but gets someNOT_ADM: error raised if entrypoint is expected to be called by admin only and called by anyone elseWR_SHARES: error raised during distribution if the sum of shares is not equal to total sharesWR_ADDR: error raised if recipient address requested for withdraw have no splits in collab