Skip to content
This repository was archived by the owner on Jul 6, 2022. It is now read-only.

Commit 74778b1

Browse files
author
Victor Wiebe
committed
fix: 🐛 lockupTM more methods included in example
1 parent 73a101e commit 74778b1

File tree

1 file changed

+52
-5
lines changed

1 file changed

+52
-5
lines changed

examples/lockUpTransferManager.ts

Lines changed: 52 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ window.addEventListener('load', async () => {
108108

109109
const randomBeneficiary1 = '0x2222222222222222222222222222222222222222';
110110
const randomBeneficiary2 = '0x3333333333333333333333333333333333333333';
111+
const firstLockUpName = 'Lockup1';
112+
const secondLockUpName = 'Lockup2';
113+
const thirdLockUpName = 'Lockup3';
111114

112115
await generalTM.modifyKYCDataMulti({
113116
investors: [myAddress, randomBeneficiary1, randomBeneficiary2],
@@ -134,17 +137,61 @@ window.addEventListener('load', async () => {
134137
},
135138
});
136139

137-
// Add new lock up to user multi
138-
const startTime = new Date(Date.now() + 10000);
139-
140+
// Add new lock up to user multi, so we can test the lockup
140141
await lockUpTM.addNewLockUpToUserMulti({
141142
userAddresses: [myAddress, randomBeneficiary1, randomBeneficiary2],
143+
startTimes: [new Date(2030, 1, 1), new Date(2030, 1, 1), new Date(2030, 1, 1)],
144+
lockUpPeriodSeconds: [new BigNumber(5), new BigNumber(5), new BigNumber(5)],
145+
releaseFrequenciesSeconds: [new BigNumber(1), new BigNumber(1), new BigNumber(1)],
146+
lockupAmounts: [new BigNumber(100), new BigNumber(100), new BigNumber(100)],
147+
lockupNames: [firstLockUpName, secondLockUpName, thirdLockUpName],
148+
});
149+
150+
// Try out transfer above lockup, will fail
151+
try {
152+
await tickerSecurityTokenInstance.transfer({ to: randomBeneficiary2, value: new BigNumber(1) });
153+
} catch (e) {
154+
console.log('Transfer above lockup amount fails as expected');
155+
}
156+
157+
// Subscribe to event of modify lock up type
158+
await lockUpTM.subscribeAsync({
159+
eventName: LockUpTransferManagerEvents.ModifyLockUpType,
160+
indexFilterValues: {},
161+
callback: async (error, log) => {
162+
if (error) {
163+
console.log(error);
164+
} else {
165+
console.log('Modify Lock Up Type', log);
166+
}
167+
},
168+
});
169+
170+
const startTime = new Date(Date.now() + 10000);
171+
// Modify the lockup types so that we can test in real time
172+
await lockUpTM.modifyLockUpTypeMulti({
142173
startTimes: [startTime, startTime, startTime],
143174
lockUpPeriodSeconds: [new BigNumber(5), new BigNumber(5), new BigNumber(5)],
144175
releaseFrequenciesSeconds: [new BigNumber(1), new BigNumber(1), new BigNumber(1)],
145176
lockupAmounts: [new BigNumber(20), new BigNumber(10), new BigNumber(10)],
146-
lockupNames: ['Lockup1', 'Lockup2', 'Lockup3'],
177+
lockupNames: [firstLockUpName, secondLockUpName, thirdLockUpName],
178+
});
179+
180+
// Subscribe to event of remove lockup from user
181+
await lockUpTM.subscribeAsync({
182+
eventName: LockUpTransferManagerEvents.RemoveLockUpFromUser,
183+
indexFilterValues: {},
184+
callback: async (error, log) => {
185+
if (error) {
186+
console.log(error);
187+
} else {
188+
console.log('Remove lockup from user', log);
189+
}
190+
},
147191
});
192+
// Example removing lockup from beneficiary 2 and removing lockup type
193+
await lockUpTM.removeLockUpFromUser({ userAddress: randomBeneficiary2, lockupName: thirdLockUpName });
194+
await lockUpTM.removeLockupType({lockupName: thirdLockUpName});
148195

149196
// Try to transfer 50, it is below lockup and will pass
150197
await tickerSecurityTokenInstance.transfer({ to: randomBeneficiary2, value: new BigNumber(50) });
@@ -178,7 +225,7 @@ window.addEventListener('load', async () => {
178225

179226
// Transfer out the rest of tokens now that lockup is over
180227
await tickerSecurityTokenInstance.transfer({ to: randomBeneficiary2, value: new BigNumber(19) });
181-
console.log('19 last tokens transferred to randomBeneficiary2');
228+
console.log('19 more tokens transferred to randomBeneficiary2');
182229

183230
tickerSecurityTokenInstance.unsubscribeAll();
184231
});

0 commit comments

Comments
 (0)