From 2e4a946b5214bdd2b4e18a02b4f4e3b32ff19304 Mon Sep 17 00:00:00 2001 From: Neil Campbell Date: Fri, 31 Jan 2025 23:53:45 +0800 Subject: [PATCH] fix: correct the calculation of extra program pages (#374) * fix: correct the calculation of extra program pages --- .../types_composer.TransactionComposer.md | 108 +++++++++--------- .../types_algorand_client_interface.md | 2 +- package-lock.json | 6 +- src/types/algorand-client-interface.ts | 2 - src/types/composer.ts | 13 ++- src/types/interface-of.ts | 5 +- 6 files changed, 69 insertions(+), 67 deletions(-) diff --git a/docs/code/classes/types_composer.TransactionComposer.md b/docs/code/classes/types_composer.TransactionComposer.md index c85a8412..256136d5 100644 --- a/docs/code/classes/types_composer.TransactionComposer.md +++ b/docs/code/classes/types_composer.TransactionComposer.md @@ -89,7 +89,7 @@ Create a `TransactionComposer`. #### Defined in -[src/types/composer.ts:559](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L559) +[src/types/composer.ts:564](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L564) ## Properties @@ -101,7 +101,7 @@ The algod client used by the composer. #### Defined in -[src/types/composer.ts:539](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L539) +[src/types/composer.ts:544](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L544) ___ @@ -111,7 +111,7 @@ ___ #### Defined in -[src/types/composer.ts:553](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L553) +[src/types/composer.ts:558](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L558) ___ @@ -123,7 +123,7 @@ The ATC used to compose the group #### Defined in -[src/types/composer.ts:528](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L528) +[src/types/composer.ts:533](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L533) ___ @@ -135,7 +135,7 @@ The default transaction validity window #### Defined in -[src/types/composer.ts:548](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L548) +[src/types/composer.ts:553](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L553) ___ @@ -147,7 +147,7 @@ Whether the validity window was explicitly set on construction #### Defined in -[src/types/composer.ts:551](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L551) +[src/types/composer.ts:556](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L556) ___ @@ -173,7 +173,7 @@ A function that takes in an address and return a signer function for that addres #### Defined in -[src/types/composer.ts:545](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L545) +[src/types/composer.ts:550](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L550) ___ @@ -193,7 +193,7 @@ An async function that will return suggested params for the transaction. #### Defined in -[src/types/composer.ts:542](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L542) +[src/types/composer.ts:547](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L547) ___ @@ -206,7 +206,7 @@ This is set using the value of either maxFee or staticFee. #### Defined in -[src/types/composer.ts:533](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L533) +[src/types/composer.ts:538](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L538) ___ @@ -218,7 +218,7 @@ Transactions that have not yet been composed #### Defined in -[src/types/composer.ts:536](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L536) +[src/types/composer.ts:541](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L541) ___ @@ -230,7 +230,7 @@ Signer used to represent a lack of signer #### Defined in -[src/types/composer.ts:525](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L525) +[src/types/composer.ts:530](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L530) ## Methods @@ -258,7 +258,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:721](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L721) +[src/types/composer.ts:726](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L726) ___ @@ -284,7 +284,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:770](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L770) +[src/types/composer.ts:775](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L775) ___ @@ -335,7 +335,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:680](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L680) +[src/types/composer.ts:685](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L685) ___ @@ -361,7 +361,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:734](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L734) +[src/types/composer.ts:739](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L739) ___ @@ -387,7 +387,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:706](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L706) +[src/types/composer.ts:711](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L711) ___ @@ -413,7 +413,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:758](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L758) +[src/types/composer.ts:763](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L763) ___ @@ -459,7 +459,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:693](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L693) +[src/types/composer.ts:698](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L698) ___ @@ -485,7 +485,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:746](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L746) +[src/types/composer.ts:751](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L751) ___ @@ -509,7 +509,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:612](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L612) +[src/types/composer.ts:617](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L617) ___ @@ -533,7 +533,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:601](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L601) +[src/types/composer.ts:606](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L606) ___ @@ -557,7 +557,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:634](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L634) +[src/types/composer.ts:639](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L639) ___ @@ -581,7 +581,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:623](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L623) +[src/types/composer.ts:628](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L628) ___ @@ -605,7 +605,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:656](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L656) +[src/types/composer.ts:661](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L661) ___ @@ -629,7 +629,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:667](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L667) +[src/types/composer.ts:672](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L672) ___ @@ -653,7 +653,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:645](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L645) +[src/types/composer.ts:650](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L650) ___ @@ -677,7 +677,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:802](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L802) +[src/types/composer.ts:807](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L807) ___ @@ -701,7 +701,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:791](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L791) +[src/types/composer.ts:796](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L796) ___ @@ -725,7 +725,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:780](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L780) +[src/types/composer.ts:785](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L785) ___ @@ -749,7 +749,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:590](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L590) +[src/types/composer.ts:595](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L595) ___ @@ -774,7 +774,7 @@ The composer so you can chain method calls #### Defined in -[src/types/composer.ts:575](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L575) +[src/types/composer.ts:580](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L580) ___ @@ -797,7 +797,7 @@ The built atomic transaction composer and the transactions #### Defined in -[src/types/composer.ts:1322](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1322) +[src/types/composer.ts:1327](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1327) ___ @@ -818,7 +818,7 @@ ___ #### Defined in -[src/types/composer.ts:1141](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1141) +[src/types/composer.ts:1146](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1146) ___ @@ -839,7 +839,7 @@ ___ #### Defined in -[src/types/composer.ts:1098](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1098) +[src/types/composer.ts:1103](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1103) ___ @@ -860,7 +860,7 @@ ___ #### Defined in -[src/types/composer.ts:1080](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1080) +[src/types/composer.ts:1085](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1085) ___ @@ -881,7 +881,7 @@ ___ #### Defined in -[src/types/composer.ts:1111](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1111) +[src/types/composer.ts:1116](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1116) ___ @@ -902,7 +902,7 @@ ___ #### Defined in -[src/types/composer.ts:1119](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1119) +[src/types/composer.ts:1124](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1124) ___ @@ -923,7 +923,7 @@ ___ #### Defined in -[src/types/composer.ts:1129](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1129) +[src/types/composer.ts:1134](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1134) ___ @@ -945,7 +945,7 @@ Build an ATC and return transactions ready to be incorporated into a broader set #### Defined in -[src/types/composer.ts:808](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L808) +[src/types/composer.ts:813](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L813) ___ @@ -966,7 +966,7 @@ ___ #### Defined in -[src/types/composer.ts:1192](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1192) +[src/types/composer.ts:1197](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1197) ___ @@ -990,7 +990,7 @@ Builds an ABI method call transaction and any other associated transactions repr #### Defined in -[src/types/composer.ts:888](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L888) +[src/types/composer.ts:893](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L893) ___ @@ -1011,7 +1011,7 @@ ___ #### Defined in -[src/types/composer.ts:1070](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1070) +[src/types/composer.ts:1075](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1075) ___ @@ -1029,7 +1029,7 @@ The array of built transactions and any corresponding method calls #### Defined in -[src/types/composer.ts:1270](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1270) +[src/types/composer.ts:1275](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1275) ___ @@ -1052,7 +1052,7 @@ Builds all transaction types apart from `txnWithSigner`, `atc` and `methodCall` #### Defined in -[src/types/composer.ts:1215](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1215) +[src/types/composer.ts:1220](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1220) ___ @@ -1073,7 +1073,7 @@ ___ #### Defined in -[src/types/composer.ts:1242](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1242) +[src/types/composer.ts:1247](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1247) ___ @@ -1101,7 +1101,7 @@ ___ #### Defined in -[src/types/composer.ts:830](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L830) +[src/types/composer.ts:835](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L835) ___ @@ -1117,7 +1117,7 @@ Get the number of transactions currently added to this composer. #### Defined in -[src/types/composer.ts:1309](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1309) +[src/types/composer.ts:1314](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1314) ___ @@ -1147,7 +1147,7 @@ An alias for `composer.send(params)`. #### Defined in -[src/types/composer.ts:1408](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1408) +[src/types/composer.ts:1413](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1413) ___ @@ -1166,7 +1166,7 @@ The newly built atomic transaction composer and the transactions #### Defined in -[src/types/composer.ts:1357](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1357) +[src/types/composer.ts:1362](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1362) ___ @@ -1190,7 +1190,7 @@ The execution result #### Defined in -[src/types/composer.ts:1367](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1367) +[src/types/composer.ts:1372](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1372) ___ @@ -1208,7 +1208,7 @@ The simulation result #### Defined in -[src/types/composer.ts:1416](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1416) +[src/types/composer.ts:1421](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1421) ▸ **simulate**(`options`): `Promise`\<[`SendAtomicTransactionComposerResults`](../interfaces/types_transaction.SendAtomicTransactionComposerResults.md) & \{ `simulateResponse`: `SimulateResponse` }\> @@ -1230,7 +1230,7 @@ The simulation result #### Defined in -[src/types/composer.ts:1417](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1417) +[src/types/composer.ts:1422](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1422) ▸ **simulate**(`options`): `Promise`\<[`SendAtomicTransactionComposerResults`](../interfaces/types_transaction.SendAtomicTransactionComposerResults.md) & \{ `simulateResponse`: `SimulateResponse` }\> @@ -1253,7 +1253,7 @@ The simulation result #### Defined in -[src/types/composer.ts:1420](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1420) +[src/types/composer.ts:1425](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1425) ___ @@ -1279,4 +1279,4 @@ The binary encoded transaction note #### Defined in -[src/types/composer.ts:1497](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1497) +[src/types/composer.ts:1502](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/composer.ts#L1502) diff --git a/docs/code/modules/types_algorand_client_interface.md b/docs/code/modules/types_algorand_client_interface.md index 77828417..086b2c94 100644 --- a/docs/code/modules/types_algorand_client_interface.md +++ b/docs/code/modules/types_algorand_client_interface.md @@ -37,4 +37,4 @@ https://github.com/algorandfoundation/algokit-utils-ts/pull/365 #### Defined in -[src/types/algorand-client-interface.ts:55](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algorand-client-interface.ts#L55) +[src/types/algorand-client-interface.ts:53](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/algorand-client-interface.ts#L53) diff --git a/package-lock.json b/package-lock.json index 4be06dc8..9fdeecf7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12367,9 +12367,9 @@ } }, "node_modules/vite": { - "version": "5.4.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", - "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", + "version": "5.4.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz", + "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==", "dev": true, "dependencies": { "esbuild": "^0.21.3", diff --git a/src/types/algorand-client-interface.ts b/src/types/algorand-client-interface.ts index 78c80ec0..dc92c5d9 100644 --- a/src/types/algorand-client-interface.ts +++ b/src/types/algorand-client-interface.ts @@ -10,7 +10,6 @@ import Indexer = algosdk.Indexer import type { AlgorandClient } from './algorand-client' import { InterfaceOf } from './interface-of' - /** * @deprecated Use `AlgorandClient` with `import type` instead since this * interface does not implement the full interface for the AlgorandClient @@ -34,7 +33,6 @@ interface OldAlgorandClientInterface { } } - /** * @deprecated Use `AlgorandClient` with `import type` instead since this interface * will get removed in the next major release diff --git a/src/types/composer.ts b/src/types/composer.ts index a7a017ad..f890d625 100644 --- a/src/types/composer.ts +++ b/src/types/composer.ts @@ -519,6 +519,11 @@ export interface BuiltTransactions { signers: Map } +/** Calculate minimum number of extra program pages required for provided approval and clear state programs */ +const extraProgramPagesRequired = (approvalProgram: Uint8Array, clearStateProgram?: Uint8Array): number => { + return Math.floor((approvalProgram.length + (clearStateProgram?.length ?? 0) - 1) / APP_PAGE_MAX_SIZE) +} + /** TransactionComposer helps you compose and execute transactions as a transaction group. */ export class TransactionComposer { /** Signer used to represent a lack of signer */ @@ -1012,7 +1017,7 @@ export class TransactionComposer { ? 'extraProgramPages' in params && params.extraProgramPages !== undefined ? params.extraProgramPages : approvalProgram - ? Math.floor((approvalProgram.length + (clearStateProgram?.length ?? 0)) / APP_PAGE_MAX_SIZE) + ? extraProgramPagesRequired(approvalProgram, clearStateProgram) : 0 : undefined, numLocalInts: appId === 0 ? ('schema' in params ? (params.schema?.localInts ?? 0) : 0) : undefined, @@ -1174,9 +1179,9 @@ export class TransactionComposer { return this.commonTxnBuildStep(algosdk.makeApplicationCreateTxnFromObject, params, { ...sdkParams, extraPages: - 'extraProgramPages' in params - ? (params.extraProgramPages ?? Math.floor((approvalProgram!.length + clearStateProgram!.length) / APP_PAGE_MAX_SIZE)) - : 0, + 'extraProgramPages' in params && params.extraProgramPages !== undefined + ? params.extraProgramPages + : extraProgramPagesRequired(approvalProgram!, clearStateProgram!), numLocalInts: 'schema' in params ? (params.schema?.localInts ?? 0) : 0, numLocalByteSlices: 'schema' in params ? (params.schema?.localByteSlices ?? 0) : 0, numGlobalInts: 'schema' in params ? (params.schema?.globalInts ?? 0) : 0, diff --git a/src/types/interface-of.ts b/src/types/interface-of.ts index 7bf8e92f..fed80343 100644 --- a/src/types/interface-of.ts +++ b/src/types/interface-of.ts @@ -1,4 +1,3 @@ export type InterfaceOf = { - [Member in keyof ClassType]: ClassType[Member]; -}; - + [Member in keyof ClassType]: ClassType[Member] +}