@taqueria/plugin-taquito 0.0.5 → 0.0.9
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/README.md +31 -2
- package/index.js +39 -25
- package/index.js.map +1 -1
- package/originate.ts +29 -24
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Taqueria Taquito Plugin
|
|
2
2
|
|
|
3
|
-
This is a plugin developed for Taqueria built using TypeScript for NodeJS using the Taqueria Node SDK
|
|
3
|
+
This is a plugin developed for Taqueria built using TypeScript for NodeJS using the Taqueria Node SDK
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
This is a plugin developed for Taqueria built using TypeScript for NodeJS using the Taqueria Node SDK and distributed via NPM
|
|
7
|
+
|
|
8
|
+
The Taquito plugin exposes a compile task in Taqueria which can target one, or all the Taquito contracts in the contracts folder and compile them to Michelson code output to the artifacts folder
|
|
9
|
+
|
|
10
|
+
## Tasks
|
|
11
|
+
|
|
12
|
+
The Taquito plugin provides the following tasks to Taqueria:
|
|
13
|
+
- `originate`
|
|
14
|
+
|
|
15
|
+
## Requirements
|
|
16
|
+
|
|
17
|
+
- Taqueria v0.0.6 or later
|
|
18
|
+
- Node.js v16 or later
|
|
19
|
+
- Docker v0.8.4 or later
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
The Taquito plugin is distributed as an NPM package that can be installed and uninstalled on a project from the Taqueria CLI
|
|
24
|
+
|
|
25
|
+
To install the LIGO plugin on a Taqueria project, navigate to the project folder and run:
|
|
26
|
+
```shell
|
|
27
|
+
taq install @taqueria/plugin-taquito
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Plugin Architecture
|
|
31
|
+
|
|
32
|
+
This is a plugin developed for Taqueria built on NodeJS using the Taqueria Node SDK and distributed via NPM
|
|
33
|
+
|
|
34
|
+
For detailed usage and configuration information, view the LIGO plugin documentation on the Taqueria website [here](https://taqueria.io/docs/plugins/plugin-taquito)
|
package/index.js
CHANGED
|
@@ -37,21 +37,21 @@ const $082f1b8e2387f3d8$var$originateContractToSandbox = async (contractFilename
|
|
|
37
37
|
})
|
|
38
38
|
);
|
|
39
39
|
} else return Promise.reject({
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
errCode: "E_INVALID_SANDBOX_ACCOUNT",
|
|
41
|
+
errMsg: `Please configure a default account for the ${sandboxName} to be used for origination.`,
|
|
42
|
+
context: sandbox
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
return Promise.reject({
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
errCode: "E_INVALID_SANDBOX_URL",
|
|
47
|
+
errMsg: 'The sandbox configuration is invalid and missing the RPC url',
|
|
48
|
+
context: sandbox
|
|
49
49
|
});
|
|
50
50
|
} catch (err) {
|
|
51
51
|
return Promise.reject({
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
errCode: "E_ORIGINATE",
|
|
53
|
+
errMsg: "An unexpected error occured when trying to originate a contract",
|
|
54
|
+
previous: err
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
};
|
|
@@ -73,21 +73,21 @@ const $082f1b8e2387f3d8$var$originateContractToNetwork = async (contractFilename
|
|
|
73
73
|
})
|
|
74
74
|
);
|
|
75
75
|
} else return Promise.reject({
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
errCode: "E_INVALID_NETWORK_FAUCET",
|
|
77
|
+
errMsg: `Please configure a faucet for the ${network} network to be used for origination.`,
|
|
78
|
+
context: network
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
return Promise.reject({
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
errCode: "E_INVALID_NETWORK_URL",
|
|
83
|
+
errMsg: 'The network configuration is invalid and missing the RPC url',
|
|
84
|
+
context: network
|
|
85
85
|
});
|
|
86
86
|
} catch (err) {
|
|
87
87
|
return Promise.reject({
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
errCode: "E_ORIGINATE",
|
|
89
|
+
errMsg: "An unexpected error occured when trying to originate a contract",
|
|
90
|
+
previous: err
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
};
|
|
@@ -105,14 +105,14 @@ const $082f1b8e2387f3d8$var$originateContract = (parsedArgs)=>(contractFilename)
|
|
|
105
105
|
const currentEnv = parsedArgs.env ? parsedArgs.env : parsedArgs.config.environment ? parsedArgs.config.environment.default : 'development';
|
|
106
106
|
const env = parsedArgs.config.environment && parsedArgs.config.environment[currentEnv] ? parsedArgs.config.environment[currentEnv] : undefined;
|
|
107
107
|
if (!env) return Promise.reject({
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
108
|
+
errCode: "E_INVALID_ENV",
|
|
109
|
+
errMsg: `No environment configured in your configuration file called ${parsedArgs.env}`,
|
|
110
|
+
context: parsedArgs.config
|
|
111
111
|
});
|
|
112
112
|
if (!env.storage || !env.storage[contractFilename]) return Promise.reject({
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
errCode: "E_INVALID_STORAGE",
|
|
114
|
+
errMsg: `No storage configured in your configuration file for ${contractFilename}`,
|
|
115
|
+
context: env
|
|
116
116
|
});
|
|
117
117
|
const networkProcesses = !env.networks ? [] : env.networks.reduce((retval, network)=>$082f1b8e2387f3d8$var$getNetworkConfig(network, parsedArgs.config) ? [
|
|
118
118
|
...retval,
|
|
@@ -134,13 +134,27 @@ const $082f1b8e2387f3d8$var$originateAll = (parsedArgs)=>($parcel$interopDefault
|
|
|
134
134
|
)
|
|
135
135
|
;
|
|
136
136
|
const $082f1b8e2387f3d8$export$acf571c34911f824 = (parsedArgs)=>{
|
|
137
|
-
const p = parsedArgs.contract ? $082f1b8e2387f3d8$var$originateContract(parsedArgs)(parsedArgs.contract)
|
|
137
|
+
const p = parsedArgs.contract ? $082f1b8e2387f3d8$var$originateContract(parsedArgs)(parsedArgs.contract).then((result)=>[
|
|
138
|
+
result
|
|
139
|
+
]
|
|
140
|
+
) : $082f1b8e2387f3d8$var$originateAll(parsedArgs);
|
|
138
141
|
return p.then((data)=>({
|
|
139
142
|
status: 'success',
|
|
140
143
|
stdout: data,
|
|
141
144
|
stderr: "",
|
|
142
145
|
render: 'table'
|
|
143
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
|
+
})
|
|
144
158
|
);
|
|
145
159
|
};
|
|
146
160
|
var $082f1b8e2387f3d8$export$2e2bcd8739ae039 = $082f1b8e2387f3d8$export$acf571c34911f824;
|
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 status: 'failed',\n stdout: '',\n stderr: `Please configure a default account for the ${sandboxName} to be used for origination.`\n })\n }\n }\n return Promise.reject({\n status: 'failed',\n stderr: 'The sandbox configuration is invalid and missing the RPC url',\n stdout: ''\n })\n }\n catch (err) {\n return Promise.reject({\n status: 'failed',\n stdout: \"\",\n stderr: 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 status: 'failed',\n stdout: '',\n stderr: `Please configure a faucet for the ${network} network to be used for origination.`\n })\n }\n }\n return Promise.reject({\n status: 'failed',\n stderr: 'The network configuration is invalid and missing the RPC url',\n stdout: ''\n })\n }\n catch (err) {\n return Promise.reject({\n status: 'failed',\n stdout: \"\",\n stderr: 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 status: 'failed',\n stderr: `No environment configured in your configuration file called ${parsedArgs.env}`,\n stdout: \"\"\n }) \n }\n\n if (!env.storage || !env.storage[contractFilename]) {\n return Promise.reject({\n status: 'failed',\n stderr: `No storage configured in your configuration file for ${contractFilename}`,\n stdout: \"\"\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 : originateAll(parsedArgs)\n\n return p.then(data => ({\n status: 'success',\n stdout: data,\n stderr: \"\",\n render: 'table'\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 }),\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":"../"}
|
package/originate.ts
CHANGED
|
@@ -35,23 +35,23 @@ const originateContractToSandbox = async (contractFilename: string, parsedArgs:
|
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
37
|
return Promise.reject({
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
errCode: "E_INVALID_SANDBOX_ACCOUNT",
|
|
39
|
+
errMsg: `Please configure a default account for the ${sandboxName} to be used for origination.`,
|
|
40
|
+
context: sandbox
|
|
41
41
|
})
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
return Promise.reject({
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
errCode: "E_INVALID_SANDBOX_URL",
|
|
46
|
+
errMsg: 'The sandbox configuration is invalid and missing the RPC url',
|
|
47
|
+
context: sandbox
|
|
48
48
|
})
|
|
49
49
|
}
|
|
50
50
|
catch (err) {
|
|
51
51
|
return Promise.reject({
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
errCode: "E_ORIGINATE",
|
|
53
|
+
errMsg: "An unexpected error occured when trying to originate a contract",
|
|
54
|
+
previous: err
|
|
55
55
|
})
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -77,23 +77,23 @@ const originateContractToNetwork = async (contractFilename: string, parsedArgs:
|
|
|
77
77
|
}
|
|
78
78
|
else {
|
|
79
79
|
return Promise.reject({
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
errCode: "E_INVALID_NETWORK_FAUCET",
|
|
81
|
+
errMsg: `Please configure a faucet for the ${network} network to be used for origination.`,
|
|
82
|
+
context: network
|
|
83
83
|
})
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
return Promise.reject({
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
errCode: "E_INVALID_NETWORK_URL",
|
|
88
|
+
errMsg: 'The network configuration is invalid and missing the RPC url',
|
|
89
|
+
context: network
|
|
90
90
|
})
|
|
91
91
|
}
|
|
92
92
|
catch (err) {
|
|
93
93
|
return Promise.reject({
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
errCode: "E_ORIGINATE",
|
|
95
|
+
errMsg: "An unexpected error occured when trying to originate a contract",
|
|
96
|
+
previous: err
|
|
97
97
|
})
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -134,17 +134,17 @@ const originateContract = (parsedArgs: Opts) => (contractFilename: string) : Pro
|
|
|
134
134
|
|
|
135
135
|
if (!env) {
|
|
136
136
|
return Promise.reject({
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
errCode: "E_INVALID_ENV",
|
|
138
|
+
errMsg: `No environment configured in your configuration file called ${parsedArgs.env}`,
|
|
139
|
+
context: parsedArgs.config
|
|
140
140
|
})
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
if (!env.storage || !env.storage[contractFilename]) {
|
|
144
144
|
return Promise.reject({
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
145
|
+
errCode: "E_INVALID_STORAGE",
|
|
146
|
+
errMsg: `No storage configured in your configuration file for ${contractFilename}`,
|
|
147
|
+
context: env
|
|
148
148
|
})
|
|
149
149
|
}
|
|
150
150
|
|
|
@@ -175,6 +175,7 @@ const originateAll = (parsedArgs: Opts) : Promise<unknown[]> =>
|
|
|
175
175
|
export const originate = <T>(parsedArgs: Opts): LikeAPromise<ActionResponse, Failure<T>> => {
|
|
176
176
|
const p = parsedArgs.contract
|
|
177
177
|
? originateContract(parsedArgs) (parsedArgs.contract as string)
|
|
178
|
+
.then(result => [result])
|
|
178
179
|
: originateAll(parsedArgs)
|
|
179
180
|
|
|
180
181
|
return p.then(data => ({
|
|
@@ -183,6 +184,10 @@ export const originate = <T>(parsedArgs: Opts): LikeAPromise<ActionResponse, Fai
|
|
|
183
184
|
stderr: "",
|
|
184
185
|
render: 'table'
|
|
185
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
|
+
)
|
|
186
191
|
}
|
|
187
192
|
|
|
188
193
|
export default originate
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taqueria/plugin-taquito",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "A taqueria plugin for originating smart contracts using Taquito",
|
|
5
5
|
"targets": {
|
|
6
6
|
"default": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
15
15
|
"pluginInfo": "npx ts-node index.ts --taqRun pluginInfo --i18n {\"foo:\"\"bar\"}",
|
|
16
|
-
"build": "npx parcel build --no-cache",
|
|
16
|
+
"build": "npx parcel build --no-cache 2>&1",
|
|
17
17
|
"debugPluginInfo": "node --inspect-brk index.js --taqRun pluginInfo --i18n {\"foo:\"\"bar\"}"
|
|
18
18
|
},
|
|
19
19
|
"keywords": [
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
"homepage": "https://github.com/ecadlabs/taqueria#readme",
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"parcel": "^2.0.1",
|
|
43
|
-
"typescript": "
|
|
43
|
+
"typescript": "4.5.4"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@taquito/signer": "^11.1.0",
|
|
47
47
|
"@taquito/taquito": "^11.0.2",
|
|
48
48
|
"fast-glob": "^3.2.10",
|
|
49
|
-
"@taqueria/node-sdk": "^0.0.
|
|
49
|
+
"@taqueria/node-sdk": "^0.0.9"
|
|
50
50
|
}
|
|
51
51
|
}
|