examples - 0.0.0

Kudos.Logic

Description

Scale-Free Kudos https://research.anoma.net/t/scale-free-kudos-brainstorming-thread/217

This module contains the ARMv1 version of the resource logic for kudo, adapted from https://github.com/anoma/kudos-snippets/blob/main/resource_logic.md

Axioms are used for parts that are unclear.

This the purpose of the resource logic, as far as I (paul@heliax.dev) understand.

# Creation of Kudo denomination

Someone, __the originator__ can create a new Kudo denomination. They do this by:

1. generating a public/private key pair.

2. Create a Resource in a Transaction that creates a quantity of this new denomination.

Qs.

1. How can you populate the ownerSig field? It is generated from the Resource, but is also part of the Resource.

2. How does a user (say the owner) obtain the kudoLogic in order to participate in the Application?

3. What is the connectives check?

Definitions

kudoLogic (self : Resource) (tx : Transaction) : BoolSource#

Check that the Transaction is valid for the Kudo application. The self argument is the Resource that defines this logic function.

checkConsumedKudo (rs : List Resource) : BoolSource#

Run checks on consumed Kudo Resources

checkCreatedKudo (rs : List Resource) : BoolSource#

Run checks on created Kudo Resources

checkValidOriginator (r : Resource) : BoolSource#

Check that the originator signed the Resource kind.

checkAuthorizedConsumption (r : Resource) : BoolSource#

Check that the owner of the Kudo has authorized consumption.

type KudoValueSource#

The data stored on a Kudo resource

type KudoExtraDataSource#

The extra data stored on a Kudo transaction

Constructors

| mkKudoExtraData {connectives : Bool}