<gh_stars>0
#!/usr/bin/env python3

import pubkey_to_discord
import offline_keys

content = """
open Functor.Without_private
module Public_key = Signature_lib.Public_key

include Make (struct
  let accounts =
    (* VRF Account *)
    [ { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 1 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 2 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 3 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 4 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 5 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* Faucet Key *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 5000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
      (* Echo Key *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>TBSEimH2uBjkmq1vMEDMnzQyaVF9MgRmecViUUzZwPMQCDVoKLFmPeWG9dPY7o7erkLDFRWnoGpNGUk3H5r3rHtyfrG17Di6tx9VqQMq6rehPmAu"
      ; balance= 5000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "tNcihXwbnb6Sv3MwW2rbhXDS4TNSn75tnDZjzUKsjgFSmVJUycLFftqnSZmikKBKEo7KHeL<KEY>JB5d")
      }
      (* User Stake Keys *)
"""

total_user_accounts = len(pubkey_to_discord.FILET_MIGNON_STAKING_CHALLENGE)

coda_per_user = int(40000000 / total_user_accounts)

id = 1
for (user_key, discord_id) in pubkey_to_discord.FILET_MIGNON_STAKING_CHALLENGE.items():
    offline_key = offline_keys.OFFLINE_PUBLIC_KEYS[id]
    content += """
      (* Offline/Online User Keys: %s   %s of %s *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "%s"
      ; balance= %s
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "%s")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "%s"
      ; balance= 1
      ; delegate= None }""" % (discord_id, id,  total_user_accounts, offline_key, coda_per_user, user_key, user_key)
    id += 1

content += """]
end)"""

print(content)

#!/usr/bin/env python3

import pubkey_to_discord
import offline_keys

content = """
open Functor.Without_private
module Public_key = Signature_lib.Public_key

include Make (struct
  let accounts =
    (* VRF Account *)
    [ { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 1 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 2 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 3 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 4 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* O(1) Proposer Account Pair 5 *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 10000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 0
      ; delegate= None }
      (* Faucet Key *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>"
      ; balance= 5000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "<KEY>")
      }
      (* Echo Key *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "<KEY>TBSEimH2uBjkmq1vMEDMnzQyaVF9MgRmecViUUzZwPMQCDVoKLFmPeWG9dPY7o7erkLDFRWnoGpNGUk3H5r3rHtyfrG17Di6tx9VqQMq6rehPmAu"
      ; balance= 5000000
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "tNcihXwbnb6Sv3MwW2rbhXDS4TNSn75tnDZjzUKsjgFSmVJUycLFftqnSZmikKBKEo7KHeL<KEY>JB5d")
      }
      (* User Stake Keys *)
"""

total_user_accounts = len(pubkey_to_discord.FILET_MIGNON_STAKING_CHALLENGE)

coda_per_user = int(40000000 / total_user_accounts)

id = 1
for (user_key, discord_id) in pubkey_to_discord.FILET_MIGNON_STAKING_CHALLENGE.items():
    offline_key = offline_keys.OFFLINE_PUBLIC_KEYS[id]
    content += """
      (* Offline/Online User Keys: %s   %s of %s *)
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "%s"
      ; balance= %s
      ; delegate=
          Some
            (Public_key.Compressed.of_base58_check_exn
               "%s")
      }
    ; { pk=
          Public_key.Compressed.of_base58_check_exn
            "%s"
      ; balance= 1
      ; delegate= None }""" % (discord_id, id,  total_user_accounts, offline_key, coda_per_user, user_key, user_key)
    id += 1

content += """]
end)"""

print(content)
#!/usr/bin/env python3 open Functor.Without_private module Public_key = Signature_lib.Public_key  include Make (struct   let accounts =     (* VRF Account *)     [ { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 0       ; delegate= None }       (* O(1) Proposer Account Pair 1 *)     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 10000000       ; delegate=           Some             (Public_key.Compressed.of_base58_check_exn                "<KEY>")       }     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 0       ; delegate= None }       (* O(1) Proposer Account Pair 2 *)     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 10000000       ; delegate=           Some             (Public_key.Compressed.of_base58_check_exn                "<KEY>")       }     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 0       ; delegate= None }       (* O(1) Proposer Account Pair 3 *)     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 10000000       ; delegate=           Some             (Public_key.Compressed.of_base58_check_exn                "<KEY>")       }     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 0       ; delegate= None }       (* O(1) Proposer Account Pair 4 *)     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 10000000       ; delegate=           Some             (Public_key.Compressed.of_base58_check_exn                "<KEY>")       }     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 0       ; delegate= None }       (* O(1) Proposer Account Pair 5 *)     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 10000000       ; delegate=           Some             (Public_key.Compressed.of_base58_check_exn                "<KEY>")       }     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 0       ; delegate= None }       (* Faucet Key *)     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>"       ; balance= 5000000       ; delegate=           Some             (Public_key.Compressed.of_base58_check_exn                "<KEY>")       }       (* Echo Key *)     ; { pk=           Public_key.Compressed.of_base58_check_exn             "<KEY>TBSEimH2uBjkmq1vMEDMnzQyaVF9MgRmecViUUzZwPMQCDVoKLFmPeWG9dPY7o7erkLDFRWnoGpNGUk3H5r3rHtyfrG17Di6tx9VqQMq6rehPmAu"       ; balance= 5000000       ; delegate=           Some             (Public_key.Compressed.of_base58_check_exn                "tNcihXwbnb6Sv3MwW2rbhXDS4TNSn75tnDZjzUKsjgFSmVJUycLFftqnSZmikKBKEo7KHeL<KEY>JB5d")       }       (* User Stake Keys *) (* Offline/Online User Keys: %s   %s of %s *)     ; { pk=           Public_key.Compressed.of_base58_check_exn             "%s"       ; balance= %s       ; delegate=           Some             (Public_key.Compressed.of_base58_check_exn                "%s")       }     ; { pk=           Public_key.Compressed.of_base58_check_exn             "%s"       ; balance= 1       ; delegate= None } ] end)