v7.0.0-beta.4
Pre-release
Pre-release
7.0.0-beta.4 (2024-09-19)
AlgorandClient
deprecation pass of app-client, transaction and debugging modules (last ones left!) and associated documentation changes. Also added a v7 migration guide.
⚠ BREAKING CHANGES
- Moved
ExecuteParams
type from/types/composer
to/types/transaction
executeParams
inparams
input toappDeployer.deploy
collapsed into the params object itself (not a breaking change from v6 since this is a new feature from last pull request)persistSourceMaps
now takesappManager
rather thanclient
microAlgos
property inAlgoAmount
instances now returns abigint
rather than anumber
Deprecations
getAppClient
->algorand.client.getAppClientById
,algorand.client.getAppClientByCreatorAndName
oralgorand.client.getAppFactory
(for create or deploy)getAppClientById
->algorand.client.getAppClientById
oralgorand.client.getAppFactory
(for create or deploy)getAppClientByCreatorAndName
->algorand.client.getAppClientByCreatorAndName
oralgorand.client.getAppFactory
(for create or deploy)encodeTransactionNote
->AlgoKitComposer.arc2Note
for ARC-2 and let devs convert tostring
orUint8Array
themselves otherwisegetSenderAddress
-> Usealgorand.client
to interact with accounts, and use.addr
to get the address and/or move from usingSendTransactionFrom
toTransactionSignerAccount
and use.addr
instead.getTransactionWithSigner
-> UseAlgorandClient
/AlgoKitComposer
to construct transactions instead or construct analgosdk.TransactionWithSigner
manually instead.getSenderTransactionSigner
-> UseTransactionSignerAccount
instead ofSendTransactionFrom
or usealgosdk.makeBasicAccountTransactionSigner
/algosdk.makeLogicSigAccountTransactionSigner
.signTransaction
-> UseAlgorandClient
/AlgoKitComposer
to sign transactions or use the relevant underlyingaccount.signTxn
/algosdk.signLogicSigTransactionObject
/multiSigAccount.sign
/TransactionSigner
methods directly.sendTransaction
-> UseAlgorandClient
/AlgoKitComposer
to send transactions.sendParams
property in the input tosendAtomicTransactionComposer
-> newexecuteParams
propertyperformAtomicTransactionComposerDryrun
(deprecated Algorand feature)sendGroupOfTransactions
-> UseAlgoKitComposer
(algorand.newGroup()
) orAtomicTransactionComposer
to construct and send group transactions instead.capTransactionFee
-> UseAlgoKitComposer
and themaxFee
field in the transaction params instead.controlFees
-> UseAlgoKitComposer
and themaxFee
andstaticFee
fields in the transaction params instead.getTransactionParams
-> UsesuggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()
instead (AlgoKitComposer
takes care of this for you so not likely to be needed anymore)getAtomicTransactionComposerTransactions
-> Useatc.clone().buildGroup()
instead.ApplicationClient
->AppClient
andAppFactory
algorand.client.getAppClientByCreatorAndName
returns anAppClient
rather than anApplicationClient
algorand.client.getAppClientById
returns anAppClient
rather than anApplicationClient
New features
- Added
appManager.getGlobalState
- Added
AlgorandClientInterface
type to decouple taking a dependency onAlgorandClient
with creation of a circular dependency loop - Added current draft ARC-56 types to
/types/app-arc56
with the root type beingArc56Contract
- Added
getABIEncodedValue
,getABIDecodedValue
, andgetTupleType
methods to/types/app-arc56
that allow you to encode and decode ABI values that use ARC-56 type strings (may reference structs, which can be nested) - Added
AppFactory
andAppClient
classes and addedalgorand.client.getAppFactory
andalgorand.client.getAppClientByNetwork
methods (and changedalgorand.client.getAppId
andalgorand.client.getAppClientByCreatorAndName
now returnAppClient
) - Added
arc32ToArc56
method to/types/app-spec
to allow conversion from ARC-32 to ARC-56 for backwards compatibility - Added
addTransaction
toAlgoKitComposer
so you can add a transaction (with optional signer) to the transaction group - Added
simulate
toAlgoKitComposer
so you can simulate a transaction group - Added
AlgoKitComposer.arc2Note
method to get an ARC-2 transaction note
Migration guide
A migration guide has been created for v7