Skip to content

Commit

Permalink
refactor(crypto): update multipayment limits (#3157)
Browse files Browse the repository at this point in the history
  • Loading branch information
spkjp authored and faustbrian committed Oct 29, 2019
1 parent 1a74f32 commit c9330a8
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 19 deletions.
24 changes: 12 additions & 12 deletions __tests__/functional/transaction-forging/multi-payment.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Identities, Utils } from "@arkecosystem/crypto";
import { Identities, Managers, Utils } from "@arkecosystem/crypto";
import { TransactionFactory } from "../../helpers/transaction-factory";
import { secrets } from "../../utils/config/testnet/delegates.json";
import * as support from "./__support__";
Expand Down Expand Up @@ -40,7 +40,7 @@ describe("Transaction Forging - Multipayment", () => {
await expect(transactions.id).toBeForged();
});

it("should broadcast, accept and forge it [500 payments per tx, 200 tx] [Signed with 1 Passphase]", async () => {
it("should broadcast, accept and forge it [max payments per tx, 200 tx] [Signed with 1 Passphase]", async () => {
if (process.version.split(".")[0] === "v10") {
return; // don't run on node 10
}
Expand All @@ -54,15 +54,15 @@ describe("Transaction Forging - Multipayment", () => {
await support.snoozeForBlock(1);
await expect(initialFunds.id).toBeForged();

const payments100 = [];
for (let i = 1; i <= 500; i++) {
payments100.push({
const payments = [];
for (let i = 1; i <= Managers.configManager.getMilestone().multiPaymentLimit; i++) {
payments.push({
recipientId: "AbfQq8iRSf9TFQRzQWo33dHYU7HFMS17Zd",
amount: "" + i,
});
}
// Submit multipayment transaction
const transactions = TransactionFactory.multiPayment(payments100)
const transactions = TransactionFactory.multiPayment(payments)
.withPassphrase(passphrase)
.withFee(2 * 1e8)
.create(200);
Expand All @@ -75,7 +75,7 @@ describe("Transaction Forging - Multipayment", () => {
}
});

it("should NOT broadcast, accept and forge it [501 payments] [Signed with 1 Passphase]", async () => {
it("should NOT broadcast, accept and forge it [max + 1 payments] [Signed with 1 Passphase]", async () => {
// Initial Funds
const initialFunds = TransactionFactory.transfer(Identities.Address.fromPassphrase(passphrase), 100 * 1e8)
.withPassphrase(secrets[0])
Expand All @@ -85,16 +85,16 @@ describe("Transaction Forging - Multipayment", () => {
await support.snoozeForBlock(1);
await expect(initialFunds.id).toBeForged();

const payments101 = [];
for (let i = 1; i <= 500; i++) {
payments101.push({
const payments = [];
for (let i = 1; i <= Managers.configManager.getMilestone().multiPaymentLimit; i++) {
payments.push({
recipientId: "AbfQq8iRSf9TFQRzQWo33dHYU7HFMS17Zd",
amount: "" + i,
});
}

// Submit multipayment transaction
const factory = TransactionFactory.multiPayment(payments101)
const factory = TransactionFactory.multiPayment(payments)
.withPassphrase(passphrase)
.withFee(2 * 1e8);

Expand All @@ -104,7 +104,7 @@ describe("Transaction Forging - Multipayment", () => {
});

const transaction = factory.createOne();
expect(transaction.asset.payments.length).toBe(501);
expect(transaction.asset.payments.length).toBe(Managers.configManager.getMilestone().multiPaymentLimit + 1);

await expect(transaction).not.toBeAccepted();
await support.snoozeForBlock(1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
}
},
"vendorFieldLength": 64,
"multiPaymentLimit": 500
"multiPaymentLimit": 256
},
{
"height": 75600,
Expand Down
4 changes: 2 additions & 2 deletions __tests__/unit/crypto/transactions/deserializer.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -321,11 +321,11 @@ describe("Transaction serializer / deserializer", () => {
.fee("50000000")
.network(23);

for (let i = 0; i < 500; i++) {
for (let i = 0; i < configManager.getMilestone().multiPaymentLimit; i++) {
multiPayment.addPayment(Address.fromPassphrase(`recipient-${i}`), "1");
}

expect(() => multiPayment.addPayment(Address.fromPassphrase("recipient501"), "1")).toThrow(
expect(() => multiPayment.addPayment(Address.fromPassphrase("recipientBad"), "1")).toThrow(
Errors.MaximumPaymentCountExceededError,
);

Expand Down
2 changes: 1 addition & 1 deletion packages/crypto/src/networks/devnet/milestones.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"ignoreInvalidSecondSignatureField": true,
"ignoreExpiredTransactions": true,
"vendorFieldLength": 64,
"multiPaymentLimit": 500
"multiPaymentLimit": 128
},
{
"height": 10800,
Expand Down
2 changes: 1 addition & 1 deletion packages/crypto/src/networks/mainnet/milestones.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
}
},
"vendorFieldLength": 64,
"multiPaymentLimit": 500
"multiPaymentLimit": 64
},
{
"height": 75600,
Expand Down
2 changes: 1 addition & 1 deletion packages/crypto/src/networks/testnet/milestones.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
}
},
"vendorFieldLength": 64,
"multiPaymentLimit": 500,
"multiPaymentLimit": 256,
"aip11": true
},
{
Expand Down
2 changes: 1 addition & 1 deletion packages/crypto/src/networks/unitnet/milestones.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
}
},
"vendorFieldLength": 64,
"multiPaymentLimit": 500,
"multiPaymentLimit": 256,
"aip11": true
},
{
Expand Down

0 comments on commit c9330a8

Please sign in to comment.