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

FOR REVIEW ONLY - js-algorand-sdk v1.21.0 #655

Merged
merged 6 commits into from
Sep 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# v1.21.0

## What's Changed

### Enhancements

- Enhancement: Removing more unused steps by @tzaffi in https://github.com/algorand/js-algorand-sdk/pull/637
- Enhancement: Add deprecation tag to algod v1 client by @algochoi in https://github.com/algorand/js-algorand-sdk/pull/642
- enhancement: add unit test for ParticipationUpdates field by @shiqizng in https://github.com/algorand/js-algorand-sdk/pull/652

**Full Changelog**: https://github.com/algorand/js-algorand-sdk/compare/v1.20.0...v1.21.0

# v1.20.0

## What's Changed
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Include a minified browser bundle directly in your HTML like so:

```html
<script
src="https://unpkg.com/algosdk@v1.20.0/dist/browser/algosdk.min.js"
src="https://unpkg.com/algosdk@v1.21.0/dist/browser/algosdk.min.js"
integrity="sha384-MBUb3pc2VI86j87sLfTwm1kEs2PUDCOFXnXdgspn0lWSJOxr1gu4mZL6L7VE1ITH"
crossorigin="anonymous"
></script>
Expand All @@ -32,7 +32,7 @@ or

```html
<script
src="https://cdn.jsdelivr.net/npm/algosdk@v1.20.0/dist/browser/algosdk.min.js"
src="https://cdn.jsdelivr.net/npm/algosdk@v1.21.0/dist/browser/algosdk.min.js"
integrity="sha384-MBUb3pc2VI86j87sLfTwm1kEs2PUDCOFXnXdgspn0lWSJOxr1gu4mZL6L7VE1ITH"
crossorigin="anonymous"
></script>
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "algosdk",
"version": "1.20.0",
"version": "1.21.0",
"description": "The official JavaScript SDK for Algorand",
"main": "dist/cjs/index.js",
"module": "dist/esm/index.js",
Expand Down
21 changes: 21 additions & 0 deletions src/client/algod.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
const { default: HTTPClient } = require('./client');
const { setSendTransactionHeaders } = require('./v2/algod/sendRawTransaction');

/** @deprecated v1 algod APIs are deprecated, please use the v2 client */
function Algod(
token = '',
baseServer = 'http://r2.algorand.network',
Expand All @@ -20,6 +21,7 @@ function Algod(
* Takes an object and convert its note field to Buffer, if exist.
* @param o
* @returns {*}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
function noteb64ToNote(o) {
if (!(o.noteb64 === undefined || o.noteb64 === null)) {
Expand All @@ -33,6 +35,7 @@ function Algod(
* status retrieves the StatusResponse from the running node
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.status = async (headerObj = {}) => {
const res = await c.get('/v1/status', {}, headerObj);
Expand All @@ -43,6 +46,7 @@ function Algod(
* healthCheck returns an empty object iff the node is running
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.healthCheck = async (headerObj = {}) => {
const res = await c.get('/health', {}, headerObj);
Expand All @@ -58,6 +62,7 @@ function Algod(
* @param roundNumber
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.statusAfterBlock = async (roundNumber, headerObj = {}) => {
if (!Number.isInteger(roundNumber))
Expand All @@ -76,6 +81,7 @@ function Algod(
* @param maxTxns - number
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.pendingTransactions = async (maxTxns, headerObj = {}) => {
if (!Number.isInteger(maxTxns)) throw Error('maxTxns should be an integer');
Expand All @@ -101,6 +107,7 @@ function Algod(
* versions retrieves the VersionResponse from the running node
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.versions = async (headerObj = {}) => {
const res = await c.get('/versions', {}, headerObj);
Expand All @@ -111,6 +118,7 @@ function Algod(
* LedgerSupply gets the supply details for the specified node's Ledger
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.ledgerSupply = async (headerObj = {}) => {
const res = await c.get('/v1/ledger/supply', {}, headerObj);
Expand All @@ -125,6 +133,7 @@ function Algod(
* @param maxTxns - number, optional
* @param headers, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.transactionByAddress = async (
addr,
Expand Down Expand Up @@ -161,6 +170,7 @@ function Algod(
* @param maxTxns - number, optional
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.transactionByAddressAndDate = async (
addr,
Expand Down Expand Up @@ -188,6 +198,7 @@ function Algod(
* @param txid
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.transactionById = async (txid, headerObj = {}) => {
const res = await c.get(`/v1/transaction/${txid}`, {}, headerObj);
Expand All @@ -203,6 +214,7 @@ function Algod(
* @param txid
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.transactionInformation = async (addr, txid, headerObj = {}) => {
const res = await c.get(
Expand All @@ -221,6 +233,7 @@ function Algod(
* @param txid
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.pendingTransactionInformation = async (txid, headerObj = {}) => {
const res = await c.get(`/v1/transactions/pending/${txid}`, {}, headerObj);
Expand All @@ -235,6 +248,7 @@ function Algod(
* @param addr - string
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.accountInformation = async (addr, headerObj = {}) => {
const res = await c.get(`/v1/account/${addr}`, {}, headerObj);
Expand All @@ -246,6 +260,7 @@ function Algod(
* @param index - number
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.assetInformation = async (index, headerObj = {}) => {
const res = await c.get(`/v1/asset/${index}`, {}, headerObj);
Expand All @@ -256,6 +271,7 @@ function Algod(
* suggestedFee gets the recommended transaction fee from the node
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.suggestedFee = async (headerObj = {}) => {
const res = await c.get('/v1/transactions/fee', {}, headerObj);
Expand All @@ -267,6 +283,7 @@ function Algod(
* @param txn - Uin8Array
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.sendRawTransaction = async (txn, headerObj = {}) => {
const txHeaders = setSendTransactionHeaders(headerObj);
Expand All @@ -279,6 +296,7 @@ function Algod(
* @param txn - Array of Uin8Array
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.sendRawTransactions = async (txns, headerObj = {}) => {
const txHeaders = setSendTransactionHeaders(headerObj);
Expand All @@ -297,6 +315,7 @@ function Algod(
* getTransactionParams returns to common needed parameters for a new transaction
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.getTransactionParams = async (headerObj = {}) => {
const res = await c.get('/v1/transactions/params', {}, headerObj);
Expand All @@ -307,6 +326,7 @@ function Algod(
* suggestParams returns to common needed parameters for a new transaction, in a format the transaction builder expects
* @param headerObj, optional
* @returns {Object}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.suggestParams = async (headerObj = {}) => {
const result = await this.getTransactionParams(headerObj);
Expand All @@ -325,6 +345,7 @@ function Algod(
* @param roundNumber
* @param headerObj, optional
* @returns {Promise<*>}
* @deprecated v1 algod APIs are deprecated, please use the v2 client
*/
this.block = async (roundNumber, headerObj = {}) => {
if (!Number.isInteger(roundNumber))
Expand Down
77 changes: 0 additions & 77 deletions tests/cucumber/steps/steps.js
Original file line number Diff line number Diff line change
Expand Up @@ -258,29 +258,6 @@ module.exports = function getSteps(options) {
this.pk = algosdk.multisigAddress(this.msig);
});

When('I create the payment transaction', function () {
this.txn = {
from: this.pk,
to: this.to,
fee: this.fee,
firstRound: this.fv,
lastRound: this.lv,
genesisHash: this.gh,
};
if (this.gen) {
this.txn.genesisID = this.gen;
}
if (this.close) {
this.txn.closeRemainderTo = this.close;
}
if (this.note) {
this.txn.note = this.note;
}
if (this.amt) {
this.txn.amount = this.amt;
}
});

When('I sign the transaction with the private key', function () {
const obj = algosdk.signTransaction(this.txn, this.sk);
this.stx = obj.blob;
Expand Down Expand Up @@ -980,60 +957,6 @@ module.exports = function getSteps(options) {
return this.kcl.deleteKey(this.handle, this.wallet_pswd, this.pk);
});

Given(
'key registration transaction parameters {int} {int} {int} {string} {string} {string} {int} {int} {int} {string} {string}',
function (
fee,
fv,
lv,
gh,
votekey,
selkey,
votefst,
votelst,
votekd,
gen,
note
) {
this.fee = parseInt(fee);
this.fv = parseInt(fv);
this.lv = parseInt(lv);
this.gh = gh;
if (gen !== 'none') {
this.gen = gen;
}
if (note !== 'none') {
this.note = makeUint8Array(Buffer.from(note, 'base64'));
}
this.votekey = votekey;
this.selkey = selkey;
this.votefst = votefst;
this.votelst = votelst;
this.votekd = votekd;
}
);

When('I create the key registration transaction', function () {
this.txn = {
fee: this.fee,
firstRound: this.fv,
lastRound: this.lv,
genesisHash: this.gh,
voteKey: this.votekey,
selectionKey: this.selkey,
voteFirst: this.votefst,
voteLast: this.votelst,
voteKeyDilution: this.votekd,
type: 'keyreg',
};
if (this.gen) {
this.txn.genesisID = this.gen;
}
if (this.note) {
this.txn.note = this.note;
}
});

Given(
'default V2 key registration transaction {string}',
async function (type) {
Expand Down
1 change: 1 addition & 0 deletions tests/cucumber/unit.tags
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
@unit.rekey
@unit.responses
@unit.responses.231
@unit.responses.participationupdates
@unit.responses.unlimited_assets
@unit.sourcemap
@unit.stateproof.paths
Expand Down