Skip to content

Commit dff4ff4

Browse files
remagpieforiequal0
authored andcommitted
Fill the missing fields in the Transaction spec
1 parent fa71203 commit dff4ff4

File tree

1 file changed

+37
-11
lines changed

1 file changed

+37
-11
lines changed

spec/Transaction.md

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ enum Action {
2222
MintAsset { ..., },
2323
TransferAsset { ..., },
2424
ChangeAssetScheme { ..., },
25+
IncreaseAssetSupply { ..., },
2526
Pay { ..., },
2627
SetRegularKey { ..., },
2728
WrapCCC { ..., },
@@ -43,13 +44,18 @@ This kind of asset needs permission to be transferred.
4344
A regulated asset is an asset that has an registrar.
4445
The registrar can change the asset scheme and transfer the asset arbitrarily.
4546

47+
If the `allowed_script_hashes` is specified, this asset can be only locked with
48+
the lock script hashes in the list. If the list is empty, any lock script hashes
49+
can be used.
50+
4651
```rust
4752
MintAsset {
4853
network_id: NetworkId,
4954
shard_id: ShardId,
5055
metadata: String,
5156
approver: Option<PlatformAddress>,
5257
registrar: Option<PlatformAddress>,
58+
allowed_script_hashes: Vec<H160>,
5359

5460
output: AssetMintOutput,
5561

@@ -136,23 +142,42 @@ Only the registrar of the asset can use it.
136142
```rust
137143
ChangeAssetScheme {
138144
network_id: NetworkId,
139-
asset_type: H256,
145+
shard_id: ShardId,
146+
asset_type: H160,
147+
seq: usize,
140148
metadata: String,
141149
approver: Option<PlatformAddress>,
142150
registrar: Option<PlatformAddress>,
151+
allowed_script_hashes: Vec<H160>,
143152

144153
approvals: Vec<Signature>,
145154
}
146155
```
147156

157+
## IncreaseAssetSupply
158+
159+
It increases the total supply of the asset.
160+
Only the registrar of the asset can use it.
161+
162+
```rust
163+
IncreaseAssetSupply {
164+
network_id: NetworkId,
165+
shard_id: ShardId,
166+
asset_type: H160,
167+
seq: usize,
168+
output: AssetMintOutput,
169+
approvals: Vec<Signature>,
170+
}
171+
```
172+
148173
## Pay
149174

150-
`Pay` sends `value` amount of CCC to the `receiver`.
175+
`Pay` sends `quantity` amount of CCC to the `receiver`.
151176

152177
```rust
153178
Pay {
154179
receiver: Address,
155-
amount: u64,
180+
quantity: u64,
156181
}
157182
```
158183

@@ -176,7 +201,8 @@ WrapCCC {
176201
shard_id: ShardId,
177202
lock_script_hash: H160,
178203
parameters: Vec<Parameters>,
179-
amount: u64,
204+
quantity: u64,
205+
payer: Address,
180206
}
181207
```
182208

@@ -193,13 +219,6 @@ UnwrapCCC {
193219
}
194220
```
195221

196-
```rust
197-
Custom {
198-
handler_id: u64,
199-
bytes: Bytes,
200-
}
201-
```
202-
203222
## Store
204223

205224
This is a special kind of transaction that allows a user to upload text onto the blockchain.
@@ -227,3 +246,10 @@ Remove {
227246

228247
`Custom` is a special transaction.
229248
The types of transactions that may exist depends on the consensus engine.
249+
250+
```rust
251+
Custom {
252+
handler_id: u64,
253+
bytes: Bytes,
254+
}
255+
```

0 commit comments

Comments
 (0)