Skip to content

Commit b2185e1

Browse files
committed
use some pubkey by default
1 parent a88e6be commit b2185e1

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

kmir/src/kmir/kdist/mir-semantics/symbolic/spl-token.md

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -209,11 +209,14 @@ module KMIR-SPL-TOKEN
209209
ListItem(Aggregate(variantIdx(0), ListItem(Range(?SplMintKey:List)))) // Account.mint: Pubkey
210210
ListItem(Aggregate(variantIdx(0), ListItem(Range(?SplTokenOwnerKey:List)))) // Account.owner: Pubkey
211211
ListItem(Integer(?SplAmount:Int, 64, false)) // Account.amount: u64
212-
ListItem(Aggregate(variantIdx(0), .List)) // COption<Pubkey> default None
212+
// Model COption<Pubkey> as Some(pubkey); None is not represented here.
213+
ListItem(Aggregate(variantIdx(1), ListItem(Aggregate(variantIdx(0), ListItem(Range(?SplDelegateKey:List))))))
213214
ListItem(Integer(?SplAccountState:Int, 8, false)) // Account.state: AccountState (repr u8)
214-
ListItem(Aggregate(variantIdx(0), .List)) // COption<u64> default None
215+
// Model COption<u64> as Some(amount); None is not represented here.
216+
ListItem(Aggregate(variantIdx(1), ListItem(Integer(?SplIsNativeLamports:Int, 64, false))))
215217
ListItem(Integer(?SplDelegatedAmount:Int, 64, false)) // Account.delegated_amount: u64
216-
ListItem(Aggregate(variantIdx(0), .List)) // COption<Pubkey> default None
218+
// Model COption<Pubkey> as Some(pubkey); None is not represented here.
219+
ListItem(Aggregate(variantIdx(1), ListItem(Aggregate(variantIdx(0), ListItem(Range(?SplCloseAuthKey:List))))))
217220
)
218221
)
219222
)
@@ -239,9 +242,9 @@ module KMIR-SPL-TOKEN
239242
andBool 0 <=Int ?SplAmount andBool ?SplAmount <Int (1 <<Int 64)
240243
andBool 0 <=Int ?SplAccountState andBool ?SplAccountState <Int 256
241244
andBool 0 <=Int ?SplDelegatedAmount andBool ?SplDelegatedAmount <Int (1 <<Int 64)
242-
andBool #isSplCOptionPubkey(Aggregate(variantIdx(0), .List))
243-
andBool #isSplCOptionPubkey(Aggregate(variantIdx(0), .List))
244-
andBool #isSplCOptionU64(Aggregate(variantIdx(0), .List))
245+
andBool #isSplPubkey(?SplDelegateKey)
246+
andBool #isSplPubkey(?SplCloseAuthKey)
247+
andBool 0 <=Int ?SplIsNativeLamports andBool ?SplIsNativeLamports <Int (1 <<Int 64)
245248
[priority(30), preserves-definedness]
246249
247250
rule [cheatcode-is-spl-mint]:
@@ -277,11 +280,13 @@ module KMIR-SPL-TOKEN
277280
),
278281
SPLDataBuffer(
279282
Aggregate(variantIdx(0),
280-
ListItem(Aggregate(variantIdx(0), .List))
283+
// Model COption<Pubkey> as Some(pubkey); None is not represented here.
284+
ListItem(Aggregate(variantIdx(1), ListItem(Aggregate(variantIdx(0), ListItem(Range(?SplMintAuthorityKey:List))))))
281285
ListItem(Integer(?SplMintSupply:Int, 64, false))
282286
ListItem(Integer(?SplMintDecimals:Int, 8, false))
283287
ListItem(BoolVal(false))
284-
ListItem(Aggregate(variantIdx(0), .List))
288+
// Model COption<Pubkey> as Some(pubkey); None is not represented here.
289+
ListItem(Aggregate(variantIdx(1), ListItem(Aggregate(variantIdx(0), ListItem(Range(?SplMintFreezeAuthorityKey:List))))))
285290
)
286291
)
287292
)
@@ -302,10 +307,10 @@ module KMIR-SPL-TOKEN
302307
andBool #isSplPubkey(?SplMintOwnerKey)
303308
andBool 0 <=Int ?SplMintLamports andBool ?SplMintLamports <Int 18446744073709551616
304309
andBool 0 <=Int ?SplMintRentEpoch andBool ?SplMintRentEpoch <Int 18446744073709551616
305-
andBool #isSplCOptionPubkey(Aggregate(variantIdx(0), .List))
310+
andBool #isSplPubkey(?SplMintAuthorityKey)
306311
andBool 0 <=Int ?SplMintSupply andBool ?SplMintSupply <Int (1 <<Int 64)
307312
andBool 0 <=Int ?SplMintDecimals andBool ?SplMintDecimals <Int 256
308-
andBool #isSplCOptionPubkey(Aggregate(variantIdx(0), .List))
313+
andBool #isSplPubkey(?SplMintFreezeAuthorityKey)
309314
[priority(30), preserves-definedness]
310315
```
311316

0 commit comments

Comments
 (0)