-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Point Release 1.1.0 #202
Point Release 1.1.0 #202
Conversation
Added 2 functions and a defcap to make retrieving the royalty address easier, rotating the account and guard for receiving royalties, and prove current keyset is the owner. Repl tests included for royalty-policy-v1.
it should have been omitted
Add non-updatable-uri-policy as concrete policy
Changed capability to ROTATE-ROYALTY
Rotate Royalty
Point release/1.1.0 improve caps
…ce-withdrawal-non-created-auction allow withdraw for non-created sales in auction contracts
Is there any way to remove the requirement to sign as the users with in WITHDRAW once the timeout is expired? So we could scrape and remove any sales that are in timeout in ledger.pact? Users having to go back and manually withdraw vs being able to have a bot/process scrape/remove will make it more robust for marketplaces. this will be especially important if we have other active services using the V2 ledger. If we just tweak the if statement and remove guard signing with this series of code it should still maintain security since timeout will be expired. (defcap WITHDRAW:bool |
This is the test case written for the specific case: |
My apologies. You are absolutely correct, and I omitted an important detail. The issue was expired auctions, which, unfortunately, also use timeout = 0. |
For this I would suggest using the timeout in the ledger that is equal to the auction's |
Thank you, I thought we were always supposed to do timeout 0 for auctions, so I'll test that out. Appreciate the info! |
New Features and Changes
1. New concrete policy:
non-updatable-uri-policy
What is it?
The new policy enforces that a token's URI is never upgradable when added to a policy list.
Action Item for Builders:
util-v1
functions are being used and refer to Adjustment ofmarmalade-v2.util-v1
to supportnon-updatable-uri-policy
2. rotate creator information in Royalty Policy
What is it?
marmalade-v2.royalty-policy-v1.rotate
function is newly added, allowing creator to rotate the creator information.Action Item for Builders:
Alert users with the new functionality, and implement the functionality in apps.
3. Reintroduction of
creator-guard
in themarmalade-v2.ledger.CREATE-TOKEN
capabilityReason: The
creator-guard
field was removed in the last upgrade to improve user experience. However, to enhance security and consistency in the capability signing process, we've decided to reintroduce it.Action Item for Builders:
Update
(marmalade-v2.ledger.CREATE-TOKEN token-id)
to
(marmalade-v2.ledger.CREATE-TOKEN token-id creator-guard)
4. Sales in dutch-auction and conventional-auction that did not create auction can bypass
enforce-withdrawal
checkReason: Mal-formed sales with
sale-type=marmalade-sale.conventional-auction
orsale-type=marmalade-dutch-auction
andsale-price != 0.0
cannot be withdrawn. Bypassing the auction-completion checks atsale-contract::enforce-withdrawal
enables a method for withdrawals.Action Item for Builders:
N/A
5. Change in event emissions sale-contracts
Details:
(marmalade-sale.dutch-auction.AUCTION_UPDATED token-id sale-id)
is newly introduced atmarmalade-sale.dutch-auction.update-auction
(marmalade-sale.conventional-auction.AUCTION_UPDATED token-id sale-id)
is newly introduced atmarmalade-sale.conventional-auction.update-auction
(marmalade-sale.conventional-auction.AUCTION_CREATED token-id sale-id escrow-account)
is modified to(marmalade-sale.conventional-auction.AUCTION_CREATED token-id sale-id)
(marmalade-sale.conventional-auction.BID_PLACED bid-id bidder bidder-guard bid token-id )
is modified to(marmalade-sale.conventional-auction.BID_PLACED bid-id sale-id)
(marmalade-sale.dutch-auction.PRICE_ACCEPTED sale-id buyer buyer-guard price token-id)
is modified to(marmalade-sale.dutch-auction.PRICE_ACCEPTED sale-id token-id)
Reason
To minimize event emission, we've removed additional data that can be looked up from the
escrow-account
, orretrieve-auction
function from the events.Action Item for Builders:
escrow-account
, orretrieve-auction
calls.AUCTION_UDPATED
6. Adjustment of
marmalade-v2.util-v1
to supportnon-updatable-uri-policy
Reason
To add support for the new concrete policy,
non-updatable-uri-policy
, we've added the new field to the schema,marmalade-v2.util-v1.concrete-policies
and added/modified defconsts, and functions with details below.Details
marmalade-v2.util-v1.concrete-policy-bool
schemawas modified to
Updated/newly introduced functions
util-v1.mint-basic-NFT
was updated to include anon-updatable-uri-policy
.util-v1.create-token-with-uri-guard
is newly introducedNewly introduced
defconsts
:DEFAULT_NON_UPDATABLE
DEFAULT_ROYALTY_NON_UPDATABLE
DEFAULT_COLLECTION_NON_UPDATABLE
DEFAULT_COLLECTION_ROYALTY_NON_UPDATABLE
Action Item for Builders:
util-v1
functions to use the updatedconcrete-policy-bool
schema:marmalade-v2.util-v1.create-policies
marmalade-v2.util-v1.create-concrete-policy
non-updatable-uri-policy
field and utilize the new defconsts and functions where applicable.Sample Scripts
Sample scripts of marmalade functions are available here
Deployment Schedule
Testnet Deployment : Friday, 5/24/2024
Mainnet Deployment : Friday, 6/7/2024