@taqueria/plugin-taquito 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -14,6 +14,7 @@ function $parcel$interopDefault(a) {
14
14
 
15
15
 
16
16
 
17
+
17
18
  const $806c5c6032403442$var$getContractAbspath = (contractFilename, parsedArgs)=>$iVZbm$path.join(parsedArgs.artifactsDir, /\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)
18
19
  ;
19
20
  const $806c5c6032403442$var$originateContractToSandbox = async (contractFilename, parsedArgs, storage, sandboxName, sandbox)=>{
@@ -35,6 +36,11 @@ const $806c5c6032403442$var$originateContractToSandbox = async (contractFilename
35
36
  address: operation.contractAddress,
36
37
  destination: sandboxName
37
38
  })
39
+ ).catch((previous)=>Promise.reject({
40
+ errCode: "E_ORIGINATE",
41
+ errMsg: `Could not originate ${contractFilename} on the sandbox '${sandboxName}'`,
42
+ previous: previous
43
+ })
38
44
  );
39
45
  } else return Promise.reject({
40
46
  errCode: "E_INVALID_SANDBOX_ACCOUNT",
@@ -71,6 +77,11 @@ const $806c5c6032403442$var$originateContractToNetwork = async (contractFilename
71
77
  address: operation.contractAddress,
72
78
  destination: networkName
73
79
  })
80
+ ).catch((previous)=>Promise.reject({
81
+ errCode: "E_ORIGINATE",
82
+ errMsg: `Could not originate ${contractFilename} on the network '${networkName}'`,
83
+ previous: previous
84
+ })
74
85
  );
75
86
  } else return Promise.reject({
76
87
  errCode: "E_INVALID_NETWORK_FAUCET",
@@ -139,28 +150,8 @@ const $806c5c6032403442$var$originateAll = (parsedArgs)=>($parcel$interopDefault
139
150
  )
140
151
  ;
141
152
  const $806c5c6032403442$export$acf571c34911f824 = (parsedArgs)=>{
142
- const p = parsedArgs.contract ? $806c5c6032403442$var$originateContract(parsedArgs)(parsedArgs.contract).then((result)=>[
143
- result
144
- ]
145
- ) : $806c5c6032403442$var$originateAll(parsedArgs);
146
- return p.then((data)=>({
147
- status: 'success',
148
- stdout: data,
149
- stderr: "",
150
- render: 'table'
151
- })
152
- ).catch((err)=>err.errCode ? Promise.resolve({
153
- status: 'failed',
154
- stdout: '',
155
- stderr: err.errMsg,
156
- previous: err
157
- }) : Promise.resolve({
158
- status: 'failed',
159
- stderr: err.getMessage(),
160
- stdout: '',
161
- previous: err
162
- })
163
- );
153
+ const p = parsedArgs.contract ? $806c5c6032403442$var$originateContract(parsedArgs)(parsedArgs.contract) : $806c5c6032403442$var$originateAll(parsedArgs);
154
+ return p.then($iVZbm$taquerianodesdk.sendAsyncJsonRes);
164
155
  };
165
156
  var $806c5c6032403442$export$2e2bcd8739ae039 = $806c5c6032403442$export$acf571c34911f824;
166
157
 
@@ -178,7 +169,8 @@ $iVZbm$taquerianodesdk.Plugin.create((i18n)=>({
178
169
  aliases: [
179
170
  "originate"
180
171
  ],
181
- handler: "proxy"
172
+ handler: "proxy",
173
+ encoding: "application/json"
182
174
  }),
183
175
  ],
184
176
  proxy: $806c5c6032403442$export$2e2bcd8739ae039
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["taqueria-plugin-taquito/index.ts","taqueria-plugin-taquito/originate.ts"],"sourcesContent":["import {Plugin, Task, EconomicalProtocol} from '@taqueria/node-sdk'\nimport type { i18n} from '@taqueria/node-sdk/types'\nimport originate from './originate'\n\nPlugin.create((i18n: i18n) => ({\n alias: \"taquito\",\n schema: \"1.0\",\n version: \"0.1\",\n tasks: [\n Task.create({\n task: \"deploy\",\n command: \"deploy [contract]\",\n description: \"Deploy a smart contract to a particular environment\",\n options: [\n ],\n aliases: [\"originate\"],\n handler: \"proxy\"\n }),\n ],\n proxy: originate\n}), process.argv)\n","import { SanitizedArgs, PluginResponse, AccountDetails, Failure, LikeAPromise, Config, NetworkConfig, SandboxConfig, ProxyAction} from \"@taqueria/node-sdk/types\";\nimport glob from 'fast-glob'\nimport {join} from 'path'\nimport { TezosToolkit } from '@taquito/taquito';\nimport {readFile} from 'fs/promises'\nimport { InMemorySigner, importKey } from '@taquito/signer';\n\ntype Opts = SanitizedArgs & Record<string, unknown>\n\nconst getContractAbspath = (contractFilename: string, parsedArgs: Opts) => \n join(parsedArgs.artifactsDir, /\\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)\n\n\nconst originateContractToSandbox = async (contractFilename: string, parsedArgs: Opts, storage: unknown, sandboxName: string, sandbox: SandboxConfig | undefined) => {\n try {\n if (sandbox && sandbox.rpcUrl) {\n const contractAbspath = getContractAbspath(contractFilename, parsedArgs)\n const tezos = new TezosToolkit(sandbox.rpcUrl)\n const secretKey = getAccountSecretKey(sandbox)\n if (secretKey) {\n tezos.setProvider({\n signer: new InMemorySigner(secretKey),\n });\n\n const contractData = await readFile(contractAbspath, \"utf-8\")\n return tezos.contract.originate({\n code: contractData,\n storage: storage\n })\n .then(operation => ({\n contract: contractFilename,\n address: operation.contractAddress,\n destination: sandboxName\n }))\n }\n else {\n return Promise.reject({\n errCode: \"E_INVALID_SANDBOX_ACCOUNT\",\n errMsg: `Please configure a default account for the ${sandboxName} to be used for origination.`,\n context: sandbox\n })\n }\n }\n return Promise.reject({\n errCode: \"E_INVALID_SANDBOX_URL\",\n errMsg: 'The sandbox configuration is invalid and missing the RPC url',\n context: sandbox\n })\n }\n catch (err) {\n return Promise.reject({\n errCode: \"E_ORIGINATE\",\n errMsg: \"An unexpected error occured when trying to originate a contract\",\n previous: err\n })\n }\n}\n\nconst originateContractToNetwork = async (contractFilename: string, parsedArgs: Opts, storage: unknown, networkName: string, network: NetworkConfig|undefined) => {\n try {\n if (network && network.rpcUrl) {\n const contractAbspath = getContractAbspath(contractFilename, parsedArgs)\n const tezos = new TezosToolkit(network.rpcUrl)\n if (network.faucet) {\n await importKey(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(' '), network.faucet.activation_code)\n\n const contractData = await readFile(contractAbspath, \"utf-8\")\n return tezos.contract.originate({\n code: contractData,\n storage: storage\n })\n .then(operation => ({\n contract: contractFilename,\n address: operation.contractAddress,\n destination: networkName\n }))\n }\n else {\n return Promise.reject({\n errCode: \"E_INVALID_NETWORK_FAUCET\",\n errMsg: `Please configure a faucet for the ${network} network to be used for origination.`,\n context: network\n })\n }\n }\n return Promise.reject({\n errCode: \"E_INVALID_NETWORK_URL\",\n errMsg: 'The network configuration is invalid and missing the RPC url',\n context: network\n })\n }\n catch (err) {\n return Promise.reject({\n errCode: \"E_ORIGINATE\",\n errMsg: \"An unexpected error occured when trying to originate a contract\",\n previous: err\n })\n }\n}\n\nconst getNetworkConfig = (networkName: string, config: Config) => {\n return !config.network[networkName]\n ? undefined\n : config.network[networkName]\n}\n\nconst getSandboxConfig = (sandboxName: string, config: Config) => {\n return !config.sandbox[sandboxName]\n ? undefined\n : config.sandbox[sandboxName]\n}\n\nconst getAccountSecretKey = (sandbox: SandboxConfig) => {\n if (sandbox.accounts && sandbox.accounts.default) {\n const accountName = (sandbox.accounts.default as string);\n const accountDetails = sandbox.accounts[accountName] as AccountDetails\n if (accountDetails.keys) return accountDetails.keys.secretKey.replace(/unencrypted:/, '')\n }\n\n return undefined \n}\n\nconst originateContract = (parsedArgs: Opts) => (contractFilename: string) : Promise<unknown[]> => {\n // TODO: Should getting the default environment be provided by the SDK or the framework?\n const currentEnv = parsedArgs.env\n ? (parsedArgs.env as string)\n : (\n parsedArgs.config.environment\n ? parsedArgs.config.environment.default\n : 'development'\n )\n const env = parsedArgs.config.environment && parsedArgs.config.environment[currentEnv]\n ? parsedArgs.config.environment[currentEnv]\n : undefined\n\n if (!env) {\n return Promise.reject({\n errCode: \"E_INVALID_ENV\",\n errMsg: `No environment configured in your configuration file called ${parsedArgs.env}`,\n context: parsedArgs.config\n }) \n }\n\n if (!env.storage || !env.storage[contractFilename]) {\n return Promise.reject({\n errCode: \"E_INVALID_STORAGE\",\n errMsg: `No storage configured in your configuration file for ${contractFilename}`,\n context: env\n })\n }\n\n const networkProcesses = !env.networks ? [] : env.networks.reduce(\n (retval: Promise<unknown>[], network) => \n getNetworkConfig(network, parsedArgs.config)\n ? [...retval, originateContractToNetwork(contractFilename, parsedArgs, env.storage[contractFilename], network, getNetworkConfig(network, parsedArgs.config))]\n : retval,\n []\n )\n\n const allProcesses = !env.sandboxes ? [] : env.sandboxes.reduce(\n (retval: Promise<unknown>[], sandbox) => getSandboxConfig(sandbox, parsedArgs.config)\n ? [...retval, originateContractToSandbox(contractFilename, parsedArgs, env.storage[contractFilename], sandbox, getSandboxConfig(sandbox, parsedArgs.config))]\n : retval \n ,\n networkProcesses\n )\n \n return Promise.all(allProcesses)\n}\n\nconst originateAll = (parsedArgs: Opts) : Promise<unknown[]> =>\n glob(\"**/*.tz\", {cwd: parsedArgs.artifactsDir})\n .then(files => Promise.all(files.map(originateContract(parsedArgs))))\n .then(results => results.flat(1))\n\nexport const originate = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, Failure<T>> => {\n const p = parsedArgs.contract\n ? originateContract(parsedArgs) (parsedArgs.contract as string)\n .then(result => [result])\n : originateAll(parsedArgs)\n\n return p.then(data => ({\n status: 'success',\n stdout: data,\n stderr: \"\",\n render: 'table'\n }))\n .catch(err => err.errCode\n ? Promise.resolve({status: 'failed', stdout: '', stderr: err.errMsg, previous: err})\n : Promise.resolve({status: 'failed', stderr: err.getMessage(), stdout: '', previous: err})\n )\n}\n\nexport default originate"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}
1
+ {"mappings":"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","sources":["taqueria-plugin-taquito/index.ts","taqueria-plugin-taquito/originate.ts"],"sourcesContent":["import {Plugin, Task, EconomicalProtocol} from '@taqueria/node-sdk'\nimport type { i18n} from '@taqueria/node-sdk/types'\nimport originate from './originate'\n\nPlugin.create((i18n: i18n) => ({\n alias: \"taquito\",\n schema: \"1.0\",\n version: \"0.1\",\n tasks: [\n Task.create({\n task: \"deploy\",\n command: \"deploy [contract]\",\n description: \"Deploy a smart contract to a particular environment\",\n options: [\n ],\n aliases: [\"originate\"],\n handler: \"proxy\",\n encoding: \"application/json\"\n }),\n ],\n proxy: originate\n}), process.argv)\n","import { SanitizedArgs, PluginResponse, AccountDetails, Failure, LikeAPromise, Config, NetworkConfig, SandboxConfig} from \"@taqueria/node-sdk/types\";\nimport glob from 'fast-glob'\nimport {join} from 'path'\nimport { TezosToolkit } from '@taquito/taquito';\nimport {readFile} from 'fs/promises'\nimport { InMemorySigner, importKey } from '@taquito/signer';\nimport { sendAsyncJsonRes } from \"@taqueria/node-sdk\";\n\ntype Opts = SanitizedArgs & Record<string, unknown>\n\ninterface OriginationResult {\n contract: string\n address: string\n destination: string\n}\n\nconst getContractAbspath = (contractFilename: string, parsedArgs: Opts) => \n join(parsedArgs.artifactsDir, /\\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)\n\n\nconst originateContractToSandbox = async (contractFilename: string, parsedArgs: Opts, storage: unknown, sandboxName: string, sandbox: SandboxConfig | undefined): LikeAPromise<OriginationResult, Failure<unknown>> => {\n try {\n if (sandbox && sandbox.rpcUrl) {\n const contractAbspath = getContractAbspath(contractFilename, parsedArgs)\n const tezos = new TezosToolkit(sandbox.rpcUrl)\n const secretKey = getAccountSecretKey(sandbox)\n if (secretKey) {\n tezos.setProvider({\n signer: new InMemorySigner(secretKey),\n });\n\n const contractData = await readFile(contractAbspath, \"utf-8\")\n return tezos.contract.originate({\n code: contractData,\n storage: storage\n })\n .then(operation => ({\n contract: contractFilename,\n address: operation.contractAddress as string,\n destination: sandboxName\n }))\n .catch(previous => Promise.reject({\n errCode: \"E_ORIGINATE\",\n errMsg: `Could not originate ${contractFilename} on the sandbox '${sandboxName}'`,\n previous\n }))\n }\n else {\n return Promise.reject({\n errCode: \"E_INVALID_SANDBOX_ACCOUNT\",\n errMsg: `Please configure a default account for the ${sandboxName} to be used for origination.`,\n context: sandbox\n })\n }\n }\n return Promise.reject({\n errCode: \"E_INVALID_SANDBOX_URL\",\n errMsg: 'The sandbox configuration is invalid and missing the RPC url',\n context: sandbox\n })\n }\n catch (err) {\n return Promise.reject({\n errCode: \"E_ORIGINATE\",\n errMsg: \"An unexpected error occured when trying to originate a contract\",\n previous: err\n })\n }\n}\n\nconst originateContractToNetwork = async (contractFilename: string, parsedArgs: Opts, storage: unknown, networkName: string, network: NetworkConfig|undefined): LikeAPromise<OriginationResult, Failure<unknown>> => {\n try {\n if (network && network.rpcUrl) {\n const contractAbspath = getContractAbspath(contractFilename, parsedArgs)\n const tezos = new TezosToolkit(network.rpcUrl)\n if (network.faucet) {\n await importKey(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(' '), network.faucet.activation_code)\n\n const contractData = await readFile(contractAbspath, \"utf-8\")\n return tezos.contract.originate({\n code: contractData,\n storage: storage\n })\n .then(operation => ({\n contract: contractFilename,\n address: operation.contractAddress as string,\n destination: networkName\n }))\n .catch(previous => Promise.reject({\n errCode: \"E_ORIGINATE\",\n errMsg: `Could not originate ${contractFilename} on the network '${networkName}'`,\n previous\n }))\n }\n else {\n return Promise.reject({\n errCode: \"E_INVALID_NETWORK_FAUCET\",\n errMsg: `Please configure a faucet for the ${network} network to be used for origination.`,\n context: network\n })\n }\n }\n return Promise.reject({\n errCode: \"E_INVALID_NETWORK_URL\",\n errMsg: 'The network configuration is invalid and missing the RPC url',\n context: network\n })\n }\n catch (err) {\n return Promise.reject({\n errCode: \"E_ORIGINATE\",\n errMsg: \"An unexpected error occured when trying to originate a contract\",\n previous: err\n })\n }\n}\n\nconst getNetworkConfig = (networkName: string, config: Config) => {\n return !config.network[networkName]\n ? undefined\n : config.network[networkName]\n}\n\nconst getSandboxConfig = (sandboxName: string, config: Config) => {\n return !config.sandbox[sandboxName]\n ? undefined\n : config.sandbox[sandboxName]\n}\n\nconst getAccountSecretKey = (sandbox: SandboxConfig) => {\n if (sandbox.accounts && sandbox.accounts.default) {\n const accountName = (sandbox.accounts.default as string);\n const accountDetails = sandbox.accounts[accountName] as AccountDetails\n if (accountDetails.keys) return accountDetails.keys.secretKey.replace(/unencrypted:/, '')\n }\n\n return undefined \n}\n\nconst originateContract = (parsedArgs: Opts) => (contractFilename: string) => {\n // TODO: Should getting the default environment be provided by the SDK or the framework?\n const currentEnv = parsedArgs.env\n ? (parsedArgs.env as string)\n : (\n parsedArgs.config.environment\n ? parsedArgs.config.environment.default\n : 'development'\n )\n const env = parsedArgs.config.environment && parsedArgs.config.environment[currentEnv]\n ? parsedArgs.config.environment[currentEnv]\n : undefined\n\n if (!env) {\n return Promise.reject({\n errCode: \"E_INVALID_ENV\",\n errMsg: `No environment configured in your configuration file called ${parsedArgs.env}`,\n context: parsedArgs.config\n }) \n }\n\n if (!env.storage || !env.storage[contractFilename]) {\n return Promise.reject({\n errCode: \"E_INVALID_STORAGE\",\n errMsg: `No storage configured in your configuration file for ${contractFilename}`,\n context: env\n })\n }\n\n const networkProcesses = !env.networks ? [] : env.networks.reduce(\n (retval: LikeAPromise<OriginationResult, Failure<unknown>>[], network) => \n getNetworkConfig(network, parsedArgs.config)\n ? [...retval, originateContractToNetwork(contractFilename, parsedArgs, env.storage[contractFilename], network, getNetworkConfig(network, parsedArgs.config))]\n : retval,\n []\n )\n\n const allProcesses = !env.sandboxes ? [] : env.sandboxes.reduce(\n (retval: LikeAPromise<OriginationResult, Failure<unknown>>[], sandbox) => getSandboxConfig(sandbox, parsedArgs.config)\n ? [...retval, originateContractToSandbox(contractFilename, parsedArgs, env.storage[contractFilename], sandbox, getSandboxConfig(sandbox, parsedArgs.config))]\n : retval \n ,\n networkProcesses\n )\n \n return Promise.all(allProcesses)\n}\n\nconst originateAll = (parsedArgs: Opts) =>\n glob(\"**/*.tz\", {cwd: parsedArgs.artifactsDir})\n .then(files => Promise.all(files.map(originateContract(parsedArgs))))\n .then(results => results.flat(1))\n\nexport const originate = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, Failure<T>> => {\n const p = parsedArgs.contract\n ? originateContract(parsedArgs) (parsedArgs.contract as string)\n : originateAll(parsedArgs)\n\n return p.then(sendAsyncJsonRes)\n}\n\nexport default originate"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}
package/index.ts CHANGED
@@ -14,7 +14,8 @@ Plugin.create((i18n: i18n) => ({
14
14
  options: [
15
15
  ],
16
16
  aliases: ["originate"],
17
- handler: "proxy"
17
+ handler: "proxy",
18
+ encoding: "application/json"
18
19
  }),
19
20
  ],
20
21
  proxy: originate
package/originate.ts CHANGED
@@ -1,17 +1,24 @@
1
- import { SanitizedArgs, PluginResponse, AccountDetails, Failure, LikeAPromise, Config, NetworkConfig, SandboxConfig, ProxyAction} from "@taqueria/node-sdk/types";
1
+ import { SanitizedArgs, PluginResponse, AccountDetails, Failure, LikeAPromise, Config, NetworkConfig, SandboxConfig} from "@taqueria/node-sdk/types";
2
2
  import glob from 'fast-glob'
3
3
  import {join} from 'path'
4
4
  import { TezosToolkit } from '@taquito/taquito';
5
5
  import {readFile} from 'fs/promises'
6
6
  import { InMemorySigner, importKey } from '@taquito/signer';
7
+ import { sendAsyncJsonRes } from "@taqueria/node-sdk";
7
8
 
8
9
  type Opts = SanitizedArgs & Record<string, unknown>
9
10
 
11
+ interface OriginationResult {
12
+ contract: string
13
+ address: string
14
+ destination: string
15
+ }
16
+
10
17
  const getContractAbspath = (contractFilename: string, parsedArgs: Opts) =>
11
18
  join(parsedArgs.artifactsDir, /\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)
12
19
 
13
20
 
14
- const originateContractToSandbox = async (contractFilename: string, parsedArgs: Opts, storage: unknown, sandboxName: string, sandbox: SandboxConfig | undefined) => {
21
+ const originateContractToSandbox = async (contractFilename: string, parsedArgs: Opts, storage: unknown, sandboxName: string, sandbox: SandboxConfig | undefined): LikeAPromise<OriginationResult, Failure<unknown>> => {
15
22
  try {
16
23
  if (sandbox && sandbox.rpcUrl) {
17
24
  const contractAbspath = getContractAbspath(contractFilename, parsedArgs)
@@ -29,9 +36,14 @@ const originateContractToSandbox = async (contractFilename: string, parsedArgs:
29
36
  })
30
37
  .then(operation => ({
31
38
  contract: contractFilename,
32
- address: operation.contractAddress,
39
+ address: operation.contractAddress as string,
33
40
  destination: sandboxName
34
41
  }))
42
+ .catch(previous => Promise.reject({
43
+ errCode: "E_ORIGINATE",
44
+ errMsg: `Could not originate ${contractFilename} on the sandbox '${sandboxName}'`,
45
+ previous
46
+ }))
35
47
  }
36
48
  else {
37
49
  return Promise.reject({
@@ -56,7 +68,7 @@ const originateContractToSandbox = async (contractFilename: string, parsedArgs:
56
68
  }
57
69
  }
58
70
 
59
- const originateContractToNetwork = async (contractFilename: string, parsedArgs: Opts, storage: unknown, networkName: string, network: NetworkConfig|undefined) => {
71
+ const originateContractToNetwork = async (contractFilename: string, parsedArgs: Opts, storage: unknown, networkName: string, network: NetworkConfig|undefined): LikeAPromise<OriginationResult, Failure<unknown>> => {
60
72
  try {
61
73
  if (network && network.rpcUrl) {
62
74
  const contractAbspath = getContractAbspath(contractFilename, parsedArgs)
@@ -71,9 +83,14 @@ const originateContractToNetwork = async (contractFilename: string, parsedArgs:
71
83
  })
72
84
  .then(operation => ({
73
85
  contract: contractFilename,
74
- address: operation.contractAddress,
86
+ address: operation.contractAddress as string,
75
87
  destination: networkName
76
88
  }))
89
+ .catch(previous => Promise.reject({
90
+ errCode: "E_ORIGINATE",
91
+ errMsg: `Could not originate ${contractFilename} on the network '${networkName}'`,
92
+ previous
93
+ }))
77
94
  }
78
95
  else {
79
96
  return Promise.reject({
@@ -120,7 +137,7 @@ const getAccountSecretKey = (sandbox: SandboxConfig) => {
120
137
  return undefined
121
138
  }
122
139
 
123
- const originateContract = (parsedArgs: Opts) => (contractFilename: string) : Promise<unknown[]> => {
140
+ const originateContract = (parsedArgs: Opts) => (contractFilename: string) => {
124
141
  // TODO: Should getting the default environment be provided by the SDK or the framework?
125
142
  const currentEnv = parsedArgs.env
126
143
  ? (parsedArgs.env as string)
@@ -150,7 +167,7 @@ const originateContract = (parsedArgs: Opts) => (contractFilename: string) : Pro
150
167
  }
151
168
 
152
169
  const networkProcesses = !env.networks ? [] : env.networks.reduce(
153
- (retval: Promise<unknown>[], network) =>
170
+ (retval: LikeAPromise<OriginationResult, Failure<unknown>>[], network) =>
154
171
  getNetworkConfig(network, parsedArgs.config)
155
172
  ? [...retval, originateContractToNetwork(contractFilename, parsedArgs, env.storage[contractFilename], network, getNetworkConfig(network, parsedArgs.config))]
156
173
  : retval,
@@ -158,7 +175,7 @@ const originateContract = (parsedArgs: Opts) => (contractFilename: string) : Pro
158
175
  )
159
176
 
160
177
  const allProcesses = !env.sandboxes ? [] : env.sandboxes.reduce(
161
- (retval: Promise<unknown>[], sandbox) => getSandboxConfig(sandbox, parsedArgs.config)
178
+ (retval: LikeAPromise<OriginationResult, Failure<unknown>>[], sandbox) => getSandboxConfig(sandbox, parsedArgs.config)
162
179
  ? [...retval, originateContractToSandbox(contractFilename, parsedArgs, env.storage[contractFilename], sandbox, getSandboxConfig(sandbox, parsedArgs.config))]
163
180
  : retval
164
181
  ,
@@ -168,7 +185,7 @@ const originateContract = (parsedArgs: Opts) => (contractFilename: string) : Pro
168
185
  return Promise.all(allProcesses)
169
186
  }
170
187
 
171
- const originateAll = (parsedArgs: Opts) : Promise<unknown[]> =>
188
+ const originateAll = (parsedArgs: Opts) =>
172
189
  glob("**/*.tz", {cwd: parsedArgs.artifactsDir})
173
190
  .then(files => Promise.all(files.map(originateContract(parsedArgs))))
174
191
  .then(results => results.flat(1))
@@ -176,19 +193,9 @@ const originateAll = (parsedArgs: Opts) : Promise<unknown[]> =>
176
193
  export const originate = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, Failure<T>> => {
177
194
  const p = parsedArgs.contract
178
195
  ? originateContract(parsedArgs) (parsedArgs.contract as string)
179
- .then(result => [result])
180
196
  : originateAll(parsedArgs)
181
197
 
182
- return p.then(data => ({
183
- status: 'success',
184
- stdout: data,
185
- stderr: "",
186
- render: 'table'
187
- }))
188
- .catch(err => err.errCode
189
- ? Promise.resolve({status: 'failed', stdout: '', stderr: err.errMsg, previous: err})
190
- : Promise.resolve({status: 'failed', stderr: err.getMessage(), stdout: '', previous: err})
191
- )
198
+ return p.then(sendAsyncJsonRes)
192
199
  }
193
200
 
194
201
  export default originate
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taqueria/plugin-taquito",
3
- "version": "0.1.1",
3
+ "version": "0.2.1",
4
4
  "description": "A taqueria plugin for originating smart contracts using Taquito",
5
5
  "targets": {
6
6
  "default": {
@@ -49,6 +49,6 @@
49
49
  "@taquito/signer": "^11.1.0",
50
50
  "@taquito/taquito": "^11.0.2",
51
51
  "fast-glob": "^3.2.10",
52
- "@taqueria/node-sdk": "^0.1.0"
52
+ "@taqueria/node-sdk": "^0.2.1"
53
53
  }
54
54
  }