Skip to content
  • Jakob Botsch Nielsen's avatar
    Implement execution in LocalBlockChain · 357cd8df
    Jakob Botsch Nielsen authored
    This implements a depth first execution of chain actions with support
    for deploying contracts from contracts and calling into other contracts
    recursively. To support these things, contracts need to exhibit a
    bijection of their types from and to OakValue. This machinery is modeled
    with type classes. Then, use this to avoid having to store strongly
    typed contracts anywhere; instead, a contract can be converted to a
    WeakContract instance (using a coercion). The WeakContract verifies that
    messages and states serialize/deserialize correctly and then passes
    everything along to the strongly typed contract under the hood.