Bad request, logic eval error on sending Stateful contract to the network

Hey guys!

I’m trying to create an example Stateful contract with JS SDK, which saves creator address on deployment. Here is the code: Stateful SC

The error happens when sending signed RawTransaction:

Bad Request
.......
 text: '{"message":"TransactionPool.Remember: transaction 56LQRPN36FXMZGIG7LNBN5QN2BJZBR5A5V5WW362QRZ7TVBVZP2A: logic eval error: store bytes count 1 exceeds schema bytes count 0"}\n',
.......

P.S. I was able to do similar successfully by goal command-line tool:

// Create app and save Tnx in a file
goal app create --creator <ACCOUNT> --approval-prog ./creator.teal --global-byteslices 1 --global-ints 2 --local-byteslices 3 --local-ints 4  --clear-prog ./clear.teal --out=unsginedtransaction.tx
// Sing Tnx
goal clerk sign -i unsginedtransaction.tx -o signedtransaction.txt
// Send signed raw transaction
goal clerk rawsend -f signedtransaction.txt

Since the contract saves only creator address in global storage, I guess there is something wrong with usage of SDK?

You’re missing globalInts and globalBytes arguments on line algorand-smart-contracts/StatefulCreator.js at 632d4629853ddccc76c9ad5b1af95773cab401f7 · pagito/algorand-smart-contracts · GitHub

1 Like

:man_facepalming: Correct, thanks for pointing it out!