Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
275 commits
Select commit Hold shift + click to select a range
3819476
chore: no default; types
cusma Mar 11, 2026
cc0c615
chore: include execution terms in normalized actus; timestamp types
cusma Mar 11, 2026
bc09fa1
chore: update fields
cusma Mar 11, 2026
6259f1c
feat: contract attributes
cusma Mar 11, 2026
3110cea
feat: normalization
cusma Mar 11, 2026
6768cf5
chore: fix
cusma Mar 11, 2026
333b128
chore: fix
cusma Mar 11, 2026
f865d67
test: contract attributes
cusma Mar 11, 2026
76d40e6
test: normalization
cusma Mar 11, 2026
09acb80
chore: add docstrings
cusma Mar 11, 2026
bd0cf7b
chore: handle premium and discount at ied
cusma Mar 11, 2026
4af98cf
chore: support str cycles
cusma Mar 11, 2026
41aeef2
chore: lint
cusma Mar 11, 2026
e31baac
chore: lint
cusma Mar 11, 2026
b7daef7
chore: update cycles and eom conventions
cusma Mar 11, 2026
0cce6d6
chore: default next_principal_redemption_amount to 0
cusma Mar 11, 2026
7f131e2
chore: default next_principal_redemption_amount to 0
cusma Mar 11, 2026
6854994
chore: nit
cusma Mar 11, 2026
ecc205b
chore: apply code review fixes and update
cusma Mar 11, 2026
0b2f173
chore: optional maturity date
cusma Mar 11, 2026
f46182c
chore: no default dey count convention
cusma Mar 11, 2026
29c1630
chore: validate initial exchange amount
cusma Mar 11, 2026
cc1fcee
fix: lax schedule
cusma Mar 11, 2026
c9a03ca
fix: cycle stub
cusma Mar 11, 2026
6d97032
chore: nit
cusma Mar 11, 2026
78390f1
test: update tests; test lax
cusma Mar 11, 2026
2b7fe95
chore: nit
cusma Mar 11, 2026
0ad4362
fix: annuity schedule
cusma Mar 11, 2026
d91cb8e
chore: use asa unit conversion
cusma Mar 11, 2026
d903b40
chore: precompute lax principal asa amounts
cusma Mar 11, 2026
afe9192
Merge remote-tracking branch 'origin/sdk/avm-normalization' into sdk/…
cusma Mar 11, 2026
6e7a90b
chore: nit
cusma Mar 11, 2026
02b9df8
fix: various
cusma Mar 11, 2026
b071f0a
test: rete reset amortizing
cusma Mar 11, 2026
2bad905
Merge remote-tracking branch 'origin/sdk/avm-normalization' into sdk/…
cusma Mar 11, 2026
980cc09
fix: various
cusma Mar 11, 2026
94c8d46
test: nam capitalization
cusma Mar 11, 2026
c0929b9
fix: various
cusma Mar 11, 2026
27e4206
test: update
cusma Mar 11, 2026
c695035
fox: various
cusma Mar 11, 2026
6f51fde
test: update
cusma Mar 11, 2026
eea9eb9
chore: handle subtyped contract
cusma Mar 11, 2026
1008d99
chore: normalization package
cusma Mar 11, 2026
dbd769d
chore: package exports
cusma Mar 11, 2026
483f673
chore: validation
cusma Mar 11, 2026
1ea1573
chore: optimization
cusma Mar 11, 2026
4328854
fix: various
cusma Mar 11, 2026
3f46108
test: update
cusma Mar 11, 2026
a29d2d7
chore: meaningful test
cusma Mar 11, 2026
e87b026
Merge pull request #95 from cusma/sdk/avm-normalization
cusma Mar 11, 2026
73134ee
chore: actus types
cusma Mar 11, 2026
3bf29a5
chore: update config
cusma Mar 11, 2026
c11e6da
feat: kernel
cusma Mar 11, 2026
8aebfa0
Merge pull request #96 from cusma/avm/kernel
cusma Mar 11, 2026
ef43573
chore: account position docstring
cusma Mar 12, 2026
9a22184
chore: role prefixes
cusma Mar 12, 2026
a54aa03
chore: remove unused errors
cusma Mar 12, 2026
ac2f28f
feat: update accounting module
cusma Mar 12, 2026
335fa14
chore: use _scaled_mul_div; restore payment address rotation authoriz…
cusma Mar 12, 2026
de48fcd
Merge pull request #97 from cusma/avm/accounting
cusma Mar 12, 2026
5bc6e76
chore: module init
cusma Mar 12, 2026
8c44ca8
chore: use native fixed array
cusma Mar 12, 2026
e25b19a
chore: rename kernel
cusma Mar 12, 2026
8d69ba7
chore: invalid event id; invalid schedule page
cusma Mar 12, 2026
eb6acd7
chore: use role validity struct
cusma Mar 12, 2026
ae132b1
feat: actus schedule
cusma Mar 12, 2026
17a91c5
chore: fix roles
cusma Mar 12, 2026
39da138
Merge pull request #98 from cusma/avm/schedule
cusma Mar 12, 2026
0fd1c45
chore: remove schedule
cusma Mar 12, 2026
c517d6d
chore: private subs
cusma Mar 12, 2026
ccbd271
chore: execution event
cusma Mar 12, 2026
77f2af4
chore: add errors
cusma Mar 12, 2026
a830cc7
chore: add missing pi event enum
cusma Mar 12, 2026
6d693bd
chore: private subs
cusma Mar 12, 2026
368e87c
chore: update types
cusma Mar 12, 2026
e9f11d1
feat: complete kernel
cusma Mar 12, 2026
b497956
chore: nit
cusma Mar 12, 2026
5ea93ff
Merge pull request #99 from cusma/avm/complete-kernel
cusma Mar 12, 2026
e1d56cf
chore: move deprecated
cusma Mar 12, 2026
1867000
chore: private subs
cusma Mar 12, 2026
8fc1cf4
feat: payment agent
cusma Mar 12, 2026
443a06e
feat: transfer agent
cusma Mar 12, 2026
aeb9a10
chore: update import path
cusma Mar 12, 2026
01c9998
Merge pull request #100 from cusma/avm/payment-transfer-agents
cusma Mar 12, 2026
9c731fb
chore: remove deprecated files
cusma Mar 12, 2026
e7b1fe3
Merge pull request #101 from cusma/clean-up
cusma Mar 12, 2026
e450517
chore: remove annotations
cusma Mar 12, 2026
c990c82
chore: remove deprecated mixins
cusma Mar 12, 2026
0cf3beb
chore: remove deprecated types
cusma Mar 12, 2026
ae40066
chore: private subs
cusma Mar 12, 2026
add2c42
chore: remove deprecated errors
cusma Mar 12, 2026
eb6229e
chore: lint
cusma Mar 12, 2026
394a351
feat: d-asa
cusma Mar 12, 2026
8adc973
chore: remove secondary market from normalized terms
cusma Mar 12, 2026
ce4578f
chore: transfer closed
cusma Mar 12, 2026
1c4b761
chore: remove event parsing
cusma Mar 12, 2026
751b932
fix: copy on assignment
cusma Mar 12, 2026
3dce35d
chore: move transfer utilities in transfer agent
cusma Mar 12, 2026
ae8acfb
chore: rename
cusma Mar 12, 2026
2241bec
chore: build artifacts
cusma Mar 12, 2026
9e3c9d3
Merge pull request #102 from cusma/dasa-app
cusma Mar 12, 2026
46bb945
chore: delete old tests
cusma Mar 12, 2026
5be3a66
chore: delete old mock module
cusma Mar 12, 2026
fcf1f00
chore: rename folder
cusma Mar 12, 2026
22231b9
chore: build artifacts
cusma Mar 12, 2026
ebc90df
chore: update test utils
cusma Mar 12, 2026
b725e4b
chore: update conftest
cusma Mar 12, 2026
0637c30
chore: update conftest
cusma Mar 12, 2026
5da54b6
chore: update conftes helpers
cusma Mar 12, 2026
ab53764
chore: add deploy config
cusma Mar 12, 2026
df4cd9f
test: rbac module
cusma Mar 12, 2026
40ad9bf
test: pam helpers
cusma Mar 12, 2026
1ebaa27
test: pam fixed coupon bond
cusma Mar 12, 2026
a902798
test: pam zero coupon bond
cusma Mar 12, 2026
bb1d016
chore: init
cusma Mar 12, 2026
fd49ad8
chore: adapt ci
cusma Mar 12, 2026
72813b2
chore: rename module
cusma Mar 12, 2026
4dec488
chore: build artifacts
cusma Mar 12, 2026
bcb40d9
chore: rename module
cusma Mar 12, 2026
c3e821b
chore: update conftest helpers
cusma Mar 12, 2026
9641deb
chore: update conftest helpers
cusma Mar 12, 2026
d6fe6c8
chore: update utils
cusma Mar 12, 2026
9ae5a77
ci: update matrix tests
cusma Mar 12, 2026
7f72215
fix: deployment
cusma Mar 12, 2026
f046f78
Merge pull request #103 from cusma/feat/pam
cusma Mar 12, 2026
d729373
chore(deps-dev): bump black from 26.1.0 to 26.3.1
dependabot[bot] Mar 12, 2026
c6d0560
chore: update conftest helpers
cusma Mar 12, 2026
55782f8
Merge pull request #104 from cusma/dependabot/pip/black-26.3.1
cusma Mar 12, 2026
bc6ba8b
Merge pull request #105 from cusma/chore/conftest
cusma Mar 12, 2026
29cb5b1
chore: bump dependencies
cusma Mar 12, 2026
2437ee5
Merge pull request #106 from cusma/deps
cusma Mar 12, 2026
b906a8a
chore: deployments
cusma Mar 12, 2026
f986297
chore: update conftest
cusma Mar 12, 2026
30d3f68
chore: please mypy
cusma Mar 12, 2026
88fede7
Merge pull request #107 from cusma/deployment
cusma Mar 12, 2026
a5595b0
chore: rename methods
cusma Mar 12, 2026
36667bb
chore: build artifacts
cusma Mar 12, 2026
2cd2d82
Merge pull request #108 from cusma/chore/method-names
cusma Mar 12, 2026
e70924a
feat: observed cash event request
cusma Mar 12, 2026
85a798c
chore: op up constants
cusma Mar 12, 2026
95bad97
chore: restrict D-ASA compliance profile
cusma Mar 12, 2026
2c2a8b0
chore: obs cash event request
cusma Mar 12, 2026
ca4919b
chore: op up
cusma Mar 12, 2026
d930c2c
chore: allow pi event
cusma Mar 12, 2026
c947c02
fix: principal schedule
cusma Mar 12, 2026
cbf2a93
feat: observed cash event
cusma Mar 12, 2026
9690ef1
chore: build artifacts
cusma Mar 12, 2026
1e8c981
chore: lint
cusma Mar 12, 2026
197df8d
chore: build artifacts
cusma Mar 12, 2026
cf6d95c
Merge pull request #109 from cusma/fixes
cusma Mar 12, 2026
73cfa19
docs: update docs
cusma Mar 13, 2026
bbdf55f
chore: add docsrtings
cusma Mar 13, 2026
af5e89d
chore: build artifacts
cusma Mar 13, 2026
7f8f30f
chore: ignore mdbook-mermaid artifacts
cusma Mar 13, 2026
13a90f6
chore: update role keys prefix
cusma Mar 13, 2026
abec37c
ci: add mdbook-mermaid
cusma Mar 13, 2026
4814498
fix: typos
cusma Mar 13, 2026
9cfdcc5
fix: more typos
cusma Mar 13, 2026
c2ef2ca
chore: nit
cusma Mar 13, 2026
7eed07f
Merge pull request #110 from cusma/docs
cusma Mar 13, 2026
0914db8
chore: remove unused errors
cusma Mar 13, 2026
5fd69b5
chore: move canonical artifacts in sdk
cusma Mar 13, 2026
6582e03
Merge pull request #111 from cusma/chore/clean-up
cusma Mar 13, 2026
3adee16
feat: set default status
cusma Mar 13, 2026
b918834
chore: build artifacts
cusma Mar 13, 2026
1797eab
docs: set default status
cusma Mar 13, 2026
ae7bd3d
chore: lint
cusma Mar 13, 2026
fa42dcd
chore: spare state schema
cusma Mar 13, 2026
ac32ddf
chore: build artifacts
cusma Mar 13, 2026
8527e9a
chore: move contract defaulted to rbac module
cusma Mar 13, 2026
f51c7ec
chore: build artifacts
cusma Mar 13, 2026
4ff7502
chore: rename
cusma Mar 13, 2026
865b93d
docs: update with default in rbac module
cusma Mar 13, 2026
a223619
chore: spare state schema
cusma Mar 13, 2026
665d147
chore: lint
cusma Mar 13, 2026
46d1420
chore: nit
cusma Mar 13, 2026
7557152
chore: rename subs
cusma Mar 13, 2026
ff51264
chore: build artifacts
cusma Mar 13, 2026
49927b2
Merge remote-tracking branch 'origin/feat/set-default' into feat/set-…
cusma Mar 13, 2026
c1a7ebb
test: rbac contract default
cusma Mar 13, 2026
3d147df
chore: nit
cusma Mar 13, 2026
8fbd7fe
Merge pull request #112 from cusma/feat/set-default
cusma Mar 13, 2026
d64af11
chore: get tx id
cusma Mar 13, 2026
d4bb857
test: e2e showcase test
cusma Mar 13, 2026
4366db4
docs: e2e showcase test
cusma Mar 13, 2026
66a6206
chore: mark showcase tests
cusma Mar 13, 2026
fa3f0bc
Merge pull request #117 from cusma/test/e2e
cusma Mar 13, 2026
e50ba51
chore: add docker
cusma Mar 13, 2026
1945182
feat: localnet showcase
cusma Mar 13, 2026
a1757aa
test: localnet showcase
cusma Mar 13, 2026
a43e1e9
test: localnet showcase
cusma Mar 13, 2026
c466429
test: localnet showcase
cusma Mar 13, 2026
7fd2218
feat: d-asa script
cusma Mar 13, 2026
e9310ee
docs: demo
cusma Mar 13, 2026
872cec2
chore: include root md files
cusma Mar 13, 2026
45c86bc
docs: contributions
cusma Mar 13, 2026
e5842e7
chore: makefile
cusma Mar 13, 2026
5ae318f
chore: use host algokit
cusma Mar 13, 2026
6ce40d9
chore: format
cusma Mar 13, 2026
0ab65a5
chore: include contributions
cusma Mar 13, 2026
6eaa033
chore: wait for kmd and algod
cusma Mar 13, 2026
7d5e838
chore: override host
cusma Mar 13, 2026
e4f2964
chore: nit
cusma Mar 13, 2026
67c70d3
chore: clean mdbook artifacts and run docs pre-commit
cusma Mar 13, 2026
df06b59
Merge pull request #118 from cusma/feat/cli-docker-makefile
cusma Mar 13, 2026
81885f9
chore: nit
cusma Mar 13, 2026
ac6ae36
chore: nit
cusma Mar 13, 2026
034e1bc
feat: d-asa sdk
cusma Mar 13, 2026
30b08c6
test: d-asa sdk
cusma Mar 13, 2026
34210d7
docs: d-asa sdk
cusma Mar 13, 2026
04b4185
chore: d-asa sdk export
cusma Mar 13, 2026
b94341e
chore: d-asa package
cusma Mar 13, 2026
33a368b
chore: bump project version
cusma Mar 13, 2026
8026626
chore: fix local path
cusma Mar 13, 2026
299e6bb
chore: use static event type id
cusma Mar 13, 2026
2f5949f
chore: apply suggestions from code review
cusma Mar 13, 2026
c6e0dec
chore: apply code review suggestions
cusma Mar 13, 2026
d9b05e9
Merge remote-tracking branch 'origin/feat/sdk' into feat/sdk
cusma Mar 13, 2026
1f67bc4
chore: add missing algorand python dependency
cusma Mar 13, 2026
503f302
chore: lint
cusma Mar 13, 2026
100858a
feat: d-asa avm client
cusma Mar 13, 2026
86a0cb0
docs: d-asa avm client
cusma Mar 13, 2026
b1be896
test: d-asa avm client
cusma Mar 13, 2026
dae8321
Merge pull request #120 from cusma/feat/sdk
cusma Mar 13, 2026
f7aa050
docs: jupyter notebooks
cusma Mar 13, 2026
0cef883
chore: jupyter dependencies
cusma Mar 13, 2026
724c25f
chore: clean jupyter artifacts
cusma Mar 13, 2026
f38adf2
chore: ignore jupyter artifacts
cusma Mar 13, 2026
c4e2b78
docs: formatting
cusma Mar 13, 2026
9a5df73
chore: run jupyter lab in docker
cusma Mar 13, 2026
cbbd192
chore: notebook dependencies
cusma Mar 13, 2026
f2c39cd
chore: avoid event off by one
cusma Mar 13, 2026
15ae15e
chore: nit
cusma Mar 13, 2026
30a86fd
chore: nit
cusma Mar 13, 2026
3ded4e7
chore: apply code review
cusma Mar 13, 2026
9744a49
Merge pull request #121 from cusma/docs/examples
cusma Mar 13, 2026
9ab0622
chore: canonical package structure
cusma Mar 13, 2026
1b78078
chore: update import paths
cusma Mar 13, 2026
e37a85d
chore: update import paths
cusma Mar 13, 2026
a3fbefc
chore: update import paths
cusma Mar 13, 2026
367a59f
chore: copy contract enums
cusma Mar 13, 2026
f58f310
chore: lock dependencies
cusma Mar 13, 2026
33cf58d
chore: lint
cusma Mar 13, 2026
d36276b
chore: src root
cusma Mar 13, 2026
55bea76
chore: py typed
cusma Mar 13, 2026
5a51c45
chore: nit
cusma Mar 13, 2026
22c0381
chore: nit
cusma Mar 13, 2026
9fc3b1e
Merge pull request #122 from cusma/chore/pkg
cusma Mar 13, 2026
d492969
fix: deploy script
cusma Mar 13, 2026
34a41a1
Merge pull request #124 from cusma/fix/deploy
cusma Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 4 additions & 3 deletions .algokit.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ build = { commands = [
'poetry run python -m smart_contracts build',
], description = 'Build all smart contracts in the project' }
test = { commands = [
'poetry run pytest',
'poetry run pytest -m "not showcase"',
], description = 'Run smart contract tests' }
audit = { commands = [
'poetry run pip-audit',
Expand All @@ -48,5 +48,6 @@ audit-teal = { commands = [
# Commands intented for CI only, prefixed with `ci-` by convention
ci-teal-diff = { commands = [
'git add -N ./smart_contracts/artifacts',
'git diff --exit-code --minimal ./smart_contracts/artifacts',
], description = 'Check TEAL files for differences' }
'git add -N ./src/d_asa/artifacts',
'git diff --exit-code --minimal ./smart_contracts/artifacts ./src/d_asa/artifacts',
], description = 'Check generated artifacts for differences' }
13 changes: 13 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.git
.github
.idea
.mypy_cache
.pytest_cache
.ruff_cache
.vscode
__pycache__
book
docs
tests
.env.localnet
.env.testnet
6 changes: 6 additions & 0 deletions .github/actions/docs-ci/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ runs:
with:
mdbook-version: '0.5.2'

- name: Install mdbook-mermaid
shell: bash
run: |
cargo install mdbook-mermaid --version 0.17.0 --locked
mdbook-mermaid install .

- name: Test docs
shell: bash
run: mdbook test
Expand Down
77 changes: 39 additions & 38 deletions .github/workflows/d-asa-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,10 @@ jobs:
- name: Run deployer against LocalNet
run: algokit project deploy localnet

test:
name: Test ${{ matrix.module }}
test-mock-module-rbac:
name: Test RBAC Module
if: '! github.event.pull_request.draft'
runs-on: "ubuntu-latest"
strategy:
matrix:
module:
# Mocked modules
- mock_module_rbac
- mock_module_accounting
# Contracts
- zero_coupon_bond
- fixed_coupon_bond
- perpetual_bond
steps:
- name: Checkout source code
uses: actions/checkout@v6
Expand All @@ -65,22 +55,28 @@ jobs:
id: filter
with:
filters: |
module:
- 'smart_contracts/artifacts/${{ matrix.module }}/**'
mock_module_rbac:
- 'smart_contracts/artifacts/mock_module_rbac/**'
- 'tests/conftest.py'
- 'tests/${{ matrix.module }}/**'
- 'tests/mock_module_rbac/**'

- name: Run tests
if: steps.filter.outputs.module == 'true'
if: steps.filter.outputs.mock_module_rbac == 'true'
shell: bash
run: |
set -o pipefail
algokit project run test tests/${{ matrix.module }}
algokit project run test tests/mock_module_rbac

test-shared:
name: Test shared contracts
test-pam:
name: Test PAM ${{ matrix.subfolder }}
if: '! github.event.pull_request.draft'
runs-on: "ubuntu-latest"
strategy:
fail-fast: false
matrix:
subfolder:
- fcb
- zcb
steps:
- name: Checkout source code
uses: actions/checkout@v6
Expand All @@ -93,30 +89,23 @@ jobs:
id: filter
with:
filters: |
shared:
- 'modules/**'
- 'smart_contracts/artifacts/zero_coupon_bond/**'
- 'smart_contracts/artifacts/fixed_coupon_bond/**'
- 'smart_contracts/artifacts/perpetual_bond/**'
pam:
- 'smart_contracts/artifacts/d_asa/**'
- 'src/artifacts/**'
- 'tests/conftest.py'
- 'tests/conftest_helpers.py'
- 'tests/shared/**'

- name: Run shared tests
if: steps.filter.outputs.shared == 'true'
shell: bash
run: |
set -o pipefail
algokit project run test tests/shared
- 'tests/pam/pam_test_support.py'
- 'tests/pam/${{ matrix.subfolder }}/**'

- name: Run helper tests
- name: Run tests
if: steps.filter.outputs.pam == 'true'
shell: bash
run: |
set -o pipefail
algokit project run test tests/test_utils.py tests/test_mixin_composition_guards.py
algokit project run test tests/pam/${{ matrix.subfolder }}

test-events:
name: Test ACTUS events
test-sdk:
name: Test SDK and helpers
if: '! github.event.pull_request.draft'
runs-on: "ubuntu-latest"
steps:
Expand All @@ -126,8 +115,20 @@ jobs:
- name: Set up AlgoKit
uses: ./.github/actions/algokit-setup

- name: Run Fixed Coupon Bond ACTUS events test
- name: Detect changes
uses: dorny/paths-filter@v3
id: filter
with:
filters: |
sdk:
- 'src/**'
- 'smart_contracts/**'
- 'tests/sdk/**'
- 'tests/test_utils.py'

- name: Run tests
if: steps.filter.outputs.sdk == 'true'
shell: bash
run: |
set -o pipefail
poetry run pytest -s -v tests/fixed_coupon_bond/test_actus_events.py
algokit project run test tests/sdk tests/test_utils.py
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,8 @@ debug_traces/

# mdBook
book
mermaid-init.js
mermaid.min.js

# Jupyter
.ipynb_checkpoints/
1 change: 1 addition & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
CONTRIBUTIONS.md
SUMMARY.md
styles.md
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ repos:
minimum_pre_commit_version: 0.15.0
types: [ markdown ]
additional_dependencies: [ ]
files: '^(docs)/'
files: '^(docs/|[^/]+\.md$)'

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
Expand All @@ -92,4 +92,4 @@ repos:
minimum_pre_commit_version: 3.2.0
types: [ markdown ]
additional_dependencies: [ ]
files: '^(docs)/'
files: '^(docs/|[^/]+\.md$)'
Loading
Loading