@taqueria/plugin-taquito 0.0.9 → 0.2.0

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
@@ -1,9 +1,9 @@
1
- var $4yCZ5$taquerianodesdk = require("@taqueria/node-sdk");
2
- var $4yCZ5$fastglob = require("fast-glob");
3
- var $4yCZ5$path = require("path");
4
- var $4yCZ5$taquitotaquito = require("@taquito/taquito");
5
- var $4yCZ5$fspromises = require("fs/promises");
6
- var $4yCZ5$taquitosigner = require("@taquito/signer");
1
+ var $iVZbm$taquerianodesdk = require("@taqueria/node-sdk");
2
+ var $iVZbm$fastglob = require("fast-glob");
3
+ var $iVZbm$path = require("path");
4
+ var $iVZbm$taquitotaquito = require("@taquito/taquito");
5
+ var $iVZbm$fspromises = require("fs/promises");
6
+ var $iVZbm$taquitosigner = require("@taquito/signer");
7
7
 
8
8
  function $parcel$interopDefault(a) {
9
9
  return a && a.__esModule ? a.default : a;
@@ -14,19 +14,20 @@ function $parcel$interopDefault(a) {
14
14
 
15
15
 
16
16
 
17
- const $082f1b8e2387f3d8$var$getContractAbspath = (contractFilename, parsedArgs)=>$4yCZ5$path.join(parsedArgs.artifactsDir, /\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)
17
+
18
+ const $806c5c6032403442$var$getContractAbspath = (contractFilename, parsedArgs)=>$iVZbm$path.join(parsedArgs.artifactsDir, /\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)
18
19
  ;
19
- const $082f1b8e2387f3d8$var$originateContractToSandbox = async (contractFilename, parsedArgs, storage, sandboxName, sandbox)=>{
20
+ const $806c5c6032403442$var$originateContractToSandbox = async (contractFilename, parsedArgs, storage, sandboxName, sandbox)=>{
20
21
  try {
21
22
  if (sandbox && sandbox.rpcUrl) {
22
- const contractAbspath = $082f1b8e2387f3d8$var$getContractAbspath(contractFilename, parsedArgs);
23
- const tezos = new $4yCZ5$taquitotaquito.TezosToolkit(sandbox.rpcUrl);
24
- const secretKey = $082f1b8e2387f3d8$var$getAccountSecretKey(sandbox);
23
+ const contractAbspath = $806c5c6032403442$var$getContractAbspath(contractFilename, parsedArgs);
24
+ const tezos = new $iVZbm$taquitotaquito.TezosToolkit(sandbox.rpcUrl);
25
+ const secretKey = $806c5c6032403442$var$getAccountSecretKey(sandbox);
25
26
  if (secretKey) {
26
27
  tezos.setProvider({
27
- signer: new $4yCZ5$taquitosigner.InMemorySigner(secretKey)
28
+ signer: new $iVZbm$taquitosigner.InMemorySigner(secretKey)
28
29
  });
29
- const contractData = await $4yCZ5$fspromises.readFile(contractAbspath, "utf-8");
30
+ const contractData = await $iVZbm$fspromises.readFile(contractAbspath, "utf-8");
30
31
  return tezos.contract.originate({
31
32
  code: contractData,
32
33
  storage: storage
@@ -35,6 +36,11 @@ const $082f1b8e2387f3d8$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",
@@ -55,14 +61,14 @@ const $082f1b8e2387f3d8$var$originateContractToSandbox = async (contractFilename
55
61
  });
56
62
  }
57
63
  };
58
- const $082f1b8e2387f3d8$var$originateContractToNetwork = async (contractFilename, parsedArgs, storage, networkName, network)=>{
64
+ const $806c5c6032403442$var$originateContractToNetwork = async (contractFilename, parsedArgs, storage, networkName, network)=>{
59
65
  try {
60
66
  if (network && network.rpcUrl) {
61
- const contractAbspath = $082f1b8e2387f3d8$var$getContractAbspath(contractFilename, parsedArgs);
62
- const tezos = new $4yCZ5$taquitotaquito.TezosToolkit(network.rpcUrl);
67
+ const contractAbspath = $806c5c6032403442$var$getContractAbspath(contractFilename, parsedArgs);
68
+ const tezos = new $iVZbm$taquitotaquito.TezosToolkit(network.rpcUrl);
63
69
  if (network.faucet) {
64
- await $4yCZ5$taquitosigner.importKey(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(' '), network.faucet.activation_code);
65
- const contractData = await $4yCZ5$fspromises.readFile(contractAbspath, "utf-8");
70
+ await $iVZbm$taquitosigner.importKey(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(' '), network.faucet.activation_code);
71
+ const contractData = await $iVZbm$fspromises.readFile(contractAbspath, "utf-8");
66
72
  return tezos.contract.originate({
67
73
  code: contractData,
68
74
  storage: storage
@@ -71,6 +77,11 @@ const $082f1b8e2387f3d8$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",
@@ -91,16 +102,21 @@ const $082f1b8e2387f3d8$var$originateContractToNetwork = async (contractFilename
91
102
  });
92
103
  }
93
104
  };
94
- const $082f1b8e2387f3d8$var$getNetworkConfig = (networkName, config)=>{
105
+ const $806c5c6032403442$var$getNetworkConfig = (networkName, config)=>{
95
106
  return !config.network[networkName] ? undefined : config.network[networkName];
96
107
  };
97
- const $082f1b8e2387f3d8$var$getSandboxConfig = (sandboxName, config)=>{
108
+ const $806c5c6032403442$var$getSandboxConfig = (sandboxName, config)=>{
98
109
  return !config.sandbox[sandboxName] ? undefined : config.sandbox[sandboxName];
99
110
  };
100
- const $082f1b8e2387f3d8$var$getAccountSecretKey = (sandbox)=>{
101
- return sandbox.accounts && sandbox.accounts.default && sandbox.accounts[sandbox.accounts.default] && sandbox.accounts[sandbox.accounts.default].keys && sandbox.accounts[sandbox.accounts.default].keys?.secretKey.replace(/unencrypted:/, '');
111
+ const $806c5c6032403442$var$getAccountSecretKey = (sandbox)=>{
112
+ if (sandbox.accounts && sandbox.accounts.default) {
113
+ const accountName = sandbox.accounts.default;
114
+ const accountDetails = sandbox.accounts[accountName];
115
+ if (accountDetails.keys) return accountDetails.keys.secretKey.replace(/unencrypted:/, '');
116
+ }
117
+ return undefined;
102
118
  };
103
- const $082f1b8e2387f3d8$var$originateContract = (parsedArgs)=>(contractFilename)=>{
119
+ const $806c5c6032403442$var$originateContract = (parsedArgs)=>(contractFilename)=>{
104
120
  // TODO: Should getting the default environment be provided by the SDK or the framework?
105
121
  const currentEnv = parsedArgs.env ? parsedArgs.env : parsedArgs.config.environment ? parsedArgs.config.environment.default : 'development';
106
122
  const env = parsedArgs.config.environment && parsedArgs.config.environment[currentEnv] ? parsedArgs.config.environment[currentEnv] : undefined;
@@ -114,58 +130,38 @@ const $082f1b8e2387f3d8$var$originateContract = (parsedArgs)=>(contractFilename)
114
130
  errMsg: `No storage configured in your configuration file for ${contractFilename}`,
115
131
  context: env
116
132
  });
117
- const networkProcesses = !env.networks ? [] : env.networks.reduce((retval, network)=>$082f1b8e2387f3d8$var$getNetworkConfig(network, parsedArgs.config) ? [
133
+ const networkProcesses = !env.networks ? [] : env.networks.reduce((retval, network)=>$806c5c6032403442$var$getNetworkConfig(network, parsedArgs.config) ? [
118
134
  ...retval,
119
- $082f1b8e2387f3d8$var$originateContractToNetwork(contractFilename, parsedArgs, env.storage[contractFilename], network, $082f1b8e2387f3d8$var$getNetworkConfig(network, parsedArgs.config))
135
+ $806c5c6032403442$var$originateContractToNetwork(contractFilename, parsedArgs, env.storage[contractFilename], network, $806c5c6032403442$var$getNetworkConfig(network, parsedArgs.config))
120
136
  ] : retval
121
137
  , []);
122
- const allProcesses = !env.sandboxes ? [] : env.sandboxes.reduce((retval, sandbox)=>$082f1b8e2387f3d8$var$getSandboxConfig(sandbox, parsedArgs.config) ? [
138
+ const allProcesses = !env.sandboxes ? [] : env.sandboxes.reduce((retval, sandbox)=>$806c5c6032403442$var$getSandboxConfig(sandbox, parsedArgs.config) ? [
123
139
  ...retval,
124
- $082f1b8e2387f3d8$var$originateContractToSandbox(contractFilename, parsedArgs, env.storage[contractFilename], sandbox, $082f1b8e2387f3d8$var$getSandboxConfig(sandbox, parsedArgs.config))
140
+ $806c5c6032403442$var$originateContractToSandbox(contractFilename, parsedArgs, env.storage[contractFilename], sandbox, $806c5c6032403442$var$getSandboxConfig(sandbox, parsedArgs.config))
125
141
  ] : retval
126
142
  , networkProcesses);
127
143
  return Promise.all(allProcesses);
128
144
  }
129
145
  ;
130
- const $082f1b8e2387f3d8$var$originateAll = (parsedArgs)=>($parcel$interopDefault($4yCZ5$fastglob))("**/*.tz", {
146
+ const $806c5c6032403442$var$originateAll = (parsedArgs)=>($parcel$interopDefault($iVZbm$fastglob))("**/*.tz", {
131
147
  cwd: parsedArgs.artifactsDir
132
- }).then((files)=>Promise.all(files.map($082f1b8e2387f3d8$var$originateContract(parsedArgs)))
148
+ }).then((files)=>Promise.all(files.map($806c5c6032403442$var$originateContract(parsedArgs)))
133
149
  ).then((results)=>results.flat(1)
134
150
  )
135
151
  ;
136
- const $082f1b8e2387f3d8$export$acf571c34911f824 = (parsedArgs)=>{
137
- const p = parsedArgs.contract ? $082f1b8e2387f3d8$var$originateContract(parsedArgs)(parsedArgs.contract).then((result)=>[
138
- result
139
- ]
140
- ) : $082f1b8e2387f3d8$var$originateAll(parsedArgs);
141
- return p.then((data)=>({
142
- status: 'success',
143
- stdout: data,
144
- stderr: "",
145
- render: 'table'
146
- })
147
- ).catch((err)=>err.errCode ? Promise.resolve({
148
- status: 'failed',
149
- stdout: '',
150
- stderr: err.errMsg,
151
- previous: err
152
- }) : Promise.resolve({
153
- status: 'failed',
154
- stderr: err.getMessage(),
155
- stdout: '',
156
- previous: err
157
- })
158
- );
152
+ const $806c5c6032403442$export$acf571c34911f824 = (parsedArgs)=>{
153
+ const p = parsedArgs.contract ? $806c5c6032403442$var$originateContract(parsedArgs)(parsedArgs.contract) : $806c5c6032403442$var$originateAll(parsedArgs);
154
+ return p.then($iVZbm$taquerianodesdk.sendAsyncJsonRes);
159
155
  };
160
- var $082f1b8e2387f3d8$export$2e2bcd8739ae039 = $082f1b8e2387f3d8$export$acf571c34911f824;
156
+ var $806c5c6032403442$export$2e2bcd8739ae039 = $806c5c6032403442$export$acf571c34911f824;
161
157
 
162
158
 
163
- $4yCZ5$taquerianodesdk.Plugin.create((i18n)=>({
159
+ $iVZbm$taquerianodesdk.Plugin.create((i18n)=>({
164
160
  alias: "taquito",
165
161
  schema: "1.0",
166
162
  version: "0.1",
167
163
  tasks: [
168
- $4yCZ5$taquerianodesdk.Task.create({
164
+ $iVZbm$taquerianodesdk.Task.create({
169
165
  task: "deploy",
170
166
  command: "deploy [contract]",
171
167
  description: "Deploy a smart contract to a particular environment",
@@ -173,10 +169,11 @@ $4yCZ5$taquerianodesdk.Plugin.create((i18n)=>({
173
169
  aliases: [
174
170
  "originate"
175
171
  ],
176
- handler: "proxy"
172
+ handler: "proxy",
173
+ encoding: "application/json"
177
174
  }),
178
175
  ],
179
- proxy: $082f1b8e2387f3d8$export$2e2bcd8739ae039
176
+ proxy: $806c5c6032403442$export$2e2bcd8739ae039
180
177
  })
181
178
  , process.argv);
182
179
 
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, ActionResponse, 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 return sandbox.accounts && \n sandbox.accounts.default &&\n sandbox.accounts[sandbox.accounts.default] &&\n sandbox.accounts[sandbox.accounts.default].keys &&\n sandbox.accounts[sandbox.accounts.default].keys?.secretKey.replace(/unencrypted:/, '')\n \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<ActionResponse, 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, ActionResponse, 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({
@@ -111,15 +128,16 @@ const getSandboxConfig = (sandboxName: string, config: Config) => {
111
128
  }
112
129
 
113
130
  const getAccountSecretKey = (sandbox: SandboxConfig) => {
114
- return sandbox.accounts &&
115
- sandbox.accounts.default &&
116
- sandbox.accounts[sandbox.accounts.default] &&
117
- sandbox.accounts[sandbox.accounts.default].keys &&
118
- sandbox.accounts[sandbox.accounts.default].keys?.secretKey.replace(/unencrypted:/, '')
119
-
131
+ if (sandbox.accounts && sandbox.accounts.default) {
132
+ const accountName = (sandbox.accounts.default as string);
133
+ const accountDetails = sandbox.accounts[accountName] as AccountDetails
134
+ if (accountDetails.keys) return accountDetails.keys.secretKey.replace(/unencrypted:/, '')
135
+ }
136
+
137
+ return undefined
120
138
  }
121
139
 
122
- const originateContract = (parsedArgs: Opts) => (contractFilename: string) : Promise<unknown[]> => {
140
+ const originateContract = (parsedArgs: Opts) => (contractFilename: string) => {
123
141
  // TODO: Should getting the default environment be provided by the SDK or the framework?
124
142
  const currentEnv = parsedArgs.env
125
143
  ? (parsedArgs.env as string)
@@ -149,7 +167,7 @@ const originateContract = (parsedArgs: Opts) => (contractFilename: string) : Pro
149
167
  }
150
168
 
151
169
  const networkProcesses = !env.networks ? [] : env.networks.reduce(
152
- (retval: Promise<unknown>[], network) =>
170
+ (retval: LikeAPromise<OriginationResult, Failure<unknown>>[], network) =>
153
171
  getNetworkConfig(network, parsedArgs.config)
154
172
  ? [...retval, originateContractToNetwork(contractFilename, parsedArgs, env.storage[contractFilename], network, getNetworkConfig(network, parsedArgs.config))]
155
173
  : retval,
@@ -157,7 +175,7 @@ const originateContract = (parsedArgs: Opts) => (contractFilename: string) : Pro
157
175
  )
158
176
 
159
177
  const allProcesses = !env.sandboxes ? [] : env.sandboxes.reduce(
160
- (retval: Promise<unknown>[], sandbox) => getSandboxConfig(sandbox, parsedArgs.config)
178
+ (retval: LikeAPromise<OriginationResult, Failure<unknown>>[], sandbox) => getSandboxConfig(sandbox, parsedArgs.config)
161
179
  ? [...retval, originateContractToSandbox(contractFilename, parsedArgs, env.storage[contractFilename], sandbox, getSandboxConfig(sandbox, parsedArgs.config))]
162
180
  : retval
163
181
  ,
@@ -167,27 +185,17 @@ const originateContract = (parsedArgs: Opts) => (contractFilename: string) : Pro
167
185
  return Promise.all(allProcesses)
168
186
  }
169
187
 
170
- const originateAll = (parsedArgs: Opts) : Promise<unknown[]> =>
188
+ const originateAll = (parsedArgs: Opts) =>
171
189
  glob("**/*.tz", {cwd: parsedArgs.artifactsDir})
172
190
  .then(files => Promise.all(files.map(originateContract(parsedArgs))))
173
191
  .then(results => results.flat(1))
174
192
 
175
- export const originate = <T>(parsedArgs: Opts): LikeAPromise<ActionResponse, Failure<T>> => {
193
+ export const originate = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, Failure<T>> => {
176
194
  const p = parsedArgs.contract
177
195
  ? originateContract(parsedArgs) (parsedArgs.contract as string)
178
- .then(result => [result])
179
196
  : originateAll(parsedArgs)
180
197
 
181
- return p.then(data => ({
182
- status: 'success',
183
- stdout: data,
184
- stderr: "",
185
- render: 'table'
186
- }))
187
- .catch(err => err.errCode
188
- ? Promise.resolve({status: 'failed', stdout: '', stderr: err.errMsg, previous: err})
189
- : Promise.resolve({status: 'failed', stderr: err.getMessage(), stdout: '', previous: err})
190
- )
198
+ return p.then(sendAsyncJsonRes)
191
199
  }
192
200
 
193
201
  export default originate
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taqueria/plugin-taquito",
3
- "version": "0.0.9",
3
+ "version": "0.2.0",
4
4
  "description": "A taqueria plugin for originating smart contracts using Taquito",
5
5
  "targets": {
6
6
  "default": {
@@ -27,6 +27,9 @@
27
27
  "taquito",
28
28
  "smart contract"
29
29
  ],
30
+ "engines": {
31
+ "node": ">=16"
32
+ },
30
33
  "author": "ECAD Labs",
31
34
  "license": "Apache-2.0",
32
35
  "repository": {
@@ -46,6 +49,6 @@
46
49
  "@taquito/signer": "^11.1.0",
47
50
  "@taquito/taquito": "^11.0.2",
48
51
  "fast-glob": "^3.2.10",
49
- "@taqueria/node-sdk": "^0.0.9"
52
+ "@taqueria/node-sdk": "^0.2.0"
50
53
  }
51
54
  }
package/tsconfig.json CHANGED
@@ -11,7 +11,7 @@
11
11
  // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
12
12
 
13
13
  /* Language and Environment */
14
- "target": "ES6", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
14
+ "target": "ES2019", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
15
15
  // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
16
16
  // "jsx": "preserve", /* Specify what JSX code is generated. */
17
17
  // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */