Skip to content

Releases: algorandfoundation/algokit-utils-ts

v8.0.1-beta.1

06 Dec 13:27
0007131
Compare
Choose a tag to compare
v8.0.1-beta.1 Pre-release
Pre-release

8.0.1-beta.1 (2024-12-06)

Bug Fixes

  • make skipSignatures usage clearer (3cca08a)
  • resolve signer when using an app factory (b6044cb)

v7.0.1

06 Dec 16:33
a57122a
Compare
Choose a tag to compare

7.0.1 (2024-12-06)

Bug Fixes

  • some signing and simulate issues (59bb86a)
  • update NPM readme links (9d81c71)

v8.0.0

25 Nov 06:04
00ba553
Compare
Choose a tag to compare

8.0.0 (2024-11-25)

⚠ BREAKING CHANGES

Whilst we aim to minimise breaking changes by slowly deprecating features, unfortunately there are situations where they are required. We have been diligent and provided JSDoc deprecations where we can, however there are some scenarios where we've needed to make breaking changes. These breaking changes, along with the migrations paths are documented in the migration guide, which we recommend using to help with your migration.

Details:

  • Old indexer types deprecated and new types from algosdk@3 have breaking changes
  • Many breaking changes due to updating to algosdk@3. See algosdk migration guide

Features

v8.0.0-beta.1

25 Nov 05:57
b40d69b
Compare
Choose a tag to compare
v8.0.0-beta.1 Pre-release
Pre-release

8.0.0-beta.1 (2024-11-25)

⚠ BREAKING CHANGES

  • Old indexer types deprecated and new types breaking
  • Many breaking changes per algosdk v3

Features

  • algosdk@3 support (828af64)
  • Allowing address type for local state access in app client (368ad31)
  • Deprecating old indexer types (924bf9b)

Bug Fixes

  • add algosdk package paths as externals (aa373f2)

Dependencies and Other Build Updates

v7.0.0

25 Nov 05:46
6b55470
Compare
Choose a tag to compare

7.0.0 (2024-11-25)

⚠ BREAKING CHANGES

Whilst we aim to minimise breaking changes by slowly deprecating features, unfortunately there are situations where they are required. We have been diligent and provided JSDoc deprecations where we can, however there are some scenarios where we've needed to make breaking changes. These breaking changes, along with the migrations paths are documented in the migration guide, which we recommend using to help with your migration.

Details:

  • Changed AlgokitComposer from a default export to a named export
  • Renamed AlgokitComposer to TransactionComposer
  • Removed the default export for AlgorandClient
  • ExecuteParams has been renamed to SendParam and moved from /types/composer to /types/transactions
  • Renamed algorand.setSuggestedParamsTimeout to algorand.setSuggestedParamsCacheTimeout
  • addMethodCall and addAppCall on the TransactionComposer have been broken down into more specific versions
  • persistSourceMaps takes appManager rather than client now
  • App call param clearProgram has been renamed to clearStateProgram
  • App call param extraPages has been renamed to extraProgramPages
  • algorand.transactions.* has been renamed to algorand. createTransaction.*
  • algorand.send.*(params, executeOptions) signature has been change to collapse executeOptions into params
  • algorand.account.rekeyed param order has been switched
  • All micro algo number values returned from algorand.account.getInformation() now return an AlgoAmount type
  • algorand.account.getInformation() result returns amount and validAsOfRound, instead of balance and round.
  • algorand.account.getAssetInformation() to algorand.asset.getAccountInformation()
  • The algorand.client.getAppClientBy*() methods return an AppClient rather than an ApplicationClient

Features

Deprecates the following in favour of new AlgorandClient exposed functionality:

  • algokit.createAsset
  • algokit.assetOptIn
  • algokit.assetOptOut
  • algokit.assetBulkOptIn
  • algokit.assetBulkOptOut
  • algokit.ensureFunded
  • algokit.transferAsset
  • algokit.rekeyAccount
  • algokit.transferAlgos
  • createApp -> algorand.send.appCreate() / algorand.transactions.appCreate() / algorand.send.appCreateMethodCall() / algorand.transactions.appCreateMethodCall()
  • updateApp -> algorand.send.appUpdate() / algorand.transactions.appUpdate() / algorand.send.appUpdateMethodCall() / algorand.transactions.appUpdateMethodCall()
  • callApp -> algorand.send.appUpdate() / algorand.transactions.appUpdate() / algorand.send.appUpdateMethodCall() / algorand.transactions.appUpdateMethodCall()
  • deployApp -> algorand.appDeployer.deploy
  • getCreatorAppsByName -> algorand.appDeployer.getCreatorAppsByName
  • getABIReturn -> AppManager.getABIReturn
  • getAppGlobalState -> (await appManager.getById(appId)).globalState
  • getAppLocalState -> algorand.app.getLocalState
  • getAppBoxNames -> algorand.app.getBoxNames
  • getAppBoxValue -> algorand.app.getBoxValue
  • getAppBoxValues -> algorand.app.getBoxValues
  • getAppBoxValueFromABIType -> algorand.app.getAppBoxValueFromABIType
  • getBoxValueFromABIType -> algorand.app.getAppBoxValuesFromABIType
  • decodeAppState -> AppManager.decodeAppState
  • getBoxReference -> AppManager.getBoxReference
  • getAppById -> algorand.app.getById
  • compileTeal -> algorand.app.compileTeal
  • performTemplateSubstitutionAndCompile -> algorand.appManager.compileTealTemplate
  • replaceDeployTimeControlParams -> AppManager.replaceTealTemplateDeployTimeControlParams
  • performTemplateSubstitution -> AppManager.replaceTealTemplateParams
  • stripTealComments -> AppManager.stripTealComments
  • getAppOnCompleteAction -> algosdk.OnApplicationComplete
  • getABIMethodSignature -> abiMethod.getSignature() / new ABIMethod(abiMethodParams).getSignature()
  • getAppArgsForTransaction
  • getAppArgsForABICall
  • isSchemaIsBroken
  • getAppDeploymentTransactionNote
  • getAppClient -> algorand.client.getAppClientById, algorand.client.getAppClientByCreatorAndName or algorand.client.getAppFactory (for create or deploy)
  • getAppClientById -> algorand.client.getAppClientById or algorand.client.getAppFactory (for create or deploy)
  • getAppClientByCreatorAndName -> algorand.client.getAppClientByCreatorAndName or algorand.client.getAppFactory (for create or deploy)
  • encodeTransactionNote -> AlgoKitComposer.arc2Note for ARC-2 and let devs convert to string or Uint8Array themselves otherwise
  • getSenderAddress -> Use algorand.client to interact with accounts, and use .addr to get the address and/or move from using SendTransactionFrom to TransactionSignerAccount and use .addr instead.
  • getTransactionWithSigner -> Use AlgorandClient / AlgoKitComposer to construct transactions instead or construct an algosdk.TransactionWithSigner manually instead.
  • getSenderTransactionSigner -> Use TransactionSignerAccount instead of SendTransactionFrom or use algosdk.makeBasicAccountTransactionSigner / algosdk.makeLogicSigAccountTransactionSigner.
  • signTransaction -> Use AlgorandClient / AlgoKitComposer to sign transactions or use the relevant underlying account.signTxn / algosdk.signLogicSigTransactionObject / multiSigAccount.sign / TransactionSigner methods directly.
  • sendTransaction -> Use AlgorandClient / AlgoKitComposer to send transactions.
  • sendParams property in the input to sendAtomicTransactionComposer -> new executeParams property
  • performAtomicTransactionComposerDryrun (deprecated Algorand feature)
  • sendGroupOfTransactions -> Use AlgoKitComposer (algorand.newGroup()) or AtomicTransactionComposer to construct and send group transactions instead.
  • capTransactionFee -> Use AlgoKitComposer and the maxFee field in the transaction params instead.
  • controlFees -> Use AlgoKitComposer and the maxFee and staticFee fields in the transaction params instead.
  • getTransactionParams -> Use suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do() instead (AlgoKitComposer takes care of this for you so not likely to be needed anymore)
  • getAtomicTransactionComposerTransactions -> Use atc.clone().buildGroup() instead.
  • ApplicationClient -> AppClient and AppFactory
  • algorand.client.getAppClientByCreatorAndName returns an AppClient rather than an ApplicationClient
  • algorand.client.getAppClientById returns an AppClient rather than an ApplicationClient

Changes:

  • Added ARC56 support
  • Added support for asset and asset transfer related feature to the AlgorandClient abstractions and deprecate the older stateless functions
  • Added support for app management related feature to the AlgorandClient abstractions and deprecate the older stateless functions
  • Added support for app call related feature to the AlgorandClient abstractions and deprecate the older stateless functions
  • Implemented all other relevant AlgorandClient related abstractions
  • Updated utils to support puya debugging

Bug Fixes

  • fixed various bugs in AlgokitComposer related to handling app call transactions
  • prevent base64 in a program from being detected as a comment that can be stripped (ee02a5d)

v7.0.0-beta.25

25 Nov 04:01
6a1b2cd
Compare
Choose a tag to compare
v7.0.0-beta.25 Pre-release
Pre-release

7.0.0-beta.25 (2024-11-25)

v7.0.0-beta.24

22 Nov 06:57
b40349b
Compare
Choose a tag to compare
v7.0.0-beta.24 Pre-release
Pre-release

7.0.0-beta.24 (2024-11-22)

Features

  • add support for offline key registration (fd98a1d)

Bug Fixes

  • handle a voteFirst value of 0 (c9127c9)

v7.0.0-alpha.3

18 Nov 06:51
Compare
Choose a tag to compare
v7.0.0-alpha.3 Pre-release
Pre-release

7.0.0-alpha.3 (2024-11-18)

Bug Fixes

  • add algosdk package paths as externals (aa373f2)

v7.0.0-alpha.2

15 Nov 13:49
Compare
Choose a tag to compare
v7.0.0-alpha.2 Pre-release
Pre-release

7.0.0-alpha.2 (2024-11-15)

Bug Fixes

  • add algosdk package paths as externals (83e5679)

v7.0.0-alpha.1

14 Nov 16:20
Compare
Choose a tag to compare
v7.0.0-alpha.1 Pre-release
Pre-release

7.0.0-alpha.1 (2024-11-14)

⚠ BREAKING CHANGES

  • Old indexer types deprecated and new types breaking

  • Many breaking changes per algosdk v3

  • Technically this is a breaking change, but typed generator
    was incorrectly classing them as number and otherwise people were using ABIValue
    which doesn't specify the type so detection is ideally needed anyway so impact is likely low.

  • AppClient.compile (and appClient.compile, and appFactory.compile) return compiledApproval and compiledClear again
    This reverted the last commit after a reflection that the more explicit naming was actually confusing since it meant
    the return of this method different from the return from create/update calls and consistency was better. The fact there is now jsdoc
    comments means that the property names from the compile method are able to be quickly understood.

  • ExecuteParams has been moved from types/composer to types/transaction

  • feat: Added AppClient as an ARC-56 compatible non-typed application client

  • feat: Added AppFactory as an ARC-32/ARC-56 compatible mechanism to create and deploy apps and create app clients
    test: Added test coverage of AppClient and AppFactory

  • persistSourceMaps takes appManager rather than client now

  • docs: Added migration guide and app-client documentation
    feat: Added appClient.params.fundAppAccount and appClient.transactions.fundAppAccount
    fix: Allow extraProgramPages to be passed into create and deploy call as override

  • feat: Proper ARC-56 struct support
    feat: Added a number of methods and types to ARC-56 to make interacting with it easier

  • Linting and PR review

  • feat: ARC-56 Typed client support

  • feat: Added logging when sending app calls

  • fix: Fixing minor bugs

  • fixes

  • feat: Finalised typed app client construction methods

  • PR feedback

  • feat: AlgoAmount microAlgo/s property now returns a bigint

  • microAlgo/s property in AlgoAmount now returns a bigint

  • Renamed clearProgram to clearStateProgram and extraPages to extraProgramPages in AlgoKitComposer to match algod api

  • Numerous

  • App deprecation (#310) (41d8df1)

Features

  • add support for abi methods calls as default values (#339) (288b867)
  • add support for cloning an app client (#336) (6a7750b)
  • algosdk@3 support (828af64)
  • Allowing address type for local state access in app client (368ad31)
  • app client deprecation (#311) (0cd0743)
  • Convert ABI return values that are uint<53 to number rather than bigint (#322) (ee8338a)
  • Deprecate transfer and asset modules (#291) (b2c0f91)
  • Deprecating old indexer types (924bf9b)
  • Readonly calls from app client now don't invoke signing (#321) (9c3897e)
  • support fixSigners in simulate (8d7e4d0)
  • support latest ARC56 source mapping (including cblock offset) (#333) (cfa6518)
  • V7 tweaks (#317) (eebb653)

Bug Fixes

  • add app client support for nested method call (#330) (b538731)
  • bigint template variables (#312) (5e63c0e)
  • correct the readonly handling (65c4e36)
  • map app call args in composer (#316) (7c1fabb)
  • prevent base64 from being detected as a comment that can be stripped (ee02a5d)
  • Solving problem with populate resources not working for readonly calls (#319) (ced7cb8)

Dependencies and Other Build Updates

Code Refactoring

  • prereqs for puya debugging support (#315) (8687bed)
  • Rename AlgoKitComposer to TransactionComposer (#334) (635a814)