Skip to content

Commit 75d0c36

Browse files
committed
abstract function
1 parent 2b2d116 commit 75d0c36

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

src/model/transaction/Transaction.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export abstract class Transaction {
5656
/**
5757
* The deadline to include the transaction.
5858
*/
59-
public deadline: Deadline,
59+
public readonly deadline: Deadline,
6060
/**
6161
* The fee for the transaction. The higher the fee, the higher the priority of the transaction.
6262
* Transactions with high priority get included in a block before transactions with lower priority.
@@ -156,4 +156,12 @@ export abstract class Transaction {
156156
const versionDTO = this.networkType.toString(16) + '0' + this.version.toString(16);
157157
return parseInt(versionDTO, 16);
158158
}
159+
160+
/**
161+
* @description re-aplly a given value to the transaction in an immutable way
162+
* @param {Deadline} deadline
163+
* @returns {Transaction}
164+
* @memberof Transaction
165+
*/
166+
public abstract reaplygiven(deadline: Deadline, signedTransaction?: SignedTransaction): Transaction;
159167
}

test/model/transaction/Transaction.spec.ts

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

17-
import {expect} from 'chai';
18-
import {VerifiableTransaction} from 'nem2-library';
19-
import {NetworkType} from '../../../src/model/blockchain/NetworkType';
20-
import {Account} from '../../../src/model/model';
21-
import {Deadline} from '../../../src/model/transaction/Deadline';
22-
import {SignedTransaction} from '../../../src/model/transaction/SignedTransaction';
23-
import {Transaction} from '../../../src/model/transaction/Transaction';
24-
import {TransactionInfo} from '../../../src/model/transaction/TransactionInfo';
25-
import {TransactionType} from '../../../src/model/transaction/TransactionType';
26-
import {UInt64} from '../../../src/model/UInt64';
17+
import { expect } from 'chai';
18+
import { VerifiableTransaction } from 'nem2-library';
19+
import { NetworkType } from '../../../src/model/blockchain/NetworkType';
20+
import { Account } from '../../../src/model/model';
21+
import { Deadline } from '../../../src/model/transaction/Deadline';
22+
import { SignedTransaction } from '../../../src/model/transaction/SignedTransaction';
23+
import { Transaction } from '../../../src/model/transaction/Transaction';
24+
import { TransactionInfo } from '../../../src/model/transaction/TransactionInfo';
25+
import { TransactionType } from '../../../src/model/transaction/TransactionType';
26+
import { UInt64 } from '../../../src/model/UInt64';
2727

2828
describe('Transaction', () => {
2929
describe('isUnannounced', () => {
@@ -108,4 +108,8 @@ class FakeTransaction extends Transaction {
108108
protected buildTransaction(): VerifiableTransaction {
109109
throw new Error('Method not implemented.');
110110
}
111+
112+
public reaplygiven(newdeadline: Deadline): Transaction {
113+
throw new Error('Method not implemented.');
114+
}
111115
}

0 commit comments

Comments
 (0)