Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
8db05b4
Merge pull request #27 from algorandfoundation/alpha
boblat Jan 9, 2025
25a08af
chore: update puyats and algorand-typescript versions
boblat Jan 14, 2025
0853b82
Merge pull request #29 from algorandfoundation/chore/update-puyats-ve…
boblat Jan 14, 2025
fa44172
feat: add v11 global fields
boblat Jan 9, 2025
ac5bdf5
feat: add v11 acct params functions
boblat Jan 9, 2025
8833a05
feat: add v11 block functions
boblat Jan 9, 2025
181a10e
feat: add v11 voter params functions
boblat Jan 9, 2025
95551f8
feat: add v11 onlineStake function
boblat Jan 13, 2025
3f4d4ce
fix: skip tests requiring avm v11 version in CI
boblat Jan 13, 2025
bfc897d
Merge pull request #28 from algorandfoundation/feat-v11
boblat Jan 14, 2025
312986a
fix: update import elliptic statement to avoid having to inline node …
boblat Jan 14, 2025
b266b30
Merge pull request #30 from algorandfoundation/fix/cjs-import
boblat Jan 14, 2025
b7ef7aa
fix: update import statements to avoid having to inline node modules
boblat Jan 15, 2025
7086c0c
Merge pull request #31 from algorandfoundation/fix/cjs-import
boblat Jan 15, 2025
d60f869
fix: allow v11 acct param fields to be set in any.account() call
boblat Jan 15, 2025
d90b5f6
Merge pull request #32 from algorandfoundation/fix/acct-data
boblat Jan 15, 2025
10dd99d
fix: use isArc4 static property to remove explicit version dependency…
boblat Jan 16, 2025
84fee20
Merge pull request #33 from algorandfoundation/fix/is-arc4
boblat Jan 16, 2025
3793c4f
fix: throw error if the param being passed to ctx.contract.create fun…
boblat Jan 16, 2025
777faa0
Merge pull request #34 from algorandfoundation/fix/is-arc4
boblat Jan 16, 2025
dd62e5c
feat: allow extracting to the end by omitting length parameter for `e…
boblat Jan 17, 2025
cfdf857
feat: add tests for multi-inheritance contract
boblat Jan 17, 2025
1dd7b2f
Merge pull request #36 from algorandfoundation/feat/multi-inheritance
boblat Jan 17, 2025
e9498bf
refactor: remove unnecessary `async` keyword from test functions
boblat Jan 17, 2025
d69a6ce
refactor: remove avm version check as algod latest image is now v4
boblat Jan 17, 2025
d610b71
Merge pull request #37 from algorandfoundation/refactor/async
boblat Jan 17, 2025
903d595
chore: update algorand-typescript and puya-ts package versions
boblat Jan 20, 2025
5e6478b
Merge pull request #35 from algorandfoundation/feat/extract-op-nuances
boblat Jan 20, 2025
a90534b
feat: add stub for v11 op code mimc
boblat Jan 17, 2025
1486abb
chore: update version of puya-ts and algorand-typescript dependencies
boblat Jan 21, 2025
ec581cb
fix: remove set item tests as arc4 struct is now immutable
boblat Jan 21, 2025
2040373
Merge pull request #38 from algorandfoundation/feat/mimc
boblat Jan 21, 2025
99e165f
refactor: use import replacement to swap in stub implementations
boblat Jan 21, 2025
838041d
chore: update version of algorand-typescript
boblat Jan 21, 2025
01b3738
refactor: add @typescript-eslint/consistent-type-imports rule for con…
boblat Jan 22, 2025
6f32ea1
Merge pull request #40 from algorandfoundation/refactor/import
boblat Jan 22, 2025
6516c6a
refactor: export stub implementation of op codes under internal names…
boblat Jan 22, 2025
4bb8380
Merge pull request #41 from algorandfoundation/refactor/import-op
boblat Jan 24, 2025
3b33d10
refactor: export more functions under internal namespace for import r…
boblat Jan 28, 2025
d04aa64
chore: fix npm audit issue (1101618)
boblat Jan 28, 2025
b5e3460
chore: update algo-ts package version
boblat Jan 28, 2025
848d011
Merge pull request #43 from algorandfoundation/refactor/import
boblat Jan 28, 2025
b9cddda
refactor: use algorandFixture for more reliable test execution
boblat Jan 22, 2025
dda86a0
refactor: use using keyword to ensure dir handle is disposed in case …
boblat Jan 28, 2025
fa31b76
refactor: export addEqualityTesters function which helps smart contra…
boblat Jan 28, 2025
70f5fc7
chore: update versions of puya-ts and algo-ts dependencies
boblat Jan 29, 2025
1e6ae8d
Merge pull request #42 from algorandfoundation/refactor/fixture
boblat Jan 29, 2025
d4d56a5
feat: add npm script to refresh test artifacts by recompiling contracts
boblat Jan 29, 2025
ec1a0b5
Merge pull request #39 from algorandfoundation/feat/refresh-artifacts
boblat Jan 29, 2025
44d3ace
refactor: compile contracts used by tests on demand as part of test run
boblat Jan 29, 2025
0a7d133
chore: install puya before running tests in CI for compiling on demand
boblat Jan 29, 2025
3e76292
Merge pull request #44 from algorandfoundation/refactor/compile-on-de…
boblat Jan 30, 2025
5b2f65a
feat: add quick start and testing guide as docs
boblat Jan 8, 2025
927ace4
Merge pull request #45 from algorandfoundation/feat-docs
boblat Feb 4, 2025
efe8fe1
fix: borken docs links
boblat Feb 4, 2025
d5cec1d
Merge pull request #46 from algorandfoundation/feat-docs
boblat Feb 4, 2025
6403d86
fix: typo in readme.md
boblat Feb 5, 2025
90efc15
refactor: remove unnecessary calls to Uint64 function
boblat Feb 5, 2025
67ce56c
Merge pull request #47 from algorandfoundation/fix/docs-typos
boblat Feb 5, 2025
7eb3eee
refactor: simplify sample contract and tests by avoiding arc4 types
boblat Feb 5, 2025
ded0b45
Merge pull request #49 from algorandfoundation/refactor/docs
boblat Feb 5, 2025
1c9e0e9
chore: added issue template for bug and feature request
lempira Feb 5, 2025
453207b
refactor: further simplify sample contact in readme
boblat Feb 6, 2025
4fd3974
Merge pull request #51 from algorandfoundation/refactor/docs
boblat Feb 6, 2025
78e24a6
refactor: move all implementation logic from algo-ts to algo-ts-testing
boblat Feb 5, 2025
03d686b
refactor: update API docs
boblat Feb 5, 2025
a94d9c2
chore: update version of puya-ts and algo-ts dependencies
boblat Feb 6, 2025
28b5198
refactor: use `throw new` pattern where possible and remove extra err…
boblat Feb 6, 2025
3a34b50
refactor: use encoding utils from puya-ts instead of redefining them
boblat Feb 6, 2025
fa32c77
refactor: use more appropriate error classes
boblat Feb 6, 2025
ae50b35
refactor: use asynclocalstorage for context management
boblat Feb 6, 2025
c14e6d5
chore: changed environment comment
lempira Feb 6, 2025
aec730f
Merge pull request #50 from algorandfoundation/chore/add-issue-templates
lempira Feb 6, 2025
443f8df
chore: update puya-ts depencency version
boblat Feb 7, 2025
89dda36
Merge pull request #48 from algorandfoundation/refactor/move-implemen…
boblat Feb 7, 2025
14f1815
fix: add step to install puyapy in the release pipeline as the contra…
boblat Feb 7, 2025
470f2e7
Merge pull request #52 from algorandfoundation/fix/release
boblat Feb 7, 2025
eed57e9
chore: update version of puya-ts dependency
boblat Feb 7, 2025
5d36f2d
Merge pull request #53 from algorandfoundation/chore/version
boblat Feb 7, 2025
d1ebfe6
fix: make adjustments to puya-ts-transformer for it to be used with t…
boblat Feb 11, 2025
10d3e17
Merge pull request #54 from algorandfoundation/fix/jest-support
boblat Feb 11, 2025
aa386d4
refactor: split off transformers for vitest and jest into separate na…
boblat Feb 12, 2025
a8e4d74
refactor: further tweaks to make things work with jest
boblat Feb 13, 2025
c9c4462
feat: add docs for setting up jest with algorand-typescript-testing
boblat Feb 13, 2025
381d3e6
Merge pull request #55 from algorandfoundation/refactor/transformer
boblat Feb 13, 2025
9085aef
chore: update packages to fix npm audit vulnerabilities
boblat Feb 18, 2025
f072f85
Merge pull request #57 from algorandfoundation/chore/audit-fix
boblat Feb 18, 2025
87d4045
fix: ensure local state behaviour matches AVM
boblat Feb 18, 2025
d1c4260
Merge pull request #58 from algorandfoundation/fix/local-state
boblat Feb 19, 2025
935343d
feat: add stubs for concat functions and mutable array
boblat Feb 14, 2025
e61b371
Merge pull request #56 from algorandfoundation/feat/array
boblat Feb 21, 2025
f98f740
fix: export baremethod in internal/arc4 namespace to fix not implemen…
boblat Feb 21, 2025
70f602a
Merge pull request #59 from algorandfoundation/fix/baremethod
boblat Feb 21, 2025
33af71e
fix: export baremethod in internal namespace to fix not implemented e…
boblat Feb 21, 2025
cf53888
Merge pull request #60 from algorandfoundation/fix/baremethod
boblat Feb 21, 2025
5c30420
chore: tweak jest docs
neilcampbell Feb 21, 2025
1db13fb
Merge pull request #61 from algorandfoundation/jest-docs-tweak
neilcampbell Feb 21, 2025
6e27f77
feat: accept abi method reference as a parameter to methodSelector fu…
boblat Feb 20, 2025
37bdf71
- fix: capture method config at the earlier stage instead of on insta…
boblat Feb 21, 2025
61ebed4
chore: update versions of puya-ts and algotsdependencies
boblat Feb 21, 2025
969d96a
refactor: add tests for method selector
boblat Feb 24, 2025
78b3de5
refactor: consistently store abi metadata against contract class
boblat Feb 24, 2025
fe235bc
refactor: simplify capturing of decorator config by storing it direct…
boblat Feb 25, 2025
57d90d4
refactor: update API docs
boblat Feb 25, 2025
6376dc0
Merge pull request #62 from algorandfoundation/feat/signature
boblat Feb 26, 2025
1019342
fix: add tests to ensure switch clauses are evaluated only when reached
boblat Mar 4, 2025
3ff22c2
chore: update version of puya-ts dependency
boblat Mar 5, 2025
a981614
Merge pull request #63 from algorandfoundation/fix/switch-eval
boblat Mar 5, 2025
d4b217d
fix: change stub implementations of box, struct to match latest algo-ts
boblat Mar 11, 2025
c71995b
feat: add stub implementation of arc4EncodedLength
boblat Mar 11, 2025
7f1f5fb
feat: add tests for setting items in struct back in
boblat Mar 11, 2025
ab50295
Merge pull request #64 from algorandfoundation/fix/box-struct-arc4
boblat Mar 12, 2025
ab2a868
fix: ensure all example contracts compile successfully
boblat Mar 12, 2025
50989f8
Merge pull request #65 from algorandfoundation/fix/example
boblat Mar 17, 2025
9095196
fix: allow mutation of values stored in boxes, automatically register…
boblat Mar 18, 2025
9ce9a66
Merge pull request #66 from algorandfoundation/fix/box-mutation
boblat Mar 19, 2025
81dc15b
build: Tag releases in npm based on release channel
boblat Mar 31, 2025
7093693
Merge pull request #68 from algorandfoundation/build/tag-npm-pkg
boblat Mar 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: "\U0001F41C Bug report"
about: Report a reproducible bug.
title: ''
labels: new-bug
assignees: ''
---

### Subject of the issue

<!-- Describe your issue here. -->

### Your environment

<!--
* Please provide information about your environment.
* This will give us a good idea about your environment
-->

### Steps to reproduce

1.
2.

### Expected behaviour

### Actual behaviour
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: "\U0001F514 Feature Request"
about: Suggestions for how we can improve the algorand platform.
title: ''
labels: new-feature-request
assignees: ''
---

## Problem

<!-- What is the problem that we’re trying to solve? -->

## Solution

<!-- Do you have a potential/suggested solution? Document more than one if possible. -->

### Proposal

<!-- Describe the solution you’d like in detail. -->

### Pros and Cons

<!-- What are the advantages and disadvantages of this solution? -->

## Dependencies

<!-- Does the solution have any team or design dependencies? -->
6 changes: 3 additions & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ on:
- 'docs/**'
- 'scripts/**'


permissions:
contents: read

Expand All @@ -19,8 +18,9 @@ jobs:
uses: ./.github/workflows/node-ci.yml
with:
pre-test-script: |
pipx install algokit
algokit localnet start
pipx install algokit --python 3.12.6
algokit localnet reset --update
pipx install puyapy --python 3.12.6
node-version: 20.x
run-build: true
run-commit-lint: true
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ jobs:
with:
pre-test-script: |
pipx install algokit
algokit localnet start
algokit localnet reset --update
pipx install puyapy
node-version: 20.x
run-build: true
run-commit-lint: true
Expand Down Expand Up @@ -63,3 +64,5 @@ jobs:
token: ${{ secrets.NPM_TOKEN }}
package: artifacts/algo-ts-testing/package.json
access: 'public'
# Tagging 'main' branch with latest for now, even though it's beta because we don't have a non-beta
tag: ${{ github.ref_name == 'alpha' && 'alpha' || github.ref_name == 'main' && 'latest' || github.ref_name == 'release' && 'latest' || 'pre-release' }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,4 @@ out/


examples/debug-out/
examples/**/data/
6 changes: 5 additions & 1 deletion .tstoolkitrc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ const config: TsToolkitConfig = {
exports: {
'.': 'index.ts',
'./runtime-helpers': 'runtime-helpers.ts',
'./test-transformer': 'test-transformer/index.ts',
'./internal': 'internal/index.ts',
'./internal/arc4': 'internal/arc4.ts',
'./internal/op': 'internal/op.ts',
'./vitest-transformer': 'test-transformer/vitest-transformer.ts',
'./jest-transformer': 'test-transformer/jest-transformer.ts',
},
},
}
Expand Down
51 changes: 51 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Contributing to Algorand TypeScript Testing

Contributions are welcome. For new features, please open an issue to discuss first.

## Workflow

We use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary). User-facing changes should include at least one `fix:` or `feat:` commit for release notes. Other conventions like `docs:` or `test:` are optional but helpful.

## Local Development

To set up the project locally:

1. **Install Node.js**: Download from [nodejs.org](https://nodejs.org/).

1. **Install Python 3.12+**.

1. **Install Puya**:

```sh
pipx install puyapy --python 3.12.6
```

1. **Install AlgoKit CLI**: Follow the guide from [Algokit](https://github.com/algorandfoundation/algokit-cli?tab=readme-ov-file#install).

1. **Start localnet**:

```sh
algokit localnet start
# or `algokit localnet reset --update` to update localnet docker images
```

1. **Install npm dependencies**:

```sh
npm install
```

1. **Run tests**:
```sh
npm test
```

## Common Commands

Here are some common commands you will use with npm:

- **Generate API reference documentation** `npm run script:documentation`
- **Fix linting errors** `npm run lint:fix`
- **Build a distribution locally** `npm run build`
- **Compile all contracts used by tests for debugging** `npm run script:refresh-test-artifacts`
- **Compile all example contracts for debugging** `npm run script:compile-examples`
Loading