Introduce 'Never' type as a safe alternative to always None options
Unfortunately, as documented in: https://github.com/IntersectMBO/cardano-ledger/issues/4571 Some Option fields in the script context certificates are going to remain set to None, at least until the next Hard fork. There's a risk that people permanently lock their funds if they expect deposits on registration credentials to ever be `Some`. So, we introduce a special type that emulate an `Option` that can only ever be `None`. We call it `Never` and it is the first type of this kind (i.e. with constructors indexes not starting at 0).
This commit is contained in:
@@ -13,4 +13,4 @@ requirements = []
|
||||
source = "github"
|
||||
|
||||
[etags]
|
||||
"aiken-lang/stdlib@v2" = [{ secs_since_epoch = 1724491200, nanos_since_epoch = 427525000 }, "cdbbce58b61deb385e7ea787a2e0fc2dc8fe94db9999e0e6275bc9c70e5796be"]
|
||||
"aiken-lang/stdlib@v2" = [{ secs_since_epoch = 1724760716, nanos_since_epoch = 700202000 }, "cdbbce58b61deb385e7ea787a2e0fc2dc8fe94db9999e0e6275bc9c70e5796be"]
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -71,7 +71,7 @@ validator purposes {
|
||||
Some(
|
||||
RegisterCredential {
|
||||
credential: VerificationKey(only0s),
|
||||
deposit: Some(3_000_000),
|
||||
deposit: None,
|
||||
},
|
||||
) == list.at(certificates, 5)
|
||||
|
||||
@@ -79,7 +79,7 @@ validator purposes {
|
||||
Some(
|
||||
UnregisterCredential {
|
||||
credential: VerificationKey(only0s),
|
||||
refund: Some(3_000_000),
|
||||
refund: None,
|
||||
},
|
||||
) == list.at(certificates, 6)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user