Skip to content

Commit 61ae16e

Browse files
author
Victor Wiebe
committed
fix: multiple resolvers for create chkpoint
1 parent 83734c5 commit 61ae16e

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/procedures/CreateCheckpoint.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { SecurityTokenEvents, TransactionParams } from '@polymathnetwork/contract-wrappers';
1+
import { SecurityTokenEvents } from '@polymathnetwork/contract-wrappers';
22
import { Procedure } from './Procedure';
33
import {
44
CreateCheckpointProcedureArgs,
@@ -9,8 +9,16 @@ import {
99
import { PolymathError } from '../PolymathError';
1010
import { findEvents } from '../utils';
1111
import { SecurityToken, Checkpoint } from '../entities';
12+
import { Factories } from '../Context';
1213

13-
export class CreateCheckpoint extends Procedure<CreateCheckpointProcedureArgs, Checkpoint> {
14+
export const createRefreshSecurityTokenFactoryResolver = (
15+
factories: Factories,
16+
securityTokenId: string
17+
) => async () => {
18+
return factories.securityTokenFactory.refresh(securityTokenId);
19+
};
20+
21+
export class CreateCheckpoint extends Procedure<CreateCheckpointProcedureArgs, Checkpoint | void> {
1422
public type = ProcedureType.CreateCheckpoint;
1523

1624
public async prepareTransactions() {
@@ -32,7 +40,7 @@ export class CreateCheckpoint extends Procedure<CreateCheckpointProcedureArgs, C
3240
}
3341

3442
const securityTokenId = SecurityToken.generateId({ symbol });
35-
const [checkpoint] = await this.addTransaction<{}, [Checkpoint]>(
43+
const [checkpoint] = await this.addTransaction<{}, [Checkpoint, void]>(
3644
securityToken.createCheckpoint,
3745
{
3846
tag: PolyTransactionTag.CreateCheckpoint,
@@ -48,7 +56,6 @@ export class CreateCheckpoint extends Procedure<CreateCheckpointProcedureArgs, C
4856
const { args: eventArgs } = event;
4957

5058
const { _checkpointId } = eventArgs;
51-
await factories.securityTokenFactory.refresh(securityTokenId); // Issue leaving this in separate resolver
5259
return factories.checkpointFactory.fetch(
5360
Checkpoint.generateId({
5461
securityTokenId: SecurityToken.generateId({ symbol }),
@@ -62,6 +69,7 @@ export class CreateCheckpoint extends Procedure<CreateCheckpointProcedureArgs, C
6269
"The Checkpoint was successfully created but the corresponding event wasn't fired. Please report this issue to the Polymath team.",
6370
});
6471
},
72+
createRefreshSecurityTokenFactoryResolver(factories, securityTokenId),
6573
],
6674
}
6775
)({});

0 commit comments

Comments
 (0)