@@ -106,6 +106,10 @@ contract VanityURL is Ownable,Pausable {
106
106
mapping (string => address ) vanity_address_mapping;
107
107
// This declares a state variable that mapping for address to vanityURL
108
108
mapping (address => string ) address_vanity_mapping;
109
+ // This declares a state variable that mapping for vanityURL to Springrole ID
110
+ mapping (string => string ) vanity_springrole_id_mapping;
111
+ // This declares a state variable that mapping for Springrole ID to vanityURL
112
+ mapping (string => string ) springrole_id_vanity_mapping;
109
113
/*
110
114
constructor function to set token address & Pricing for reserving and token transfer address
111
115
*/
@@ -126,21 +130,38 @@ contract VanityURL is Ownable,Pausable {
126
130
return address_vanity_mapping[_address];
127
131
}
128
132
133
+ /* function to retrive wallet springrole id from vanity url */
134
+ function retrieveSpringroleIdForVanity (string _vanity_url ) constant public returns (string ) {
135
+ return vanity_springrole_id_mapping[_vanity_url];
136
+ }
137
+
138
+ /* function to retrive vanity url from address */
139
+ function retrieveVanityForSpringroleId (string _springrole_id ) constant public returns (string ) {
140
+ return springrole_id_vanity_mapping[_springrole_id];
141
+ }
142
+
129
143
/*
130
144
function to reserve vanityURL
131
145
1. Checks if vanity is check is valid
132
146
2. Checks if address has already a vanity url
133
147
3. check if vanity url is used by any other or not
134
- 4. Check if vanity url is present in reserved keyword
148
+ 4. Check if vanity url is present in any other spingrole id
135
149
5. Transfer the token
136
150
6. Update the mapping variables
137
151
*/
138
- function reserve (string _vanity_url ) whenNotPaused public {
152
+ function reserve (string _vanity_url , string _springrole_id ) whenNotPaused public {
139
153
_vanity_url = _toLower (_vanity_url);
140
154
require (checkForValidity (_vanity_url));
141
155
require (vanity_address_mapping[_vanity_url] == address (0x0 ));
142
156
require (bytes (address_vanity_mapping[msg .sender ]).length == 0 );
157
+ require (bytes (springrole_id_vanity_mapping[_springrole_id]).length == 0 );
158
+ /* adding to vanity address mapping */
143
159
vanity_address_mapping[_vanity_url] = msg .sender ;
160
+ /* adding to vanity springrole id mapping */
161
+ vanity_springrole_id_mapping[_vanity_url] = _springrole_id;
162
+ /* adding to springrole id vanity mapping */
163
+ springrole_id_vanity_mapping[_springrole_id] = _vanity_url;
164
+ /* adding to address vanity mapping */
144
165
address_vanity_mapping[msg .sender ] = _vanity_url;
145
166
VanityReserved (msg .sender , _vanity_url);
146
167
}
@@ -184,19 +205,25 @@ contract VanityURL is Ownable,Pausable {
184
205
/*
185
206
function to change Vanity URL
186
207
1. Checks whether vanity URL is check is valid
187
- 2. Checks if address has already a vanity url
188
- 3. check if vanity url is used by any other or not
189
- 4. Check if vanity url is present in reserved keyword
190
- 5. Update the mapping variables
208
+ 2. Checks whether springrole id has already has a vanity
209
+ 3. Checks if address has already a vanity url
210
+ 4. check if vanity url is used by any other or not
211
+ 5. Check if vanity url is present in reserved keyword
212
+ 6. Update the mapping variables
191
213
*/
192
214
193
- function changeVanityURL (string _vanity_url ) whenNotPaused public {
215
+ function changeVanityURL (string _vanity_url , string _springrole_id ) whenNotPaused public {
194
216
require (bytes (address_vanity_mapping[msg .sender ]).length != 0 );
217
+ require (bytes (springrole_id_vanity_mapping[_springrole_id]).length == 0 );
195
218
_vanity_url = _toLower (_vanity_url);
196
219
require (checkForValidity (_vanity_url));
197
220
require (vanity_address_mapping[_vanity_url] == address (0x0 ));
221
+
198
222
vanity_address_mapping[_vanity_url] = msg .sender ;
199
223
address_vanity_mapping[msg .sender ] = _vanity_url;
224
+ vanity_springrole_id_mapping[_vanity_url]= _springrole_id;
225
+ springrole_id_vanity_mapping[_springrole_id]= _vanity_url;
226
+
200
227
VanityReserved (msg .sender , _vanity_url);
201
228
}
202
229
@@ -215,7 +242,7 @@ contract VanityURL is Ownable,Pausable {
215
242
/*
216
243
function to transfer ownership for Vanity URL by Owner
217
244
*/
218
- function reserveVanityURLByOwner (address _to ,string _vanity_url ,string _data ) whenNotPaused onlyOwner public {
245
+ function reserveVanityURLByOwner (address _to ,string _vanity_url ,string _springrole_id , string _data ) whenNotPaused onlyOwner public {
219
246
_vanity_url = _toLower (_vanity_url);
220
247
require (checkForValidity (_vanity_url));
221
248
/* check if vanity url is being used by anyone */
@@ -227,6 +254,10 @@ contract VanityURL is Ownable,Pausable {
227
254
delete (address_vanity_mapping[vanity_address_mapping[_vanity_url]]);
228
255
/* delete from vanity mapping */
229
256
delete (vanity_address_mapping[_vanity_url]);
257
+ /* delete from springrole id vanity mapping */
258
+ delete (springrole_id_vanity_mapping[vanity_springrole_id_mapping[_vanity_url]]);
259
+ /* delete from vanity springrole id mapping */
260
+ delete (vanity_springrole_id_mapping[_vanity_url]);
230
261
}
231
262
else
232
263
{
@@ -236,6 +267,8 @@ contract VanityURL is Ownable,Pausable {
236
267
/* add new address to mapping */
237
268
vanity_address_mapping[_vanity_url] = _to;
238
269
address_vanity_mapping[_to] = _vanity_url;
270
+ springrole_id_vanity_mapping[_springrole_id] = _vanity_url;
271
+ vanity_springrole_id_mapping[_vanity_url] = _springrole_id;
239
272
}
240
273
241
274
/*
@@ -247,6 +280,10 @@ contract VanityURL is Ownable,Pausable {
247
280
delete (address_vanity_mapping[vanity_address_mapping[_vanity_url]]);
248
281
/* delete from vanity mapping */
249
282
delete (vanity_address_mapping[_vanity_url]);
283
+ /* delete from springrole id vanity mapping */
284
+ delete (springrole_id_vanity_mapping[vanity_springrole_id_mapping[_vanity_url]]);
285
+ /* delete from vanity springrole id mapping */
286
+ delete (vanity_springrole_id_mapping[_vanity_url]);
250
287
/* sending VanityReleased event */
251
288
VanityReleased (_vanity_url);
252
289
}
0 commit comments