create credentials using blake2b_224

datum hash should be 256 bits(32 bytes)
This commit is contained in:
Hongrui Fang 2022-06-23 21:51:26 +08:00
parent ec36891852
commit 7832910e94
No known key found for this signature in database
GPG key ID: 1C4711FFF64C0254
5 changed files with 37 additions and 28 deletions

View file

@ -23,8 +23,10 @@ import Agora.Effect.TreasuryWithdrawal (
TreasuryWithdrawalDatum (TreasuryWithdrawalDatum),
treasuryWithdrawalValidator,
)
import Crypto.Hash qualified as Crypto
import Data.ByteArray qualified as BA
import Data.ByteString qualified as BS
import Data.ByteString.Char8 qualified as C (pack)
import Data.ByteString.Hash (sha2_256)
import Plutarch.Api.V1 (mkValidator, validatorHash)
import PlutusLedgerApi.V1 (
Address (Address),
@ -67,13 +69,16 @@ currSymbol = CurrencySymbol "12312099"
signer :: PubKeyHash
signer = "8a30896c4fd5e79843e4ca1bd2cdbaa36f8c0bc3be7401214142019c"
blake2b_224 :: BS.ByteString -> BS.ByteString
blake2b_224 = BS.pack . BA.unpack . Crypto.hashWith Crypto.Blake2b_224
-- | List of users who the effect will pay to.
users :: [Credential]
users = PubKeyCredential . PubKeyHash . toBuiltin . sha2_256 . C.pack . show <$> ([1 ..] :: [Integer])
users = PubKeyCredential . PubKeyHash . toBuiltin . blake2b_224 . C.pack . show <$> ([1 ..] :: [Integer])
-- | List of users who the effect will pay to.
treasuries :: [Credential]
treasuries = ScriptCredential . ValidatorHash . toBuiltin . sha2_256 . C.pack . show <$> ([1 ..] :: [Integer])
treasuries = ScriptCredential . ValidatorHash . toBuiltin . blake2b_224 . C.pack . show <$> ([1 ..] :: [Integer])
inputGAT :: TxInInfo
inputGAT =

View file

@ -116,7 +116,9 @@ common deps
common test-deps
build-depends:
, agora
, cryptonite
, data-default-class
, memory
, mtl
, plutarch-context-builder
, plutarch-quickcheck

View file

@ -88,7 +88,7 @@ instance PTryFrom PData (PAsData PDatumHash) where
ptryFrom' opq = runTermCont $ do
(wrapped :: Term _ (PAsData PByteString), unwrapped :: Term _ PByteString) <-
tcont $ ptryFrom @(PAsData PByteString) opq
tcont $ \f -> pif (plengthBS # unwrapped #== 64) (f ()) (ptraceError "a DatumHash should be 64 bytes long")
tcont $ \f -> pif (plengthBS # unwrapped #== 32) (f ()) (ptraceError "a DatumHash should be 32 bytes long")
pure (punsafeCoerce wrapped, punsafeCoerce unwrapped)
-- | @since 0.1.0

View file

@ -1,37 +1,37 @@
name,cpu,mem,size
Agora/Effects/Treasury Withdrawal Effect/effect/Simple,68035487,187575,3723
Agora/Effects/Treasury Withdrawal Effect/effect/Simple with multiple treasuries ,82245885,228733,4050
Agora/Effects/Treasury Withdrawal Effect/effect/Mixed Assets,81358886,228858,3915
Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/governor validator should pass,90397270,249528,8799
Agora/Effects/Treasury Withdrawal Effect/effect/Simple,333327612,830203,3674
Agora/Effects/Treasury Withdrawal Effect/effect/Simple with multiple treasuries ,492387542,1197315,3986
Agora/Effects/Treasury Withdrawal Effect/effect/Mixed Assets,456007605,1104500,3859
Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/governor validator should pass,90397270,249528,8798
Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/effect validator should pass,106082031,292993,3609
Agora/Stake/policy/stakeCreation,52241265,152127,2514
Agora/Stake/validator/stakeDepositWithdraw deposit,180880812,492023,4431
Agora/Stake/validator/stakeDepositWithdraw withdraw,180880812,492023,4419
Agora/Proposal/policy/proposalCreation,23140177,69194,1519
Agora/Proposal/validator/cosignature/proposal,338414402,960812,8364
Agora/Proposal/validator/cosignature/proposal,338414402,960812,8361
Agora/Proposal/validator/cosignature/stake,126327509,315061,4968
Agora/Proposal/validator/voting/proposal,298791918,833990,8293
Agora/Proposal/validator/voting/proposal,298791918,833990,8290
Agora/Proposal/validator/voting/stake,125076577,331847,4942
Agora/Proposal/validator/advancing/successfully advance to next state/Draft -> VotringReady,292475323,820090,8191
Agora/Proposal/validator/advancing/successfully advance to next state/VotingReady -> Locked,291631901,818587,8194
Agora/Proposal/validator/advancing/successfully advance to next state/Locked -> Finished,293328368,822193,8194
Agora/Proposal/validator/advancing/successfully advance to failed state: timeout/Draft -> Finished,291345522,817360,8193
Agora/Proposal/validator/advancing/successfully advance to failed state: timeout/VotingReady -> Finished,289936611,814655,8194
Agora/Proposal/validator/advancing/successfully advance to failed state: timeout/Locked -> Finished,291067589,817059,8194
"Agora/Proposal/validator/unlocking/legal/1 proposals, voter, unlock stake + retract votes, VotingReady",304637691,851452,8244
"Agora/Proposal/validator/unlocking/legal/1 proposals, creator, unlock stake, Finished",275360000,776686,8248
"Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/1 proposals, voter, unlock stake, Finished",270836329,766331,8248
"Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/1 proposals, voter, unlock stake, Locked",270836329,766331,8248
"Agora/Proposal/validator/unlocking/legal/42 proposals, voter, unlock stake + retract votes, VotingReady",3074171496,8538583,29762
"Agora/Proposal/validator/unlocking/legal/42 proposals, creator, unlock stake, Finished",2782286591,7741684,30031
"Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/42 proposals, voter, unlock stake, Finished",2630541760,7294679,29931
"Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/42 proposals, voter, unlock stake, Locked",2630541760,7294679,29931
Agora/Proposal/validator/advancing/successfully advance to next state/Draft -> VotringReady,292475323,820090,8188
Agora/Proposal/validator/advancing/successfully advance to next state/VotingReady -> Locked,291631901,818587,8191
Agora/Proposal/validator/advancing/successfully advance to next state/Locked -> Finished,293328368,822193,8191
Agora/Proposal/validator/advancing/successfully advance to failed state: timeout/Draft -> Finished,291345522,817360,8190
Agora/Proposal/validator/advancing/successfully advance to failed state: timeout/VotingReady -> Finished,289936611,814655,8191
Agora/Proposal/validator/advancing/successfully advance to failed state: timeout/Locked -> Finished,291067589,817059,8191
"Agora/Proposal/validator/unlocking/legal/1 proposals, voter, unlock stake + retract votes, VotingReady",304637691,851452,8241
"Agora/Proposal/validator/unlocking/legal/1 proposals, creator, unlock stake, Finished",275360000,776686,8245
"Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/1 proposals, voter, unlock stake, Finished",270836329,766331,8245
"Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/1 proposals, voter, unlock stake, Locked",270836329,766331,8245
"Agora/Proposal/validator/unlocking/legal/42 proposals, voter, unlock stake + retract votes, VotingReady",3074171496,8538583,29759
"Agora/Proposal/validator/unlocking/legal/42 proposals, creator, unlock stake, Finished",2782286591,7741684,30028
"Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/42 proposals, voter, unlock stake, Finished",2630541760,7294679,29928
"Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/42 proposals, voter, unlock stake, Locked",2630541760,7294679,29928
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple,21017788,55883,806
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs,33204186,88241,900
Agora/Treasury/Validator/Positive/Allows for effect changes,29938856,79744,1391
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple,21017788,55883,806
Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs,33204186,88241,900
Agora/Governor/policy/GST minting,51007235,144191,2034
Agora/Governor/validator/proposal creation,317651809,854963,9315
Agora/Governor/validator/GATs minting,122322162,331416,9436
Agora/Governor/validator/mutate governor state,91544121,254987,8900
Agora/Governor/validator/proposal creation,318217298,856165,9314
Agora/Governor/validator/GATs minting,422983916,1148898,9435
Agora/Governor/validator/mutate governor state,91544121,254987,8899

1 name cpu mem size
2 Agora/Effects/Treasury Withdrawal Effect/effect/Simple 68035487 333327612 187575 830203 3723 3674
3 Agora/Effects/Treasury Withdrawal Effect/effect/Simple with multiple treasuries 82245885 492387542 228733 1197315 4050 3986
4 Agora/Effects/Treasury Withdrawal Effect/effect/Mixed Assets 81358886 456007605 228858 1104500 3915 3859
5 Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/governor validator should pass 90397270 249528 8799 8798
6 Agora/Effects/Governor Mutation Effect/validator/valid new governor datum/effect validator should pass 106082031 292993 3609
7 Agora/Stake/policy/stakeCreation 52241265 152127 2514
8 Agora/Stake/validator/stakeDepositWithdraw deposit 180880812 492023 4431
9 Agora/Stake/validator/stakeDepositWithdraw withdraw 180880812 492023 4419
10 Agora/Proposal/policy/proposalCreation 23140177 69194 1519
11 Agora/Proposal/validator/cosignature/proposal 338414402 960812 8364 8361
12 Agora/Proposal/validator/cosignature/stake 126327509 315061 4968
13 Agora/Proposal/validator/voting/proposal 298791918 833990 8293 8290
14 Agora/Proposal/validator/voting/stake 125076577 331847 4942
15 Agora/Proposal/validator/advancing/successfully advance to next state/Draft -> VotringReady 292475323 820090 8191 8188
16 Agora/Proposal/validator/advancing/successfully advance to next state/VotingReady -> Locked 291631901 818587 8194 8191
17 Agora/Proposal/validator/advancing/successfully advance to next state/Locked -> Finished 293328368 822193 8194 8191
18 Agora/Proposal/validator/advancing/successfully advance to failed state: timeout/Draft -> Finished 291345522 817360 8193 8190
19 Agora/Proposal/validator/advancing/successfully advance to failed state: timeout/VotingReady -> Finished 289936611 814655 8194 8191
20 Agora/Proposal/validator/advancing/successfully advance to failed state: timeout/Locked -> Finished 291067589 817059 8194 8191
21 Agora/Proposal/validator/unlocking/legal/1 proposals, voter, unlock stake + retract votes, VotingReady 304637691 851452 8244 8241
22 Agora/Proposal/validator/unlocking/legal/1 proposals, creator, unlock stake, Finished 275360000 776686 8248 8245
23 Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/1 proposals, voter, unlock stake, Finished 270836329 766331 8248 8245
24 Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/1 proposals, voter, unlock stake, Locked 270836329 766331 8248 8245
25 Agora/Proposal/validator/unlocking/legal/42 proposals, voter, unlock stake + retract votes, VotingReady 3074171496 8538583 29762 29759
26 Agora/Proposal/validator/unlocking/legal/42 proposals, creator, unlock stake, Finished 2782286591 7741684 30031 30028
27 Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/42 proposals, voter, unlock stake, Finished 2630541760 7294679 29931 29928
28 Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/42 proposals, voter, unlock stake, Locked 2630541760 7294679 29931 29928
29 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple 21017788 55883 806
30 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs 33204186 88241 900
31 Agora/Treasury/Validator/Positive/Allows for effect changes 29938856 79744 1391
32 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple 21017788 55883 806
33 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs 33204186 88241 900
34 Agora/Governor/policy/GST minting 51007235 144191 2034
35 Agora/Governor/validator/proposal creation 317651809 318217298 854963 856165 9315 9314
36 Agora/Governor/validator/GATs minting 122322162 422983916 331416 1148898 9436 9435
37 Agora/Governor/validator/mutate governor state 91544121 254987 8900 8899

View file

@ -4,4 +4,6 @@ benchmarks: true
tests: true
package plutarch
flags: +development
flags: +development
test-show-details: direct