Skip to content

Commit

Permalink
fix: use valid bytes value as input to mimc op code in approval test
Browse files Browse the repository at this point in the history
  • Loading branch information
boblat committed Jan 20, 2025
1 parent fa6f4c6 commit 2b456a6
Show file tree
Hide file tree
Showing 9 changed files with 411 additions and 309 deletions.
6 changes: 4 additions & 2 deletions tests/approvals/avm11.algo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,17 @@ import { assert, Bytes, Contract, contract, Global, logicsig, LogicSig, MimcConf
@logicsig({ name: 'AVM11SIG', avmVersion: 11 })
export class Avm11Sig extends LogicSig {
program(): uint64 {
return op.mimc(MimcConfigurations.BN254Mp110, Bytes('')).length
const a = Bytes.fromHex('00000000000000000000000000000000000000000000000000000000499602d2')
return op.mimc(MimcConfigurations.BN254Mp110, a).length
}
}

@contract({ name: 'AVM11Contract', avmVersion: 11 })
export class Avm11Contract extends Contract {
testNewOps() {
// Ops
assert(op.mimc(MimcConfigurations.BLS12_381Mp111, Bytes()))
const x = Bytes.fromHex('00000000000000000000000000000000000000000000000000000000499602d2')
assert(op.mimc(MimcConfigurations.BLS12_381Mp111, x))
assert(op.onlineStake())

// AcctParams
Expand Down
56 changes: 29 additions & 27 deletions tests/approvals/out/avm11/AVM11Contract.approval.teal
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ main:
intcblock 0 1

main_block@1:
// tests/approvals/avm11.algo.ts:11-12
// tests/approvals/avm11.algo.ts:12-13
// @contract({ name: 'AVM11Contract', avmVersion: 11 })
// export class Avm11Contract extends Contract {
txn NumAppArgs
Expand All @@ -15,7 +15,7 @@ main_block@1:
bz main_bare_routing@6

main_abi_routing@2:
// tests/approvals/avm11.algo.ts:11-12
// tests/approvals/avm11.algo.ts:12-13
// @contract({ name: 'AVM11Contract', avmVersion: 11 })
// export class Avm11Contract extends Contract {
txna ApplicationArgs 0
Expand All @@ -28,7 +28,7 @@ main_switch_case_default@4:
main_switch_case_next@5:

main_after_if_else@10:
// tests/approvals/avm11.algo.ts:11-12
// tests/approvals/avm11.algo.ts:12-13
// @contract({ name: 'AVM11Contract', avmVersion: 11 })
// export class Avm11Contract extends Contract {
intc_0 // 0
Expand All @@ -37,7 +37,7 @@ main_after_inlined_tests/approvals/avm11.algo.ts::Avm11Contract.__puya_arc4_rout
return

main_testNewOps_route@3:
// tests/approvals/avm11.algo.ts:13
// tests/approvals/avm11.algo.ts:14
// testNewOps() {
txn OnCompletion
intc_0 // NoOp
Expand All @@ -52,7 +52,7 @@ main_testNewOps_route@3:
b main_after_inlined_tests/approvals/avm11.algo.ts::Avm11Contract.__puya_arc4_router__@11

main_bare_routing@6:
// tests/approvals/avm11.algo.ts:11-12
// tests/approvals/avm11.algo.ts:12-13
// @contract({ name: 'AVM11Contract', avmVersion: 11 })
// export class Avm11Contract extends Contract {
txn OnCompletion
Expand All @@ -66,7 +66,7 @@ main_switch_case_next@9:
b main_after_if_else@10

main___algots__.defaultCreate@7:
// tests/approvals/avm11.algo.ts:11-12
// tests/approvals/avm11.algo.ts:12-13
// @contract({ name: 'AVM11Contract', avmVersion: 11 })
// export class Avm11Contract extends Contract {
txn ApplicationID
Expand All @@ -80,91 +80,93 @@ main___algots__.defaultCreate@7:

// tests/approvals/avm11.algo.ts::Avm11Contract.testNewOps() -> void:
testNewOps:
// tests/approvals/avm11.algo.ts:13
// tests/approvals/avm11.algo.ts:14
// testNewOps() {
proto 0 0
// tests/approvals/avm11.algo.ts:15
// assert(op.mimc(MimcConfigurations.BLS12_381Mp111, Bytes()))
pushbytes 0x
// tests/approvals/avm11.algo.ts:16
// const x = Bytes.fromHex('00000000000000000000000000000000000000000000000000000000499602d2')
pushbytes 0x00000000000000000000000000000000000000000000000000000000499602d2
// tests/approvals/avm11.algo.ts:17
// assert(op.mimc(MimcConfigurations.BLS12_381Mp111, x))
mimc BLS12_381Mp111
len
assert
// tests/approvals/avm11.algo.ts:16
// tests/approvals/avm11.algo.ts:18
// assert(op.onlineStake())
online_stake
assert
// tests/approvals/avm11.algo.ts:24
// tests/approvals/avm11.algo.ts:26
// assert(op.Block.blkProposer(0) !== Global.zeroAddress, 'proposer')
intc_0 // 0
block BlkProposer
global ZeroAddress
!=
assert // proposer
// tests/approvals/avm11.algo.ts:25
// tests/approvals/avm11.algo.ts:27
// assert(op.Block.blkFeesCollected(0), 'fees collected')
intc_0 // 0
block BlkFeesCollected
assert // fees collected
// tests/approvals/avm11.algo.ts:26
// tests/approvals/avm11.algo.ts:28
// assert(op.Block.blkBonus(0), 'bonus')
intc_0 // 0
block BlkBonus
assert // bonus
// tests/approvals/avm11.algo.ts:27
// tests/approvals/avm11.algo.ts:29
// assert(op.Block.blkBranch(0), 'branch')
intc_0 // 0
block BlkBranch
len
assert // branch
// tests/approvals/avm11.algo.ts:28
// tests/approvals/avm11.algo.ts:30
// assert(op.Block.blkFeeSink(0) !== Global.zeroAddress, 'fee sink')
intc_0 // 0
block BlkFeeSink
global ZeroAddress
!=
assert // fee sink
// tests/approvals/avm11.algo.ts:29
// tests/approvals/avm11.algo.ts:31
// assert(op.Block.blkProtocol(0), 'protocol')
intc_0 // 0
block BlkProtocol
len
assert // protocol
// tests/approvals/avm11.algo.ts:30
// tests/approvals/avm11.algo.ts:32
// assert(op.Block.blkTxnCounter(0), 'txn counter')
intc_0 // 0
block BlkTxnCounter
assert // txn counter
// tests/approvals/avm11.algo.ts:31
// tests/approvals/avm11.algo.ts:33
// assert(op.Block.blkProposerPayout(0), 'proposer payout')
intc_0 // 0
block BlkProposerPayout
assert // proposer payout
// tests/approvals/avm11.algo.ts:34
// tests/approvals/avm11.algo.ts:36
// assert(op.Global.payoutsEnabled, 'payouts_enabled')
global PayoutsEnabled
assert // payouts_enabled
// tests/approvals/avm11.algo.ts:35
// tests/approvals/avm11.algo.ts:37
// assert(op.Global.payoutsGoOnlineFee, 'payouts_go_online_fee')
global PayoutsGoOnlineFee
assert // payouts_go_online_fee
// tests/approvals/avm11.algo.ts:36
// tests/approvals/avm11.algo.ts:38
// assert(op.Global.payoutsPercent, 'payouts_percent')
global PayoutsPercent
assert // payouts_percent
// tests/approvals/avm11.algo.ts:37
// tests/approvals/avm11.algo.ts:39
// assert(op.Global.payoutsMinBalance, 'payouts_min_balance')
global PayoutsMinBalance
assert // payouts_min_balance
// tests/approvals/avm11.algo.ts:38
// tests/approvals/avm11.algo.ts:40
// assert(op.Global.payoutsMaxBalance, 'payouts_max_balance')
global PayoutsMaxBalance
assert // payouts_max_balance
// tests/approvals/avm11.algo.ts:40
// tests/approvals/avm11.algo.ts:42
// const [g, h] = op.VoterParams.voterBalance(0)
intc_0 // 0
voter_params_get VoterBalance
popn 2
// tests/approvals/avm11.algo.ts:41
// tests/approvals/avm11.algo.ts:43
// const [i, j] = op.VoterParams.voterIncentiveEligible(0)
intc_0 // 0
voter_params_get VoterIncentiveEligible
Expand All @@ -174,7 +176,7 @@ testNewOps:

// tests/approvals/avm11.algo.ts::Avm11Contract.__algots__.defaultCreate() -> void:
__algots__.defaultCreate:
// tests/approvals/avm11.algo.ts:11-12
// tests/approvals/avm11.algo.ts:12-13
// @contract({ name: 'AVM11Contract', avmVersion: 11 })
// export class Avm11Contract extends Contract {
proto 0 0
Expand Down
Loading

0 comments on commit 2b456a6

Please sign in to comment.