Skip to content

Commit

Permalink
Merge pull request #36 from algorandfoundation/feat/multi-inheritance
Browse files Browse the repository at this point in the history
feat: add tests for multi-inheritance contract
  • Loading branch information
boblat authored Jan 17, 2025
2 parents 777faa0 + cfdf857 commit 1dd7b2f
Show file tree
Hide file tree
Showing 18 changed files with 1,597 additions and 0 deletions.
58 changes: 58 additions & 0 deletions tests/artifacts/multi-inheritance/contract.algo.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import type { uint64 } from '@algorandfoundation/algorand-typescript'
import { Contract, GlobalState, Uint64 } from '@algorandfoundation/algorand-typescript'
import { classes } from 'polytype'

export class CommonBase extends Contract {
stateCommon = GlobalState<uint64>({ initialValue: 123 })

methodCommon() {
return 'common'
}

b2CantOverride(): string {
return 'common'
}
}

export class BaseOne extends CommonBase {
stateOne = GlobalState({ initialValue: Uint64(45) })
methodOne() {
return 'base-one'
}
}

export class BaseTwo extends CommonBase {
stateTwo = GlobalState({ initialValue: 'Hello' })
methodTwo() {
return 'base-two'
}

/**
* Because CommonBase implements this method, and MRO for polytype is depth first; this method
* should not be accessible from MultiBases as the MRO should be `BaseOne => CommonBase => BaseTwo => CommonBase`
* and since CommonBase provides an implementation, this one should not be used
*/
b2CantOverride(): string {
return 'base-two'
}
}

export class MultiBases extends classes(BaseOne, BaseTwo) {
stateMulti = GlobalState({ initialValue: 'Hmmm' })

methodMulti() {
return 'multi-bases'
}

methodCallsSuper() {
return super.methodTwo()
}

callB2CantOverride() {
return super.class(BaseTwo).b2CantOverride()
}

callB2Common() {
return super.class(BaseTwo).methodCommon()
}
}
84 changes: 84 additions & 0 deletions tests/artifacts/multi-inheritance/data/BaseOne.approval.teal
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
#pragma version 10
#pragma typetrack false

// @algorandfoundation/algorand-typescript/arc4/index.d.ts::Contract.approvalProgram() -> uint64:
main:
intcblock 1
bytecblock 0x151f7c750006636f6d6d6f6e
txn ApplicationID
bnz main_after_if_else@2
// tests/artifacts/multi-inheritance/contract.algo.ts:6
// stateCommon = GlobalState<uint64>({ initialValue: 123 })
pushbytes "stateCommon"
pushint 123 // 123
app_global_put
// tests/artifacts/multi-inheritance/contract.algo.ts:18
// stateOne = GlobalState({ initialValue: Uint64(45) })
pushbytes "stateOne"
pushint 45 // 45
app_global_put

main_after_if_else@2:
// tests/artifacts/multi-inheritance/contract.algo.ts:17
// export class BaseOne extends CommonBase {
txn NumAppArgs
bz main_bare_routing@10
pushbytess 0xc32533e3 0x455c8d09 0xf9f5142c // method "methodOne()string", method "methodCommon()string", method "b2CantOverride()string"
txna ApplicationArgs 0
match main_methodOne_route@5 main_methodCommon_route@6 main_b2CantOverride_route@7

main_after_if_else@14:
// tests/artifacts/multi-inheritance/contract.algo.ts:17
// export class BaseOne extends CommonBase {
pushint 0 // 0
return

main_b2CantOverride_route@7:
// tests/artifacts/multi-inheritance/contract.algo.ts:12
// b2CantOverride(): string {
txn OnCompletion
!
assert // OnCompletion is not NoOp
txn ApplicationID
assert // can only call when not creating
bytec_0 // 0x151f7c750006636f6d6d6f6e
log
intc_0 // 1
return

main_methodCommon_route@6:
// tests/artifacts/multi-inheritance/contract.algo.ts:8
// methodCommon() {
txn OnCompletion
!
assert // OnCompletion is not NoOp
txn ApplicationID
assert // can only call when not creating
bytec_0 // 0x151f7c750006636f6d6d6f6e
log
intc_0 // 1
return

main_methodOne_route@5:
// tests/artifacts/multi-inheritance/contract.algo.ts:19
// methodOne() {
txn OnCompletion
!
assert // OnCompletion is not NoOp
txn ApplicationID
assert // can only call when not creating
pushbytes 0x151f7c750008626173652d6f6e65
log
intc_0 // 1
return

main_bare_routing@10:
// tests/artifacts/multi-inheritance/contract.algo.ts:17
// export class BaseOne extends CommonBase {
txn OnCompletion
bnz main_after_if_else@14
txn ApplicationID
!
assert // can only call when creating
intc_0 // 1
return
85 changes: 85 additions & 0 deletions tests/artifacts/multi-inheritance/data/BaseOne.arc32.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"hints": {
"methodOne()string": {
"call_config": {
"no_op": "CALL"
}
},
"methodCommon()string": {
"call_config": {
"no_op": "CALL"
}
},
"b2CantOverride()string": {
"call_config": {
"no_op": "CALL"
}
}
},
"source": {
"approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMQogICAgYnl0ZWNibG9jayAweDE1MWY3Yzc1MDAwNjYzNmY2ZDZkNmY2ZQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGJueiBtYWluX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gdGVzdHMvYXJ0aWZhY3RzL211bHRpLWluaGVyaXRhbmNlL2NvbnRyYWN0LmFsZ28udHM6NgogICAgLy8gc3RhdGVDb21tb24gPSBHbG9iYWxTdGF0ZTx1aW50NjQ+KHsgaW5pdGlhbFZhbHVlOiAxMjMgfSkKICAgIHB1c2hieXRlcyAic3RhdGVDb21tb24iCiAgICBwdXNoaW50IDEyMyAvLyAxMjMKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyB0ZXN0cy9hcnRpZmFjdHMvbXVsdGktaW5oZXJpdGFuY2UvY29udHJhY3QuYWxnby50czoxOAogICAgLy8gc3RhdGVPbmUgPSBHbG9iYWxTdGF0ZSh7IGluaXRpYWxWYWx1ZTogVWludDY0KDQ1KSB9KQogICAgcHVzaGJ5dGVzICJzdGF0ZU9uZSIKICAgIHB1c2hpbnQgNDUgLy8gNDUKICAgIGFwcF9nbG9iYWxfcHV0CgptYWluX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHRlc3RzL2FydGlmYWN0cy9tdWx0aS1pbmhlcml0YW5jZS9jb250cmFjdC5hbGdvLnRzOjE3CiAgICAvLyBleHBvcnQgY2xhc3MgQmFzZU9uZSBleHRlbmRzIENvbW1vbkJhc2UgewogICAgdHhuIE51bUFwcEFyZ3MKICAgIGJ6IG1haW5fYmFyZV9yb3V0aW5nQDEwCiAgICBwdXNoYnl0ZXNzIDB4YzMyNTMzZTMgMHg0NTVjOGQwOSAweGY5ZjUxNDJjIC8vIG1ldGhvZCAibWV0aG9kT25lKClzdHJpbmciLCBtZXRob2QgIm1ldGhvZENvbW1vbigpc3RyaW5nIiwgbWV0aG9kICJiMkNhbnRPdmVycmlkZSgpc3RyaW5nIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggbWFpbl9tZXRob2RPbmVfcm91dGVANSBtYWluX21ldGhvZENvbW1vbl9yb3V0ZUA2IG1haW5fYjJDYW50T3ZlcnJpZGVfcm91dGVANwoKbWFpbl9hZnRlcl9pZl9lbHNlQDE0OgogICAgLy8gdGVzdHMvYXJ0aWZhY3RzL211bHRpLWluaGVyaXRhbmNlL2NvbnRyYWN0LmFsZ28udHM6MTcKICAgIC8vIGV4cG9ydCBjbGFzcyBCYXNlT25lIGV4dGVuZHMgQ29tbW9uQmFzZSB7CiAgICBwdXNoaW50IDAgLy8gMAogICAgcmV0dXJuCgptYWluX2IyQ2FudE92ZXJyaWRlX3JvdXRlQDc6CiAgICAvLyB0ZXN0cy9hcnRpZmFjdHMvbXVsdGktaW5oZXJpdGFuY2UvY29udHJhY3QuYWxnby50czoxMgogICAgLy8gYjJDYW50T3ZlcnJpZGUoKTogc3RyaW5nIHsKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1MDAwNjYzNmY2ZDZkNmY2ZQogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX21ldGhvZENvbW1vbl9yb3V0ZUA2OgogICAgLy8gdGVzdHMvYXJ0aWZhY3RzL211bHRpLWluaGVyaXRhbmNlL2NvbnRyYWN0LmFsZ28udHM6OAogICAgLy8gbWV0aG9kQ29tbW9uKCkgewogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUwMDA2NjM2ZjZkNmQ2ZjZlCiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fbWV0aG9kT25lX3JvdXRlQDU6CiAgICAvLyB0ZXN0cy9hcnRpZmFjdHMvbXVsdGktaW5oZXJpdGFuY2UvY29udHJhY3QuYWxnby50czoxOQogICAgLy8gbWV0aG9kT25lKCkgewogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICBwdXNoYnl0ZXMgMHgxNTFmN2M3NTAwMDg2MjYxNzM2NTJkNmY2ZTY1CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fYmFyZV9yb3V0aW5nQDEwOgogICAgLy8gdGVzdHMvYXJ0aWZhY3RzL211bHRpLWluaGVyaXRhbmNlL2NvbnRyYWN0LmFsZ28udHM6MTcKICAgIC8vIGV4cG9ydCBjbGFzcyBCYXNlT25lIGV4dGVuZHMgQ29tbW9uQmFzZSB7CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBibnogbWFpbl9hZnRlcl9pZl9lbHNlQDE0CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgIQogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBjcmVhdGluZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgo=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBwdXNoaW50IDEgLy8gMQogICAgcmV0dXJuCg=="
},
"state": {
"global": {
"num_byte_slices": 0,
"num_uints": 2
},
"local": {
"num_byte_slices": 0,
"num_uints": 0
}
},
"schema": {
"global": {
"declared": {
"stateCommon": {
"type": "uint64",
"key": "stateCommon"
},
"stateOne": {
"type": "uint64",
"key": "stateOne"
}
},
"reserved": {}
},
"local": {
"declared": {},
"reserved": {}
}
},
"contract": {
"name": "BaseOne",
"methods": [
{
"name": "methodOne",
"args": [],
"readonly": false,
"returns": {
"type": "string"
}
},
{
"name": "methodCommon",
"args": [],
"readonly": false,
"returns": {
"type": "string"
}
},
{
"name": "b2CantOverride",
"args": [],
"readonly": false,
"returns": {
"type": "string"
}
}
],
"networks": {}
},
"bare_call_config": {
"no_op": "CREATE"
}
}
149 changes: 149 additions & 0 deletions tests/artifacts/multi-inheritance/data/BaseOne.arc56.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
{
"name": "BaseOne",
"structs": {},
"methods": [
{
"name": "methodOne",
"args": [],
"returns": {
"type": "string"
},
"actions": {
"create": [],
"call": [
"NoOp"
]
},
"readonly": false,
"events": [],
"recommendations": {}
},
{
"name": "methodCommon",
"args": [],
"returns": {
"type": "string"
},
"actions": {
"create": [],
"call": [
"NoOp"
]
},
"readonly": false,
"events": [],
"recommendations": {}
},
{
"name": "b2CantOverride",
"args": [],
"returns": {
"type": "string"
},
"actions": {
"create": [],
"call": [
"NoOp"
]
},
"readonly": false,
"events": [],
"recommendations": {}
}
],
"arcs": [
22,
28
],
"networks": {},
"state": {
"schema": {
"global": {
"ints": 2,
"bytes": 0
},
"local": {
"ints": 0,
"bytes": 0
}
},
"keys": {
"global": {
"stateOne": {
"keyType": "AVMString",
"valueType": "AVMUint64",
"key": "c3RhdGVPbmU="
},
"stateCommon": {
"keyType": "AVMString",
"valueType": "AVMUint64",
"key": "c3RhdGVDb21tb24="
}
},
"local": {},
"box": {}
},
"maps": {
"global": {},
"local": {},
"box": {}
}
},
"bareActions": {
"create": [
"NoOp"
],
"call": []
},
"sourceInfo": {
"approval": {
"sourceInfo": [
{
"pc": [
92,
103,
114
],
"errorMessage": "OnCompletion is not NoOp"
},
{
"pc": [
145
],
"errorMessage": "can only call when creating"
},
{
"pc": [
95,
106,
117
],
"errorMessage": "can only call when not creating"
}
],
"pcOffsetMethod": "none"
},
"clear": {
"sourceInfo": [],
"pcOffsetMethod": "none"
}
},
"source": {
"approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMQogICAgYnl0ZWNibG9jayAweDE1MWY3Yzc1MDAwNjYzNmY2ZDZkNmY2ZQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGJueiBtYWluX2FmdGVyX2lmX2Vsc2VAMgogICAgLy8gdGVzdHMvYXJ0aWZhY3RzL211bHRpLWluaGVyaXRhbmNlL2NvbnRyYWN0LmFsZ28udHM6NgogICAgLy8gc3RhdGVDb21tb24gPSBHbG9iYWxTdGF0ZTx1aW50NjQ+KHsgaW5pdGlhbFZhbHVlOiAxMjMgfSkKICAgIHB1c2hieXRlcyAic3RhdGVDb21tb24iCiAgICBwdXNoaW50IDEyMyAvLyAxMjMKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyB0ZXN0cy9hcnRpZmFjdHMvbXVsdGktaW5oZXJpdGFuY2UvY29udHJhY3QuYWxnby50czoxOAogICAgLy8gc3RhdGVPbmUgPSBHbG9iYWxTdGF0ZSh7IGluaXRpYWxWYWx1ZTogVWludDY0KDQ1KSB9KQogICAgcHVzaGJ5dGVzICJzdGF0ZU9uZSIKICAgIHB1c2hpbnQgNDUgLy8gNDUKICAgIGFwcF9nbG9iYWxfcHV0CgptYWluX2FmdGVyX2lmX2Vsc2VAMjoKICAgIC8vIHRlc3RzL2FydGlmYWN0cy9tdWx0aS1pbmhlcml0YW5jZS9jb250cmFjdC5hbGdvLnRzOjE3CiAgICAvLyBleHBvcnQgY2xhc3MgQmFzZU9uZSBleHRlbmRzIENvbW1vbkJhc2UgewogICAgdHhuIE51bUFwcEFyZ3MKICAgIGJ6IG1haW5fYmFyZV9yb3V0aW5nQDEwCiAgICBwdXNoYnl0ZXNzIDB4YzMyNTMzZTMgMHg0NTVjOGQwOSAweGY5ZjUxNDJjIC8vIG1ldGhvZCAibWV0aG9kT25lKClzdHJpbmciLCBtZXRob2QgIm1ldGhvZENvbW1vbigpc3RyaW5nIiwgbWV0aG9kICJiMkNhbnRPdmVycmlkZSgpc3RyaW5nIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggbWFpbl9tZXRob2RPbmVfcm91dGVANSBtYWluX21ldGhvZENvbW1vbl9yb3V0ZUA2IG1haW5fYjJDYW50T3ZlcnJpZGVfcm91dGVANwoKbWFpbl9hZnRlcl9pZl9lbHNlQDE0OgogICAgLy8gdGVzdHMvYXJ0aWZhY3RzL211bHRpLWluaGVyaXRhbmNlL2NvbnRyYWN0LmFsZ28udHM6MTcKICAgIC8vIGV4cG9ydCBjbGFzcyBCYXNlT25lIGV4dGVuZHMgQ29tbW9uQmFzZSB7CiAgICBwdXNoaW50IDAgLy8gMAogICAgcmV0dXJuCgptYWluX2IyQ2FudE92ZXJyaWRlX3JvdXRlQDc6CiAgICAvLyB0ZXN0cy9hcnRpZmFjdHMvbXVsdGktaW5oZXJpdGFuY2UvY29udHJhY3QuYWxnby50czoxMgogICAgLy8gYjJDYW50T3ZlcnJpZGUoKTogc3RyaW5nIHsKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgbm90IE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gY2FuIG9ubHkgY2FsbCB3aGVuIG5vdCBjcmVhdGluZwogICAgYnl0ZWNfMCAvLyAweDE1MWY3Yzc1MDAwNjYzNmY2ZDZkNmY2ZQogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgptYWluX21ldGhvZENvbW1vbl9yb3V0ZUA2OgogICAgLy8gdGVzdHMvYXJ0aWZhY3RzL211bHRpLWluaGVyaXRhbmNlL2NvbnRyYWN0LmFsZ28udHM6OAogICAgLy8gbWV0aG9kQ29tbW9uKCkgewogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICBieXRlY18wIC8vIDB4MTUxZjdjNzUwMDA2NjM2ZjZkNmQ2ZjZlCiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fbWV0aG9kT25lX3JvdXRlQDU6CiAgICAvLyB0ZXN0cy9hcnRpZmFjdHMvbXVsdGktaW5oZXJpdGFuY2UvY29udHJhY3QuYWxnby50czoxOQogICAgLy8gbWV0aG9kT25lKCkgewogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBub3QgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBjYW4gb25seSBjYWxsIHdoZW4gbm90IGNyZWF0aW5nCiAgICBwdXNoYnl0ZXMgMHgxNTFmN2M3NTAwMDg2MjYxNzM2NTJkNmY2ZTY1CiAgICBsb2cKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCm1haW5fYmFyZV9yb3V0aW5nQDEwOgogICAgLy8gdGVzdHMvYXJ0aWZhY3RzL211bHRpLWluaGVyaXRhbmNlL2NvbnRyYWN0LmFsZ28udHM6MTcKICAgIC8vIGV4cG9ydCBjbGFzcyBCYXNlT25lIGV4dGVuZHMgQ29tbW9uQmFzZSB7CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBibnogbWFpbl9hZnRlcl9pZl9lbHNlQDE0CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgIQogICAgYXNzZXJ0IC8vIGNhbiBvbmx5IGNhbGwgd2hlbiBjcmVhdGluZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgo=",
"clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBwdXNoaW50IDEgLy8gMQogICAgcmV0dXJuCg=="
},
"byteCode": {
"approval": "CiABASYBDBUffHUABmNvbW1vbjEYQAAdgAtzdGF0ZUNvbW1vboF7Z4AIc3RhdGVPbmWBLWcxG0EAT4IDBMMlM+MERVyNCQT59RQsNhoAjgMAGQAOAAOBAEMxGRREMRhEKLAiQzEZFEQxGEQosCJDMRkURDEYRIAOFR98dQAIYmFzZS1vbmWwIkMxGUD/yDEYFEQiQw==",
"clear": "CoEBQw=="
},
"compilerInfo": {
"compiler": "puya",
"compilerVersion": {
"major": 4,
"minor": 1,
"patch": 1
}
},
"events": [],
"templateVariables": {}
}
7 changes: 7 additions & 0 deletions tests/artifacts/multi-inheritance/data/BaseOne.clear.teal
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#pragma version 10
#pragma typetrack false

// @algorandfoundation/algorand-typescript/base-contract.d.ts::BaseContract.clearStateProgram() -> uint64:
main:
pushint 1 // 1
return
Loading

0 comments on commit 1dd7b2f

Please sign in to comment.