@taqueria/plugin-taquito 0.2.0 → 0.3.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 +113 -125
- package/index.js.map +1 -1
- package/index.ts +1 -1
- package/originate.ts +156 -167
- package/package.json +7 -7
- package/tsconfig.json +1 -1
package/index.js
CHANGED
|
@@ -17,141 +17,129 @@ function $parcel$interopDefault(a) {
|
|
|
17
17
|
|
|
18
18
|
const $806c5c6032403442$var$getContractAbspath = (contractFilename, parsedArgs)=>$iVZbm$path.join(parsedArgs.artifactsDir, /\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)
|
|
19
19
|
;
|
|
20
|
-
const $806c5c6032403442$var$
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (secretKey) {
|
|
27
|
-
tezos.setProvider({
|
|
28
|
-
signer: new $iVZbm$taquitosigner.InMemorySigner(secretKey)
|
|
29
|
-
});
|
|
30
|
-
const contractData = await $iVZbm$fspromises.readFile(contractAbspath, "utf-8");
|
|
31
|
-
return tezos.contract.originate({
|
|
32
|
-
code: contractData,
|
|
33
|
-
storage: storage
|
|
34
|
-
}).then((operation)=>({
|
|
35
|
-
contract: contractFilename,
|
|
36
|
-
address: operation.contractAddress,
|
|
37
|
-
destination: sandboxName
|
|
38
|
-
})
|
|
39
|
-
).catch((previous)=>Promise.reject({
|
|
40
|
-
errCode: "E_ORIGINATE",
|
|
41
|
-
errMsg: `Could not originate ${contractFilename} on the sandbox '${sandboxName}'`,
|
|
42
|
-
previous: previous
|
|
43
|
-
})
|
|
44
|
-
);
|
|
45
|
-
} else return Promise.reject({
|
|
46
|
-
errCode: "E_INVALID_SANDBOX_ACCOUNT",
|
|
47
|
-
errMsg: `Please configure a default account for the ${sandboxName} to be used for origination.`,
|
|
48
|
-
context: sandbox
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return Promise.reject({
|
|
52
|
-
errCode: "E_INVALID_SANDBOX_URL",
|
|
53
|
-
errMsg: 'The sandbox configuration is invalid and missing the RPC url',
|
|
54
|
-
context: sandbox
|
|
55
|
-
});
|
|
56
|
-
} catch (err) {
|
|
57
|
-
return Promise.reject({
|
|
58
|
-
errCode: "E_ORIGINATE",
|
|
59
|
-
errMsg: "An unexpected error occured when trying to originate a contract",
|
|
60
|
-
previous: err
|
|
20
|
+
const $806c5c6032403442$var$addOrigination = (parsedArgs, batch)=>async (mapping)=>{
|
|
21
|
+
const contractAbspath = $806c5c6032403442$var$getContractAbspath(mapping.filename, parsedArgs);
|
|
22
|
+
const contractData = await $iVZbm$fspromises.readFile(contractAbspath, "utf-8");
|
|
23
|
+
return (await batch).withOrigination({
|
|
24
|
+
code: contractData,
|
|
25
|
+
storage: mapping.storage
|
|
61
26
|
});
|
|
62
27
|
}
|
|
28
|
+
;
|
|
29
|
+
const $806c5c6032403442$var$getValidContracts = async (parsedArgs)=>{
|
|
30
|
+
const contracts = parsedArgs.contract ? [
|
|
31
|
+
parsedArgs.contract
|
|
32
|
+
] : await ($parcel$interopDefault($iVZbm$fastglob))("**/*.tz", {
|
|
33
|
+
cwd: parsedArgs.artifactsDir
|
|
34
|
+
});
|
|
35
|
+
return contracts.reduce((retval, filename)=>{
|
|
36
|
+
const storage = $iVZbm$taquerianodesdk.getInitialStorage(parsedArgs)(filename);
|
|
37
|
+
if (!storage) throw `No initial storage provided for ${filename}`;
|
|
38
|
+
return [
|
|
39
|
+
...retval,
|
|
40
|
+
{
|
|
41
|
+
filename: filename,
|
|
42
|
+
storage: storage
|
|
43
|
+
}
|
|
44
|
+
];
|
|
45
|
+
}, []);
|
|
63
46
|
};
|
|
64
|
-
const $806c5c6032403442$var$
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
errCode: "E_ORIGINATE",
|
|
82
|
-
errMsg: `Could not originate ${contractFilename} on the network '${networkName}'`,
|
|
83
|
-
previous: previous
|
|
84
|
-
})
|
|
85
|
-
);
|
|
86
|
-
} else return Promise.reject({
|
|
87
|
-
errCode: "E_INVALID_NETWORK_FAUCET",
|
|
88
|
-
errMsg: `Please configure a faucet for the ${network} network to be used for origination.`,
|
|
89
|
-
context: network
|
|
90
|
-
});
|
|
47
|
+
const $806c5c6032403442$var$mapOpToContract = async (contracts, op, destination)=>{
|
|
48
|
+
debugger;
|
|
49
|
+
const results = await op.operationResults();
|
|
50
|
+
return contracts.reduce((retval, contract)=>{
|
|
51
|
+
// If initial storage was provided for the contract
|
|
52
|
+
// then we submitted an operation to originate that contract
|
|
53
|
+
if (contract.storage) {
|
|
54
|
+
const result = results.pop();
|
|
55
|
+
const address = result && result.metadata.operation_result.originated_contracts ? result.metadata.operation_result.originated_contracts.join(',') : 'Error';
|
|
56
|
+
return [
|
|
57
|
+
...retval,
|
|
58
|
+
{
|
|
59
|
+
contract: contract.filename,
|
|
60
|
+
address: address,
|
|
61
|
+
destination: destination
|
|
62
|
+
}
|
|
63
|
+
];
|
|
91
64
|
}
|
|
92
|
-
return
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
previous: err
|
|
102
|
-
});
|
|
103
|
-
}
|
|
65
|
+
return [
|
|
66
|
+
...retval,
|
|
67
|
+
{
|
|
68
|
+
contract: contract.filename,
|
|
69
|
+
address: "Error",
|
|
70
|
+
destination: destination
|
|
71
|
+
}
|
|
72
|
+
];
|
|
73
|
+
}, []);
|
|
104
74
|
};
|
|
105
|
-
const $806c5c6032403442$var$
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const
|
|
115
|
-
if (
|
|
75
|
+
const $806c5c6032403442$var$createBatch = async (parsedArgs, tezos, destination)=>{
|
|
76
|
+
const contracts = await $806c5c6032403442$var$getValidContracts(parsedArgs);
|
|
77
|
+
const batch1 = await contracts.reduce((batch, contractMapping)=>contractMapping.storage ? $806c5c6032403442$var$addOrigination(parsedArgs, batch)(contractMapping) : batch
|
|
78
|
+
, Promise.resolve(tezos.wallet.batch()));
|
|
79
|
+
try {
|
|
80
|
+
const op = await batch1.send();
|
|
81
|
+
const confirmed = await op.confirmation();
|
|
82
|
+
return await $806c5c6032403442$var$mapOpToContract(contracts, op, destination);
|
|
83
|
+
} catch (err) {
|
|
84
|
+
const error = err;
|
|
85
|
+
if (error.message) $iVZbm$taquerianodesdk.sendErr(error.message);
|
|
86
|
+
return undefined;
|
|
116
87
|
}
|
|
117
|
-
return undefined;
|
|
118
88
|
};
|
|
119
|
-
const $806c5c6032403442$var$
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
] : retval
|
|
137
|
-
, []);
|
|
138
|
-
const allProcesses = !env.sandboxes ? [] : env.sandboxes.reduce((retval, sandbox)=>$806c5c6032403442$var$getSandboxConfig(sandbox, parsedArgs.config) ? [
|
|
139
|
-
...retval,
|
|
140
|
-
$806c5c6032403442$var$originateContractToSandbox(contractFilename, parsedArgs, env.storage[contractFilename], sandbox, $806c5c6032403442$var$getSandboxConfig(sandbox, parsedArgs.config))
|
|
141
|
-
] : retval
|
|
142
|
-
, networkProcesses);
|
|
143
|
-
return Promise.all(allProcesses);
|
|
144
|
-
}
|
|
89
|
+
const $806c5c6032403442$var$originateToNetworks = (parsedArgs, currentEnv)=>currentEnv.networks ? currentEnv.networks.reduce((retval, networkName)=>{
|
|
90
|
+
const network = $iVZbm$taquerianodesdk.getNetworkConfig(parsedArgs)(networkName);
|
|
91
|
+
if (network.rpcUrl) {
|
|
92
|
+
if (network.faucet) {
|
|
93
|
+
const result = (async ()=>{
|
|
94
|
+
const tezos = new $iVZbm$taquitotaquito.TezosToolkit(network.rpcUrl);
|
|
95
|
+
await $iVZbm$taquitosigner.importKey(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(' '), network.faucet.activation_code);
|
|
96
|
+
return await $806c5c6032403442$var$createBatch(parsedArgs, tezos, networkName);
|
|
97
|
+
})();
|
|
98
|
+
return [
|
|
99
|
+
...retval,
|
|
100
|
+
result
|
|
101
|
+
];
|
|
102
|
+
} else $iVZbm$taquerianodesdk.sendErr(`Network ${networkName} requires a valid faucet in config.json.`);
|
|
103
|
+
} else $iVZbm$taquerianodesdk.sendErr(`Network "${networkName} is missing an RPC url in config.json."`);
|
|
104
|
+
return retval;
|
|
105
|
+
}, []) : []
|
|
145
106
|
;
|
|
146
|
-
const $806c5c6032403442$var$
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
107
|
+
const $806c5c6032403442$var$originateToSandboxes = (parsedArgs, currentEnv)=>currentEnv.sandboxes ? currentEnv.sandboxes.reduce((retval, sandboxName)=>{
|
|
108
|
+
const sandbox = $iVZbm$taquerianodesdk.getSandboxConfig(parsedArgs)(sandboxName);
|
|
109
|
+
if (sandbox.rpcUrl) {
|
|
110
|
+
const secretKey = $iVZbm$taquerianodesdk.getDefaultAccount(parsedArgs)(sandboxName)?.keys?.secretKey;
|
|
111
|
+
if (secretKey) {
|
|
112
|
+
const result = (async ()=>{
|
|
113
|
+
const tezos = new $iVZbm$taquitotaquito.TezosToolkit(sandbox.rpcUrl);
|
|
114
|
+
tezos.setProvider({
|
|
115
|
+
signer: new $iVZbm$taquitosigner.InMemorySigner(secretKey.replace(/^unencrypted:/, ''))
|
|
116
|
+
});
|
|
117
|
+
return await $806c5c6032403442$var$createBatch(parsedArgs, tezos, sandboxName);
|
|
118
|
+
})();
|
|
119
|
+
return [
|
|
120
|
+
...retval,
|
|
121
|
+
result
|
|
122
|
+
];
|
|
123
|
+
} else $iVZbm$taquerianodesdk.sendErr(`Sandbox ${sandboxName}'s default account is missing keys in config.json.`);
|
|
124
|
+
} else $iVZbm$taquerianodesdk.sendErr(`Sandbox "${sandboxName} is missing an RPC url in config.json."`);
|
|
125
|
+
return retval;
|
|
126
|
+
}, []) : []
|
|
151
127
|
;
|
|
152
128
|
const $806c5c6032403442$export$acf571c34911f824 = (parsedArgs)=>{
|
|
153
|
-
const
|
|
154
|
-
return
|
|
129
|
+
const env = $iVZbm$taquerianodesdk.getCurrentEnvironmentConfig(parsedArgs);
|
|
130
|
+
if (!env) return $iVZbm$taquerianodesdk.sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json.`);
|
|
131
|
+
const jobs1 = [
|
|
132
|
+
...$806c5c6032403442$var$originateToNetworks(parsedArgs, env),
|
|
133
|
+
...$806c5c6032403442$var$originateToSandboxes(parsedArgs, env)
|
|
134
|
+
];
|
|
135
|
+
return Promise.all(jobs1).then((jobs)=>jobs.reduce((retval, originations)=>{
|
|
136
|
+
return originations ? [
|
|
137
|
+
...retval,
|
|
138
|
+
...originations
|
|
139
|
+
] : retval;
|
|
140
|
+
}, [])
|
|
141
|
+
).then((results)=>results && results.length > 0 ? $iVZbm$taquerianodesdk.sendJsonRes(results) : $iVZbm$taquerianodesdk.sendErr(`No contracts originated.`)
|
|
142
|
+
);
|
|
155
143
|
};
|
|
156
144
|
var $806c5c6032403442$export$2e2bcd8739ae039 = $806c5c6032403442$export$acf571c34911f824;
|
|
157
145
|
|
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 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":"../"}
|
|
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 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, EnvironmentConfig} from \"@taqueria/node-sdk/types\";\nimport glob from 'fast-glob'\nimport {join} from 'path'\nimport { TezosToolkit, OriginateParams, WalletOperationBatch } from '@taquito/taquito';\nimport {readFile} from 'fs/promises'\nimport { InMemorySigner, importKey } from '@taquito/signer';\nimport { sendAsyncJsonRes, 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\";\n\ntype Opts = SanitizedArgs & Record<string, unknown>\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 getContractAbspath = (contractFilename: string, parsedArgs: Opts) => \n join(parsedArgs.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 as string]\n : (await glob(\"**/*.tz\", {cwd: parsedArgs.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 debugger\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 const result = results.pop() 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: EnvironmentConfig) =>\n currentEnv.networks\n ? currentEnv.networks.reduce(\n (retval, networkName) => {\n const network = getNetworkConfig (parsedArgs) (networkName)\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 return retval\n },\n [] as Promise<OriginationResult[]|undefined>[]\n )\n : []\n\nconst originateToSandboxes = (parsedArgs: Opts, currentEnv: EnvironmentConfig) =>\n currentEnv.sandboxes\n ? currentEnv.sandboxes.reduce(\n (retval, sandboxName) => {\n const sandbox = getSandboxConfig (parsedArgs) (sandboxName)\n if (sandbox.rpcUrl) {\n const secretKey = getDefaultAccount(parsedArgs) (sandboxName) ?.keys?.secretKey\n if (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(`Sandbox ${sandboxName}'s default account is missing keys in config.json.`)\n }\n else sendErr(`Sandbox \"${sandboxName} is missing an RPC url in 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, Failure<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":"../"}
|
package/index.ts
CHANGED
package/originate.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { SanitizedArgs, PluginResponse, AccountDetails, Failure, LikeAPromise, Config, NetworkConfig, SandboxConfig} from "@taqueria/node-sdk/types";
|
|
1
|
+
import { SanitizedArgs, PluginResponse, AccountDetails, Failure, LikeAPromise, Config, NetworkConfig, SandboxConfig, EnvironmentConfig} from "@taqueria/node-sdk/types";
|
|
2
2
|
import glob from 'fast-glob'
|
|
3
3
|
import {join} from 'path'
|
|
4
|
-
import { TezosToolkit } from '@taquito/taquito';
|
|
4
|
+
import { TezosToolkit, OriginateParams, WalletOperationBatch } 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
|
+
import { sendAsyncJsonRes, getCurrentEnvironmentConfig, getNetworkConfig, getSandboxAccountConfig, getInitialStorage, sendErr, getSandboxConfig, getDefaultAccount, sendJsonRes, sendAsyncErr } from "@taqueria/node-sdk";
|
|
8
|
+
import { BatchWalletOperation } from "@taquito/taquito/dist/types/wallet/batch-operation";
|
|
9
|
+
import { OperationContentsAndResultOrigination } from "@taquito/rpc";
|
|
8
10
|
|
|
9
11
|
type Opts = SanitizedArgs & Record<string, unknown>
|
|
10
12
|
|
|
13
|
+
interface ContractStorageMapping {
|
|
14
|
+
filename: string,
|
|
15
|
+
storage?: unknown
|
|
16
|
+
}
|
|
17
|
+
|
|
11
18
|
interface OriginationResult {
|
|
12
19
|
contract: string
|
|
13
20
|
address: string
|
|
@@ -17,185 +24,167 @@ interface OriginationResult {
|
|
|
17
24
|
const getContractAbspath = (contractFilename: string, parsedArgs: Opts) =>
|
|
18
25
|
join(parsedArgs.artifactsDir, /\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`)
|
|
19
26
|
|
|
27
|
+
const addOrigination = (parsedArgs: Opts, batch: Promise<WalletOperationBatch>) => async (mapping: ContractStorageMapping) => {
|
|
28
|
+
const contractAbspath = getContractAbspath(mapping.filename, parsedArgs)
|
|
29
|
+
const contractData = await readFile(contractAbspath, "utf-8")
|
|
30
|
+
return (await batch).withOrigination({
|
|
31
|
+
code: contractData,
|
|
32
|
+
storage: mapping.storage,
|
|
33
|
+
|
|
34
|
+
})
|
|
35
|
+
}
|
|
20
36
|
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
code: contractData,
|
|
35
|
-
storage: storage
|
|
36
|
-
})
|
|
37
|
-
.then(operation => ({
|
|
38
|
-
contract: contractFilename,
|
|
39
|
-
address: operation.contractAddress as string,
|
|
40
|
-
destination: sandboxName
|
|
41
|
-
}))
|
|
42
|
-
.catch(previous => Promise.reject({
|
|
43
|
-
errCode: "E_ORIGINATE",
|
|
44
|
-
errMsg: `Could not originate ${contractFilename} on the sandbox '${sandboxName}'`,
|
|
45
|
-
previous
|
|
46
|
-
}))
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return Promise.reject({
|
|
50
|
-
errCode: "E_INVALID_SANDBOX_ACCOUNT",
|
|
51
|
-
errMsg: `Please configure a default account for the ${sandboxName} to be used for origination.`,
|
|
52
|
-
context: sandbox
|
|
53
|
-
})
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return Promise.reject({
|
|
57
|
-
errCode: "E_INVALID_SANDBOX_URL",
|
|
58
|
-
errMsg: 'The sandbox configuration is invalid and missing the RPC url',
|
|
59
|
-
context: sandbox
|
|
60
|
-
})
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
return Promise.reject({
|
|
64
|
-
errCode: "E_ORIGINATE",
|
|
65
|
-
errMsg: "An unexpected error occured when trying to originate a contract",
|
|
66
|
-
previous: err
|
|
67
|
-
})
|
|
68
|
-
}
|
|
37
|
+
const getValidContracts = async (parsedArgs: Opts) => {
|
|
38
|
+
const contracts = parsedArgs.contract
|
|
39
|
+
? [parsedArgs.contract as string]
|
|
40
|
+
: (await glob("**/*.tz", {cwd: parsedArgs.artifactsDir})) as string[]
|
|
41
|
+
|
|
42
|
+
return contracts.reduce(
|
|
43
|
+
(retval, filename) => {
|
|
44
|
+
const storage = getInitialStorage(parsedArgs) (filename)
|
|
45
|
+
if (!storage) throw(`No initial storage provided for ${filename}`)
|
|
46
|
+
return [...retval, {filename, storage}]
|
|
47
|
+
},
|
|
48
|
+
[] as ContractStorageMapping[]
|
|
49
|
+
)
|
|
69
50
|
}
|
|
70
51
|
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}))
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
return Promise.reject({
|
|
97
|
-
errCode: "E_INVALID_NETWORK_FAUCET",
|
|
98
|
-
errMsg: `Please configure a faucet for the ${network} network to be used for origination.`,
|
|
99
|
-
context: network
|
|
100
|
-
})
|
|
52
|
+
const mapOpToContract = async (contracts: ContractStorageMapping[], op: BatchWalletOperation, destination: string) => {
|
|
53
|
+
debugger
|
|
54
|
+
const results = await op.operationResults()
|
|
55
|
+
|
|
56
|
+
return contracts.reduce(
|
|
57
|
+
(retval, contract) => {
|
|
58
|
+
|
|
59
|
+
// If initial storage was provided for the contract
|
|
60
|
+
// then we submitted an operation to originate that contract
|
|
61
|
+
if (contract.storage) {
|
|
62
|
+
const result = results.pop() as OperationContentsAndResultOrigination
|
|
63
|
+
const address = result && result.metadata.operation_result.originated_contracts
|
|
64
|
+
? result.metadata.operation_result.originated_contracts.join(',')
|
|
65
|
+
: 'Error'
|
|
66
|
+
|
|
67
|
+
return [
|
|
68
|
+
...retval, {
|
|
69
|
+
contract: contract.filename,
|
|
70
|
+
address,
|
|
71
|
+
destination
|
|
72
|
+
}
|
|
73
|
+
]
|
|
101
74
|
}
|
|
102
|
-
}
|
|
103
|
-
return Promise.reject({
|
|
104
|
-
errCode: "E_INVALID_NETWORK_URL",
|
|
105
|
-
errMsg: 'The network configuration is invalid and missing the RPC url',
|
|
106
|
-
context: network
|
|
107
|
-
})
|
|
108
|
-
}
|
|
109
|
-
catch (err) {
|
|
110
|
-
return Promise.reject({
|
|
111
|
-
errCode: "E_ORIGINATE",
|
|
112
|
-
errMsg: "An unexpected error occured when trying to originate a contract",
|
|
113
|
-
previous: err
|
|
114
|
-
})
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
75
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
76
|
+
return [
|
|
77
|
+
...retval, {
|
|
78
|
+
contract: contract.filename,
|
|
79
|
+
address: "Error",
|
|
80
|
+
destination
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
[] as OriginationResult[]
|
|
85
|
+
)
|
|
122
86
|
}
|
|
123
87
|
|
|
124
|
-
const getSandboxConfig = (sandboxName: string, config: Config) => {
|
|
125
|
-
return !config.sandbox[sandboxName]
|
|
126
|
-
? undefined
|
|
127
|
-
: config.sandbox[sandboxName]
|
|
128
|
-
}
|
|
129
88
|
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
89
|
+
const createBatch = async (parsedArgs: Opts, tezos: TezosToolkit, destination: string) => {
|
|
90
|
+
const contracts = await getValidContracts (parsedArgs)
|
|
91
|
+
|
|
92
|
+
const batch = await contracts.reduce(
|
|
93
|
+
(batch, contractMapping) =>
|
|
94
|
+
contractMapping.storage
|
|
95
|
+
? addOrigination(parsedArgs, batch) (contractMapping)
|
|
96
|
+
: batch,
|
|
97
|
+
Promise.resolve(tezos.wallet.batch())
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
try {
|
|
101
|
+
const op = await batch.send()
|
|
102
|
+
const confirmed = await op.confirmation()
|
|
103
|
+
return await mapOpToContract(contracts, op, destination)
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
const error = (err as {message: string})
|
|
107
|
+
if (error.message) sendErr(error.message)
|
|
108
|
+
return undefined
|
|
135
109
|
}
|
|
136
|
-
|
|
137
|
-
return undefined
|
|
138
110
|
}
|
|
139
111
|
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
112
|
+
const originateToNetworks = (parsedArgs: Opts, currentEnv: EnvironmentConfig) =>
|
|
113
|
+
currentEnv.networks
|
|
114
|
+
? currentEnv.networks.reduce(
|
|
115
|
+
(retval, networkName) => {
|
|
116
|
+
const network = getNetworkConfig (parsedArgs) (networkName)
|
|
117
|
+
if (network.rpcUrl) {
|
|
118
|
+
if (network.faucet) {
|
|
119
|
+
const result = (async () => {
|
|
120
|
+
const tezos = new TezosToolkit(network.rpcUrl as string)
|
|
121
|
+
await importKey(tezos, network.faucet.email, network.faucet.password, network.faucet.mnemonic.join(' '), network.faucet.activation_code)
|
|
122
|
+
return await createBatch(parsedArgs, tezos, networkName)
|
|
123
|
+
})()
|
|
124
|
+
|
|
125
|
+
return [...retval, result]
|
|
126
|
+
}
|
|
127
|
+
else sendErr(`Network ${networkName} requires a valid faucet in config.json.`)
|
|
128
|
+
}
|
|
129
|
+
else sendErr(`Network "${networkName} is missing an RPC url in config.json."`)
|
|
130
|
+
return retval
|
|
131
|
+
},
|
|
132
|
+
[] as Promise<OriginationResult[]|undefined>[]
|
|
133
|
+
)
|
|
134
|
+
: []
|
|
135
|
+
|
|
136
|
+
const originateToSandboxes = (parsedArgs: Opts, currentEnv: EnvironmentConfig) =>
|
|
137
|
+
currentEnv.sandboxes
|
|
138
|
+
? currentEnv.sandboxes.reduce(
|
|
139
|
+
(retval, sandboxName) => {
|
|
140
|
+
const sandbox = getSandboxConfig (parsedArgs) (sandboxName)
|
|
141
|
+
if (sandbox.rpcUrl) {
|
|
142
|
+
const secretKey = getDefaultAccount(parsedArgs) (sandboxName) ?.keys?.secretKey
|
|
143
|
+
if (secretKey) {
|
|
144
|
+
const result = (async () => {
|
|
145
|
+
const tezos = new TezosToolkit(sandbox.rpcUrl as string)
|
|
146
|
+
tezos.setProvider({
|
|
147
|
+
signer: new InMemorySigner(secretKey.replace(/^unencrypted:/, '')),
|
|
148
|
+
});
|
|
149
|
+
return await createBatch(parsedArgs, tezos, sandboxName)
|
|
150
|
+
})()
|
|
151
|
+
|
|
152
|
+
return [...retval, result]
|
|
153
|
+
}
|
|
154
|
+
else sendErr(`Sandbox ${sandboxName}'s default account is missing keys in config.json.`)
|
|
155
|
+
}
|
|
156
|
+
else sendErr(`Sandbox "${sandboxName} is missing an RPC url in config.json."`)
|
|
157
|
+
|
|
158
|
+
return retval
|
|
159
|
+
},
|
|
160
|
+
[] as Promise<OriginationResult[]|undefined>[]
|
|
148
161
|
)
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
162
|
+
: []
|
|
163
|
+
|
|
164
|
+
|
|
152
165
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
errCode: "E_INVALID_ENV",
|
|
156
|
-
errMsg: `No environment configured in your configuration file called ${parsedArgs.env}`,
|
|
157
|
-
context: parsedArgs.config
|
|
158
|
-
})
|
|
159
|
-
}
|
|
166
|
+
export const originate = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, Failure<T>> => {
|
|
167
|
+
const env = getCurrentEnvironmentConfig(parsedArgs)
|
|
160
168
|
|
|
161
|
-
if (!env
|
|
162
|
-
return
|
|
163
|
-
errCode: "E_INVALID_STORAGE",
|
|
164
|
-
errMsg: `No storage configured in your configuration file for ${contractFilename}`,
|
|
165
|
-
context: env
|
|
166
|
-
})
|
|
169
|
+
if (!env) {
|
|
170
|
+
return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json.`)
|
|
167
171
|
}
|
|
168
172
|
|
|
169
|
-
const
|
|
170
|
-
(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
return Promise.all(allProcesses)
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
const originateAll = (parsedArgs: Opts) =>
|
|
189
|
-
glob("**/*.tz", {cwd: parsedArgs.artifactsDir})
|
|
190
|
-
.then(files => Promise.all(files.map(originateContract(parsedArgs))))
|
|
191
|
-
.then(results => results.flat(1))
|
|
192
|
-
|
|
193
|
-
export const originate = <T>(parsedArgs: Opts): LikeAPromise<PluginResponse, Failure<T>> => {
|
|
194
|
-
const p = parsedArgs.contract
|
|
195
|
-
? originateContract(parsedArgs) (parsedArgs.contract as string)
|
|
196
|
-
: originateAll(parsedArgs)
|
|
197
|
-
|
|
198
|
-
return p.then(sendAsyncJsonRes)
|
|
173
|
+
const jobs = [
|
|
174
|
+
...originateToNetworks(parsedArgs, env),
|
|
175
|
+
...originateToSandboxes(parsedArgs, env)
|
|
176
|
+
]
|
|
177
|
+
|
|
178
|
+
return Promise.all(jobs)
|
|
179
|
+
.then(jobs => jobs.reduce(
|
|
180
|
+
(retval, originations) => {
|
|
181
|
+
return originations
|
|
182
|
+
? [...retval as OriginationResult[], ...originations]
|
|
183
|
+
: retval
|
|
184
|
+
},
|
|
185
|
+
[]
|
|
186
|
+
))
|
|
187
|
+
.then(results => results && results.length > 0 ? sendJsonRes(results): sendErr(`No contracts originated.`))
|
|
199
188
|
}
|
|
200
189
|
|
|
201
|
-
export default originate
|
|
190
|
+
export default originate
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taqueria/plugin-taquito",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
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 2>&1",
|
|
16
|
+
"build": "npx tsc -noEmit && 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": [
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
},
|
|
43
43
|
"homepage": "https://github.com/ecadlabs/taqueria#readme",
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"parcel": "^2.0
|
|
45
|
+
"parcel": "^2.4.0",
|
|
46
46
|
"typescript": "4.5.4"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@
|
|
50
|
-
"@taquito/
|
|
51
|
-
"
|
|
52
|
-
"
|
|
49
|
+
"@taqueria/node-sdk": "^0.3.1",
|
|
50
|
+
"@taquito/signer": "^12.1.0",
|
|
51
|
+
"@taquito/taquito": "^12.1.0",
|
|
52
|
+
"fast-glob": "^3.2.10"
|
|
53
53
|
}
|
|
54
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": "
|
|
14
|
+
"target": "ES2021", /* 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. */
|