Skip to content

Conversation

@onetechnical
Copy link
Contributor

1.13.0-beta.2

Added

Fixed

onetechnical and others added 8 commits November 23, 2021 17:46
* Export sdk subclasses to typedoc

* Move typedoc plugins to devDependencies
* Enabling a custom client for Algod and Indexer

Currently the only way for a dApp to use the SDK with an API service is to know the URL and token of the API service.
This prevents dApps from using API services / algod / indexer provided by the user or by a wallet such as AlgoSigner.

In particular:
* When using a wallet such as AlgoSigner, a dApp either need to manually serialize data and write path for endpoints (https://github.com/PureStake/algosigner/blob/develop/docs/dApp-integration.md#algosigneralgod-ledger-mainnettestnet-path-algod-v2-path--) or need to not use at all the provided API service.
* A user cannot use their preferred (potentially more trusted) API service / algod / index / API services
* A dApp cannot easily connect to a private network of the user

(See also algorandfoundation/ARCs#8 for more details on wallets and discussion around them.)

The goal of this PR is to allow the above scenarios.
It does so by introducing an intermediate interface `BaseHTTPClient` and to allow to construct `Algodv2Client` and `IndexerClient` from such a `BaseHTTPClient`.

A `BaseHTTPClient` is minimal: it does not perform any serialization/de-serialization, does not fix `accept` headers, does not even try to utf8-decode strings. Its only purpose is to execute directly REST queries and return the raw responses.

`BaseHTTPClient`  is meant to be stable over releases of algosdk.

* improvements followging review
* Fix wait for confirmation function

* Respond to feedback
* Improve superagent errors

* Update expected error response
* Support ABI reference types

* Use new `ABIContract.networks` field

* Document `populateForeignArray`

* Change `equal` to `equals`

* Temporarily change algorand-sdk-testing branch

* Fix firefox step

* Implement testing support for multiple methods in one atomic group

* Support ABI app creation & update

* Only check last log for return value

* Add description fields for Interface and Contract

* Fix return bug

* Set status to submitted during execution

* Switch back to master branch of cucumber repo

* Remove magic constants 15 and 14
@egieseke egieseke merged commit b3b229d into master Dec 28, 2021
@algolucky algolucky deleted the release/v1.13.0-beta.2 branch November 10, 2022 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants