You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -29,10 +38,175 @@ export type RuntimeLifecycle = {
29
38
exporttypeContractsDI=WalletDI&RestDI;
30
39
31
40
exporttypeCreateContractRequest={
32
-
contract: Contract;
33
-
roles?: RolesConfiguration;
41
+
/**
42
+
* A Marlowe Contract or a Merkleized One (referred by its source Id) to create over Cardano
43
+
* @see Large/Deep Contracts Support (Contract Merkleization) and `@marlowe.io/language-core`
44
+
*/
45
+
contractOrSourceId: ContractOrSourceId;
46
+
47
+
/**
48
+
* The Marlowe Runtime utilizes this Optional field to set a stake address
49
+
* where to send staking rewards for the Marlowe script outputs of this contract.
50
+
*/
51
+
stakeAddress?: StakeAddressBech32;
52
+
/**
53
+
* @experimental
54
+
* Thread Roles are a details of implementation within the runtime. It allows provide a custom name
55
+
* if the thread role name is conflicting with other role names used.
56
+
* @default
57
+
* - the Thread Role Name is "" by default.
58
+
*/
59
+
threadRoleName?: RoleName;
60
+
61
+
/**
62
+
* Role Token Configuration for the contract passed in the `contractOrSourceId` field.
63
+
*
64
+
* <h4>Prerequisite</h4>
65
+
* <p>
66
+
* Participants ({@link @marlowe.io/language-core-v1!index.Party | Party}) in a Marlowe Contract can be expressed in 2 ways:
67
+
*
68
+
* 1. **By Adressses** : Addresses are directly defined within the Marlowe Contract and no configuration are necessary in that context.
69
+
* 2. **By Roles** : Defined by {@link @marlowe.io/language-core-v1!index.RoleName | RoleNames} within the Marlowe Contract, they have to match a Token Name when created in Cardano. This field `rolesConfiguration` is about configuring this use case
70
+
* </p>
71
+
*
72
+
* <h4>Configuration Options</h4>
73
+
* <p>
74
+
*
75
+
* - **When to create (mint)**
76
+
* - **Within the Runtime** : At the contrat creation, these defined Roles Tokens will be minted "on the fly" by the runtime.
77
+
* - **Without the Runtime** : before the creation, these Role Tokens are already defined (via an NFT platform, `cardano-cli`, another Marlowe Contract Created, etc.. )
78
+
* - **How to distribute**
79
+
* - **Closedly** (Closed Roles) : At the creation of contract or before, the Role Tokens are released to the participants. All the participants are knowned at the creation and therfore we consider the participation as being closed.
80
+
* - **Openly** (Open Roles) : Whoever applies an input (IDeposit or IChoice) on the contract `contractOrSourceId` first will be identified as a participant by receiving the Role Token in their wallet. In that case, participants are unknown at the creation and the participation is open to any meeting the criteria.
81
+
* - **With or without Metadata**
82
+
* - **Quantities to create(Mint)** : When asking to mint the tokens within the Runtime, quantities can defined as well.
83
+
*
84
+
* Smart Constructors are available to ease these configuration:
0 commit comments