def os_retry

bend-collections@1.0.0.0 · src/crypto/secp256k1.bend:63

import bend-collections@1.0.0.0/src/crypto/secp256k1.bend as Secp256k1
import Base

63def os_retry(fuel: Nat, m: Maybe<&2, Keypair>) -> IO(Maybe<&2, Keypair>):
64  match fuel m:
65    case _ Some{kp}:
66      IO.pure(Maybe<&2, Keypair>, Some{kp})
67    case 0n None{}:
68      IO.pure(Maybe<&2, Keypair>, None{})
69    case 1n+f None{}:
70      do IO<Maybe<&2, Keypair>>:
71        seed : List<&2, U32> <- random_bytes(8n, Nil{})
72        kp : Maybe<&2, Keypair> <- os_retry(f, generate_keypair(seed))
73        return kp

Uses (10)

Used by (1)