def METHOD_NAME(chain):
    # make a duplicate chain with no shared state
    fork_db = AtomicDB(MemoryDB(chain.chaindb.db.wrapped_db.kv_store.copy()))
    METHOD_NAME = type(chain)(fork_db, chain.header)
    return METHOD_NAME