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/c2c temp #3392

Merged
merged 78 commits into from
Jan 7, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
32d3f3d
Update the Version, BuildNumber, genesistimestamp.data
Algo-devops-service Nov 18, 2021
116c06e
Support transaction arguments for `goal app method` (#3233)
jasonpaulos Nov 22, 2021
9807eab
CI: use libboost-math-dev instead of libboost-all-dev (#3223)
cce Nov 22, 2021
6cb3a52
testing: fixes to rest-participation-key e2e test (#3238)
algonautshant Nov 23, 2021
52b528b
testing: interactive mode for e2e testing (#3227)
algonautshant Nov 23, 2021
8aa0728
Merge pull request #3231 from Algo-devops-service/relbeta3.2.0
algojohnlee Nov 23, 2021
597fc63
Make dev-mode tests less flaky. (#3252)
winder Nov 29, 2021
5339cf0
adding libtool to ubuntu deps (#3251)
barnjamin Nov 29, 2021
715f511
Fix error shadowing in Eval (#3258)
algorandskiy Nov 30, 2021
54db1c7
Disable flaky test. (#3256)
winder Nov 30, 2021
4e34eba
Merge branch 'master' into relbeta3.2.1
Algo-devops-service Nov 30, 2021
305d7ab
Update the Version, BuildNumber, genesistimestamp.data
Algo-devops-service Nov 30, 2021
2baf39b
Merge pull request #3260 from Algo-devops-service/relbeta3.2.1
algojohnlee Dec 2, 2021
6657c2b
Fix a data race in app tests (#3269)
algorandskiy Dec 2, 2021
b3ac9bd
Fix e2e.sh mixed indent characters. (#3266)
winder Dec 2, 2021
0a6374b
Fix ParticipationKeyResponse type. (#3264)
winder Dec 2, 2021
5456323
disable parallelism for e2e-go tests (#3242)
cce Dec 2, 2021
dc25f10
Updating Readme.md with circleci status badges (#3245)
algojack Dec 2, 2021
e466aa1
Fix formatting for CircleCI badges (#3272)
onetechnical Dec 3, 2021
70ff3c7
Add Custom Scenario for Performance Testing (#3278)
algobarb Dec 6, 2021
b6cbbf3
Merge pull request #3279 from Algo-devops-service/relstable3.2.1
algojohnlee Dec 7, 2021
850f7c7
ParticipationRegistry - StateProof loading methods (#3261)
winder Dec 7, 2021
221955f
Op base64 decode (#3220)
tzaffi Dec 8, 2021
d02cb89
Merge remote-tracking branch 'origin/rel/stable' into relstable3.2.1-…
Algo-devops-service Dec 8, 2021
e1b4442
Bump Version, Remove buildnumber.dat and genesistimestamp.dat files.
Algo-devops-service Dec 8, 2021
46eb760
Merge pull request #3290 from Algo-devops-service/relstable3.2.1-remerge
algojohnlee Dec 8, 2021
f51d2d7
Change golang version to 1.16.11 in go-algorand (#2825)
algojack Dec 8, 2021
02f6cac
Compatibility mode for partkeyinfo. (#3291)
winder Dec 9, 2021
5318545
TestEcdsa: fix flaky "tampering" of public key (#3282)
cce Dec 9, 2021
29a10da
Support reference types in `goal app method` (#3275)
jasonpaulos Dec 9, 2021
741d1ea
Add a hash prefix for ARCs-related hashes (#3298)
fabrice102 Dec 10, 2021
94ba758
catchup: suspend the catchup session once the agreement service kicks…
algonautshant Dec 10, 2021
4860375
Compatibility mode for partkeyinfo. (#3291)
winder Dec 9, 2021
4791706
catchup: suspend the catchup session once the agreement service kicks…
algonautshant Dec 10, 2021
3ac5e0e
Bump buildnumber.dat
onetechnical Dec 10, 2021
c4ef818
Merge pull request #3300 from algorand/relbeta3.2.2
algojohnlee Dec 10, 2021
493c2ea
testing: disable flaky test (#3268)
winder Dec 10, 2021
b2ca02f
enumerate conditions that might cause this fetchAndWrite to return fa…
barnjamin Dec 10, 2021
34b3eca
Merge branch 'rel/beta' into relstable3.2.2
Algo-devops-service Dec 10, 2021
18cd6cd
make sure the block service is not attempting to access the ledger af…
tsachiherman Dec 10, 2021
97e8068
Merge pull request #3305 from Algo-devops-service/relstable3.2.2
algojohnlee Dec 13, 2021
6330862
Avoid creating algod process for the sole purpose of retrieving the g…
tsachiherman Dec 13, 2021
ac5f839
documentation: fix algorand specs link (#3309)
tolikzinovyev Dec 14, 2021
34e2fbd
testing: reword partitiontest lint message. (#3297)
winder Dec 15, 2021
de7fe45
testing: fix random data race in TestAppAccountDataStorage (#3315)
tsachiherman Dec 15, 2021
678c1ea
Merge branch 'rel/stable' of https://github.com/algorand/go-algorand …
egieseke Dec 15, 2021
3520336
Merge pull request #3317 from egieseke/rel/stable
algojohnlee Dec 15, 2021
14e889e
ledger: perform the catchpoint writing outside the trackers lock. (#3…
tsachiherman Dec 15, 2021
8128167
Separate tx and key validity for `goal account renewpartkey` (#3286)
Dec 15, 2021
f5bf5ec
Add qkniep to THANKS.md (#3320)
winder Dec 15, 2021
9a5d5cd
Followup to opcode base64_decode (#3288)
tzaffi Dec 16, 2021
b73265c
Add help and fish mode to e2e interactive mode. (#3313)
winder Dec 16, 2021
9cdcb39
Minimum Account Balance in Algod (#3287)
tzaffi Dec 17, 2021
22a5ebb
Add convertAddress tool. (#3304)
winder Dec 20, 2021
0ad9900
tealdbg: increase intermediate reading/writing buffers (#3335)
barnjamin Dec 20, 2021
6be3ffa
Adding method pseudo op to readme (#3338)
barnjamin Dec 20, 2021
4cb4241
add config.DeadlockDetectionThreshold (#3339)
cce Dec 22, 2021
7da1026
Fix flaky test in randomized ABI encoding test (#3346)
ahangsu Dec 23, 2021
a4f9ebe
ledger: perform the catchpoint writing outside the trackers lock. (#3…
tsachiherman Dec 15, 2021
4d85356
Bump version number
onetechnical Dec 27, 2021
7dcf9d8
Merge pull request #3351 from algorand/relbeta3.2.3
algojohnlee Dec 27, 2021
2e09ebf
Update `goal app method` handling of args and return values (#3352)
jasonpaulos Dec 28, 2021
201337a
Merge branch 'rel/beta' into relstable3.2.3
Algo-devops-service Dec 29, 2021
14bf464
Support app creation in `goal app method` (#3353)
jasonpaulos Dec 29, 2021
8a335bb
Update license to 2022 (#3360)
Aharonee Jan 2, 2022
d2289a5
Merge pull request #3356 from Algo-devops-service/relstable3.2.3
algojohnlee Jan 4, 2022
7248b95
Add totals checks into acct updates tests (#3367)
algorandskiy Jan 4, 2022
2767f1e
remove buildnumber.dat
algobarb Jan 5, 2022
55c4fa5
remove buildnumber.dat
Algo-devops-service Jan 5, 2022
cb1650e
PKI State Proof Incremental Key Loading (#3281)
winder Jan 6, 2022
e6e9ac0
Limit number of simultaneous REST connections (#3326)
tolikzinovyev Jan 6, 2022
52a1a2c
Merge pull request #3372 from Algo-devops-service/relstable3.2.3-remerge
algojohnlee Jan 6, 2022
16c3053
Use rejecting limit listener in WebsocketNetwork. (#3380)
tolikzinovyev Jan 6, 2022
35cf3b3
Delete unused constant. (#3379)
tolikzinovyev Jan 6, 2022
8f62aff
Add test to exercise lookup corner cases (#3376)
cce Jan 6, 2022
64a406f
Test for catchup stop on completion (#3306)
algonautshant Jan 6, 2022
ab65611
Delete unused AtomicCommitWriteLock(). (#3383)
tolikzinovyev Jan 6, 2022
80dd665
Merge branch 'master' into feature/contract-to-contract
jannotti Jan 7, 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
11 changes: 11 additions & 0 deletions data/transactions/logic/TEAL_opcodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -778,6 +778,17 @@ When A is a uint64, index 0 is the least significant bit. Setting bit 3 to 1 on

Decodes A using the base64 encoding E. Specify the encoding with an immediate arg either as URL and Filename Safe (`URLEncoding`) or Standard (`StdEncoding`). See <a href="https://rfc-editor.org/rfc/rfc4648.html#section-4">RFC 4648</a> (sections 4 and 5). It is assumed that the encoding ends with the exact number of `=` padding characters as required by the RFC. When padding occurs, any unused pad bits in the encoding must be set to zero or the decoding will fail. The special cases of `\n` and `\r` are allowed but completely ignored. An error will result when attempting to decode a string with a character that is not in the encoding alphabet or not one of `=`, `\r`, or `\n`.

## base64_decode e

- Opcode: 0x5c {uint8 encoding index}
- Pops: *... stack*, []byte
- Pushes: []byte
- decode X which was base64-encoded using _encoding_ E. Fail if X is not base64 encoded with encoding E
- **Cost**: 25
- LogicSigVersion >= 6

Decodes X using the base64 encoding E. Specify the encoding with an immediate arg either as URL and Filename Safe (`URLEncoding`) or Standard (`StdEncoding`). See <a href="https://rfc-editor.org/rfc/rfc4648.html#section-4">RFC 4648</a> (sections 4 and 5). It is assumed that the encoding ends with the exact number of `=` padding characters as required by the RFC. When padding occurs, any unused pad bits in the encoding must be set to zero or the decoding will fail. The special cases of `\n` and `\r` are allowed but completely ignored. An error will result when attempting to decode a string with a character that is not in the encoding alphabet or not one of `=`, `\r`, or `\n`.

## balance

- Opcode: 0x60
Expand Down
48 changes: 48 additions & 0 deletions data/transactions/logic/fields.go
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,44 @@ func (s base64EncodingSpecMap) getExtraFor(name string) (extra string) {
return
}

// Base64Encoding is an enum for the `base64decode` opcode
type Base64Encoding int
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
Base64Encoding redeclared in this block (typecheck)


const (
// URLEncoding represents the base64url encoding defined in https://www.rfc-editor.org/rfc/rfc4648.html
URLEncoding Base64Encoding = iota
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
URLEncoding redeclared in this block (typecheck)

// StdEncoding represents the standard encoding of the RFC
StdEncoding
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
StdEncoding redeclared in this block (typecheck)

invalidBase64Alphabet
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
invalidBase64Alphabet redeclared in this block (typecheck)

)

// After running `go generate` these strings will be available:
var base64EncodingNames [2]string = [...]string{URLEncoding.String(), StdEncoding.String()}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
base64EncodingNames redeclared in this block (typecheck)


type base64EncodingSpec struct {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
base64EncodingSpec redeclared in this block (typecheck)

field Base64Encoding
ftype StackType
version uint64
}

var base64EncodingSpecs = []base64EncodingSpec{
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
base64EncodingSpecs redeclared in this block (typecheck)

{URLEncoding, StackBytes, 6},
{StdEncoding, StackBytes, 6},
}

var base64EncodingSpecByField map[Base64Encoding]base64EncodingSpec
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
base64EncodingSpecByField redeclared in this block (typecheck)

var base64EncodingSpecByName base64EncodingSpecMap
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
base64EncodingSpecByName redeclared in this block (typecheck)


type base64EncodingSpecMap map[string]base64EncodingSpec
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
base64EncodingSpecMap redeclared in this block (typecheck)


func (s base64EncodingSpecMap) getExtraFor(name string) (extra string) {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [Lint Errors] reported by reviewdog 🐶
method getExtraFor already declared for type base64EncodingSpecMap map[string]base64EncodingSpec (typecheck)

// Uses 6 here because base64_decode fields were introduced in 6
if s[name].version > 6 {
extra = fmt.Sprintf("LogicSigVersion >= %d.", s[name].version)
}
return
}

// AssetHoldingField is an enum for `asset_holding_get` opcode
type AssetHoldingField int

Expand Down Expand Up @@ -854,6 +892,16 @@ func init() {
base64EncodingSpecByName[encoding] = base64EncodingSpecByField[Base64Encoding(i)]
}

base64EncodingSpecByField = make(map[Base64Encoding]base64EncodingSpec, len(base64EncodingNames))
for _, s := range base64EncodingSpecs {
base64EncodingSpecByField[s.field] = s
}

base64EncodingSpecByName = make(base64EncodingSpecMap, len(base64EncodingNames))
for i, encoding := range base64EncodingNames {
base64EncodingSpecByName[encoding] = base64EncodingSpecByField[Base64Encoding(i)]
}

AssetHoldingFieldNames = make([]string, int(invalidAssetHoldingField))
for i := AssetBalance; i < invalidAssetHoldingField; i++ {
AssetHoldingFieldNames[int(i)] = i.String()
Expand Down