Skip to content

Commit 8ef45a0

Browse files
committed
Applied catbuffer on receipt
1 parent a999695 commit 8ef45a0

File tree

5 files changed

+39
-37
lines changed

5 files changed

+39
-37
lines changed

src/infrastructure/catbuffer/ReceiptBuilder.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,6 @@ export class ReceiptBuilder {
9797
*/
9898
public serialize(): Uint8Array {
9999
let newArray = Uint8Array.from([]);
100-
const sizeBytes = GeneratorUtils.uintToBuffer(this.getSize(), 4);
101-
newArray = GeneratorUtils.concatTypedArrays(newArray, sizeBytes);
102100
const versionBytes = GeneratorUtils.uintToBuffer(this.getVersion(), 2);
103101
newArray = GeneratorUtils.concatTypedArrays(newArray, versionBytes);
104102
const typeBytes = GeneratorUtils.uintToBuffer(this.type, 2);

src/model/receipt/ArtifactExpiryReceipt.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { Convert } from '../../core/format/Convert';
18-
import { GeneratorUtils } from '../../infrastructure/catbuffer/GeneratorUtils';
17+
import { MosaicExpiryReceiptBuilder } from '../../infrastructure/catbuffer/MosaicExpiryReceiptBuilder';
18+
import { MosaicIdDto } from '../../infrastructure/catbuffer/MosaicIdDto';
19+
import { NamespaceExpiryReceiptBuilder } from '../../infrastructure/catbuffer/NamespaceExpiryReceiptBuilder';
20+
import { NamespaceIdDto } from '../../infrastructure/catbuffer/NamespaceIdDto';
1921
import { MosaicId } from '../mosaic/MosaicId';
2022
import { NamespaceId } from '../namespace/NamespaceId';
21-
import { UInt64 } from '../UInt64';
2223
import { Receipt } from './Receipt';
2324
import { ReceiptType } from './ReceiptType';
2425
import { ReceiptVersion } from './ReceiptVersion';
@@ -48,10 +49,11 @@ export class ArtifactExpiryReceipt extends Receipt {
4849
* @return {Uint8Array}
4950
*/
5051
public serialize(): Uint8Array {
51-
const buffer = new Uint8Array(12);
52-
buffer.set(GeneratorUtils.uintToBuffer(ReceiptVersion.ARTIFACT_EXPIRY, 2));
53-
buffer.set(GeneratorUtils.uintToBuffer(this.type, 2), 2);
54-
buffer.set(GeneratorUtils.uint64ToBuffer(UInt64.fromHex(this.artifactId.toHex()).toDTO()), 4);
55-
return buffer;
52+
if (this.artifactId instanceof MosaicId) {
53+
return new MosaicExpiryReceiptBuilder(ReceiptVersion.ARTIFACT_EXPIRY, this.type.valueOf(),
54+
new MosaicIdDto(this.artifactId.toDTO())).serialize();
55+
}
56+
return new NamespaceExpiryReceiptBuilder(ReceiptVersion.ARTIFACT_EXPIRY, this.type.valueOf(),
57+
new NamespaceIdDto(this.artifactId.id.toDTO())).serialize();
5658
}
5759
}

src/model/receipt/BalanceChangeReceipt.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@
1515
*/
1616

1717
import { Convert } from '../../core/format/Convert';
18-
import { GeneratorUtils } from '../../infrastructure/catbuffer/GeneratorUtils';
18+
import { AmountDto } from '../../infrastructure/catbuffer/AmountDto';
19+
import { BalanceChangeReceiptBuilder } from '../../infrastructure/catbuffer/BalanceChangeReceiptBuilder';
20+
import { KeyDto } from '../../infrastructure/catbuffer/KeyDto';
21+
import { MosaicBuilder } from '../../infrastructure/catbuffer/MosaicBuilder';
22+
import { MosaicIdDto } from '../../infrastructure/catbuffer/MosaicIdDto';
1923
import { PublicAccount } from '../account/PublicAccount';
2024
import { MosaicId } from '../mosaic/MosaicId';
2125
import { UInt64 } from '../UInt64';
@@ -62,12 +66,9 @@ export class BalanceChangeReceipt extends Receipt {
6266
* @return {Uint8Array}
6367
*/
6468
public serialize(): Uint8Array {
65-
const buffer = new Uint8Array(52);
66-
buffer.set(GeneratorUtils.uintToBuffer(ReceiptVersion.BALANCE_CHANGE, 2));
67-
buffer.set(GeneratorUtils.uintToBuffer(this.type, 2), 2);
68-
buffer.set(GeneratorUtils.uint64ToBuffer(UInt64.fromHex(this.mosaicId.toHex()).toDTO()), 4);
69-
buffer.set(GeneratorUtils.uint64ToBuffer(UInt64.fromHex(this.amount.toHex()).toDTO()), 12);
70-
buffer.set(Convert.hexToUint8(this.targetPublicAccount.publicKey), 20);
71-
return buffer;
69+
return new BalanceChangeReceiptBuilder(ReceiptVersion.BALANCE_CHANGE, this.type.valueOf(),
70+
new MosaicBuilder(new MosaicIdDto(this.mosaicId.toDTO()), new AmountDto(this.amount.toDTO())),
71+
new KeyDto(Convert.hexToUint8(this.targetPublicAccount.publicKey)),
72+
).serialize();
7273
}
7374
}

src/model/receipt/BalanceTransferReceipt.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@
1515
*/
1616

1717
import { Convert } from '../../core/format/Convert';
18-
import { UnresolvedMapping } from "../../core/utils/UnresolvedMapping";
19-
import { GeneratorUtils } from '../../infrastructure/catbuffer/GeneratorUtils';
18+
import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping';
19+
import { AddressDto } from '../../infrastructure/catbuffer/AddressDto';
20+
import { AmountDto } from '../../infrastructure/catbuffer/AmountDto';
21+
import { BalanceTransferReceiptBuilder } from '../../infrastructure/catbuffer/BalanceTransferReceiptBuilder';
22+
import { KeyDto } from '../../infrastructure/catbuffer/KeyDto';
23+
import { MosaicBuilder } from '../../infrastructure/catbuffer/MosaicBuilder';
24+
import { MosaicIdDto } from '../../infrastructure/catbuffer/MosaicIdDto';
2025
import { Address } from '../account/Address';
2126
import { PublicAccount } from '../account/PublicAccount';
2227
import { MosaicId } from '../mosaic/MosaicId';
@@ -70,15 +75,11 @@ export class BalanceTransferReceipt extends Receipt {
7075
* @return {Uint8Array}
7176
*/
7277
public serialize(): Uint8Array {
73-
const recipient = this.getRecipientBytes();
74-
const buffer = new Uint8Array(52 + recipient.length);
75-
buffer.set(GeneratorUtils.uintToBuffer(ReceiptVersion.BALANCE_TRANSFER, 2));
76-
buffer.set(GeneratorUtils.uintToBuffer(this.type, 2), 2);
77-
buffer.set(GeneratorUtils.uint64ToBuffer(UInt64.fromHex(this.mosaicId.toHex()).toDTO()), 4);
78-
buffer.set(GeneratorUtils.uint64ToBuffer(UInt64.fromHex(this.amount.toHex()).toDTO()), 12);
79-
buffer.set(Convert.hexToUint8(this.sender.publicKey), 20);
80-
buffer.set(recipient, 52);
81-
return buffer;
78+
return new BalanceTransferReceiptBuilder(ReceiptVersion.BALANCE_TRANSFER, this.type.valueOf(),
79+
new MosaicBuilder(new MosaicIdDto(this.mosaicId.toDTO()), new AmountDto(this.amount.toDTO())),
80+
new KeyDto(Convert.hexToUint8(this.sender.publicKey)),
81+
new AddressDto(this.getRecipientBytes()),
82+
).serialize();
8283
}
8384

8485
/**

src/model/receipt/InflationReceipt.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { Convert } from '../../core/format/Convert';
18-
import { GeneratorUtils } from '../../infrastructure/catbuffer/GeneratorUtils';
17+
import { AmountDto } from '../../infrastructure/catbuffer/AmountDto';
18+
import { InflationReceiptBuilder } from '../../infrastructure/catbuffer/InflationReceiptBuilder';
19+
import { MosaicBuilder } from '../../infrastructure/catbuffer/MosaicBuilder';
20+
import { MosaicIdDto } from '../../infrastructure/catbuffer/MosaicIdDto';
1921
import { MosaicId } from '../mosaic/MosaicId';
2022
import { UInt64 } from '../UInt64';
2123
import { Receipt } from './Receipt';
@@ -56,11 +58,9 @@ export class InflationReceipt extends Receipt {
5658
* @return {Uint8Array}
5759
*/
5860
public serialize(): Uint8Array {
59-
const buffer = new Uint8Array(20);
60-
buffer.set(GeneratorUtils.uintToBuffer(ReceiptVersion.INFLATION_RECEIPT, 2));
61-
buffer.set(GeneratorUtils.uintToBuffer(this.type, 2), 2);
62-
buffer.set(GeneratorUtils.uint64ToBuffer(UInt64.fromHex(this.mosaicId.toHex()).toDTO()), 4);
63-
buffer.set(GeneratorUtils.uint64ToBuffer(UInt64.fromHex(this.amount.toHex()).toDTO()), 12);
64-
return buffer;
61+
return new InflationReceiptBuilder(
62+
ReceiptVersion.INFLATION_RECEIPT, this.type.valueOf(),
63+
new MosaicBuilder(new MosaicIdDto(this.mosaicId.toDTO()), new AmountDto(this.amount.toDTO())),
64+
).serialize();
6565
}
6666
}

0 commit comments

Comments
 (0)