Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/contract to contract -> master #3397

Merged
merged 63 commits into from
Feb 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
cd116c0
The new inner appl fields
jannotti Oct 6, 2021
1f34627
Merge branch 'master' into inner-appl
jannotti Oct 7, 2021
088a724
Unit tests for field setting on appls
jannotti Oct 7, 2021
3b742fb
Construct EvalDelta in AVM rather than by inspecting ledger
jannotti Oct 21, 2021
bb4e0cd
Merge 'master' into inner-appl, adapt to ledger/internal mocks.
jannotti Oct 21, 2021
4797e9b
Obey the linter!
jannotti Oct 21, 2021
fc4455c
more LedgerForEvaluation accomodation
jannotti Oct 21, 2021
2ad431b
Test inner evaldeltas
jannotti Oct 26, 2021
5046b23
Checks on calling old AVM apps, or re-entrancy
jannotti Oct 27, 2021
6d80f94
Allow opcode budget to be added to by executing inner apps.
jannotti Oct 27, 2021
2fdee53
TxID and GroupID for inner transactions
jannotti Oct 28, 2021
a4e71f0
gitxn/gitxna
jannotti Oct 30, 2021
f81082c
Lint, spec generate
jannotti Oct 31, 2021
a9f66ae
Merge branch 'master' into inner-appl
jannotti Nov 1, 2021
566c840
txn simplifications
jannotti Nov 2, 2021
19fdabc
Encode "arrayness" in the txn field spec
jannotti Nov 2, 2021
8fdff9a
Pavel's CR comments
jannotti Nov 2, 2021
cc690fb
Update tests to distinguish assembly / eval errors
jannotti Nov 2, 2021
a64bd3b
Test itxn_field assembly separate from eval
jannotti Nov 2, 2021
b86e11f
factor out the array index parsing of all the txn assembly
jannotti Nov 2, 2021
3f348fd
Consistent errors and parsign for many opcodes
jannotti Nov 3, 2021
ff34b35
Cleanup immediate parsing, prep txn effects testing
jannotti Nov 3, 2021
4c2d6e5
EvalParams is now a single object used to evaluate each txn in turn.
jannotti Nov 17, 2021
d1efc26
Simplifications for the Dawg (the Review Dog)
jannotti Nov 18, 2021
099f843
Use a copy for the EvalParams.TxnGroup
jannotti Nov 18, 2021
1995986
Set the logicsig on txns in the GroupContext, so check() can see it
jannotti Nov 19, 2021
0f357e8
Update test for explicit empty check
jannotti Nov 19, 2021
9519f9a
Merge branch 'master' into inner-appl
jannotti Nov 19, 2021
d371ef2
Three new globals for to help contract-to-contract usability (#3237)
jannotti Nov 23, 2021
d28eca1
Gloadss (#3248)
jannotti Nov 24, 2021
bdf68f3
Feature/contract to contract (#3285)
jannotti Dec 16, 2021
bc11d24
add access to resources created in the current group (#3340)
jannotti Dec 28, 2021
50c025f
Feature/contract to contract (#3357)
jannotti Jan 7, 2022
ae1913a
Feature/contract to contract (#3389)
jannotti Jan 7, 2022
ef0fad7
Feature/contract to contract (#3390)
jannotti Jan 7, 2022
80dd665
Merge branch 'master' into feature/contract-to-contract
jannotti Jan 7, 2022
0dd28f2
Feature/c2c temp (#3392)
jannotti Jan 7, 2022
b385f6b
Feature/contract to contract (#3394)
jannotti Jan 7, 2022
4e717ce
Merge branch 'feature/contract-to-contract' of github.com:algorand/go…
jannotti Jan 7, 2022
d2594fb
Feature/contract to contract (#3395)
jannotti Jan 10, 2022
b70783e
Feature/contract to contract (#3401)
jannotti Jan 10, 2022
62469a2
Feature/contract to contract (#3402)
jannotti Jan 10, 2022
29269c3
Feature/contract to contract update (#3412)
bricerisingalgorand Jan 13, 2022
a4d9d71
c2c: bsqrt, acct_params_get (#3404)
jannotti Jan 14, 2022
593be3c
Feature/contract to contract (#3418)
algoidurovic Jan 14, 2022
a106e83
Allow 256 inners (#3422)
jannotti Jan 18, 2022
63750bc
Merge branch 'master' into feature/contract-to-contract
jannotti Jan 18, 2022
83bccc5
merge before audit (#3431)
jannotti Jan 18, 2022
db86fbd
Merge branch 'feature/contract-to-contract' of github.com:algorand/go…
jannotti Jan 18, 2022
8432687
Updating with latest master (#3488)
algojack Jan 24, 2022
ebfcee1
Feature/contract to contract master update (#3504)
bricerisingalgorand Jan 25, 2022
9bb0e46
Feature/contract to contract (#3505)
jannotti Jan 26, 2022
7baef22
Merge branch 'master' into feature/contract-to-contract
jannotti Jan 26, 2022
ca06764
pooling costs, 3 opcodes
jannotti Jan 28, 2022
26321ec
txn LastLog (#3525)
jannotti Jan 28, 2022
72d2b0c
Tsachi review. (#3530)
jannotti Jan 28, 2022
84b52e7
Only allow access to txn effects for previous transactions (#3529)
jannotti Jan 28, 2022
7c2329c
Tsachi cr (#3538)
jannotti Feb 1, 2022
abe3c6a
Inner clearstate (#3556)
jannotti Feb 6, 2022
9fca1ee
Merge branch 'master' into feature/contract-to-contract
jannotti Feb 6, 2022
cdbf4f0
Global test (#3587)
jannotti Feb 8, 2022
2c7b906
Match old BuildEvalDelta behaviour - no delete missing keys (#3594)
jannotti Feb 8, 2022
46529d3
spelling (and clarity) fix
jannotti Feb 8, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions THANKS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ A big thank you to everyone who has contributed to the `go-algorand` codebase.

### External Contributors
- aybehrouz
- fionnachan
- jeapostrophe
- jecassis
- jsign
Expand Down
32 changes: 12 additions & 20 deletions cmd/goal/clerk.go
Original file line number Diff line number Diff line change
Expand Up @@ -321,15 +321,15 @@ var sendCmd = &cobra.Command{
var err error
if progByteFile != "" {
if programSource != "" || logicSigFile != "" {
reportErrorln("should at most one of --from-program/-F or --from-program-bytes/-P --logic-sig/-L")
reportErrorln("should use at most one of --from-program/-F or --from-program-bytes/-P --logic-sig/-L")
}
program, err = readFile(progByteFile)
if err != nil {
reportErrorf("%s: %s", progByteFile, err)
}
} else if programSource != "" {
if logicSigFile != "" {
reportErrorln("should at most one of --from-program/-F or --from-program-bytes/-P --logic-sig/-L")
reportErrorln("should use at most one of --from-program/-F or --from-program-bytes/-P --logic-sig/-L")
}
program = assembleFile(programSource)
} else if logicSigFile != "" {
Expand Down Expand Up @@ -788,6 +788,9 @@ var signCmd = &cobra.Command{
for _, group := range groupsOrder {
txnGroup := []transactions.SignedTxn{}
for _, txn := range txnGroups[group] {
if lsig.Logic != nil {
txn.Lsig = lsig
}
txnGroup = append(txnGroup, *txn)
}
var groupCtx *verify.GroupContext
Expand All @@ -801,7 +804,6 @@ var signCmd = &cobra.Command{
for i, txn := range txnGroup {
var signedTxn transactions.SignedTxn
if lsig.Logic != nil {
txn.Lsig = lsig
err = verify.LogicSigSanityCheck(&txn, i, groupCtx)
if err != nil {
reportErrorf("%s: txn[%d] error %s", txFilename, txnIndex[txnGroups[group][i]], err)
Expand Down Expand Up @@ -1065,10 +1067,7 @@ var dryrunCmd = &cobra.Command{
}
stxns = append(stxns, txn)
}
txgroup := make([]transactions.SignedTxn, len(stxns))
for i, st := range stxns {
txgroup[i] = st
}
txgroup := transactions.WrapSignedTxnsWithAD(stxns)
proto, params := getProto(protoVersion)
if dumpForDryrun {
// Write dryrun data to file
Expand All @@ -1078,7 +1077,7 @@ var dryrunCmd = &cobra.Command{
if err != nil {
reportErrorf(err.Error())
}
data, err := libgoal.MakeDryrunStateBytes(client, nil, txgroup, accts, string(proto), dumpForDryrunFormat.String())
data, err := libgoal.MakeDryrunStateBytes(client, nil, stxns, accts, string(proto), dumpForDryrunFormat.String())
if err != nil {
reportErrorf(err.Error())
}
Expand All @@ -1096,22 +1095,15 @@ var dryrunCmd = &cobra.Command{
if uint64(txn.Lsig.Len()) > params.LogicSigMaxSize {
reportErrorf("program size too large: %d > %d", len(txn.Lsig.Logic), params.LogicSigMaxSize)
}
ep := logic.EvalParams{Txn: &txn, Proto: &params, GroupIndex: uint64(i), TxnGroup: txgroup}
err := logic.Check(txn.Lsig.Logic, ep)
ep := logic.NewEvalParams(txgroup, &params, nil)
err := logic.CheckSignature(i, ep)
if err != nil {
reportErrorf("program failed Check: %s", err)
}
sb := strings.Builder{}
ep = logic.EvalParams{
Txn: &txn,
GroupIndex: uint64(i),
Proto: &params,
Trace: &sb,
TxnGroup: txgroup,
}
pass, err := logic.Eval(txn.Lsig.Logic, ep)
ep.Trace = &strings.Builder{}
pass, err := logic.EvalSignature(i, ep)
// TODO: optionally include `inspect` output here?
fmt.Fprintf(os.Stdout, "tx[%d] trace:\n%s\n", i, sb.String())
fmt.Fprintf(os.Stdout, "tx[%d] trace:\n%s\n", i, ep.Trace.String())
if pass {
fmt.Fprintf(os.Stdout, " - pass -\n")
} else {
Expand Down
Loading