@taqueria/plugin-taquito 0.0.0-pr-746-e50831f0 → 0.0.0-pr-786-ffed3033
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 +33 -41
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -16,28 +16,26 @@ function $parcel$interopDefault(a) {
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
const $806c5c6032403442$var$getFirstAccountAlias = (sandboxName, opts)=>{
|
|
19
|
-
const aliases = $iVZbm$taquerianodesdk.getSandboxAccountNames(opts)(sandboxName);
|
|
19
|
+
const aliases = (0, $iVZbm$taquerianodesdk.getSandboxAccountNames)(opts)(sandboxName);
|
|
20
20
|
return aliases.shift();
|
|
21
21
|
};
|
|
22
|
-
const $806c5c6032403442$var$getContractAbspath = (contractFilename, parsedArgs)
|
|
23
|
-
;
|
|
22
|
+
const $806c5c6032403442$var$getContractAbspath = (contractFilename, parsedArgs)=>(0, $iVZbm$path.join)(parsedArgs.config.artifactsDir, /\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`);
|
|
24
23
|
const $806c5c6032403442$var$addOrigination = (parsedArgs, batch)=>async (mapping)=>{
|
|
25
24
|
const contractAbspath = $806c5c6032403442$var$getContractAbspath(mapping.filename, parsedArgs);
|
|
26
|
-
const contractData = await $iVZbm$fspromises.readFile(contractAbspath, "utf-8");
|
|
25
|
+
const contractData = await (0, $iVZbm$fspromises.readFile)(contractAbspath, "utf-8");
|
|
27
26
|
return (await batch).withOrigination({
|
|
28
27
|
code: contractData,
|
|
29
28
|
storage: mapping.storage
|
|
30
29
|
});
|
|
31
|
-
}
|
|
32
|
-
;
|
|
30
|
+
};
|
|
33
31
|
const $806c5c6032403442$var$getValidContracts = async (parsedArgs)=>{
|
|
34
32
|
const contracts = parsedArgs.contract ? [
|
|
35
33
|
parsedArgs.contract
|
|
36
|
-
] : await ($parcel$interopDefault($iVZbm$fastglob))("**/*.tz", {
|
|
34
|
+
] : await (0, ($parcel$interopDefault($iVZbm$fastglob)))("**/*.tz", {
|
|
37
35
|
cwd: parsedArgs.config.artifactsDir
|
|
38
36
|
});
|
|
39
37
|
return contracts.reduce((retval, filename)=>{
|
|
40
|
-
const storage = $iVZbm$taquerianodesdk.getInitialStorage(parsedArgs)(filename);
|
|
38
|
+
const storage = (0, $iVZbm$taquerianodesdk.getInitialStorage)(parsedArgs)(filename);
|
|
41
39
|
if (!storage) throw `No initial storage provided for ${filename}`;
|
|
42
40
|
return [
|
|
43
41
|
...retval,
|
|
@@ -58,7 +56,7 @@ const $806c5c6032403442$var$mapOpToContract = async (contracts, op, destination)
|
|
|
58
56
|
// For each iteration of reduce, results array is being modified-in-place.
|
|
59
57
|
// TODO: Adjust to use recursion to avoid side-effect.
|
|
60
58
|
const result = results.shift();
|
|
61
|
-
const address = result && result.metadata.operation_result.originated_contracts ? result.metadata.operation_result.originated_contracts.join(
|
|
59
|
+
const address = result && result.metadata.operation_result.originated_contracts ? result.metadata.operation_result.originated_contracts.join(",") : "Error";
|
|
62
60
|
return [
|
|
63
61
|
...retval,
|
|
64
62
|
{
|
|
@@ -80,56 +78,54 @@ const $806c5c6032403442$var$mapOpToContract = async (contracts, op, destination)
|
|
|
80
78
|
};
|
|
81
79
|
const $806c5c6032403442$var$createBatch = async (parsedArgs, tezos, destination)=>{
|
|
82
80
|
const contracts = await $806c5c6032403442$var$getValidContracts(parsedArgs);
|
|
83
|
-
const batch1 = await contracts.reduce((batch, contractMapping)=>contractMapping.storage ? $806c5c6032403442$var$addOrigination(parsedArgs, batch)(contractMapping) : batch
|
|
84
|
-
, Promise.resolve(tezos.wallet.batch()));
|
|
81
|
+
const batch1 = await contracts.reduce((batch, contractMapping)=>contractMapping.storage ? $806c5c6032403442$var$addOrigination(parsedArgs, batch)(contractMapping) : batch, Promise.resolve(tezos.wallet.batch()));
|
|
85
82
|
try {
|
|
86
83
|
const op = await batch1.send();
|
|
87
84
|
const confirmed = await op.confirmation();
|
|
88
85
|
return await $806c5c6032403442$var$mapOpToContract(contracts, op, destination);
|
|
89
86
|
} catch (err) {
|
|
90
87
|
const error = err;
|
|
91
|
-
if (error.message) $iVZbm$taquerianodesdk.sendErr(error.message);
|
|
88
|
+
if (error.message) (0, $iVZbm$taquerianodesdk.sendErr)(error.message);
|
|
92
89
|
return undefined;
|
|
93
90
|
}
|
|
94
91
|
};
|
|
95
92
|
const $806c5c6032403442$var$originateToNetworks = (parsedArgs, currentEnv)=>currentEnv.networks ? currentEnv.networks.reduce((retval, networkName)=>{
|
|
96
|
-
const network = $iVZbm$taquerianodesdk.getNetworkConfig(parsedArgs)(networkName);
|
|
93
|
+
const network = (0, $iVZbm$taquerianodesdk.getNetworkConfig)(parsedArgs)(networkName);
|
|
97
94
|
if (network) {
|
|
98
95
|
if (network.rpcUrl) {
|
|
99
96
|
if (network.faucet) {
|
|
100
97
|
const result = (async ()=>{
|
|
101
|
-
const tezos = new $iVZbm$taquitotaquito.TezosToolkit(network.rpcUrl);
|
|
102
|
-
await $iVZbm$taquitosigner.importKey(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(
|
|
98
|
+
const tezos = new (0, $iVZbm$taquitotaquito.TezosToolkit)(network.rpcUrl);
|
|
99
|
+
await (0, $iVZbm$taquitosigner.importKey)(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(" "), network.faucet.activation_code);
|
|
103
100
|
return await $806c5c6032403442$var$createBatch(parsedArgs, tezos, networkName);
|
|
104
101
|
})();
|
|
105
102
|
return [
|
|
106
103
|
...retval,
|
|
107
104
|
result
|
|
108
105
|
];
|
|
109
|
-
} else $iVZbm$taquerianodesdk.sendErr(`Network ${networkName} requires a valid faucet in config.json.`);
|
|
110
|
-
} else $iVZbm$taquerianodesdk.sendErr(`Network "${networkName} is missing an RPC url in config.json."`);
|
|
111
|
-
} else $iVZbm$taquerianodesdk.sendErr(`The current environment is configured to use a network called '${networkName}'; however, no network of this name has been configured in .taq/config.json.`);
|
|
106
|
+
} else (0, $iVZbm$taquerianodesdk.sendErr)(`Network ${networkName} requires a valid faucet in config.json.`);
|
|
107
|
+
} else (0, $iVZbm$taquerianodesdk.sendErr)(`Network "${networkName} is missing an RPC url in config.json."`);
|
|
108
|
+
} else (0, $iVZbm$taquerianodesdk.sendErr)(`The current environment is configured to use a network called '${networkName}'; however, no network of this name has been configured in .taq/config.json.`);
|
|
112
109
|
return retval;
|
|
113
|
-
}, []) : []
|
|
114
|
-
;
|
|
110
|
+
}, []) : [];
|
|
115
111
|
const $806c5c6032403442$var$originateToSandboxes = (parsedArgs, currentEnv)=>currentEnv.sandboxes ? currentEnv.sandboxes.reduce((retval, sandboxName)=>{
|
|
116
|
-
const sandbox = $iVZbm$taquerianodesdk.getSandboxConfig(parsedArgs)(sandboxName);
|
|
112
|
+
const sandbox = (0, $iVZbm$taquerianodesdk.getSandboxConfig)(parsedArgs)(sandboxName);
|
|
117
113
|
if (sandbox) {
|
|
118
114
|
if (sandbox.rpcUrl) {
|
|
119
|
-
let defaultAccount = $iVZbm$taquerianodesdk.getDefaultAccount(parsedArgs)(sandboxName);
|
|
115
|
+
let defaultAccount = (0, $iVZbm$taquerianodesdk.getDefaultAccount)(parsedArgs)(sandboxName);
|
|
120
116
|
if (!defaultAccount) {
|
|
121
117
|
const first = $806c5c6032403442$var$getFirstAccountAlias(sandboxName, parsedArgs);
|
|
122
118
|
if (first) {
|
|
123
|
-
defaultAccount = $iVZbm$taquerianodesdk.getSandboxAccountConfig(parsedArgs)(sandboxName)(first);
|
|
124
|
-
$iVZbm$taquerianodesdk.sendErr(`No default account has been configured for the sandbox called ${sandboxName}. Using the account called ${first} for origination.`);
|
|
119
|
+
defaultAccount = (0, $iVZbm$taquerianodesdk.getSandboxAccountConfig)(parsedArgs)(sandboxName)(first);
|
|
120
|
+
(0, $iVZbm$taquerianodesdk.sendErr)(`No default account has been configured for the sandbox called ${sandboxName}. Using the account called ${first} for origination.`);
|
|
125
121
|
}
|
|
126
122
|
}
|
|
127
123
|
if (defaultAccount) {
|
|
128
124
|
const secretKey = defaultAccount.secretKey;
|
|
129
125
|
const result = (async ()=>{
|
|
130
|
-
const tezos = new $iVZbm$taquitotaquito.TezosToolkit(sandbox.rpcUrl);
|
|
126
|
+
const tezos = new (0, $iVZbm$taquitotaquito.TezosToolkit)(sandbox.rpcUrl);
|
|
131
127
|
tezos.setProvider({
|
|
132
|
-
signer: new $iVZbm$taquitosigner.InMemorySigner(secretKey.replace(/^unencrypted:/,
|
|
128
|
+
signer: new (0, $iVZbm$taquitosigner.InMemorySigner)(secretKey.replace(/^unencrypted:/, ""))
|
|
133
129
|
});
|
|
134
130
|
return await $806c5c6032403442$var$createBatch(parsedArgs, tezos, sandboxName);
|
|
135
131
|
})();
|
|
@@ -137,15 +133,14 @@ const $806c5c6032403442$var$originateToSandboxes = (parsedArgs, currentEnv)=>cur
|
|
|
137
133
|
...retval,
|
|
138
134
|
result
|
|
139
135
|
];
|
|
140
|
-
} else $iVZbm$taquerianodesdk.sendErr(`No accounts are available for the sandbox called ${sandboxName} to perform origination.`);
|
|
141
|
-
} else $iVZbm$taquerianodesdk.sendErr(`Sandbox "${sandboxName} is missing an RPC url in config.json."`);
|
|
142
|
-
} else $iVZbm$taquerianodesdk.sendErr(`The current environment is configured to use a sandbox called '${sandboxName}'; however, no sandbox of this name has been configured in .taq/config.json.`);
|
|
136
|
+
} else (0, $iVZbm$taquerianodesdk.sendErr)(`No accounts are available for the sandbox called ${sandboxName} to perform origination.`);
|
|
137
|
+
} else (0, $iVZbm$taquerianodesdk.sendErr)(`Sandbox "${sandboxName} is missing an RPC url in config.json."`);
|
|
138
|
+
} else (0, $iVZbm$taquerianodesdk.sendErr)(`The current environment is configured to use a sandbox called '${sandboxName}'; however, no sandbox of this name has been configured in .taq/config.json.`);
|
|
143
139
|
return retval;
|
|
144
|
-
}, []) : []
|
|
145
|
-
;
|
|
140
|
+
}, []) : [];
|
|
146
141
|
const $806c5c6032403442$export$acf571c34911f824 = (parsedArgs)=>{
|
|
147
|
-
const env = $iVZbm$taquerianodesdk.getCurrentEnvironmentConfig(parsedArgs);
|
|
148
|
-
if (!env) return $iVZbm$taquerianodesdk.sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json.`);
|
|
142
|
+
const env = (0, $iVZbm$taquerianodesdk.getCurrentEnvironmentConfig)(parsedArgs);
|
|
143
|
+
if (!env) return (0, $iVZbm$taquerianodesdk.sendAsyncErr)(`There is no environment called ${parsedArgs.env} in your config.json.`);
|
|
149
144
|
const jobs1 = [
|
|
150
145
|
...$806c5c6032403442$var$originateToNetworks(parsedArgs, env),
|
|
151
146
|
...$806c5c6032403442$var$originateToSandboxes(parsedArgs, env)
|
|
@@ -155,19 +150,17 @@ const $806c5c6032403442$export$acf571c34911f824 = (parsedArgs)=>{
|
|
|
155
150
|
...retval,
|
|
156
151
|
...originations
|
|
157
152
|
] : retval;
|
|
158
|
-
}, [])
|
|
159
|
-
).then((results)=>results && results.length > 0 ? $iVZbm$taquerianodesdk.sendJsonRes(results) : $iVZbm$taquerianodesdk.sendErr(`No contracts originated.`)
|
|
160
|
-
);
|
|
153
|
+
}, [])).then((results)=>results && results.length > 0 ? (0, $iVZbm$taquerianodesdk.sendJsonRes)(results) : (0, $iVZbm$taquerianodesdk.sendErr)(`No contracts originated.`));
|
|
161
154
|
};
|
|
162
155
|
var $806c5c6032403442$export$2e2bcd8739ae039 = $806c5c6032403442$export$acf571c34911f824;
|
|
163
156
|
|
|
164
157
|
|
|
165
|
-
$iVZbm$taquerianodesdk.Plugin.create((_i18n)=>({
|
|
158
|
+
(0, $iVZbm$taquerianodesdk.Plugin).create((_i18n)=>({
|
|
166
159
|
alias: "taquito",
|
|
167
160
|
schema: "1.0",
|
|
168
161
|
version: "0.1",
|
|
169
162
|
tasks: [
|
|
170
|
-
$iVZbm$taquerianodesdk.Task.create({
|
|
163
|
+
(0, $iVZbm$taquerianodesdk.Task).create({
|
|
171
164
|
task: "deploy",
|
|
172
165
|
command: "deploy [contract]",
|
|
173
166
|
description: "Deploy a smart contract to a particular environment",
|
|
@@ -179,9 +172,8 @@ $iVZbm$taquerianodesdk.Plugin.create((_i18n)=>({
|
|
|
179
172
|
encoding: "application/json"
|
|
180
173
|
}),
|
|
181
174
|
],
|
|
182
|
-
proxy: $806c5c6032403442$export$2e2bcd8739ae039
|
|
183
|
-
})
|
|
184
|
-
, process.argv);
|
|
175
|
+
proxy: (0, $806c5c6032403442$export$2e2bcd8739ae039)
|
|
176
|
+
}), process.argv);
|
|
185
177
|
|
|
186
178
|
|
|
187
179
|
//# sourceMappingURL=index.js.map
|
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} from '@taqueria/node-sdk'\nimport originate from './originate'\n\nPlugin.create(_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 { RequestArgs, PluginResponse, TaqError, LikeAPromise, Protocol} from \"@taqueria/node-sdk/types\";\nimport { TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { InMemorySigner, importKey } from '@taquito/signer';\nimport { getSandboxAccountNames, getCurrentEnvironmentConfig, getNetworkConfig, getSandboxAccountConfig, getInitialStorage, sendErr, getSandboxConfig, getDefaultAccount, sendJsonRes, sendAsyncErr } from \"@taqueria/node-sdk\";\nimport { BatchWalletOperation } from \"@taquito/taquito/dist/types/wallet/batch-operation\";\nimport { OperationContentsAndResultOrigination } from \"@taquito/rpc\";\nimport glob from 'fast-glob'\nimport {join} from 'path'\nimport {readFile} from 'fs/promises'\n\ninterface Opts extends RequestArgs.t {\n contract?: string\n}\n\ninterface ContractStorageMapping {\n filename: string,\n storage?: unknown\n}\n\ninterface OriginationResult {\n contract: string\n address: string\n destination: string\n}\n\nconst getFirstAccountAlias = (sandboxName: string, opts: Opts) => {\n const aliases = getSandboxAccountNames(opts) (sandboxName)\n return aliases.shift()\n}\n\nconst getContractAbspath = (contractFilename: string, parsedArgs: Opts) => \n join(parsedArgs.config.artifactsDir, /\\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)\n\nconst addOrigination = (parsedArgs: Opts, batch: Promise<WalletOperationBatch>) => async (mapping: ContractStorageMapping) => {\n const contractAbspath = getContractAbspath(mapping.filename, parsedArgs)\n const contractData = await readFile(contractAbspath, \"utf-8\")\n return (await batch).withOrigination({\n code: contractData,\n storage: mapping.storage,\n \n })\n}\n\nconst getValidContracts = async (parsedArgs: Opts) => {\n const contracts = parsedArgs.contract\n ? [parsedArgs.contract]\n : (await glob(\"**/*.tz\", {cwd: parsedArgs.config.artifactsDir})) as string[]\n\n return contracts.reduce(\n (retval, filename) => {\n const storage = getInitialStorage(parsedArgs) (filename)\n if (!storage) throw(`No initial storage provided for ${filename}`)\n return [...retval, {filename, storage}]\n },\n [] as ContractStorageMapping[]\n ) \n}\n\nconst mapOpToContract = async (contracts: ContractStorageMapping[], op: BatchWalletOperation, destination: string) => {\n const results = await op.operationResults()\n\n return contracts.reduce(\n (retval, contract) => {\n\n // If initial storage was provided for the contract\n // then we submitted an operation to originate that contract\n if (contract.storage) {\n\n // WARNING - using side effect here.\n // For each iteration of reduce, results array is being modified-in-place.\n // TODO: Adjust to use recursion to avoid side-effect.\n const result = results.shift() as OperationContentsAndResultOrigination\n const address = result && result.metadata.operation_result.originated_contracts\n ? result.metadata.operation_result.originated_contracts.join(',')\n : 'Error'\n\n return [\n ...retval, {\n contract: contract.filename,\n address,\n destination\n }\n ]\n }\n\n return [\n ...retval, {\n contract: contract.filename,\n address: \"Error\",\n destination\n }\n ]\n },\n [] as OriginationResult[]\n )\n}\n\n\nconst createBatch = async (parsedArgs: Opts, tezos: TezosToolkit, destination: string) => {\n const contracts = await getValidContracts (parsedArgs) \n \n const batch = await contracts.reduce(\n (batch, contractMapping) => \n contractMapping.storage\n ? addOrigination(parsedArgs, batch) (contractMapping)\n : batch,\n Promise.resolve(tezos.wallet.batch())\n )\n \n try {\n const op = await batch.send()\n const confirmed = await op.confirmation()\n return await mapOpToContract(contracts, op, destination)\n }\n catch (err) {\n const error = (err as {message: string})\n if (error.message) sendErr(error.message)\n return undefined\n }\n}\n\nconst originateToNetworks = (parsedArgs: Opts, currentEnv: Protocol.Environment.t) =>\n currentEnv.networks\n ? currentEnv.networks.reduce(\n (retval, networkName) => {\n const network = getNetworkConfig (parsedArgs) (networkName)\n if (network) {\n if (network.rpcUrl) {\n if (network.faucet) {\n const result = (async () => {\n const tezos = new TezosToolkit(network.rpcUrl as string)\n await importKey(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(' '), network.faucet.activation_code)\n return await createBatch(parsedArgs, tezos, networkName)\n })()\n \n return [...retval, result]\n }\n else sendErr(`Network ${networkName} requires a valid faucet in config.json.`)\n }\n else sendErr(`Network \"${networkName} is missing an RPC url in config.json.\"`)\n }\n else sendErr(`The current environment is configured to use a network called '${networkName}'; however, no network of this name has been configured in .taq/config.json.`)\n \n return retval\n },\n [] as Promise<OriginationResult[]|undefined>[]\n )\n : []\n\nconst originateToSandboxes = (parsedArgs: Opts, currentEnv: Protocol.Environment.t) =>\n currentEnv.sandboxes\n ? currentEnv.sandboxes.reduce(\n (retval, sandboxName) => {\n const sandbox = getSandboxConfig (parsedArgs) (sandboxName)\n if (sandbox) {\n if (sandbox.rpcUrl) {\n let defaultAccount = getDefaultAccount(parsedArgs) (sandboxName)\n if (!defaultAccount) {\n const first = getFirstAccountAlias(sandboxName, parsedArgs)\n if (first) {\n defaultAccount = getSandboxAccountConfig(parsedArgs) (sandboxName) (first)\n sendErr(`No default account has been configured for the sandbox called ${sandboxName}. Using the account called ${first} for origination.`)\n }\n }\n if (defaultAccount) {\n const secretKey = defaultAccount.secretKey\n const result = (async () => {\n const tezos = new TezosToolkit(sandbox.rpcUrl as string)\n tezos.setProvider({\n signer: new InMemorySigner(secretKey.replace(/^unencrypted:/, '')),\n });\n return await createBatch(parsedArgs, tezos, sandboxName)\n })()\n \n return [...retval, result]\n }\n else sendErr(`No accounts are available for the sandbox called ${sandboxName} to perform origination.`)\n }\n else sendErr(`Sandbox \"${sandboxName} is missing an RPC url in config.json.\"`)\n }\n else sendErr(`The current environment is configured to use a sandbox called '${sandboxName}'; however, no sandbox of this name has been configured in .taq/config.json.`)\n\n return retval\n },\n [] as Promise<OriginationResult[]|undefined>[]\n )\n : []\n \n \n\nexport const originate = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, TaqError.t> => {\n const env = getCurrentEnvironmentConfig(parsedArgs)\n\n if (!env) {\n return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json.`)\n }\n\n const jobs = [\n ...originateToNetworks(parsedArgs, env),\n ...originateToSandboxes(parsedArgs, env)\n ]\n\n return Promise.all(jobs)\n .then(jobs => jobs.reduce(\n (retval, originations) => {\n return originations\n ? [...retval as OriginationResult[], ...originations]\n : retval\n },\n []\n ))\n .then(results => results && results.length > 0 ? sendJsonRes(results): sendErr(`No contracts originated.`))\n}\n\nexport default originate\n"],"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} from '@taqueria/node-sdk'\nimport originate from './originate'\n\nPlugin.create(_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 { RequestArgs, PluginResponse, TaqError, LikeAPromise, Protocol} from \"@taqueria/node-sdk/types\";\nimport { TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { InMemorySigner, importKey } from '@taquito/signer';\nimport { getSandboxAccountNames, getCurrentEnvironmentConfig, getNetworkConfig, getSandboxAccountConfig, getInitialStorage, sendErr, getSandboxConfig, getDefaultAccount, sendJsonRes, sendAsyncErr } from \"@taqueria/node-sdk\";\nimport { BatchWalletOperation } from \"@taquito/taquito/dist/types/wallet/batch-operation\";\nimport { OperationContentsAndResultOrigination } from \"@taquito/rpc\";\nimport glob from 'fast-glob'\nimport {join} from 'path'\nimport {readFile} from 'fs/promises'\n\ninterface Opts extends RequestArgs.t {\n contract?: string\n}\n\ninterface ContractStorageMapping {\n filename: string,\n storage?: unknown\n}\n\ninterface OriginationResult {\n contract: string\n address: string\n destination: string\n}\n\nconst getFirstAccountAlias = (sandboxName: string, opts: Opts) => {\n const aliases = getSandboxAccountNames(opts) (sandboxName)\n return aliases.shift()\n}\n\nconst getContractAbspath = (contractFilename: string, parsedArgs: Opts) => \n join(parsedArgs.config.artifactsDir, /\\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)\n\nconst addOrigination = (parsedArgs: Opts, batch: Promise<WalletOperationBatch>) => async (mapping: ContractStorageMapping) => {\n const contractAbspath = getContractAbspath(mapping.filename, parsedArgs)\n const contractData = await readFile(contractAbspath, \"utf-8\")\n return (await batch).withOrigination({\n code: contractData,\n storage: mapping.storage,\n \n })\n}\n\nconst getValidContracts = async (parsedArgs: Opts) => {\n const contracts = parsedArgs.contract\n ? [parsedArgs.contract]\n : (await glob(\"**/*.tz\", {cwd: parsedArgs.config.artifactsDir})) as string[]\n\n return contracts.reduce(\n (retval, filename) => {\n const storage = getInitialStorage(parsedArgs) (filename)\n if (!storage) throw(`No initial storage provided for ${filename}`)\n return [...retval, {filename, storage}]\n },\n [] as ContractStorageMapping[]\n ) \n}\n\nconst mapOpToContract = async (contracts: ContractStorageMapping[], op: BatchWalletOperation, destination: string) => {\n const results = await op.operationResults()\n\n return contracts.reduce(\n (retval, contract) => {\n\n // If initial storage was provided for the contract\n // then we submitted an operation to originate that contract\n if (contract.storage) {\n\n // WARNING - using side effect here.\n // For each iteration of reduce, results array is being modified-in-place.\n // TODO: Adjust to use recursion to avoid side-effect.\n const result = results.shift() as OperationContentsAndResultOrigination\n const address = result && result.metadata.operation_result.originated_contracts\n ? result.metadata.operation_result.originated_contracts.join(',')\n : 'Error'\n\n return [\n ...retval, {\n contract: contract.filename,\n address,\n destination\n }\n ]\n }\n\n return [\n ...retval, {\n contract: contract.filename,\n address: \"Error\",\n destination\n }\n ]\n },\n [] as OriginationResult[]\n )\n}\n\n\nconst createBatch = async (parsedArgs: Opts, tezos: TezosToolkit, destination: string) => {\n const contracts = await getValidContracts (parsedArgs) \n \n const batch = await contracts.reduce(\n (batch, contractMapping) => \n contractMapping.storage\n ? addOrigination(parsedArgs, batch) (contractMapping)\n : batch,\n Promise.resolve(tezos.wallet.batch())\n )\n \n try {\n const op = await batch.send()\n const confirmed = await op.confirmation()\n return await mapOpToContract(contracts, op, destination)\n }\n catch (err) {\n const error = (err as {message: string})\n if (error.message) sendErr(error.message)\n return undefined\n }\n}\n\nconst originateToNetworks = (parsedArgs: Opts, currentEnv: Protocol.Environment.t) =>\n currentEnv.networks\n ? currentEnv.networks.reduce(\n (retval, networkName) => {\n const network = getNetworkConfig (parsedArgs) (networkName)\n if (network) {\n if (network.rpcUrl) {\n if (network.faucet) {\n const result = (async () => {\n const tezos = new TezosToolkit(network.rpcUrl as string)\n await importKey(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(' '), network.faucet.activation_code)\n return await createBatch(parsedArgs, tezos, networkName)\n })()\n \n return [...retval, result]\n }\n else sendErr(`Network ${networkName} requires a valid faucet in config.json.`)\n }\n else sendErr(`Network \"${networkName} is missing an RPC url in config.json.\"`)\n }\n else sendErr(`The current environment is configured to use a network called '${networkName}'; however, no network of this name has been configured in .taq/config.json.`)\n \n return retval\n },\n [] as Promise<OriginationResult[]|undefined>[]\n )\n : []\n\nconst originateToSandboxes = (parsedArgs: Opts, currentEnv: Protocol.Environment.t) =>\n currentEnv.sandboxes\n ? currentEnv.sandboxes.reduce(\n (retval, sandboxName) => {\n const sandbox = getSandboxConfig (parsedArgs) (sandboxName)\n if (sandbox) {\n if (sandbox.rpcUrl) {\n let defaultAccount = getDefaultAccount(parsedArgs) (sandboxName)\n if (!defaultAccount) {\n const first = getFirstAccountAlias(sandboxName, parsedArgs)\n if (first) {\n defaultAccount = getSandboxAccountConfig(parsedArgs) (sandboxName) (first)\n sendErr(`No default account has been configured for the sandbox called ${sandboxName}. Using the account called ${first} for origination.`)\n }\n }\n if (defaultAccount) {\n const secretKey = defaultAccount.secretKey\n const result = (async () => {\n const tezos = new TezosToolkit(sandbox.rpcUrl as string)\n tezos.setProvider({\n signer: new InMemorySigner(secretKey.replace(/^unencrypted:/, '')),\n });\n return await createBatch(parsedArgs, tezos, sandboxName)\n })()\n \n return [...retval, result]\n }\n else sendErr(`No accounts are available for the sandbox called ${sandboxName} to perform origination.`)\n }\n else sendErr(`Sandbox \"${sandboxName} is missing an RPC url in config.json.\"`)\n }\n else sendErr(`The current environment is configured to use a sandbox called '${sandboxName}'; however, no sandbox of this name has been configured in .taq/config.json.`)\n\n return retval\n },\n [] as Promise<OriginationResult[]|undefined>[]\n )\n : []\n \n \n\nexport const originate = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, TaqError.t> => {\n const env = getCurrentEnvironmentConfig(parsedArgs)\n\n if (!env) {\n return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json.`)\n }\n\n const jobs = [\n ...originateToNetworks(parsedArgs, env),\n ...originateToSandboxes(parsedArgs, env)\n ]\n\n return Promise.all(jobs)\n .then(jobs => jobs.reduce(\n (retval, originations) => {\n return originations\n ? [...retval as OriginationResult[], ...originations]\n : retval\n },\n []\n ))\n .then(results => results && results.length > 0 ? sendJsonRes(results): sendErr(`No contracts originated.`))\n}\n\nexport default originate\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../"}
|