-
Notifications
You must be signed in to change notification settings - Fork 0
/
fulfillBid.puml
88 lines (71 loc) · 1.3 KB
/
fulfillBid.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
@startuml
!theme bluegray
actor Alice
actor Dapper
Database AliceFUT
Database DapperFUT
file Bid [
fullfill.cdc
]
frame iouupdated [
A.xx.IOU.IOURedeemed
---
uuid: UInt64
from: Address
to: Address
type: Type
amount: UFix64
validUntil: UFix64
---
from: Bob
to: Alice
type: A.xx.FlowUtilityToken.Vault
amount:110
]
card Vault [
<b>A.xx.FlowUtilityCoin.Vault
---
uuid:3
type: FlowUtilityCoin
amount:110
]
card NFT [
<b>A.xx.Example.NFT
---
uuid: 1
]
card Auction [
<b>A.xx.Example.Auction
---
uuid: 2
start-price: 10
]
agent IOU [
<b>A.xx.IOU.Vault
---
let receiver: Cap<&{FT.Receiver}>
var amount: UFix64
let type: Type
let sender:Address
---
sender: Bob
receiver: Alice Cap
uuid:4
amount: 110
type: A.xx.FlowUtilityCoin
validUntil: now+7days
]
Alice --> Bid : sign
Dapper -right-> Bid: sign
Bid -right-> Auction: fulfill bid
Auction -down-> IOU : redeem and \ndestroy IOU
Bid <-- Vault : withdraw
Vault <-- DapperFUT: from
Dapper --> DapperFUT : owns
IOU -down-> AliceFUT: send funds
AliceFUT -left-> DapperFUT: TokenForwarding
Auction --> NFT : item
IOU -right-> iouupdated: emit
Alice --> NFT : owns
Alice --> AliceFUT: owns
@enduml