### SendAssetForm.vue
- Do asset opt in transaction if the buyer hasn’t done so.
- Function is an atomic transfer consisting of payment and app call
- Display transaction ID if successful.
- Handle transaction errors if any and display warning alert
## Test Cases
### Success Flow
### Negative Tests
add these test cases as well:
- Double asset creation fails
- Asset creation fails when non-creator calls
- Asset transfer fails when supply is insufficient
- Asset burn fails when supply is insufficient
- Asset transfer fails when non-creator calls
- Asset burn fails when non-creator calls
- Selling token fails when supply < amount sold
- Selling tokens fails when transaction is not grouped
- Buying 0 token fails
- Buying tokens with insufficient algos
- Transfer token to non holding app fails
- Burn token to non burn app fails
Contracts
Mint Contract
create_asset
:asset_transfer
:asset_burn
:Holdings Contract
asset_optin
:sell_token
:Burn Contract
handle_creation
:asset_optin
:Deployment Scripts
Main deployment
Actions
Application Frontend
good
const holdingsApp = configHolding.default.metadata.holdingsAppID