@@ -29,29 +29,38 @@ namespace vestingtoken
2929 };
3030
3131 static const std::map<int , vesting_category> vesting_categories = {
32- // DEPRECIATED:
33- {1 , {days (6 * 30 ), days (0 * 30 ), days (2 * 365 ), 0.0 }}, // Seed Private Sale (DEPRECIATED),
34- {2 , {days (6 * 30 ), days (6 * 30 ), days (2 * 365 ), 0.0 }}, // Strategic Partnerships Private Sale (DEPRECIATED),
35- {3 , {days (0 * 30 ), days (0 * 30 ), days (0 * 30 ), 0.0 }}, // Public Sale (DEPRECIATED),
36- {5 , {days (0 * 30 ), days (0 * 30 ), days (1 * 365 ), 0.0 }}, // Legal and Compliance
37- {8 , {days (0 * 30 ), days (6 * 30 ), days (12 * 30 ), 0.05 }}, // Seed
38- {9 , {days (0 * 30 ), days (4 * 30 ), days (12 * 30 ), 0.075 }}, // Pre-sale
39- {11 , {days (0 * 30 ), days (3 * 30 ), days (9 * 30 ), 0.125 }}, // Private
40- {15 , {days (0 * 30 ), days (1 * 30 ), days (1 * 30 ), 1.0 }}, // Special Token Round
41- // Unchanged:
32+ // OLD:
33+ {1 , {days (6 * 30 ), days (0 * 30 ), days (2 * 365 ), 0.0 }}, // Seed Private Sale,
34+ {2 , {days (6 * 30 ), days (6 * 30 ), days (2 * 365 ), 0.0 }}, // Strategic Partnerships Private Sale,
35+ {3 , {days (0 * 30 ), days (0 * 30 ), days (0 * 30 ), 0.0 }}, // Public Sale,
4236 {4 , {days (0 * 30 ), days (1 * 365 ), days (5 * 365 ), 0.0 }}, // Team
37+ {5 , {days (0 * 30 ), days (0 * 30 ), days (1 * 365 ), 0.0 }}, // Legal and Compliance
4338 {6 , {days (0 * 30 ), days (0 * 30 ), days (2 * 365 ), 0.0 }}, // Reserves, Partnerships
4439 {7 , {days (0 * 30 ), days (0 * 30 ), days (5 * 365 ), 0.0 }}, // Community & Marketing, Platform Dev, Staking & Infra Rewards, Ecosystem
40+ {8 , {days (0 * 30 ), days (6 * 30 ), days (12 * 30 ), 0.05 }}, // Seed
41+ {9 , {days (0 * 30 ), days (4 * 30 ), days (12 * 30 ), 0.075 }}, // Pre-sale
4542 {10 , {days (0 * 30 ), days (1 * 30 ), days (3 * 30 ), 0.25 }}, // Public (TGE)
46- // New (replacing depreciated):
47- {16 , {days (0 * 30 ), days (6 * 30 ), days (12 * 30 ), 0.05 }}, // Seed
48- {17 , {days (0 * 30 ), days (4 * 30 ), days (12 * 30 ), 0.075 }}, // Pre-sale
49- {18 , {days (0 * 30 ), days (3 * 30 ), days (9 * 30 ), 0.125 }}, // Private
50- {19 , {days (0 * 30 ), days (1 * 30 ), days (1 * 30 ), 1.0 }}, // Special Token Round
51- // New:
43+ {11 , {days (0 * 30 ), days (3 * 30 ), days (9 * 30 ), 0.125 }}, // Private
5244 {12 , {days (0 * 30 ), days (1 * 30 ), days (3 * 30 ), 0.25 }}, // KOL
5345 {13 , {days (0 * 30 ), days (0 * 30 ), days (6 * 30 ), 0.7 }}, // Incubator
54- {14 , {days (0 * 30 ), days (0 * 30 ), days (6 * 30 ), 0.0 }}, // Liquidity (there is actually a 25% TGE unlock, but we handle that manually in the migration script)
46+ {14 , {days (0 * 30 ), days (0 * 30 ), days (6 * 30 ), 0.25 }}, // Liquidity
47+ {15 , {days (0 * 30 ), days (1 * 30 ), days (1 * 30 ), 1.0 }}, // Special Token Round
48+ // New:
49+ {16 , {days (0 * 30 ), days (4 * 30 ), days (9 * 30 ), 0.05 }}, // Seed
50+ {17 , {days (0 * 30 ), days (4 * 30 ), days (9 * 30 ), 0.05 }}, // Pre-sale
51+ {18 , {days (0 * 30 ), days (2 * 30 ), days (0 * 30 ), 0.5 }}, // Special Token Round
52+ {19 , {days (0 * 30 ), days (0 * 30 ), days (3 * 30 ), 0.4 }}, // Private
53+ {20 , {days (0 * 30 ), days (1 * 30 ), days (3 * 30 ), 0.4 }}, // Public (TGE)
54+ {21 , {days (0 * 30 ), days (0 * 30 ), days (6 * 30 ), 1.0 / 3.0 }}, // Liquidity
55+ // NOTE: there is actually a 25% TGE unlock, but we handle that manually in the migration script
56+ // The TGE + 72 hour unlock is increased from 25% to 33.33% to account for the fact that 25% is not vested at TGE (to give the 25% unlock)
57+ {22 , {days (0 * 30 ), days (1 * 365 ), days (5 * 365 ), 0.0 }}, // Team
58+ {23 , {days (0 * 30 ), days (0 * 30 ), days (2 * 365 ), 0.0 }}, // Reserves
59+ {24 , {days (0 * 30 ), days (0 * 30 ), days (2 * 365 ), 0.0 }}, // Partnerships
60+ {25 , {days (0 * 30 ), days (0 * 30 ), days (5 * 365 ), 0.0 }}, // Community & Marketing
61+ {26 , {days (0 * 30 ), days (0 * 30 ), days (5 * 365 ), 0.0 }}, // Platform Dev
62+ {27 , {days (0 * 30 ), days (0 * 30 ), days (5 * 365 ), 0.0 }}, // Staking & Infra Rewards
63+ {28 , {days (0 * 30 ), days (0 * 30 ), days (5 * 365 ), 0.0 }}, // Ecosystem
5564 // Testing categories:
5665 #ifdef BUILD_TEST
5766 {997 , {days (6 * 30 ), days (0 * 30 ), days (2 * 365 ), 0.0 }}, // TESTING ONLY
@@ -60,14 +69,17 @@ namespace vestingtoken
6069 #endif
6170 };
6271
63- static const std::map<int , bool > depreciated_categories = {{1 , true }, {2 , true }, {8 , true }, {9 , true }, {10 , true }, {11 , true }, {15 , true }};
72+ static const std::map<int , bool > depreciated_categories = {
73+ {1 , true }, {2 , true }, {3 , true }, {4 , true }, {5 , true },
74+ {6 , true }, {7 , true }, {8 , true }, {9 , true }, {10 , true },
75+ {11 , true }, {12 , true }, {13 , true }, {14 , true }, {15 , true }
76+ };
6477
6578 class [[eosio::contract(" vesting.tmy" )]] vestingToken : public eosio::contract
6679 {
6780 public:
6881 using contract::contract;
6982 static constexpr eosio::symbol system_resource_currency = eosio::symbol (" TONO" , 6 );
70- static constexpr eosio::symbol SYSTEM_RESOURCE_CURRENCY_OLD = eosio::symbol (" LEOS" , 6 );
7183 static constexpr eosio::name token_contract_name = " eosio.token" _n;
7284 #ifdef BUILD_TEST
7385 static const uint8_t MAX_ALLOCATIONS = 5 ;
@@ -105,13 +117,13 @@ namespace vestingtoken
105117 /* *
106118 * @details Updates the start date for vesting schedules to a new specified date
107119 *
108- * @param sales_start_date {string} - The new start date for vesting schedules.
109- * @param launch_date {string} - The new start date for vesting schedules.
120+ * @param sales_start_date {string} - The new start date for vesting schedules (ISO format) .
121+ * @param launch_date {string} - The new start date for vesting schedules (ISO format) .
110122 * @details
111123 * Before any allocations can be executed, the start date should be set using this action.
112124 * If the launch date is not known when the sale starts, set it to a long time in the future.
113125 *
114- * Example of the string format expected: "2024-04-01T24:00:00"
126+ * Example of the ISO string format expected: "2024-04-01T24:00:00.000Z "
115127 */
116128 [[eosio::action]] void setsettings (string sales_start_date, string launch_date);
117129
@@ -145,11 +157,6 @@ namespace vestingtoken
145157 */
146158 [[eosio::action]] void migratealloc (eosio::name sender, name holder, uint64_t allocation_id, eosio::asset old_amount, eosio::asset new_amount, int old_category_id, int new_category_id);
147159
148- /* *
149- * Migrates the allocation symbols of an account from the old symbol to the new symbol
150- */
151- [[eosio::action]] void migrateacc (const name &account);
152-
153160 using setsettings_action = action_wrapper<" setsettings" _n, &vestingToken::setsettings>;
154161 using assigntokens_action = action_wrapper<" assigntokens" _n, &vestingToken::assigntokens>;
155162 using withdraw_action = action_wrapper<" withdraw" _n, &vestingToken::withdraw>;
0 commit comments