Skip to content

Commit

Permalink
update with new sdk for new 4.4.0 features (#13)
Browse files Browse the repository at this point in the history
* update with new sdk for new 4.4.0 features
  • Loading branch information
cheeseandcereal committed Feb 5, 2020
1 parent b57d7c9 commit c702912
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 55 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 5.4.0

- **Feature:**
- Update `dctl contract rm` to support an optional transaction type (like `dctl contract get`)
- Add `dctl interchain publish` to support publishing a signed transaction on a Dragonchain interchain network
- **Development:**
- Update dependencies

## 5.3.1

- **Bugs:**
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "dctl",
"version": "5.3.1",
"version": "5.4.0",
"description": "Get your Dragonchain out of it's shell.",
"author": "Dragonchain, Inc. <support@dragonchain.com>",
"license": "Apache-2.0",
Expand All @@ -19,17 +19,17 @@
"dctl": "./src/dctl.js"
},
"dependencies": {
"commander": "^4.0.1",
"commander": "^4.1.1",
"del": "^5.1.0",
"dragonchain-sdk": "^4.2.1",
"dragonchain-sdk": "^4.3.0",
"get-stdin": "^7.0.0",
"ini": "^1.3.5",
"readline-sync": "^1.4.10",
"shelljs": "^0.8.3"
},
"devDependencies": {
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.9.0",
"eslint-config-prettier": "^6.10.0",
"prettier": "^1.19.1"
},
"scripts": {
Expand Down
19 changes: 14 additions & 5 deletions src/dctl-contract-rm.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,25 @@ program
smartContractIds: 'The ID of the contract(s) you want to delete'
})
.arguments('<smartContractIds...>')
.option('-t, --transactionType [transactionType]', '(mutually exclusive with smartContractId) Transaction type of the contract to delete')
.option('-v, --verbose', '(optional) Enable STDOUT logger in your Dragonchain SDK')
.option('-i, --dragonchainId [dragonchainID]', '(optional) Override the default dragonchain ID for this command')
.parse(process.argv);

util.wrapper(program, async client => {
const { transactionType } = program;
if (program.args.length !== 0 && transactionType) throw new Error("Please provide only 1 of 'smartContractIds' or 'transactionType'");
const results = [];
await Promise.all(
program.args.map(async smartContractId => {
results.push(await client.deleteSmartContract({ smartContractId }));
})
);
if (program.args.length > 0) {
await Promise.all(
program.args.map(async smartContractId => {
results.push(await client.deleteSmartContract({ smartContractId }));
})
);
} else if (transactionType) {
results.push(await client.deleteSmartContract({ transactionType }));
} else {
throw new Error("At least one of 'smartContractIds' or 'transactionType' must be provided");
}
console.log(JSON.stringify(results, null, 2));
});
26 changes: 26 additions & 0 deletions src/dctl-interchain-publish.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
const program = require('commander');
const util = require('./util');

program
.description('Publish a signed interchain transaction on the public network', {
blockchain: "The blockchain type to set (i.e. 'bitcoin', 'ethereum', etc)",
name: 'The name of the configured interchain to set as default',
signedTransaction: 'The signed interchain transaction to publish (what is returned from `dctl interchain <blockchain> transaction`'
})
.arguments('<blockchain> <name> <signedTransaction>')
.option('-v, --verbose', '(optional) Enable STDOUT logger in your Dragonchain SDK')
.option('-i, --dragonchainId [dragonchainID]', '(optional) Override the default dragonchain ID for this command')
.parse(process.argv);

util.wrapper(program, async client => {
const [blockchain, name, signedTransaction] = program.args;
if (!blockchain) throw new Error("Parameter 'blockchain' must be provided");
if (!name) throw new Error("Parameter 'name' must be provided");
if (!signedTransaction) throw new Error("Parameter 'signedTransaction' must be provided");
const response = await client.publishInterchainTransaction({
blockchain,
name,
signedTransaction
});
console.log(JSON.stringify(response, null, 2));
});
2 changes: 2 additions & 0 deletions src/dctl-interchain.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@ program
.alias('g')
.command('default', 'Operations for getting/setting default interchains (l5 only)')
.alias('d')
.command('publish', 'Publish a signed interchain transaction')
.alias('p')
.parse(process.argv);
92 changes: 46 additions & 46 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@


"@babel/code-frame@^7.0.0":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
dependencies:
"@babel/highlight" "^7.0.0"
"@babel/highlight" "^7.8.3"

"@babel/highlight@^7.0.0":
version "7.5.0"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540"
integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==
"@babel/highlight@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
Expand Down Expand Up @@ -59,9 +59,9 @@
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==

"@types/node@*":
version "13.1.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.2.tgz#fe94285bf5e0782e1a9e5a8c482b1c34465fa385"
integrity sha512-B8emQA1qeKerqd1dmIsQYnXi+mmAzTB7flExjmy5X1aVAKFNNNDubkavwR13kR6JnpeLp3aLoJhwn9trWPAyFQ==
version "13.7.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.0.tgz#b417deda18cf8400f278733499ad5547ed1abec4"
integrity sha512-GnZbirvmqZUzMgkFn70c74OQpTTUcCzlhQliTzYjQMqg+hVKcDnxdL19Ne3UdYzdMA/+W3eb646FWn/ZaT1NfQ==

acorn-jsx@^5.1.0:
version "5.1.0"
Expand All @@ -82,11 +82,11 @@ aggregate-error@^3.0.0:
indent-string "^4.0.0"

ajv@^6.10.0, ajv@^6.10.2:
version "6.10.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
version "6.11.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9"
integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==
dependencies:
fast-deep-equal "^2.0.1"
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
Expand Down Expand Up @@ -200,10 +200,10 @@ color-name@1.1.3:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=

commander@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-4.0.1.tgz#b67622721785993182e807f4883633e6401ba53c"
integrity sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==
commander@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==

concat-map@0.0.1:
version "0.0.1"
Expand Down Expand Up @@ -261,10 +261,10 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"

dragonchain-sdk@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/dragonchain-sdk/-/dragonchain-sdk-4.2.1.tgz#749677a09b136a9ed2a0ceab8cfc05f1b16fafe8"
integrity sha512-vYkRxUXmINuLlpeqDkMuKHMwn6K0iCOUmcv9RaPu8A0O9+jVrQDa4PIRcrNONLkcAR6Me5GwZ23CCRBKpISwtw==
dragonchain-sdk@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/dragonchain-sdk/-/dragonchain-sdk-4.3.0.tgz#77cd65e8881a8e157f9ca051cba7b35eb7035c39"
integrity sha512-0yy9Sh05Bjn/s/o9LUQdaEr2bQdmI8CDGob1ju+Nr6zSb2ade6tKdnpvtlqO9GV4GT+mu0/7zgfrTGlofAHFGA==
dependencies:
ini "^1.3.5"
node-fetch "^2.6.0"
Expand All @@ -285,10 +285,10 @@ escape-string-regexp@^1.0.5:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=

eslint-config-prettier@^6.9.0:
version "6.9.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.9.0.tgz#430d24822e82f7deb1e22a435bfa3999fae4ad64"
integrity sha512-k4E14HBtcLv0uqThaI6I/n1LEqROp8XaPu6SO9Z32u5NlGRC07Enu1Bh2KEFw4FNHbekH8yzbIU9kUGxbiGmCA==
eslint-config-prettier@^6.10.0:
version "6.10.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.10.0.tgz#7b15e303bf9c956875c948f6b21500e48ded6a7f"
integrity sha512-AtndijGte1rPILInUdHjvKEGbIV06NuvPrqlIEaEaWtbtvJh464mDeyGMdZEQMsGvC0ZVkiex1fSNcC4HAbRGg==
dependencies:
get-stdin "^6.0.0"

Expand Down Expand Up @@ -402,10 +402,10 @@ external-editor@^3.0.3:
iconv-lite "^0.4.24"
tmp "^0.0.33"

fast-deep-equal@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
fast-deep-equal@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==

fast-glob@^3.0.3:
version "3.1.1"
Expand Down Expand Up @@ -517,9 +517,9 @@ globals@^12.1.0:
type-fest "^0.8.1"

globby@^10.0.1:
version "10.0.1"
resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22"
integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==
version "10.0.2"
resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543"
integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==
dependencies:
"@types/glob" "^7.1.1"
array-union "^2.1.0"
Expand Down Expand Up @@ -594,9 +594,9 @@ ini@^1.3.5:
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==

inquirer@^7.0.0:
version "7.0.1"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.1.tgz#13f7980eedc73c689feff3994b109c4e799c6ebb"
integrity sha512-V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw==
version "7.0.4"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703"
integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==
dependencies:
ansi-escapes "^4.2.1"
chalk "^2.4.2"
Expand Down Expand Up @@ -828,9 +828,9 @@ path-type@^4.0.0:
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==

picomatch@^2.0.5:
version "2.1.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.1.1.tgz#ecdfbea7704adb5fe6fb47f9866c4c0e15e905c5"
integrity sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==
version "2.2.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a"
integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==

prelude-ls@~1.1.2:
version "1.1.2"
Expand Down Expand Up @@ -875,9 +875,9 @@ resolve-from@^4.0.0:
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==

resolve@^1.1.6:
version "1.14.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.1.tgz#9e018c540fcf0c427d678b9931cbf45e984bcaff"
integrity sha512-fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==
version "1.15.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5"
integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==
dependencies:
path-parse "^1.0.6"

Expand All @@ -902,9 +902,9 @@ rimraf@2.6.3:
glob "^7.1.3"

rimraf@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.0.tgz#614176d4b3010b75e5c390eb0ee96f6dc0cebb9b"
integrity sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==
version "3.0.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.1.tgz#48d3d4cb46c80d388ab26cd61b1b466ae9ae225a"
integrity sha512-IQ4ikL8SjBiEDZfk+DFVwqRK8md24RWMEJkdSlgNLkyyAImcjf8SWvU1qFMDOb4igBClbTQ/ugPqXcRwdFTxZw==
dependencies:
glob "^7.1.3"

Expand Down

0 comments on commit c702912

Please sign in to comment.