Skip to content

Commit fadfe9a

Browse files
committed
remove buy, sell token functions
1 parent 0a53b25 commit fadfe9a

File tree

1 file changed

+4
-68
lines changed

1 file changed

+4
-68
lines changed

spring_token.mvir

+4-68
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,9 @@ module SpringTokenRoles {
1212
public publish() {
1313
let sender: address;
1414
sender = get_txn_sender();
15-
1615
if (true) {
1716
Self.grant_owner_role();
1817
}
19-
2018
// Publish a new role with no permissions.
2119
move_to_sender<T>(T{ minter: false, blacklisted: false });
2220

@@ -32,24 +30,18 @@ module SpringTokenRoles {
3230
// Grants minter role to receiver, if sender is owner.
3331
public grant_minter_role(receiver: address, owner_role: &R#Self.Owner) {
3432
let role_ref: &mut R#Self.T;
35-
3633
release(move(owner_role));
37-
3834
role_ref = borrow_global<T>(move(receiver));
3935
*(&mut move(role_ref).minter) = true;
40-
4136
return;
4237
}
4338

4439
// Grants blacklist role to receiver, but can only succeed if sender owns the owner role.
4540
public grant_blacklisted_role(receiver: address, owner_role: &R#Self.Owner) {
4641
let role_ref: &mut R#Self.T;
47-
4842
release(move(owner_role));
49-
5043
role_ref = borrow_global<T>(move(receiver));
5144
*(&mut move(role_ref).blacklisted) = true;
52-
5345
return;
5446
}
5547

@@ -60,11 +52,9 @@ module SpringTokenRoles {
6052
let sender: address;
6153
let owner_role_ref: &mut R#Self.Owner;
6254
let owner_role_immut_ref: &R#Self.Owner;
63-
6455
sender = get_txn_sender();
6556
owner_role_ref = borrow_global<Owner>(move(sender));
6657
owner_role_immut_ref = freeze(move(owner_role_ref));
67-
6858
return move(owner_role_immut_ref);
6959
}
7060

@@ -75,11 +65,9 @@ module SpringTokenRoles {
7565
let sender: address;
7666
let role_ref: &mut R#Self.T;
7767
let role_immut_ref: &R#Self.T;
78-
7968
sender = get_txn_sender();
8069
role_ref = borrow_global<T>(move(sender));
8170
role_immut_ref = freeze(move(role_ref));
82-
8371
return move(role_immut_ref);
8472
}
8573

@@ -114,16 +102,12 @@ module SpringTokenRoles {
114102
}
115103
}
116104

117-
118105
module SpringToken {
119-
// module for SpringToken.
120-
// will import SprinTokenRoles.
121106

122107
import 0x0.LibraAccount;
123108
import 0x0.LibraCoin;
124109
import Transaction.SpringTokenRoles;
125110

126-
// stores an account's total balance
127111
resource T {
128112
value: u64,
129113
}
@@ -140,24 +124,19 @@ module SpringToken {
140124
return;
141125
}
142126

143-
// Mint new SpringTokens.
144-
// Reverts if not a minter role.
127+
// Mint new SpringTokens. Reverts if not a minter role.
145128
public mint(value: u64, role: &R#SpringTokenRoles.T): R#Self.T {
146129
SpringTokenRoles.require_minter(move(role));
147130
return T{value: move(value)};
148131
}
149132

150-
// Returns an account's SpringToken balance.
151-
// Reverts if an initial SpringToken hasn't been published.
152133
public balance(): u64 {
153134
let sender: address;
154135
let token_ref: &mut R#Self.T;
155136
let token_value: u64;
156-
157137
sender = get_txn_sender();
158138
token_ref = borrow_global<T>(move(sender));
159139
token_value = *(&move(token_ref).value);
160-
161140
return move(token_value);
162141
}
163142

@@ -166,18 +145,13 @@ module SpringToken {
166145
let payee_token_ref: &mut R#Self.T;
167146
let payee_token_value: u64;
168147
let to_deposit_value: u64;
169-
170148
SpringTokenRoles.require_not_blacklisted(move(role));
171-
172149
payee_token_ref = borrow_global<T>(move(payee));
173150
payee_token_value = *(&copy(payee_token_ref).value);
174-
175151
// Unpack and destroy to_deposit tokens
176152
T{ value: to_deposit_value } = move(to_deposit);
177-
178153
// Increase the payees balance with the destroyed token amount
179154
*(&mut move(payee_token_ref).value) = move(payee_token_value) + move(to_deposit_value);
180-
181155
return;
182156
}
183157

@@ -186,54 +160,21 @@ module SpringToken {
186160
let sender: address;
187161
let sender_token_ref: &mut R#Self.T;
188162
let value: u64;
189-
190163
SpringTokenRoles.require_not_blacklisted(move(role));
191-
192164
sender = get_txn_sender();
193165
sender_token_ref = borrow_global<T>(move(sender));
194166
value = *(&copy(sender_token_ref).value);
195-
196167
assert(copy(value) >= copy(amount), 1);
197-
198168
*(&mut move(sender_token_ref).value) = move(value) - copy(amount);
199169
return T{ value: move(amount) };
200170
}
201171

202172
public pay_from_sender(payee: address, amount: u64) {
203-
let to_pay: R#Self.T;
204-
let role: &R#SpringTokenRoles.T;
205-
206-
role = SpringTokenRoles.borrow_role();
207-
to_pay = Self.withdraw(move(amount), copy(role));
208-
Self.deposit(move(payee), move(to_pay), move(role));
209-
return;
210-
}
211-
212-
public sell_token(token_amount: u64, price: u64) {
213-
let token: R#Self.T;
173+
let to_pay: R#Self.T;
214174
let role: &R#SpringTokenRoles.T;
215175
role = SpringTokenRoles.borrow_role();
216-
token = Self.withdraw(move(token_amount), move(role));
217-
move_to_sender<Order>(Order { token: move(token), price: move(price)});
218-
return;
219-
}
220-
221-
public buy_token(order_address: address) {
222-
let sender: address;
223-
let order: R#Self.Order;
224-
let token: R#Self.T;
225-
let price: u64;
226-
let role: &R#SpringTokenRoles.T;
227-
228-
sender = get_txn_sender();
229-
role = SpringTokenRoles.borrow_role();
230-
231-
order = move_from<Order>(copy(order_address));
232-
Order { token:token, price:price } = move(order);
233-
234-
LibraAccount.pay_from_sender(move(order_address), move(price));
235-
236-
Self.deposit(move(sender), move(token), move(role));
176+
to_pay = Self.withdraw(move(amount), copy(role));
177+
Self.deposit(move(payee), move(to_pay), move(role));
237178
return;
238179
}
239180
}
@@ -247,15 +188,10 @@ main() {
247188
let sender: address;
248189
let owner_role: &R#SpringTokenRoles.Owner;
249190
let role: &R#SpringTokenRoles.T;
250-
251191
sender = get_txn_sender();
252-
253192
SpringTokenRoles.publish();
254-
255193
owner_role = SpringTokenRoles.borrow_owner_role();
256-
257194
SpringTokenRoles.grant_minter_role(copy(sender), move(owner_role));
258-
259195
SpringToken.publish();
260196
return;
261197
}

0 commit comments

Comments
 (0)