v1.0.0
Huge milestone. Algo Builder is going to 1.0!
We have full support for all Algorand transaction types and TEALv2 in our @algo-builder/runtime
. This means that you can efficiently test and integrate your application with Algo Builder!
We are the first one to deliver an enterprise level framework for building Algorand Dapps.
Changelog
New website: https://scale-it.github.io/algo-builder
Breaking
- Removed Algob prefix in deployer (eg. renamed
AlgobDeployer
toDeployer
) - Updated
execParams
structure & typings (input parameters forexecuteTransaction
)- Migration: If
SignType
isLogicSignature
then changefromAccount
tofromAccountAddr
and just pass from address instead of complete account.
- Migration: If
- Changed the way we pass arguments to stateless smart contract - moved assignment from when we load smart contract (using
loadLogic
,mkDelegatedLsig
,fundLsig
) to when we create transaction execution parameters.- Migration: assign stateless args in txParams to
executeTransaction
. Egawait deployer.loadLogic('htlc.py', [arg1]); // remove scTmplParams from here const txnParams: rtypes.AlgoTransferParam = { .. } txnParams.args = [arg1]; // assign here now await executeTransaction(deployer, txnParams);
- Migration: assign stateless args in txParams to
Improvements
- Added more tests for the crowdfunding example project using
@algo-builder/runtime
- Happy paths and Failing paths. - Integrated user documentation with
jekyll
. - Added new function
signLogicSigMultiSig
to sign logic signature by multisig. - Updated ASA deployment (
deployASA
function) to pass custom params and save deployed asset definition in checkpoint. - Support deployment and optIn methods in a transaction group (along with all other methods, using
executeTransaction
). - Renamed
loadBinaryMultiSig
toloadBinaryLsig
(load signed logic signature from file in scripts). - New opt-in functions and updates. Check the deployer API for information about all opt-in functions.
deployer.optIn
are now available both in DEPLOY mode to RUN mode.- Extended
deployer.optIn*
functions to support ASA by ID. Previously we only accepted ASA by name (based on the name inassets/asa.yaml
file). - Added
deployer.optInLsigToSSC
anddeployer.optInLsigToASA
to easily opt-in stateless smart contract (lsig) account to stateful smart contract and ASA.
- Asset related
execParams
(transaction parameters forexecuteTransaction
) support ASA by name and by ID (previously only ASA ID was supported). Example. - cleaned test suite log (when developing Algo Builder itself). Our test suite has 884 tests.
Commands
We added new commands:
algob test
(runs mocha in project root).algob unbox-template <name> <destination>
to quickly unbox a dapp template from scale-it/algo-builder-templates.algob sign-multisig --account <acc> --file <input> --out <out-file>
to append user's signature to signed multisig file using accounts managed byalgob
.algob sign-lsig --account <acc> --file <input> --out <out-file>
to sign logic signature using accounts managed byalgob
.
Examples
- Added new templates:
- Updated
examples/asa
: added new use-case to deploy and control ASA by a smart contract.
Dapp templates.
- We created a new repository with dapp templates. It's a new project line of Algo Builder. Dapp Templates are webapps operating with Algorand blockchain with
algob
support. For the moment we only have React templates. Anyone can contribute with a new template or by improving the pre-existing ones by creating a pull request. - Added
algob unbox-template
command to download a template and setup the project.
Infrastructure
- Added new make commands:
setup-private-net
- creates and starts private network, setups master account and shows network status.recreate-private-net
- stops and removes the private network, and re-setup.
@algorand-builder/runtime:
- fixed bugs
- in group tx flow
- in opcodes: asset_params_get, txn GroupIndex, concat
- closing asset using clawback should be denied