@taqueria/plugin-taquito 0.78.0 → 0.78.11
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/common.ts +3 -3
- package/index.js +3 -3
- package/index.js.map +1 -1
- package/index.mjs +3 -3
- package/index.mjs.map +1 -1
- package/package.json +10 -10
package/common.ts
CHANGED
|
@@ -16,8 +16,8 @@ import {
|
|
|
16
16
|
SandboxAccountConfig,
|
|
17
17
|
SandboxConfig,
|
|
18
18
|
} from '@taqueria/node-sdk/types';
|
|
19
|
-
import {
|
|
20
|
-
import { TezosToolkit } from '@taquito/taquito';
|
|
19
|
+
import { InMemorySigner } from '@taquito/signer';
|
|
20
|
+
import { importKey, TezosToolkit } from '@taquito/taquito';
|
|
21
21
|
|
|
22
22
|
export type OriginateOpts = ProxyTaskArgs.t & {
|
|
23
23
|
contract: string;
|
|
@@ -202,7 +202,7 @@ export const handleOpsError = (err: unknown, env: string): Promise<never> => {
|
|
|
202
202
|
const publicKeyHash = result ? result[0] : undefined;
|
|
203
203
|
if (publicKeyHash) {
|
|
204
204
|
return sendAsyncErr(
|
|
205
|
-
`The account ${publicKeyHash} for the target environment, "${env}", may not be funded\nTo fund this account:\n1. Go to https://teztnets.
|
|
205
|
+
`The account ${publicKeyHash} for the target environment, "${env}", may not be funded\nTo fund this account:\n1. Go to https://teztnets.com and click "Faucet" of the target testnet\n2. Copy and paste the above key into the wallet address field\n3. Request some Tez (Note that you might need to wait for a few seconds for the network to register the funds)`,
|
|
206
206
|
);
|
|
207
207
|
}
|
|
208
208
|
}
|
package/index.js
CHANGED
|
@@ -79,7 +79,7 @@ var configureToolKitForNetwork = async (parsedArgs, network, sender) => {
|
|
|
79
79
|
}
|
|
80
80
|
const tezos = new import_taquito.TezosToolkit(network.rpcUrl);
|
|
81
81
|
const key = await (0, import_node_sdk.getAccountPrivateKey)(parsedArgs, network, account);
|
|
82
|
-
await (0,
|
|
82
|
+
await (0, import_taquito.importKey)(tezos, key);
|
|
83
83
|
return tezos;
|
|
84
84
|
};
|
|
85
85
|
var getDeclaredAccounts = (parsedArgs) => Object.entries(parsedArgs.config.accounts ?? {}).reduce(
|
|
@@ -118,7 +118,7 @@ var getNetworkInstantiatedAccounts = (network) => network.accounts ? Object.entr
|
|
|
118
118
|
var generateAccountKeys = async (parsedArgs, network, account) => {
|
|
119
119
|
const tezos = new import_taquito.TezosToolkit(network.rpcUrl);
|
|
120
120
|
const key = await (0, import_node_sdk.getAccountPrivateKey)(parsedArgs, network, account);
|
|
121
|
-
await (0,
|
|
121
|
+
await (0, import_taquito.importKey)(tezos, key);
|
|
122
122
|
};
|
|
123
123
|
var handleOpsError = (err, env) => {
|
|
124
124
|
if (err instanceof Error) {
|
|
@@ -132,7 +132,7 @@ var handleOpsError = (err, env) => {
|
|
|
132
132
|
return (0, import_node_sdk.sendAsyncErr)(
|
|
133
133
|
`The account ${publicKeyHash} for the target environment, "${env}", may not be funded
|
|
134
134
|
To fund this account:
|
|
135
|
-
1. Go to https://teztnets.
|
|
135
|
+
1. Go to https://teztnets.com and click "Faucet" of the target testnet
|
|
136
136
|
2. Copy and paste the above key into the wallet address field
|
|
137
137
|
3. Request some Tez (Note that you might need to wait for a few seconds for the network to register the funds)`
|
|
138
138
|
);
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts","main.ts","fund.ts","common.ts","transfer.ts","instantiate_account.ts","originate.ts"],"sourcesContent":["import { Option, Plugin, Task } from '@taqueria/node-sdk';\nimport main from './main';\n\nPlugin.create(_i18n => ({\n\talias: 'taquito',\n\tschema: '1.0',\n\tversion: '0.1',\n\ttasks: [\n\t\tTask.create({\n\t\t\ttask: 'deploy',\n\t\t\tcommand: 'deploy <contract>',\n\t\t\tdescription: 'Deploy a smart contract to a particular environment',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'alias',\n\t\t\t\t\tdescription: \"Alias used to refer to the deployed contract's address\",\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storage',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Name of the storage file that contains the storage value as a Michelson expression, in the artifacts directory, used for originating a contract',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'sender',\n\t\t\t\t\tdescription: 'Name of an instantiated account to use as the sender of the originate operation',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'mutez',\n\t\t\t\t\tdescription: 'Amount of Mutez to transfer',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Number of seconds to elapse before abandoning the operation (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'gasLimit',\n\t\t\t\t\tshortFlag: 'g',\n\t\t\t\t\tdescription: 'Gas limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storageLimit',\n\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\tdescription: 'Storage limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'fee',\n\t\t\t\t\tshortFlag: 'f',\n\t\t\t\t\tdescription: 'Fee per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t\taliases: ['originate'],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'transfer',\n\t\t\tcommand: 'transfer <contract>',\n\t\t\tdescription:\n\t\t\t\t'Transfer/call an implicit account or a smart contract (specified via its alias or address) deployed to a particular environment',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'mutez',\n\t\t\t\t\tdescription: 'Amount of Mutez to transfer',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'param',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Name of the parameter file that contains the parameter value as a Michelson expression, in the artifacts directory, used for invoking a deployed contract',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'entrypoint',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'You may explicitly specify an entrypoint to make the parameter value shorter, without having to specify a chain of (Left (Right ... 14 ...))',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'sender',\n\t\t\t\t\tdescription: 'Name of an instantiated account to use as the sender of the transfer operation',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription: 'Number of retry attempts (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'gasLimit',\n\t\t\t\t\tshortFlag: 'g',\n\t\t\t\t\tdescription: 'Gas limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storageLimit',\n\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\tdescription: 'Storage limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'fee',\n\t\t\t\t\tshortFlag: 'f',\n\t\t\t\t\tdescription: 'Fee per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t\taliases: ['call'],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'fund',\n\t\t\tcommand: 'fund',\n\t\t\tdescription: 'Fund all the instantiated accounts up to the desired/declared amount in a target environment',\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription: 'Number of retry attempts (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'instantiate-account',\n\t\t\tcommand: 'instantiate-account',\n\t\t\tdescription:\n\t\t\t\t'Instantiate all accounts declared in the \"accounts\" field at the root level of the config file to a target environment',\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t],\n\tproxy: main,\n}), process.argv);\n","import { RequestArgs, sendAsyncErr } from '@taqueria/node-sdk';\nimport { IntersectionOpts as Opts } from './common';\nimport fund from './fund';\nimport instantiate_account from './instantiate_account';\nimport originate from './originate';\nimport transfer from './transfer';\n\nexport const main = (parsedArgs: RequestArgs.t): Promise<void> => {\n\tconst unsafeArgs = parsedArgs as unknown as Opts;\n\tswitch (unsafeArgs.task) {\n\t\tcase 'deploy':\n\t\t\treturn originate(unsafeArgs);\n\t\tcase 'transfer':\n\t\t\treturn transfer(unsafeArgs);\n\t\tcase 'instantiate-account':\n\t\t\treturn instantiate_account(parsedArgs);\n\t\tcase 'fund':\n\t\t\treturn fund(unsafeArgs);\n\t\tdefault:\n\t\t\treturn sendAsyncErr(`${unsafeArgs} is not an understood task by the Taquito plugin`);\n\t}\n};\n\nexport default main;\n","import {\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendJsonRes,\n\tsendWarn,\n} from '@taqueria/node-sdk';\nimport { TezosToolkit } from '@taquito/taquito';\nimport {\n\tconfigureToolKitForNetwork,\n\tFundOpts,\n\tFundOpts as Opts,\n\tgetDeclaredAccounts,\n\tgetEnvTypeAndNodeConfig,\n\tgetNetworkInstantiatedAccounts,\n} from './common';\nimport { ContractInfo, performTransferOps } from './transfer';\n\ntype TableRow = {\n\taccountAlias: string;\n\taccountAddress: string;\n\tmutezFunded: string;\n};\n\nconst getAccountsInfo = (\n\tparsedArgs: RequestArgs.t,\n\ttezos: TezosToolkit,\n\tinstantiatedAccounts: Record<string, any>,\n): Promise<ContractInfo[]> =>\n\tPromise.all(\n\t\tObject.entries(instantiatedAccounts)\n\t\t\t.map(async (instantiatedAccount: [string, any]) => {\n\t\t\t\tconst alias = instantiatedAccount[0];\n\t\t\t\tconst aliasInfo = instantiatedAccount[1];\n\n\t\t\t\tconst declaredMutez: number | undefined = getDeclaredAccounts(parsedArgs)[alias];\n\t\t\t\tconst currentBalanceInMutez = (await tezos.tz.getBalance(aliasInfo.publicKeyHash)).toNumber();\n\t\t\t\tconst amountToFillInMutez = declaredMutez ? Math.max(declaredMutez - currentBalanceInMutez, 0) : 0;\n\n\t\t\t\tif (!declaredMutez) {\n\t\t\t\t\tsendWarn(\n\t\t\t\t\t\t`Warning: ${alias} is instantiated in the target environment but not declared in the root level \"accounts\" field of ./.taq/config.json so ${alias} will not be funded as you don't have a declared tez amount set there for ${alias}\\n`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tcontractAlias: alias,\n\t\t\t\t\tcontractAddress: aliasInfo.publicKeyHash,\n\t\t\t\t\tparameter: 'Unit',\n\t\t\t\t\tentrypoint: 'default',\n\t\t\t\t\tmutezTransfer: parseInt(amountToFillInMutez.toString().replaceAll('_', '')),\n\t\t\t\t};\n\t\t\t}),\n\t)\n\t\t.then(accountsInfo => accountsInfo.filter(accountInfo => accountInfo.mutezTransfer !== 0))\n\t\t.catch(err => sendAsyncErr(`Something went wrong while extracting account information - ${err}`));\n\nconst prepAccountsInfoForDisplay = (accountsInfo: ContractInfo[]): TableRow[] =>\n\taccountsInfo.map(accountInfo => {\n\t\treturn {\n\t\t\taccountAlias: accountInfo.contractAlias,\n\t\t\taccountAddress: accountInfo.contractAddress,\n\t\t\tmutezFunded: accountInfo.mutezTransfer.toString(),\n\t\t};\n\t});\n\nconst fund = async (parsedArgs: FundOpts): Promise<void> => {\n\tconst env = getCurrentEnvironmentConfig(parsedArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(parsedArgs, env);\n\t\tif (envType !== 'Network') return sendAsyncErr('taq fund can only be executed in a network environment');\n\t\tconst tezos = await configureToolKitForNetwork(parsedArgs, nodeConfig);\n\n\t\tconst instantiatedAccounts = getNetworkInstantiatedAccounts(nodeConfig);\n\n\t\tconst accountsInfo = await getAccountsInfo(parsedArgs, tezos, instantiatedAccounts);\n\t\tif (accountsInfo.length === 0) {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`All instantiated accounts in the current environment, \"${parsedArgs.env}\", are funded up to or beyond the declared amount`,\n\t\t\t);\n\t\t}\n\n\t\tawait performTransferOps(tezos, getCurrentEnvironment(parsedArgs), accountsInfo, parsedArgs.timeout);\n\n\t\tconst accountsInfoForDisplay = prepAccountsInfoForDisplay(accountsInfo);\n\t\treturn sendJsonRes(accountsInfoForDisplay);\n\t} catch {\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default fund;\n","import {\n\tgetAccountPrivateKey,\n\tgetDefaultSandboxAccount,\n\tgetNetworkConfig,\n\tgetSandboxConfig,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendErr,\n\tTAQ_OPERATOR_ACCOUNT,\n} from '@taqueria/node-sdk';\nimport {\n\tEnvironment,\n\tNetworkConfig,\n\tProtocol,\n\tProxyTaskArgs,\n\tSandboxAccountConfig,\n\tSandboxConfig,\n} from '@taqueria/node-sdk/types';\nimport { importKey, InMemorySigner } from '@taquito/signer';\nimport { TezosToolkit } from '@taquito/taquito';\n\nexport type OriginateOpts = ProxyTaskArgs.t & {\n\tcontract: string;\n\tstorage: string;\n\talias?: string;\n\tsender?: string;\n\tmutez?: string;\n\ttimeout: number;\n\tgasLimit?: number;\n\tstorageLimit?: number;\n\tfee?: number;\n};\n\nexport type TransferOpts = ProxyTaskArgs.t & {\n\tcontract: string;\n\tmutez?: string;\n\tparam?: string;\n\tentrypoint?: string;\n\tsender?: string;\n\ttimeout: number;\n\tgasLimit?: number;\n\tstorageLimit?: number;\n\tfee?: number;\n};\n\nexport type FundOpts = ProxyTaskArgs.t & {\n\ttimeout: number;\n};\n\nexport type InstantiateAccountOpts = ProxyTaskArgs.t;\n\n// To be used for the main entrypoint of the plugin\nexport type IntersectionOpts = OriginateOpts & TransferOpts & InstantiateAccountOpts & FundOpts;\n\n// To be used for common functions in this file\ntype UnionOpts = OriginateOpts | TransferOpts | InstantiateAccountOpts | FundOpts;\n\nexport const getEnvTypeAndNodeConfig = (\n\tparsedArgs: RequestArgs.t,\n\tenv: Environment.t,\n): Promise<['Network', NetworkConfig.t] | ['Sandbox', SandboxConfig.t]> => {\n\tconst targetConstraintErrMsg = 'Each environment can only have one target, be it a network or a sandbox';\n\tif (env.networks?.length === 1 && env.sandboxes?.length === 1) return sendAsyncErr(targetConstraintErrMsg);\n\tif (env.networks?.length === 1) {\n\t\tconst networkName = env.networks[0];\n\t\tconst network = getNetworkConfig(parsedArgs)(networkName);\n\t\tif (!network) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`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\t\t\t);\n\t\t}\n\t\treturn Promise.resolve(['Network', network]);\n\t}\n\tif (env.sandboxes?.length === 1) {\n\t\tconst sandboxName = env.sandboxes[0];\n\t\tconst sandbox = getSandboxConfig(parsedArgs)(sandboxName);\n\t\tif (!sandbox) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`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\t\t\t);\n\t\t}\n\t\treturn Promise.resolve(['Sandbox', sandbox]);\n\t}\n\treturn sendAsyncErr(targetConstraintErrMsg);\n};\n\nexport const configureToolKitForSandbox = async (sandbox: SandboxConfig.t, sender?: string): Promise<TezosToolkit> => {\n\tlet accountKey: string;\n\tif (sender && sender !== 'default') {\n\t\tconst accounts = getSandboxInstantiatedAccounts(sandbox);\n\t\tif (accounts.hasOwnProperty(sender)) {\n\t\t\taccountKey = accounts[sender].secretKey;\n\t\t} else {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`${sender} is not an account instantiated in the current environment. Check .taq/config.json`,\n\t\t\t);\n\t\t}\n\t} else {\n\t\tconst defaultAccount = getDefaultSandboxAccount(sandbox);\n\t\tif (!defaultAccount) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`No default account is specified in the sandbox to perform the operation. Please use the --sender flag to explicitly specify the account to use as the sender of the operation`,\n\t\t\t);\n\t\t}\n\t\taccountKey = defaultAccount.secretKey;\n\t}\n\n\tconst tezos = new TezosToolkit(sandbox.rpcUrl as string);\n\ttezos.setProvider({ signer: new InMemorySigner(accountKey.replace(/^unencrypted:/, '')) });\n\treturn tezos;\n};\n\nexport const configureToolKitForNetwork = async (\n\tparsedArgs: RequestArgs.t,\n\tnetwork: NetworkConfig.t,\n\tsender?: string,\n): Promise<TezosToolkit> => {\n\tlet account: string;\n\tif (sender && sender !== TAQ_OPERATOR_ACCOUNT) {\n\t\tconst accounts = getNetworkInstantiatedAccounts(network);\n\t\tif (accounts.hasOwnProperty(sender)) {\n\t\t\taccount = sender;\n\t\t} else {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`${sender} is not an account instantiated in the current environment. Check .taq/config.json`,\n\t\t\t);\n\t\t}\n\t} else {\n\t\taccount = TAQ_OPERATOR_ACCOUNT;\n\t}\n\n\tconst tezos = new TezosToolkit(network.rpcUrl as string);\n\tconst key = await getAccountPrivateKey(parsedArgs, network, account);\n\tawait importKey(tezos, key);\n\treturn tezos;\n};\n\nexport const getDeclaredAccounts = (parsedArgs: RequestArgs.t): Record<string, number> =>\n\tObject.entries(parsedArgs.config.accounts ?? {}).reduce(\n\t\t(acc, declaredAccount) => {\n\t\t\tconst alias: string = declaredAccount[0];\n\t\t\tconst mutez: string | number = declaredAccount[1];\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[alias]: typeof mutez === 'string' ? parseFloat(mutez.replaceAll('_', '')) : mutez,\n\t\t\t};\n\t\t},\n\t\t{} as Record<string, number>,\n\t);\n\nexport const getSandboxInstantiatedAccounts = (sandbox: SandboxConfig.t): Record<string, SandboxAccountConfig.t> =>\n\t(sandbox?.accounts)\n\t\t? Object.entries(sandbox.accounts).reduce(\n\t\t\t(acc, instantiatedAccount) => {\n\t\t\t\tconst alias: string = instantiatedAccount[0];\n\t\t\t\tconst keys = instantiatedAccount[1];\n\t\t\t\treturn alias !== 'default'\n\t\t\t\t\t? {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[alias]: keys,\n\t\t\t\t\t}\n\t\t\t\t\t: acc;\n\t\t\t},\n\t\t\t{},\n\t\t)\n\t\t: {};\n\nexport const getNetworkInstantiatedAccounts = (network: NetworkConfig.t): Record<string, any> =>\n\tnetwork.accounts\n\t\t? Object.entries(network.accounts).reduce(\n\t\t\t(acc, instantiatedAccount) => {\n\t\t\t\tconst alias: string = instantiatedAccount[0];\n\t\t\t\tconst keys = instantiatedAccount[1];\n\t\t\t\treturn alias !== TAQ_OPERATOR_ACCOUNT\n\t\t\t\t\t? {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[alias]: keys,\n\t\t\t\t\t}\n\t\t\t\t\t: acc;\n\t\t\t},\n\t\t\t{},\n\t\t)\n\t\t: {};\n\nexport const generateAccountKeys = async (\n\tparsedArgs: RequestArgs.t,\n\tnetwork: NetworkConfig.t,\n\taccount: string,\n): Promise<void> => {\n\tconst tezos = new TezosToolkit(network.rpcUrl as string);\n\tconst key = await getAccountPrivateKey(parsedArgs, network, account);\n\tawait importKey(tezos, key);\n};\n\nexport const handleOpsError = (err: unknown, env: string): Promise<never> => {\n\tif (err instanceof Error) {\n\t\tconst msg = err.message;\n\t\tif (/ENOTFOUND/.test(msg)) return sendAsyncErr('The RPC URL may be invalid. Check ./.taq/config.json');\n\t\tif (/ECONNREFUSED/.test(msg)) return sendAsyncErr('The RPC URL may be down or the sandbox is not running');\n\t\tif (/empty_implicit_contract/.test(msg)) {\n\t\t\tconst result = msg.match(/(?<=\"implicit\":\")tz[^\"]+(?=\")/);\n\t\t\tconst publicKeyHash = result ? result[0] : undefined;\n\t\t\tif (publicKeyHash) {\n\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t`The account ${publicKeyHash} for the target environment, \"${env}\", may not be funded\\nTo fund this account:\\n1. Go to https://teztnets.xyz and click \"Faucet\" of the target testnet\\n2. Copy and paste the above key into the wallet address field\\n3. Request some Tez (Note that you might need to wait for a few seconds for the network to register the funds)`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn sendAsyncErr(`Error while performing operation:\\n${err} ${JSON.stringify(err, null, 2)}`);\n};\n\nexport const doWithin = async <T>(seconds: number, fn: () => Promise<T>) => {\n\tlet captured: Error = new Error(\n\t\t'Operation timed out. Please try again and perhaps increase the timeout using the --timeout option.',\n\t);\n\tlet timeout: ReturnType<typeof setTimeout>;\n\n\tconst maxTimeout = new Promise((resolve, reject) => {\n\t\ttimeout = setTimeout(() => {\n\t\t\treject(captured);\n\t\t}, seconds * 1000);\n\t}) as Promise<T>;\n\n\tconst process = async () => {\n\t\twhile (true) {\n\t\t\ttry {\n\t\t\t\tconst retval: T = await fn();\n\t\t\t\treturn retval;\n\t\t\t} catch (err) {\n\t\t\t\tcaptured = err as Error;\n\t\t\t}\n\t\t}\n\t};\n\n\treturn Promise.race<T>([process(), maxTimeout]).then(retval => {\n\t\tclearTimeout(timeout);\n\t\treturn retval;\n\t});\n};\n","import {\n\tgetAddressOfAlias,\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tgetParameter,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendJsonRes,\n} from '@taqueria/node-sdk';\nimport { Environment } from '@taqueria/node-sdk/types';\nimport { Expr, Parser } from '@taquito/michel-codec';\nimport { TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { BatchWalletOperation } from '@taquito/taquito/dist/types/wallet/batch-operation';\nimport {\n\tconfigureToolKitForNetwork,\n\tconfigureToolKitForSandbox,\n\tdoWithin,\n\tgetEnvTypeAndNodeConfig,\n\thandleOpsError,\n\tTransferOpts as Opts,\n} from './common';\n\nexport type ContractInfo = {\n\tcontractAlias: string;\n\tcontractAddress: string;\n\tparameter: string;\n\tentrypoint: string;\n\tmutezTransfer: number;\n};\n\ntype TableRow = {\n\tcontractAlias: string;\n\tcontractAddress: string;\n\tparameter: string;\n\tentrypoint: string;\n\tmutezTransfer: string;\n\tdestination: string;\n};\n\nconst isContractAddress = (contract: string): boolean =>\n\tcontract.startsWith('tz1') || contract.startsWith('tz2') || contract.startsWith('tz3') || contract.startsWith('KT1');\n\nconst getContractInfo = async (parsedArgs: Opts, env: Environment.t): Promise<ContractInfo> => {\n\tconst contract = parsedArgs.contract;\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\treturn {\n\t\tcontractAlias: isContractAddress(contract) ? 'N/A' : contract,\n\t\tcontractAddress: isContractAddress(contract) ? contract : await getAddressOfAlias(env, contract),\n\t\tparameter: parsedArgs.param ? await getParameter(protocolArgs, parsedArgs.param) : 'Unit',\n\t\tentrypoint: parsedArgs.entrypoint ?? 'default',\n\t\tmutezTransfer: parseInt(parsedArgs.mutez ?? '0'),\n\t};\n};\n\nconst createBatchForTransfer = (\n\ttezos: TezosToolkit,\n\tcontractsInfo: ContractInfo[],\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): WalletOperationBatch =>\n\tcontractsInfo.reduce((acc, contractInfo) =>\n\t\tacc.withTransfer({\n\t\t\tfee,\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t\tto: contractInfo.contractAddress,\n\t\t\tamount: contractInfo.mutezTransfer,\n\t\t\tparameter: {\n\t\t\t\tentrypoint: contractInfo.entrypoint,\n\t\t\t\tvalue: new Parser().parseMichelineExpression(contractInfo.parameter) as Expr,\n\t\t\t},\n\t\t\tmutez: true,\n\t\t}), tezos.wallet.batch());\n\nexport const performTransferOps = async (\n\ttezos: TezosToolkit,\n\tenv: string,\n\tcontractsInfo: ContractInfo[],\n\tmaxTimeout: number,\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): Promise<BatchWalletOperation> => {\n\tconst batch = createBatchForTransfer(tezos, contractsInfo, gasLimit, storageLimit, fee);\n\ttry {\n\t\treturn await doWithin<BatchWalletOperation>(maxTimeout, async () => {\n\t\t\tconst op = await batch.send();\n\t\t\tawait op.confirmation();\n\t\t\treturn op;\n\t\t});\n\t} catch (err) {\n\t\treturn handleOpsError(err, env);\n\t}\n};\n\nconst prepContractInfoForDisplay = (tezos: TezosToolkit, contractInfo: ContractInfo): TableRow => {\n\treturn {\n\t\tcontractAlias: contractInfo.contractAlias,\n\t\tcontractAddress: contractInfo.contractAddress,\n\t\tparameter: contractInfo.parameter,\n\t\tentrypoint: contractInfo.entrypoint,\n\t\tmutezTransfer: contractInfo.mutezTransfer.toString(),\n\t\tdestination: tezos.rpc.getRpcUrl(),\n\t};\n};\n\nconst transfer = async (opts: Opts): Promise<void> => {\n\tconst protocolArgs = RequestArgs.create(opts);\n\tconst env = getCurrentEnvironmentConfig(protocolArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${protocolArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\tconst tezos = await (envType === 'Network'\n\t\t\t? configureToolKitForNetwork(protocolArgs, nodeConfig, opts.sender)\n\t\t\t: configureToolKitForSandbox(nodeConfig, opts.sender));\n\n\t\tconst contractInfo = await getContractInfo(opts, env);\n\n\t\tawait performTransferOps(\n\t\t\ttezos,\n\t\t\tgetCurrentEnvironment(protocolArgs),\n\t\t\t[contractInfo],\n\t\t\topts.timeout,\n\t\t\topts.gasLimit,\n\t\t\topts.storageLimit,\n\t\t\topts.fee,\n\t\t);\n\n\t\tconst contractInfoForDisplay = prepContractInfoForDisplay(tezos, contractInfo);\n\t\treturn sendJsonRes([contractInfoForDisplay]);\n\t} catch {\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default transfer;\n","import { getCurrentEnvironmentConfig, RequestArgs, sendAsyncErr, sendJsonRes, sendWarn } from '@taqueria/node-sdk';\nimport {\n\tgenerateAccountKeys,\n\tgetDeclaredAccounts,\n\tgetEnvTypeAndNodeConfig,\n\tgetNetworkInstantiatedAccounts,\n} from './common';\n\nconst instantiate_account = async (parsedArgs: RequestArgs.t): Promise<void> => {\n\tconst env = getCurrentEnvironmentConfig(parsedArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(parsedArgs, env);\n\t\tif (envType !== 'Network') {\n\t\t\treturn sendAsyncErr('taq instantiate-account can only be executed in a network environment');\n\t\t}\n\n\t\tconst declaredAccountAliases = Object.keys(getDeclaredAccounts(parsedArgs));\n\t\tconst instantiatedAccounts = getNetworkInstantiatedAccounts(nodeConfig);\n\n\t\tlet accountsInstantiated = [];\n\t\tfor (const declaredAccountAlias of declaredAccountAliases) {\n\t\t\tif (!instantiatedAccounts.hasOwnProperty(declaredAccountAlias)) {\n\t\t\t\tawait generateAccountKeys(parsedArgs, nodeConfig, declaredAccountAlias);\n\t\t\t\taccountsInstantiated.push(declaredAccountAlias);\n\t\t\t} else {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: ${declaredAccountAlias} is already instantiated in the current environment, \"${parsedArgs.env}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (accountsInstantiated.length !== 0) {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`Accounts instantiated: ${\n\t\t\t\t\taccountsInstantiated.join(', ')\n\t\t\t\t}.\\nPlease execute \"taq fund\" targeting the same environment to fund these accounts`,\n\t\t\t);\n\t\t} else {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`No accounts were instantiated because they were all instantiated in the target environment already`,\n\t\t\t);\n\t\t}\n\t} catch (err) {\n\t\tawait sendAsyncErr('No operations performed');\n\t\tif (parsedArgs.debug) await sendAsyncErr(String(err));\n\t}\n};\n\nexport default instantiate_account;\n","import {\n\taddTzExtensionIfMissing,\n\tgetArtifactsDir,\n\tgetContractContent,\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tNonEmptyString,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendErr,\n\tsendJsonRes,\n\tupdateAddressAlias,\n} from '@taqueria/node-sdk';\nimport { OperationContentsAndResultOrigination } from '@taquito/rpc';\nimport { OriginationWalletOperation, TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { BatchWalletOperation } from '@taquito/taquito/dist/types/wallet/batch-operation';\nimport { basename, extname, join } from 'path';\nimport {\n\tconfigureToolKitForNetwork,\n\tconfigureToolKitForSandbox,\n\tdoWithin,\n\tgetEnvTypeAndNodeConfig,\n\thandleOpsError,\n\tOriginateOpts as Opts,\n} from './common';\n\ntype ContractInfo = {\n\tcontract: string;\n\tcode: string;\n\tinitStorage: string;\n\tmutezTransfer: number;\n};\n\ntype TableRow = {\n\tcontract: string;\n\taddress: string;\n\talias: string;\n\tbalanceInMutez?: string;\n\tdestination?: string;\n};\n\nconst getContractPath = (parsedArgs: RequestArgs.t, contractFilename: string) =>\n\tjoin(getArtifactsDir(parsedArgs), /\\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`);\n\nconst getDefaultStorageFilename = (contractName: string): string => {\n\tconst baseFilename = basename(contractName, extname(contractName));\n\tconst extFilename = extname(contractName);\n\tconst defaultStorage = `${baseFilename}.default_storage${extFilename}`;\n\treturn defaultStorage;\n};\n\nconst getContractInfo = async (parsedArgs: Opts): Promise<ContractInfo> => {\n\tconst contract = parsedArgs.contract;\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst contractWithTzExtension = addTzExtensionIfMissing(contract);\n\tconst contractCode = await getContractContent(protocolArgs, contractWithTzExtension);\n\tif (contractCode === undefined) {\n\t\treturn sendAsyncErr(\n\t\t\t`Please generate ${contractWithTzExtension} with one of the compilers (LIGO, SmartPy, Archetype) or write it manually and put it under /${parsedArgs.config.artifactsDir}\\n`,\n\t\t);\n\t}\n\n\tconst storageFilename = parsedArgs.storage ?? getDefaultStorageFilename(contractWithTzExtension);\n\tconst contractInitStorage = await getContractContent(protocolArgs, storageFilename);\n\tif (contractInitStorage === undefined) {\n\t\treturn sendAsyncErr(\n\t\t\t`❌ No initial storage file was found for ${contractWithTzExtension}\\nStorage must be specified in a file as a Michelson expression and will automatically be linked to this contract if specified with the name \"${\n\t\t\t\tgetDefaultStorageFilename(contractWithTzExtension)\n\t\t\t}\" in the artifacts directory\\nYou can also manually pass a storage file to the originate task using the --storage STORAGE_FILE_NAME option\\n`,\n\t\t);\n\t}\n\n\treturn {\n\t\tcontract,\n\t\tcode: contractCode,\n\t\tinitStorage: contractInitStorage.trim(),\n\t\tmutezTransfer: parseInt(parsedArgs.mutez ?? '0'),\n\t};\n};\n\nconst createBatchForOriginate = (\n\ttezos: TezosToolkit,\n\tcontractsInfo: ContractInfo[],\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): WalletOperationBatch =>\n\tcontractsInfo.reduce((acc, contractInfo) =>\n\t\tacc.withOrigination({\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t\tfee,\n\t\t\tcode: contractInfo.code,\n\t\t\tinit: contractInfo.initStorage,\n\t\t\tbalance: contractInfo.mutezTransfer.toString(),\n\t\t\tmutez: true,\n\t\t}), tezos.wallet.batch());\n\nconst performOriginateOps = async (\n\ttezos: TezosToolkit,\n\tenv: string,\n\tcontractsInfo: ContractInfo,\n\tmaxTimeout: number,\n\tisSandbox = false,\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): Promise<OriginationWalletOperation> => {\n\ttry {\n\t\tconst result = await tezos.wallet.originate({\n\t\t\tcode: contractsInfo.code,\n\t\t\tinit: contractsInfo.initStorage,\n\t\t\tbalance: contractsInfo.mutezTransfer.toString(),\n\t\t\tmutez: true,\n\t\t\tfee,\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t});\n\n\t\tconst op = await result.send();\n\t\tawait op.confirmation(isSandbox ? 1 : 3);\n\t\treturn op;\n\t} catch (err) {\n\t\treturn handleOpsError(err, env);\n\t}\n};\n\nconst prepContractInfoForDisplay = async (\n\tparsedArgs: Opts,\n\ttezos: TezosToolkit,\n\tcontractInfo: ContractInfo,\n\top: OriginationWalletOperation,\n): Promise<TableRow> => {\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst operationResults = await op.operationResults();\n\tconst originationResults = (operationResults ?? [])\n\t\t.filter(result => result.kind === 'origination')\n\t\t.map(result => result as unknown as OperationContentsAndResultOrigination);\n\n\t// Length should be 1 since we are batching originate operations into one\n\tconst result = originationResults.length === 1 ? originationResults[0] : undefined;\n\tconst address = result?.metadata?.operation_result?.originated_contracts?.join(',');\n\tconst alias = parsedArgs.alias ?? basename(contractInfo.contract, extname(contractInfo.contract));\n\n\tconst displayableAddress = address ?? 'Something went wrong during origination';\n\n\tif (address) {\n\t\tconst validatedAddress = NonEmptyString.create(address);\n\t\tawait updateAddressAlias(protocolArgs, alias, validatedAddress);\n\t}\n\n\treturn {\n\t\tcontract: contractInfo.contract,\n\t\taddress: displayableAddress,\n\t\talias: address ? alias : 'N/A',\n\t\t// destination: tezos.rpc.getRpcUrl(),\n\t};\n};\n\nconst originate = async (parsedArgs: Opts): Promise<void> => {\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst env = getCurrentEnvironmentConfig(protocolArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\tconst tezos = await (envType === 'Network'\n\t\t\t? configureToolKitForNetwork(protocolArgs, nodeConfig, parsedArgs.sender)\n\t\t\t: configureToolKitForSandbox(nodeConfig, parsedArgs.sender));\n\n\t\tconst contractInfo = await getContractInfo(parsedArgs);\n\n\t\tconst op = await performOriginateOps(\n\t\t\ttezos,\n\t\t\tgetCurrentEnvironment(protocolArgs),\n\t\t\tcontractInfo,\n\t\t\tparsedArgs.timeout,\n\t\t\tenvType !== 'Network',\n\t\t\tparsedArgs.gasLimit,\n\t\t\tparsedArgs.storageLimit,\n\t\t\tparsedArgs.fee,\n\t\t);\n\n\t\tconst contractInfoForDisplay = await prepContractInfoForDisplay(parsedArgs, tezos, contractInfo, op);\n\t\treturn sendJsonRes([contractInfoForDisplay]);\n\t} catch (e) {\n\t\tif (e instanceof Error && e.message.includes('503')) {\n\t\t\ttry {\n\t\t\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\t\t\tif (envType === 'Network' && nodeConfig.rpcUrl.includes('ghostnet')) {\n\t\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t\t`❌ Ghostnet is returning 503 errors, indicating that the server is under heavy load.\\nPlease try again later.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t`❌ The node you are trying to connect to is not available\\nPlease check if the node is running and the URL is correct in your config.json`,\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\t// Resort to the default error message\n\t\t\t}\n\t\t}\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default originate;\n"],"mappings":"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","names":["import_node_sdk","import_node_sdk","import_node_sdk","process","import_node_sdk","import_node_sdk","import_node_sdk","getContractInfo","prepContractInfoForDisplay","result","getContractInfo"]}
|
|
1
|
+
{"version":3,"sources":["index.ts","main.ts","fund.ts","common.ts","transfer.ts","instantiate_account.ts","originate.ts"],"sourcesContent":["import { Option, Plugin, Task } from '@taqueria/node-sdk';\nimport main from './main';\n\nPlugin.create(_i18n => ({\n\talias: 'taquito',\n\tschema: '1.0',\n\tversion: '0.1',\n\ttasks: [\n\t\tTask.create({\n\t\t\ttask: 'deploy',\n\t\t\tcommand: 'deploy <contract>',\n\t\t\tdescription: 'Deploy a smart contract to a particular environment',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'alias',\n\t\t\t\t\tdescription: \"Alias used to refer to the deployed contract's address\",\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storage',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Name of the storage file that contains the storage value as a Michelson expression, in the artifacts directory, used for originating a contract',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'sender',\n\t\t\t\t\tdescription: 'Name of an instantiated account to use as the sender of the originate operation',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'mutez',\n\t\t\t\t\tdescription: 'Amount of Mutez to transfer',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Number of seconds to elapse before abandoning the operation (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'gasLimit',\n\t\t\t\t\tshortFlag: 'g',\n\t\t\t\t\tdescription: 'Gas limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storageLimit',\n\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\tdescription: 'Storage limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'fee',\n\t\t\t\t\tshortFlag: 'f',\n\t\t\t\t\tdescription: 'Fee per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t\taliases: ['originate'],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'transfer',\n\t\t\tcommand: 'transfer <contract>',\n\t\t\tdescription:\n\t\t\t\t'Transfer/call an implicit account or a smart contract (specified via its alias or address) deployed to a particular environment',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'mutez',\n\t\t\t\t\tdescription: 'Amount of Mutez to transfer',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'param',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Name of the parameter file that contains the parameter value as a Michelson expression, in the artifacts directory, used for invoking a deployed contract',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'entrypoint',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'You may explicitly specify an entrypoint to make the parameter value shorter, without having to specify a chain of (Left (Right ... 14 ...))',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'sender',\n\t\t\t\t\tdescription: 'Name of an instantiated account to use as the sender of the transfer operation',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription: 'Number of retry attempts (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'gasLimit',\n\t\t\t\t\tshortFlag: 'g',\n\t\t\t\t\tdescription: 'Gas limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storageLimit',\n\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\tdescription: 'Storage limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'fee',\n\t\t\t\t\tshortFlag: 'f',\n\t\t\t\t\tdescription: 'Fee per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t\taliases: ['call'],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'fund',\n\t\t\tcommand: 'fund',\n\t\t\tdescription: 'Fund all the instantiated accounts up to the desired/declared amount in a target environment',\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription: 'Number of retry attempts (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'instantiate-account',\n\t\t\tcommand: 'instantiate-account',\n\t\t\tdescription:\n\t\t\t\t'Instantiate all accounts declared in the \"accounts\" field at the root level of the config file to a target environment',\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t],\n\tproxy: main,\n}), process.argv);\n","import { RequestArgs, sendAsyncErr } from '@taqueria/node-sdk';\nimport { IntersectionOpts as Opts } from './common';\nimport fund from './fund';\nimport instantiate_account from './instantiate_account';\nimport originate from './originate';\nimport transfer from './transfer';\n\nexport const main = (parsedArgs: RequestArgs.t): Promise<void> => {\n\tconst unsafeArgs = parsedArgs as unknown as Opts;\n\tswitch (unsafeArgs.task) {\n\t\tcase 'deploy':\n\t\t\treturn originate(unsafeArgs);\n\t\tcase 'transfer':\n\t\t\treturn transfer(unsafeArgs);\n\t\tcase 'instantiate-account':\n\t\t\treturn instantiate_account(parsedArgs);\n\t\tcase 'fund':\n\t\t\treturn fund(unsafeArgs);\n\t\tdefault:\n\t\t\treturn sendAsyncErr(`${unsafeArgs} is not an understood task by the Taquito plugin`);\n\t}\n};\n\nexport default main;\n","import {\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendJsonRes,\n\tsendWarn,\n} from '@taqueria/node-sdk';\nimport { TezosToolkit } from '@taquito/taquito';\nimport {\n\tconfigureToolKitForNetwork,\n\tFundOpts,\n\tFundOpts as Opts,\n\tgetDeclaredAccounts,\n\tgetEnvTypeAndNodeConfig,\n\tgetNetworkInstantiatedAccounts,\n} from './common';\nimport { ContractInfo, performTransferOps } from './transfer';\n\ntype TableRow = {\n\taccountAlias: string;\n\taccountAddress: string;\n\tmutezFunded: string;\n};\n\nconst getAccountsInfo = (\n\tparsedArgs: RequestArgs.t,\n\ttezos: TezosToolkit,\n\tinstantiatedAccounts: Record<string, any>,\n): Promise<ContractInfo[]> =>\n\tPromise.all(\n\t\tObject.entries(instantiatedAccounts)\n\t\t\t.map(async (instantiatedAccount: [string, any]) => {\n\t\t\t\tconst alias = instantiatedAccount[0];\n\t\t\t\tconst aliasInfo = instantiatedAccount[1];\n\n\t\t\t\tconst declaredMutez: number | undefined = getDeclaredAccounts(parsedArgs)[alias];\n\t\t\t\tconst currentBalanceInMutez = (await tezos.tz.getBalance(aliasInfo.publicKeyHash)).toNumber();\n\t\t\t\tconst amountToFillInMutez = declaredMutez ? Math.max(declaredMutez - currentBalanceInMutez, 0) : 0;\n\n\t\t\t\tif (!declaredMutez) {\n\t\t\t\t\tsendWarn(\n\t\t\t\t\t\t`Warning: ${alias} is instantiated in the target environment but not declared in the root level \"accounts\" field of ./.taq/config.json so ${alias} will not be funded as you don't have a declared tez amount set there for ${alias}\\n`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tcontractAlias: alias,\n\t\t\t\t\tcontractAddress: aliasInfo.publicKeyHash,\n\t\t\t\t\tparameter: 'Unit',\n\t\t\t\t\tentrypoint: 'default',\n\t\t\t\t\tmutezTransfer: parseInt(amountToFillInMutez.toString().replaceAll('_', '')),\n\t\t\t\t};\n\t\t\t}),\n\t)\n\t\t.then(accountsInfo => accountsInfo.filter(accountInfo => accountInfo.mutezTransfer !== 0))\n\t\t.catch(err => sendAsyncErr(`Something went wrong while extracting account information - ${err}`));\n\nconst prepAccountsInfoForDisplay = (accountsInfo: ContractInfo[]): TableRow[] =>\n\taccountsInfo.map(accountInfo => {\n\t\treturn {\n\t\t\taccountAlias: accountInfo.contractAlias,\n\t\t\taccountAddress: accountInfo.contractAddress,\n\t\t\tmutezFunded: accountInfo.mutezTransfer.toString(),\n\t\t};\n\t});\n\nconst fund = async (parsedArgs: FundOpts): Promise<void> => {\n\tconst env = getCurrentEnvironmentConfig(parsedArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(parsedArgs, env);\n\t\tif (envType !== 'Network') return sendAsyncErr('taq fund can only be executed in a network environment');\n\t\tconst tezos = await configureToolKitForNetwork(parsedArgs, nodeConfig);\n\n\t\tconst instantiatedAccounts = getNetworkInstantiatedAccounts(nodeConfig);\n\n\t\tconst accountsInfo = await getAccountsInfo(parsedArgs, tezos, instantiatedAccounts);\n\t\tif (accountsInfo.length === 0) {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`All instantiated accounts in the current environment, \"${parsedArgs.env}\", are funded up to or beyond the declared amount`,\n\t\t\t);\n\t\t}\n\n\t\tawait performTransferOps(tezos, getCurrentEnvironment(parsedArgs), accountsInfo, parsedArgs.timeout);\n\n\t\tconst accountsInfoForDisplay = prepAccountsInfoForDisplay(accountsInfo);\n\t\treturn sendJsonRes(accountsInfoForDisplay);\n\t} catch {\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default fund;\n","import {\n\tgetAccountPrivateKey,\n\tgetDefaultSandboxAccount,\n\tgetNetworkConfig,\n\tgetSandboxConfig,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendErr,\n\tTAQ_OPERATOR_ACCOUNT,\n} from '@taqueria/node-sdk';\nimport {\n\tEnvironment,\n\tNetworkConfig,\n\tProtocol,\n\tProxyTaskArgs,\n\tSandboxAccountConfig,\n\tSandboxConfig,\n} from '@taqueria/node-sdk/types';\nimport { InMemorySigner } from '@taquito/signer';\nimport { importKey, TezosToolkit } from '@taquito/taquito';\n\nexport type OriginateOpts = ProxyTaskArgs.t & {\n\tcontract: string;\n\tstorage: string;\n\talias?: string;\n\tsender?: string;\n\tmutez?: string;\n\ttimeout: number;\n\tgasLimit?: number;\n\tstorageLimit?: number;\n\tfee?: number;\n};\n\nexport type TransferOpts = ProxyTaskArgs.t & {\n\tcontract: string;\n\tmutez?: string;\n\tparam?: string;\n\tentrypoint?: string;\n\tsender?: string;\n\ttimeout: number;\n\tgasLimit?: number;\n\tstorageLimit?: number;\n\tfee?: number;\n};\n\nexport type FundOpts = ProxyTaskArgs.t & {\n\ttimeout: number;\n};\n\nexport type InstantiateAccountOpts = ProxyTaskArgs.t;\n\n// To be used for the main entrypoint of the plugin\nexport type IntersectionOpts = OriginateOpts & TransferOpts & InstantiateAccountOpts & FundOpts;\n\n// To be used for common functions in this file\ntype UnionOpts = OriginateOpts | TransferOpts | InstantiateAccountOpts | FundOpts;\n\nexport const getEnvTypeAndNodeConfig = (\n\tparsedArgs: RequestArgs.t,\n\tenv: Environment.t,\n): Promise<['Network', NetworkConfig.t] | ['Sandbox', SandboxConfig.t]> => {\n\tconst targetConstraintErrMsg = 'Each environment can only have one target, be it a network or a sandbox';\n\tif (env.networks?.length === 1 && env.sandboxes?.length === 1) return sendAsyncErr(targetConstraintErrMsg);\n\tif (env.networks?.length === 1) {\n\t\tconst networkName = env.networks[0];\n\t\tconst network = getNetworkConfig(parsedArgs)(networkName);\n\t\tif (!network) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`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\t\t\t);\n\t\t}\n\t\treturn Promise.resolve(['Network', network]);\n\t}\n\tif (env.sandboxes?.length === 1) {\n\t\tconst sandboxName = env.sandboxes[0];\n\t\tconst sandbox = getSandboxConfig(parsedArgs)(sandboxName);\n\t\tif (!sandbox) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`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\t\t\t);\n\t\t}\n\t\treturn Promise.resolve(['Sandbox', sandbox]);\n\t}\n\treturn sendAsyncErr(targetConstraintErrMsg);\n};\n\nexport const configureToolKitForSandbox = async (sandbox: SandboxConfig.t, sender?: string): Promise<TezosToolkit> => {\n\tlet accountKey: string;\n\tif (sender && sender !== 'default') {\n\t\tconst accounts = getSandboxInstantiatedAccounts(sandbox);\n\t\tif (accounts.hasOwnProperty(sender)) {\n\t\t\taccountKey = accounts[sender].secretKey;\n\t\t} else {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`${sender} is not an account instantiated in the current environment. Check .taq/config.json`,\n\t\t\t);\n\t\t}\n\t} else {\n\t\tconst defaultAccount = getDefaultSandboxAccount(sandbox);\n\t\tif (!defaultAccount) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`No default account is specified in the sandbox to perform the operation. Please use the --sender flag to explicitly specify the account to use as the sender of the operation`,\n\t\t\t);\n\t\t}\n\t\taccountKey = defaultAccount.secretKey;\n\t}\n\n\tconst tezos = new TezosToolkit(sandbox.rpcUrl as string);\n\ttezos.setProvider({ signer: new InMemorySigner(accountKey.replace(/^unencrypted:/, '')) });\n\treturn tezos;\n};\n\nexport const configureToolKitForNetwork = async (\n\tparsedArgs: RequestArgs.t,\n\tnetwork: NetworkConfig.t,\n\tsender?: string,\n): Promise<TezosToolkit> => {\n\tlet account: string;\n\tif (sender && sender !== TAQ_OPERATOR_ACCOUNT) {\n\t\tconst accounts = getNetworkInstantiatedAccounts(network);\n\t\tif (accounts.hasOwnProperty(sender)) {\n\t\t\taccount = sender;\n\t\t} else {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`${sender} is not an account instantiated in the current environment. Check .taq/config.json`,\n\t\t\t);\n\t\t}\n\t} else {\n\t\taccount = TAQ_OPERATOR_ACCOUNT;\n\t}\n\n\tconst tezos = new TezosToolkit(network.rpcUrl as string);\n\tconst key = await getAccountPrivateKey(parsedArgs, network, account);\n\tawait importKey(tezos, key);\n\treturn tezos;\n};\n\nexport const getDeclaredAccounts = (parsedArgs: RequestArgs.t): Record<string, number> =>\n\tObject.entries(parsedArgs.config.accounts ?? {}).reduce(\n\t\t(acc, declaredAccount) => {\n\t\t\tconst alias: string = declaredAccount[0];\n\t\t\tconst mutez: string | number = declaredAccount[1];\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[alias]: typeof mutez === 'string' ? parseFloat(mutez.replaceAll('_', '')) : mutez,\n\t\t\t};\n\t\t},\n\t\t{} as Record<string, number>,\n\t);\n\nexport const getSandboxInstantiatedAccounts = (sandbox: SandboxConfig.t): Record<string, SandboxAccountConfig.t> =>\n\t(sandbox?.accounts)\n\t\t? Object.entries(sandbox.accounts).reduce(\n\t\t\t(acc, instantiatedAccount) => {\n\t\t\t\tconst alias: string = instantiatedAccount[0];\n\t\t\t\tconst keys = instantiatedAccount[1];\n\t\t\t\treturn alias !== 'default'\n\t\t\t\t\t? {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[alias]: keys,\n\t\t\t\t\t}\n\t\t\t\t\t: acc;\n\t\t\t},\n\t\t\t{},\n\t\t)\n\t\t: {};\n\nexport const getNetworkInstantiatedAccounts = (network: NetworkConfig.t): Record<string, any> =>\n\tnetwork.accounts\n\t\t? Object.entries(network.accounts).reduce(\n\t\t\t(acc, instantiatedAccount) => {\n\t\t\t\tconst alias: string = instantiatedAccount[0];\n\t\t\t\tconst keys = instantiatedAccount[1];\n\t\t\t\treturn alias !== TAQ_OPERATOR_ACCOUNT\n\t\t\t\t\t? {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[alias]: keys,\n\t\t\t\t\t}\n\t\t\t\t\t: acc;\n\t\t\t},\n\t\t\t{},\n\t\t)\n\t\t: {};\n\nexport const generateAccountKeys = async (\n\tparsedArgs: RequestArgs.t,\n\tnetwork: NetworkConfig.t,\n\taccount: string,\n): Promise<void> => {\n\tconst tezos = new TezosToolkit(network.rpcUrl as string);\n\tconst key = await getAccountPrivateKey(parsedArgs, network, account);\n\tawait importKey(tezos, key);\n};\n\nexport const handleOpsError = (err: unknown, env: string): Promise<never> => {\n\tif (err instanceof Error) {\n\t\tconst msg = err.message;\n\t\tif (/ENOTFOUND/.test(msg)) return sendAsyncErr('The RPC URL may be invalid. Check ./.taq/config.json');\n\t\tif (/ECONNREFUSED/.test(msg)) return sendAsyncErr('The RPC URL may be down or the sandbox is not running');\n\t\tif (/empty_implicit_contract/.test(msg)) {\n\t\t\tconst result = msg.match(/(?<=\"implicit\":\")tz[^\"]+(?=\")/);\n\t\t\tconst publicKeyHash = result ? result[0] : undefined;\n\t\t\tif (publicKeyHash) {\n\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t`The account ${publicKeyHash} for the target environment, \"${env}\", may not be funded\\nTo fund this account:\\n1. Go to https://teztnets.com and click \"Faucet\" of the target testnet\\n2. Copy and paste the above key into the wallet address field\\n3. Request some Tez (Note that you might need to wait for a few seconds for the network to register the funds)`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn sendAsyncErr(`Error while performing operation:\\n${err} ${JSON.stringify(err, null, 2)}`);\n};\n\nexport const doWithin = async <T>(seconds: number, fn: () => Promise<T>) => {\n\tlet captured: Error = new Error(\n\t\t'Operation timed out. Please try again and perhaps increase the timeout using the --timeout option.',\n\t);\n\tlet timeout: ReturnType<typeof setTimeout>;\n\n\tconst maxTimeout = new Promise((resolve, reject) => {\n\t\ttimeout = setTimeout(() => {\n\t\t\treject(captured);\n\t\t}, seconds * 1000);\n\t}) as Promise<T>;\n\n\tconst process = async () => {\n\t\twhile (true) {\n\t\t\ttry {\n\t\t\t\tconst retval: T = await fn();\n\t\t\t\treturn retval;\n\t\t\t} catch (err) {\n\t\t\t\tcaptured = err as Error;\n\t\t\t}\n\t\t}\n\t};\n\n\treturn Promise.race<T>([process(), maxTimeout]).then(retval => {\n\t\tclearTimeout(timeout);\n\t\treturn retval;\n\t});\n};\n","import {\n\tgetAddressOfAlias,\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tgetParameter,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendJsonRes,\n} from '@taqueria/node-sdk';\nimport { Environment } from '@taqueria/node-sdk/types';\nimport { Expr, Parser } from '@taquito/michel-codec';\nimport { TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { BatchWalletOperation } from '@taquito/taquito/dist/types/wallet/batch-operation';\nimport {\n\tconfigureToolKitForNetwork,\n\tconfigureToolKitForSandbox,\n\tdoWithin,\n\tgetEnvTypeAndNodeConfig,\n\thandleOpsError,\n\tTransferOpts as Opts,\n} from './common';\n\nexport type ContractInfo = {\n\tcontractAlias: string;\n\tcontractAddress: string;\n\tparameter: string;\n\tentrypoint: string;\n\tmutezTransfer: number;\n};\n\ntype TableRow = {\n\tcontractAlias: string;\n\tcontractAddress: string;\n\tparameter: string;\n\tentrypoint: string;\n\tmutezTransfer: string;\n\tdestination: string;\n};\n\nconst isContractAddress = (contract: string): boolean =>\n\tcontract.startsWith('tz1') || contract.startsWith('tz2') || contract.startsWith('tz3') || contract.startsWith('KT1');\n\nconst getContractInfo = async (parsedArgs: Opts, env: Environment.t): Promise<ContractInfo> => {\n\tconst contract = parsedArgs.contract;\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\treturn {\n\t\tcontractAlias: isContractAddress(contract) ? 'N/A' : contract,\n\t\tcontractAddress: isContractAddress(contract) ? contract : await getAddressOfAlias(env, contract),\n\t\tparameter: parsedArgs.param ? await getParameter(protocolArgs, parsedArgs.param) : 'Unit',\n\t\tentrypoint: parsedArgs.entrypoint ?? 'default',\n\t\tmutezTransfer: parseInt(parsedArgs.mutez ?? '0'),\n\t};\n};\n\nconst createBatchForTransfer = (\n\ttezos: TezosToolkit,\n\tcontractsInfo: ContractInfo[],\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): WalletOperationBatch =>\n\tcontractsInfo.reduce((acc, contractInfo) =>\n\t\tacc.withTransfer({\n\t\t\tfee,\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t\tto: contractInfo.contractAddress,\n\t\t\tamount: contractInfo.mutezTransfer,\n\t\t\tparameter: {\n\t\t\t\tentrypoint: contractInfo.entrypoint,\n\t\t\t\tvalue: new Parser().parseMichelineExpression(contractInfo.parameter) as Expr,\n\t\t\t},\n\t\t\tmutez: true,\n\t\t}), tezos.wallet.batch());\n\nexport const performTransferOps = async (\n\ttezos: TezosToolkit,\n\tenv: string,\n\tcontractsInfo: ContractInfo[],\n\tmaxTimeout: number,\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): Promise<BatchWalletOperation> => {\n\tconst batch = createBatchForTransfer(tezos, contractsInfo, gasLimit, storageLimit, fee);\n\ttry {\n\t\treturn await doWithin<BatchWalletOperation>(maxTimeout, async () => {\n\t\t\tconst op = await batch.send();\n\t\t\tawait op.confirmation();\n\t\t\treturn op;\n\t\t});\n\t} catch (err) {\n\t\treturn handleOpsError(err, env);\n\t}\n};\n\nconst prepContractInfoForDisplay = (tezos: TezosToolkit, contractInfo: ContractInfo): TableRow => {\n\treturn {\n\t\tcontractAlias: contractInfo.contractAlias,\n\t\tcontractAddress: contractInfo.contractAddress,\n\t\tparameter: contractInfo.parameter,\n\t\tentrypoint: contractInfo.entrypoint,\n\t\tmutezTransfer: contractInfo.mutezTransfer.toString(),\n\t\tdestination: tezos.rpc.getRpcUrl(),\n\t};\n};\n\nconst transfer = async (opts: Opts): Promise<void> => {\n\tconst protocolArgs = RequestArgs.create(opts);\n\tconst env = getCurrentEnvironmentConfig(protocolArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${protocolArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\tconst tezos = await (envType === 'Network'\n\t\t\t? configureToolKitForNetwork(protocolArgs, nodeConfig, opts.sender)\n\t\t\t: configureToolKitForSandbox(nodeConfig, opts.sender));\n\n\t\tconst contractInfo = await getContractInfo(opts, env);\n\n\t\tawait performTransferOps(\n\t\t\ttezos,\n\t\t\tgetCurrentEnvironment(protocolArgs),\n\t\t\t[contractInfo],\n\t\t\topts.timeout,\n\t\t\topts.gasLimit,\n\t\t\topts.storageLimit,\n\t\t\topts.fee,\n\t\t);\n\n\t\tconst contractInfoForDisplay = prepContractInfoForDisplay(tezos, contractInfo);\n\t\treturn sendJsonRes([contractInfoForDisplay]);\n\t} catch {\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default transfer;\n","import { getCurrentEnvironmentConfig, RequestArgs, sendAsyncErr, sendJsonRes, sendWarn } from '@taqueria/node-sdk';\nimport {\n\tgenerateAccountKeys,\n\tgetDeclaredAccounts,\n\tgetEnvTypeAndNodeConfig,\n\tgetNetworkInstantiatedAccounts,\n} from './common';\n\nconst instantiate_account = async (parsedArgs: RequestArgs.t): Promise<void> => {\n\tconst env = getCurrentEnvironmentConfig(parsedArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(parsedArgs, env);\n\t\tif (envType !== 'Network') {\n\t\t\treturn sendAsyncErr('taq instantiate-account can only be executed in a network environment');\n\t\t}\n\n\t\tconst declaredAccountAliases = Object.keys(getDeclaredAccounts(parsedArgs));\n\t\tconst instantiatedAccounts = getNetworkInstantiatedAccounts(nodeConfig);\n\n\t\tlet accountsInstantiated = [];\n\t\tfor (const declaredAccountAlias of declaredAccountAliases) {\n\t\t\tif (!instantiatedAccounts.hasOwnProperty(declaredAccountAlias)) {\n\t\t\t\tawait generateAccountKeys(parsedArgs, nodeConfig, declaredAccountAlias);\n\t\t\t\taccountsInstantiated.push(declaredAccountAlias);\n\t\t\t} else {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: ${declaredAccountAlias} is already instantiated in the current environment, \"${parsedArgs.env}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (accountsInstantiated.length !== 0) {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`Accounts instantiated: ${\n\t\t\t\t\taccountsInstantiated.join(', ')\n\t\t\t\t}.\\nPlease execute \"taq fund\" targeting the same environment to fund these accounts`,\n\t\t\t);\n\t\t} else {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`No accounts were instantiated because they were all instantiated in the target environment already`,\n\t\t\t);\n\t\t}\n\t} catch (err) {\n\t\tawait sendAsyncErr('No operations performed');\n\t\tif (parsedArgs.debug) await sendAsyncErr(String(err));\n\t}\n};\n\nexport default instantiate_account;\n","import {\n\taddTzExtensionIfMissing,\n\tgetArtifactsDir,\n\tgetContractContent,\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tNonEmptyString,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendErr,\n\tsendJsonRes,\n\tupdateAddressAlias,\n} from '@taqueria/node-sdk';\nimport { OperationContentsAndResultOrigination } from '@taquito/rpc';\nimport { OriginationWalletOperation, TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { BatchWalletOperation } from '@taquito/taquito/dist/types/wallet/batch-operation';\nimport { basename, extname, join } from 'path';\nimport {\n\tconfigureToolKitForNetwork,\n\tconfigureToolKitForSandbox,\n\tdoWithin,\n\tgetEnvTypeAndNodeConfig,\n\thandleOpsError,\n\tOriginateOpts as Opts,\n} from './common';\n\ntype ContractInfo = {\n\tcontract: string;\n\tcode: string;\n\tinitStorage: string;\n\tmutezTransfer: number;\n};\n\ntype TableRow = {\n\tcontract: string;\n\taddress: string;\n\talias: string;\n\tbalanceInMutez?: string;\n\tdestination?: string;\n};\n\nconst getContractPath = (parsedArgs: RequestArgs.t, contractFilename: string) =>\n\tjoin(getArtifactsDir(parsedArgs), /\\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`);\n\nconst getDefaultStorageFilename = (contractName: string): string => {\n\tconst baseFilename = basename(contractName, extname(contractName));\n\tconst extFilename = extname(contractName);\n\tconst defaultStorage = `${baseFilename}.default_storage${extFilename}`;\n\treturn defaultStorage;\n};\n\nconst getContractInfo = async (parsedArgs: Opts): Promise<ContractInfo> => {\n\tconst contract = parsedArgs.contract;\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst contractWithTzExtension = addTzExtensionIfMissing(contract);\n\tconst contractCode = await getContractContent(protocolArgs, contractWithTzExtension);\n\tif (contractCode === undefined) {\n\t\treturn sendAsyncErr(\n\t\t\t`Please generate ${contractWithTzExtension} with one of the compilers (LIGO, SmartPy, Archetype) or write it manually and put it under /${parsedArgs.config.artifactsDir}\\n`,\n\t\t);\n\t}\n\n\tconst storageFilename = parsedArgs.storage ?? getDefaultStorageFilename(contractWithTzExtension);\n\tconst contractInitStorage = await getContractContent(protocolArgs, storageFilename);\n\tif (contractInitStorage === undefined) {\n\t\treturn sendAsyncErr(\n\t\t\t`❌ No initial storage file was found for ${contractWithTzExtension}\\nStorage must be specified in a file as a Michelson expression and will automatically be linked to this contract if specified with the name \"${\n\t\t\t\tgetDefaultStorageFilename(contractWithTzExtension)\n\t\t\t}\" in the artifacts directory\\nYou can also manually pass a storage file to the originate task using the --storage STORAGE_FILE_NAME option\\n`,\n\t\t);\n\t}\n\n\treturn {\n\t\tcontract,\n\t\tcode: contractCode,\n\t\tinitStorage: contractInitStorage.trim(),\n\t\tmutezTransfer: parseInt(parsedArgs.mutez ?? '0'),\n\t};\n};\n\nconst createBatchForOriginate = (\n\ttezos: TezosToolkit,\n\tcontractsInfo: ContractInfo[],\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): WalletOperationBatch =>\n\tcontractsInfo.reduce((acc, contractInfo) =>\n\t\tacc.withOrigination({\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t\tfee,\n\t\t\tcode: contractInfo.code,\n\t\t\tinit: contractInfo.initStorage,\n\t\t\tbalance: contractInfo.mutezTransfer.toString(),\n\t\t\tmutez: true,\n\t\t}), tezos.wallet.batch());\n\nconst performOriginateOps = async (\n\ttezos: TezosToolkit,\n\tenv: string,\n\tcontractsInfo: ContractInfo,\n\tmaxTimeout: number,\n\tisSandbox = false,\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): Promise<OriginationWalletOperation> => {\n\ttry {\n\t\tconst result = await tezos.wallet.originate({\n\t\t\tcode: contractsInfo.code,\n\t\t\tinit: contractsInfo.initStorage,\n\t\t\tbalance: contractsInfo.mutezTransfer.toString(),\n\t\t\tmutez: true,\n\t\t\tfee,\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t});\n\n\t\tconst op = await result.send();\n\t\tawait op.confirmation(isSandbox ? 1 : 3);\n\t\treturn op;\n\t} catch (err) {\n\t\treturn handleOpsError(err, env);\n\t}\n};\n\nconst prepContractInfoForDisplay = async (\n\tparsedArgs: Opts,\n\ttezos: TezosToolkit,\n\tcontractInfo: ContractInfo,\n\top: OriginationWalletOperation,\n): Promise<TableRow> => {\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst operationResults = await op.operationResults();\n\tconst originationResults = (operationResults ?? [])\n\t\t.filter(result => result.kind === 'origination')\n\t\t.map(result => result as unknown as OperationContentsAndResultOrigination);\n\n\t// Length should be 1 since we are batching originate operations into one\n\tconst result = originationResults.length === 1 ? originationResults[0] : undefined;\n\tconst address = result?.metadata?.operation_result?.originated_contracts?.join(',');\n\tconst alias = parsedArgs.alias ?? basename(contractInfo.contract, extname(contractInfo.contract));\n\n\tconst displayableAddress = address ?? 'Something went wrong during origination';\n\n\tif (address) {\n\t\tconst validatedAddress = NonEmptyString.create(address);\n\t\tawait updateAddressAlias(protocolArgs, alias, validatedAddress);\n\t}\n\n\treturn {\n\t\tcontract: contractInfo.contract,\n\t\taddress: displayableAddress,\n\t\talias: address ? alias : 'N/A',\n\t\t// destination: tezos.rpc.getRpcUrl(),\n\t};\n};\n\nconst originate = async (parsedArgs: Opts): Promise<void> => {\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst env = getCurrentEnvironmentConfig(protocolArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\tconst tezos = await (envType === 'Network'\n\t\t\t? configureToolKitForNetwork(protocolArgs, nodeConfig, parsedArgs.sender)\n\t\t\t: configureToolKitForSandbox(nodeConfig, parsedArgs.sender));\n\n\t\tconst contractInfo = await getContractInfo(parsedArgs);\n\n\t\tconst op = await performOriginateOps(\n\t\t\ttezos,\n\t\t\tgetCurrentEnvironment(protocolArgs),\n\t\t\tcontractInfo,\n\t\t\tparsedArgs.timeout,\n\t\t\tenvType !== 'Network',\n\t\t\tparsedArgs.gasLimit,\n\t\t\tparsedArgs.storageLimit,\n\t\t\tparsedArgs.fee,\n\t\t);\n\n\t\tconst contractInfoForDisplay = await prepContractInfoForDisplay(parsedArgs, tezos, contractInfo, op);\n\t\treturn sendJsonRes([contractInfoForDisplay]);\n\t} catch (e) {\n\t\tif (e instanceof Error && e.message.includes('503')) {\n\t\t\ttry {\n\t\t\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\t\t\tif (envType === 'Network' && nodeConfig.rpcUrl.includes('ghostnet')) {\n\t\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t\t`❌ Ghostnet is returning 503 errors, indicating that the server is under heavy load.\\nPlease try again later.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t`❌ The node you are trying to connect to is not available\\nPlease check if the node is running and the URL is correct in your config.json`,\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\t// Resort to the default error message\n\t\t\t}\n\t\t}\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default originate;\n"],"mappings":"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","names":["import_node_sdk","import_node_sdk","import_node_sdk","process","import_node_sdk","import_node_sdk","import_node_sdk","getContractInfo","prepContractInfoForDisplay","result","getContractInfo"]}
|
package/index.mjs
CHANGED
|
@@ -22,8 +22,8 @@ import {
|
|
|
22
22
|
sendAsyncErr,
|
|
23
23
|
TAQ_OPERATOR_ACCOUNT
|
|
24
24
|
} from "@taqueria/node-sdk";
|
|
25
|
-
import {
|
|
26
|
-
import { TezosToolkit } from "@taquito/taquito";
|
|
25
|
+
import { InMemorySigner } from "@taquito/signer";
|
|
26
|
+
import { importKey, TezosToolkit } from "@taquito/taquito";
|
|
27
27
|
var getEnvTypeAndNodeConfig = (parsedArgs, env) => {
|
|
28
28
|
var _a, _b, _c, _d;
|
|
29
29
|
const targetConstraintErrMsg = "Each environment can only have one target, be it a network or a sandbox";
|
|
@@ -143,7 +143,7 @@ var handleOpsError = (err, env) => {
|
|
|
143
143
|
return sendAsyncErr(
|
|
144
144
|
`The account ${publicKeyHash} for the target environment, "${env}", may not be funded
|
|
145
145
|
To fund this account:
|
|
146
|
-
1. Go to https://teztnets.
|
|
146
|
+
1. Go to https://teztnets.com and click "Faucet" of the target testnet
|
|
147
147
|
2. Copy and paste the above key into the wallet address field
|
|
148
148
|
3. Request some Tez (Note that you might need to wait for a few seconds for the network to register the funds)`
|
|
149
149
|
);
|
package/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts","main.ts","fund.ts","common.ts","transfer.ts","instantiate_account.ts","originate.ts"],"sourcesContent":["import { Option, Plugin, Task } from '@taqueria/node-sdk';\nimport main from './main';\n\nPlugin.create(_i18n => ({\n\talias: 'taquito',\n\tschema: '1.0',\n\tversion: '0.1',\n\ttasks: [\n\t\tTask.create({\n\t\t\ttask: 'deploy',\n\t\t\tcommand: 'deploy <contract>',\n\t\t\tdescription: 'Deploy a smart contract to a particular environment',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'alias',\n\t\t\t\t\tdescription: \"Alias used to refer to the deployed contract's address\",\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storage',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Name of the storage file that contains the storage value as a Michelson expression, in the artifacts directory, used for originating a contract',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'sender',\n\t\t\t\t\tdescription: 'Name of an instantiated account to use as the sender of the originate operation',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'mutez',\n\t\t\t\t\tdescription: 'Amount of Mutez to transfer',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Number of seconds to elapse before abandoning the operation (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'gasLimit',\n\t\t\t\t\tshortFlag: 'g',\n\t\t\t\t\tdescription: 'Gas limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storageLimit',\n\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\tdescription: 'Storage limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'fee',\n\t\t\t\t\tshortFlag: 'f',\n\t\t\t\t\tdescription: 'Fee per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t\taliases: ['originate'],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'transfer',\n\t\t\tcommand: 'transfer <contract>',\n\t\t\tdescription:\n\t\t\t\t'Transfer/call an implicit account or a smart contract (specified via its alias or address) deployed to a particular environment',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'mutez',\n\t\t\t\t\tdescription: 'Amount of Mutez to transfer',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'param',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Name of the parameter file that contains the parameter value as a Michelson expression, in the artifacts directory, used for invoking a deployed contract',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'entrypoint',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'You may explicitly specify an entrypoint to make the parameter value shorter, without having to specify a chain of (Left (Right ... 14 ...))',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'sender',\n\t\t\t\t\tdescription: 'Name of an instantiated account to use as the sender of the transfer operation',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription: 'Number of retry attempts (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'gasLimit',\n\t\t\t\t\tshortFlag: 'g',\n\t\t\t\t\tdescription: 'Gas limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storageLimit',\n\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\tdescription: 'Storage limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'fee',\n\t\t\t\t\tshortFlag: 'f',\n\t\t\t\t\tdescription: 'Fee per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t\taliases: ['call'],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'fund',\n\t\t\tcommand: 'fund',\n\t\t\tdescription: 'Fund all the instantiated accounts up to the desired/declared amount in a target environment',\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription: 'Number of retry attempts (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'instantiate-account',\n\t\t\tcommand: 'instantiate-account',\n\t\t\tdescription:\n\t\t\t\t'Instantiate all accounts declared in the \"accounts\" field at the root level of the config file to a target environment',\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t],\n\tproxy: main,\n}), process.argv);\n","import { RequestArgs, sendAsyncErr } from '@taqueria/node-sdk';\nimport { IntersectionOpts as Opts } from './common';\nimport fund from './fund';\nimport instantiate_account from './instantiate_account';\nimport originate from './originate';\nimport transfer from './transfer';\n\nexport const main = (parsedArgs: RequestArgs.t): Promise<void> => {\n\tconst unsafeArgs = parsedArgs as unknown as Opts;\n\tswitch (unsafeArgs.task) {\n\t\tcase 'deploy':\n\t\t\treturn originate(unsafeArgs);\n\t\tcase 'transfer':\n\t\t\treturn transfer(unsafeArgs);\n\t\tcase 'instantiate-account':\n\t\t\treturn instantiate_account(parsedArgs);\n\t\tcase 'fund':\n\t\t\treturn fund(unsafeArgs);\n\t\tdefault:\n\t\t\treturn sendAsyncErr(`${unsafeArgs} is not an understood task by the Taquito plugin`);\n\t}\n};\n\nexport default main;\n","import {\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendJsonRes,\n\tsendWarn,\n} from '@taqueria/node-sdk';\nimport { TezosToolkit } from '@taquito/taquito';\nimport {\n\tconfigureToolKitForNetwork,\n\tFundOpts,\n\tFundOpts as Opts,\n\tgetDeclaredAccounts,\n\tgetEnvTypeAndNodeConfig,\n\tgetNetworkInstantiatedAccounts,\n} from './common';\nimport { ContractInfo, performTransferOps } from './transfer';\n\ntype TableRow = {\n\taccountAlias: string;\n\taccountAddress: string;\n\tmutezFunded: string;\n};\n\nconst getAccountsInfo = (\n\tparsedArgs: RequestArgs.t,\n\ttezos: TezosToolkit,\n\tinstantiatedAccounts: Record<string, any>,\n): Promise<ContractInfo[]> =>\n\tPromise.all(\n\t\tObject.entries(instantiatedAccounts)\n\t\t\t.map(async (instantiatedAccount: [string, any]) => {\n\t\t\t\tconst alias = instantiatedAccount[0];\n\t\t\t\tconst aliasInfo = instantiatedAccount[1];\n\n\t\t\t\tconst declaredMutez: number | undefined = getDeclaredAccounts(parsedArgs)[alias];\n\t\t\t\tconst currentBalanceInMutez = (await tezos.tz.getBalance(aliasInfo.publicKeyHash)).toNumber();\n\t\t\t\tconst amountToFillInMutez = declaredMutez ? Math.max(declaredMutez - currentBalanceInMutez, 0) : 0;\n\n\t\t\t\tif (!declaredMutez) {\n\t\t\t\t\tsendWarn(\n\t\t\t\t\t\t`Warning: ${alias} is instantiated in the target environment but not declared in the root level \"accounts\" field of ./.taq/config.json so ${alias} will not be funded as you don't have a declared tez amount set there for ${alias}\\n`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tcontractAlias: alias,\n\t\t\t\t\tcontractAddress: aliasInfo.publicKeyHash,\n\t\t\t\t\tparameter: 'Unit',\n\t\t\t\t\tentrypoint: 'default',\n\t\t\t\t\tmutezTransfer: parseInt(amountToFillInMutez.toString().replaceAll('_', '')),\n\t\t\t\t};\n\t\t\t}),\n\t)\n\t\t.then(accountsInfo => accountsInfo.filter(accountInfo => accountInfo.mutezTransfer !== 0))\n\t\t.catch(err => sendAsyncErr(`Something went wrong while extracting account information - ${err}`));\n\nconst prepAccountsInfoForDisplay = (accountsInfo: ContractInfo[]): TableRow[] =>\n\taccountsInfo.map(accountInfo => {\n\t\treturn {\n\t\t\taccountAlias: accountInfo.contractAlias,\n\t\t\taccountAddress: accountInfo.contractAddress,\n\t\t\tmutezFunded: accountInfo.mutezTransfer.toString(),\n\t\t};\n\t});\n\nconst fund = async (parsedArgs: FundOpts): Promise<void> => {\n\tconst env = getCurrentEnvironmentConfig(parsedArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(parsedArgs, env);\n\t\tif (envType !== 'Network') return sendAsyncErr('taq fund can only be executed in a network environment');\n\t\tconst tezos = await configureToolKitForNetwork(parsedArgs, nodeConfig);\n\n\t\tconst instantiatedAccounts = getNetworkInstantiatedAccounts(nodeConfig);\n\n\t\tconst accountsInfo = await getAccountsInfo(parsedArgs, tezos, instantiatedAccounts);\n\t\tif (accountsInfo.length === 0) {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`All instantiated accounts in the current environment, \"${parsedArgs.env}\", are funded up to or beyond the declared amount`,\n\t\t\t);\n\t\t}\n\n\t\tawait performTransferOps(tezos, getCurrentEnvironment(parsedArgs), accountsInfo, parsedArgs.timeout);\n\n\t\tconst accountsInfoForDisplay = prepAccountsInfoForDisplay(accountsInfo);\n\t\treturn sendJsonRes(accountsInfoForDisplay);\n\t} catch {\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default fund;\n","import {\n\tgetAccountPrivateKey,\n\tgetDefaultSandboxAccount,\n\tgetNetworkConfig,\n\tgetSandboxConfig,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendErr,\n\tTAQ_OPERATOR_ACCOUNT,\n} from '@taqueria/node-sdk';\nimport {\n\tEnvironment,\n\tNetworkConfig,\n\tProtocol,\n\tProxyTaskArgs,\n\tSandboxAccountConfig,\n\tSandboxConfig,\n} from '@taqueria/node-sdk/types';\nimport { importKey, InMemorySigner } from '@taquito/signer';\nimport { TezosToolkit } from '@taquito/taquito';\n\nexport type OriginateOpts = ProxyTaskArgs.t & {\n\tcontract: string;\n\tstorage: string;\n\talias?: string;\n\tsender?: string;\n\tmutez?: string;\n\ttimeout: number;\n\tgasLimit?: number;\n\tstorageLimit?: number;\n\tfee?: number;\n};\n\nexport type TransferOpts = ProxyTaskArgs.t & {\n\tcontract: string;\n\tmutez?: string;\n\tparam?: string;\n\tentrypoint?: string;\n\tsender?: string;\n\ttimeout: number;\n\tgasLimit?: number;\n\tstorageLimit?: number;\n\tfee?: number;\n};\n\nexport type FundOpts = ProxyTaskArgs.t & {\n\ttimeout: number;\n};\n\nexport type InstantiateAccountOpts = ProxyTaskArgs.t;\n\n// To be used for the main entrypoint of the plugin\nexport type IntersectionOpts = OriginateOpts & TransferOpts & InstantiateAccountOpts & FundOpts;\n\n// To be used for common functions in this file\ntype UnionOpts = OriginateOpts | TransferOpts | InstantiateAccountOpts | FundOpts;\n\nexport const getEnvTypeAndNodeConfig = (\n\tparsedArgs: RequestArgs.t,\n\tenv: Environment.t,\n): Promise<['Network', NetworkConfig.t] | ['Sandbox', SandboxConfig.t]> => {\n\tconst targetConstraintErrMsg = 'Each environment can only have one target, be it a network or a sandbox';\n\tif (env.networks?.length === 1 && env.sandboxes?.length === 1) return sendAsyncErr(targetConstraintErrMsg);\n\tif (env.networks?.length === 1) {\n\t\tconst networkName = env.networks[0];\n\t\tconst network = getNetworkConfig(parsedArgs)(networkName);\n\t\tif (!network) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`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\t\t\t);\n\t\t}\n\t\treturn Promise.resolve(['Network', network]);\n\t}\n\tif (env.sandboxes?.length === 1) {\n\t\tconst sandboxName = env.sandboxes[0];\n\t\tconst sandbox = getSandboxConfig(parsedArgs)(sandboxName);\n\t\tif (!sandbox) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`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\t\t\t);\n\t\t}\n\t\treturn Promise.resolve(['Sandbox', sandbox]);\n\t}\n\treturn sendAsyncErr(targetConstraintErrMsg);\n};\n\nexport const configureToolKitForSandbox = async (sandbox: SandboxConfig.t, sender?: string): Promise<TezosToolkit> => {\n\tlet accountKey: string;\n\tif (sender && sender !== 'default') {\n\t\tconst accounts = getSandboxInstantiatedAccounts(sandbox);\n\t\tif (accounts.hasOwnProperty(sender)) {\n\t\t\taccountKey = accounts[sender].secretKey;\n\t\t} else {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`${sender} is not an account instantiated in the current environment. Check .taq/config.json`,\n\t\t\t);\n\t\t}\n\t} else {\n\t\tconst defaultAccount = getDefaultSandboxAccount(sandbox);\n\t\tif (!defaultAccount) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`No default account is specified in the sandbox to perform the operation. Please use the --sender flag to explicitly specify the account to use as the sender of the operation`,\n\t\t\t);\n\t\t}\n\t\taccountKey = defaultAccount.secretKey;\n\t}\n\n\tconst tezos = new TezosToolkit(sandbox.rpcUrl as string);\n\ttezos.setProvider({ signer: new InMemorySigner(accountKey.replace(/^unencrypted:/, '')) });\n\treturn tezos;\n};\n\nexport const configureToolKitForNetwork = async (\n\tparsedArgs: RequestArgs.t,\n\tnetwork: NetworkConfig.t,\n\tsender?: string,\n): Promise<TezosToolkit> => {\n\tlet account: string;\n\tif (sender && sender !== TAQ_OPERATOR_ACCOUNT) {\n\t\tconst accounts = getNetworkInstantiatedAccounts(network);\n\t\tif (accounts.hasOwnProperty(sender)) {\n\t\t\taccount = sender;\n\t\t} else {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`${sender} is not an account instantiated in the current environment. Check .taq/config.json`,\n\t\t\t);\n\t\t}\n\t} else {\n\t\taccount = TAQ_OPERATOR_ACCOUNT;\n\t}\n\n\tconst tezos = new TezosToolkit(network.rpcUrl as string);\n\tconst key = await getAccountPrivateKey(parsedArgs, network, account);\n\tawait importKey(tezos, key);\n\treturn tezos;\n};\n\nexport const getDeclaredAccounts = (parsedArgs: RequestArgs.t): Record<string, number> =>\n\tObject.entries(parsedArgs.config.accounts ?? {}).reduce(\n\t\t(acc, declaredAccount) => {\n\t\t\tconst alias: string = declaredAccount[0];\n\t\t\tconst mutez: string | number = declaredAccount[1];\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[alias]: typeof mutez === 'string' ? parseFloat(mutez.replaceAll('_', '')) : mutez,\n\t\t\t};\n\t\t},\n\t\t{} as Record<string, number>,\n\t);\n\nexport const getSandboxInstantiatedAccounts = (sandbox: SandboxConfig.t): Record<string, SandboxAccountConfig.t> =>\n\t(sandbox?.accounts)\n\t\t? Object.entries(sandbox.accounts).reduce(\n\t\t\t(acc, instantiatedAccount) => {\n\t\t\t\tconst alias: string = instantiatedAccount[0];\n\t\t\t\tconst keys = instantiatedAccount[1];\n\t\t\t\treturn alias !== 'default'\n\t\t\t\t\t? {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[alias]: keys,\n\t\t\t\t\t}\n\t\t\t\t\t: acc;\n\t\t\t},\n\t\t\t{},\n\t\t)\n\t\t: {};\n\nexport const getNetworkInstantiatedAccounts = (network: NetworkConfig.t): Record<string, any> =>\n\tnetwork.accounts\n\t\t? Object.entries(network.accounts).reduce(\n\t\t\t(acc, instantiatedAccount) => {\n\t\t\t\tconst alias: string = instantiatedAccount[0];\n\t\t\t\tconst keys = instantiatedAccount[1];\n\t\t\t\treturn alias !== TAQ_OPERATOR_ACCOUNT\n\t\t\t\t\t? {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[alias]: keys,\n\t\t\t\t\t}\n\t\t\t\t\t: acc;\n\t\t\t},\n\t\t\t{},\n\t\t)\n\t\t: {};\n\nexport const generateAccountKeys = async (\n\tparsedArgs: RequestArgs.t,\n\tnetwork: NetworkConfig.t,\n\taccount: string,\n): Promise<void> => {\n\tconst tezos = new TezosToolkit(network.rpcUrl as string);\n\tconst key = await getAccountPrivateKey(parsedArgs, network, account);\n\tawait importKey(tezos, key);\n};\n\nexport const handleOpsError = (err: unknown, env: string): Promise<never> => {\n\tif (err instanceof Error) {\n\t\tconst msg = err.message;\n\t\tif (/ENOTFOUND/.test(msg)) return sendAsyncErr('The RPC URL may be invalid. Check ./.taq/config.json');\n\t\tif (/ECONNREFUSED/.test(msg)) return sendAsyncErr('The RPC URL may be down or the sandbox is not running');\n\t\tif (/empty_implicit_contract/.test(msg)) {\n\t\t\tconst result = msg.match(/(?<=\"implicit\":\")tz[^\"]+(?=\")/);\n\t\t\tconst publicKeyHash = result ? result[0] : undefined;\n\t\t\tif (publicKeyHash) {\n\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t`The account ${publicKeyHash} for the target environment, \"${env}\", may not be funded\\nTo fund this account:\\n1. Go to https://teztnets.xyz and click \"Faucet\" of the target testnet\\n2. Copy and paste the above key into the wallet address field\\n3. Request some Tez (Note that you might need to wait for a few seconds for the network to register the funds)`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn sendAsyncErr(`Error while performing operation:\\n${err} ${JSON.stringify(err, null, 2)}`);\n};\n\nexport const doWithin = async <T>(seconds: number, fn: () => Promise<T>) => {\n\tlet captured: Error = new Error(\n\t\t'Operation timed out. Please try again and perhaps increase the timeout using the --timeout option.',\n\t);\n\tlet timeout: ReturnType<typeof setTimeout>;\n\n\tconst maxTimeout = new Promise((resolve, reject) => {\n\t\ttimeout = setTimeout(() => {\n\t\t\treject(captured);\n\t\t}, seconds * 1000);\n\t}) as Promise<T>;\n\n\tconst process = async () => {\n\t\twhile (true) {\n\t\t\ttry {\n\t\t\t\tconst retval: T = await fn();\n\t\t\t\treturn retval;\n\t\t\t} catch (err) {\n\t\t\t\tcaptured = err as Error;\n\t\t\t}\n\t\t}\n\t};\n\n\treturn Promise.race<T>([process(), maxTimeout]).then(retval => {\n\t\tclearTimeout(timeout);\n\t\treturn retval;\n\t});\n};\n","import {\n\tgetAddressOfAlias,\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tgetParameter,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendJsonRes,\n} from '@taqueria/node-sdk';\nimport { Environment } from '@taqueria/node-sdk/types';\nimport { Expr, Parser } from '@taquito/michel-codec';\nimport { TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { BatchWalletOperation } from '@taquito/taquito/dist/types/wallet/batch-operation';\nimport {\n\tconfigureToolKitForNetwork,\n\tconfigureToolKitForSandbox,\n\tdoWithin,\n\tgetEnvTypeAndNodeConfig,\n\thandleOpsError,\n\tTransferOpts as Opts,\n} from './common';\n\nexport type ContractInfo = {\n\tcontractAlias: string;\n\tcontractAddress: string;\n\tparameter: string;\n\tentrypoint: string;\n\tmutezTransfer: number;\n};\n\ntype TableRow = {\n\tcontractAlias: string;\n\tcontractAddress: string;\n\tparameter: string;\n\tentrypoint: string;\n\tmutezTransfer: string;\n\tdestination: string;\n};\n\nconst isContractAddress = (contract: string): boolean =>\n\tcontract.startsWith('tz1') || contract.startsWith('tz2') || contract.startsWith('tz3') || contract.startsWith('KT1');\n\nconst getContractInfo = async (parsedArgs: Opts, env: Environment.t): Promise<ContractInfo> => {\n\tconst contract = parsedArgs.contract;\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\treturn {\n\t\tcontractAlias: isContractAddress(contract) ? 'N/A' : contract,\n\t\tcontractAddress: isContractAddress(contract) ? contract : await getAddressOfAlias(env, contract),\n\t\tparameter: parsedArgs.param ? await getParameter(protocolArgs, parsedArgs.param) : 'Unit',\n\t\tentrypoint: parsedArgs.entrypoint ?? 'default',\n\t\tmutezTransfer: parseInt(parsedArgs.mutez ?? '0'),\n\t};\n};\n\nconst createBatchForTransfer = (\n\ttezos: TezosToolkit,\n\tcontractsInfo: ContractInfo[],\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): WalletOperationBatch =>\n\tcontractsInfo.reduce((acc, contractInfo) =>\n\t\tacc.withTransfer({\n\t\t\tfee,\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t\tto: contractInfo.contractAddress,\n\t\t\tamount: contractInfo.mutezTransfer,\n\t\t\tparameter: {\n\t\t\t\tentrypoint: contractInfo.entrypoint,\n\t\t\t\tvalue: new Parser().parseMichelineExpression(contractInfo.parameter) as Expr,\n\t\t\t},\n\t\t\tmutez: true,\n\t\t}), tezos.wallet.batch());\n\nexport const performTransferOps = async (\n\ttezos: TezosToolkit,\n\tenv: string,\n\tcontractsInfo: ContractInfo[],\n\tmaxTimeout: number,\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): Promise<BatchWalletOperation> => {\n\tconst batch = createBatchForTransfer(tezos, contractsInfo, gasLimit, storageLimit, fee);\n\ttry {\n\t\treturn await doWithin<BatchWalletOperation>(maxTimeout, async () => {\n\t\t\tconst op = await batch.send();\n\t\t\tawait op.confirmation();\n\t\t\treturn op;\n\t\t});\n\t} catch (err) {\n\t\treturn handleOpsError(err, env);\n\t}\n};\n\nconst prepContractInfoForDisplay = (tezos: TezosToolkit, contractInfo: ContractInfo): TableRow => {\n\treturn {\n\t\tcontractAlias: contractInfo.contractAlias,\n\t\tcontractAddress: contractInfo.contractAddress,\n\t\tparameter: contractInfo.parameter,\n\t\tentrypoint: contractInfo.entrypoint,\n\t\tmutezTransfer: contractInfo.mutezTransfer.toString(),\n\t\tdestination: tezos.rpc.getRpcUrl(),\n\t};\n};\n\nconst transfer = async (opts: Opts): Promise<void> => {\n\tconst protocolArgs = RequestArgs.create(opts);\n\tconst env = getCurrentEnvironmentConfig(protocolArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${protocolArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\tconst tezos = await (envType === 'Network'\n\t\t\t? configureToolKitForNetwork(protocolArgs, nodeConfig, opts.sender)\n\t\t\t: configureToolKitForSandbox(nodeConfig, opts.sender));\n\n\t\tconst contractInfo = await getContractInfo(opts, env);\n\n\t\tawait performTransferOps(\n\t\t\ttezos,\n\t\t\tgetCurrentEnvironment(protocolArgs),\n\t\t\t[contractInfo],\n\t\t\topts.timeout,\n\t\t\topts.gasLimit,\n\t\t\topts.storageLimit,\n\t\t\topts.fee,\n\t\t);\n\n\t\tconst contractInfoForDisplay = prepContractInfoForDisplay(tezos, contractInfo);\n\t\treturn sendJsonRes([contractInfoForDisplay]);\n\t} catch {\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default transfer;\n","import { getCurrentEnvironmentConfig, RequestArgs, sendAsyncErr, sendJsonRes, sendWarn } from '@taqueria/node-sdk';\nimport {\n\tgenerateAccountKeys,\n\tgetDeclaredAccounts,\n\tgetEnvTypeAndNodeConfig,\n\tgetNetworkInstantiatedAccounts,\n} from './common';\n\nconst instantiate_account = async (parsedArgs: RequestArgs.t): Promise<void> => {\n\tconst env = getCurrentEnvironmentConfig(parsedArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(parsedArgs, env);\n\t\tif (envType !== 'Network') {\n\t\t\treturn sendAsyncErr('taq instantiate-account can only be executed in a network environment');\n\t\t}\n\n\t\tconst declaredAccountAliases = Object.keys(getDeclaredAccounts(parsedArgs));\n\t\tconst instantiatedAccounts = getNetworkInstantiatedAccounts(nodeConfig);\n\n\t\tlet accountsInstantiated = [];\n\t\tfor (const declaredAccountAlias of declaredAccountAliases) {\n\t\t\tif (!instantiatedAccounts.hasOwnProperty(declaredAccountAlias)) {\n\t\t\t\tawait generateAccountKeys(parsedArgs, nodeConfig, declaredAccountAlias);\n\t\t\t\taccountsInstantiated.push(declaredAccountAlias);\n\t\t\t} else {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: ${declaredAccountAlias} is already instantiated in the current environment, \"${parsedArgs.env}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (accountsInstantiated.length !== 0) {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`Accounts instantiated: ${\n\t\t\t\t\taccountsInstantiated.join(', ')\n\t\t\t\t}.\\nPlease execute \"taq fund\" targeting the same environment to fund these accounts`,\n\t\t\t);\n\t\t} else {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`No accounts were instantiated because they were all instantiated in the target environment already`,\n\t\t\t);\n\t\t}\n\t} catch (err) {\n\t\tawait sendAsyncErr('No operations performed');\n\t\tif (parsedArgs.debug) await sendAsyncErr(String(err));\n\t}\n};\n\nexport default instantiate_account;\n","import {\n\taddTzExtensionIfMissing,\n\tgetArtifactsDir,\n\tgetContractContent,\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tNonEmptyString,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendErr,\n\tsendJsonRes,\n\tupdateAddressAlias,\n} from '@taqueria/node-sdk';\nimport { OperationContentsAndResultOrigination } from '@taquito/rpc';\nimport { OriginationWalletOperation, TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { BatchWalletOperation } from '@taquito/taquito/dist/types/wallet/batch-operation';\nimport { basename, extname, join } from 'path';\nimport {\n\tconfigureToolKitForNetwork,\n\tconfigureToolKitForSandbox,\n\tdoWithin,\n\tgetEnvTypeAndNodeConfig,\n\thandleOpsError,\n\tOriginateOpts as Opts,\n} from './common';\n\ntype ContractInfo = {\n\tcontract: string;\n\tcode: string;\n\tinitStorage: string;\n\tmutezTransfer: number;\n};\n\ntype TableRow = {\n\tcontract: string;\n\taddress: string;\n\talias: string;\n\tbalanceInMutez?: string;\n\tdestination?: string;\n};\n\nconst getContractPath = (parsedArgs: RequestArgs.t, contractFilename: string) =>\n\tjoin(getArtifactsDir(parsedArgs), /\\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`);\n\nconst getDefaultStorageFilename = (contractName: string): string => {\n\tconst baseFilename = basename(contractName, extname(contractName));\n\tconst extFilename = extname(contractName);\n\tconst defaultStorage = `${baseFilename}.default_storage${extFilename}`;\n\treturn defaultStorage;\n};\n\nconst getContractInfo = async (parsedArgs: Opts): Promise<ContractInfo> => {\n\tconst contract = parsedArgs.contract;\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst contractWithTzExtension = addTzExtensionIfMissing(contract);\n\tconst contractCode = await getContractContent(protocolArgs, contractWithTzExtension);\n\tif (contractCode === undefined) {\n\t\treturn sendAsyncErr(\n\t\t\t`Please generate ${contractWithTzExtension} with one of the compilers (LIGO, SmartPy, Archetype) or write it manually and put it under /${parsedArgs.config.artifactsDir}\\n`,\n\t\t);\n\t}\n\n\tconst storageFilename = parsedArgs.storage ?? getDefaultStorageFilename(contractWithTzExtension);\n\tconst contractInitStorage = await getContractContent(protocolArgs, storageFilename);\n\tif (contractInitStorage === undefined) {\n\t\treturn sendAsyncErr(\n\t\t\t`❌ No initial storage file was found for ${contractWithTzExtension}\\nStorage must be specified in a file as a Michelson expression and will automatically be linked to this contract if specified with the name \"${\n\t\t\t\tgetDefaultStorageFilename(contractWithTzExtension)\n\t\t\t}\" in the artifacts directory\\nYou can also manually pass a storage file to the originate task using the --storage STORAGE_FILE_NAME option\\n`,\n\t\t);\n\t}\n\n\treturn {\n\t\tcontract,\n\t\tcode: contractCode,\n\t\tinitStorage: contractInitStorage.trim(),\n\t\tmutezTransfer: parseInt(parsedArgs.mutez ?? '0'),\n\t};\n};\n\nconst createBatchForOriginate = (\n\ttezos: TezosToolkit,\n\tcontractsInfo: ContractInfo[],\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): WalletOperationBatch =>\n\tcontractsInfo.reduce((acc, contractInfo) =>\n\t\tacc.withOrigination({\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t\tfee,\n\t\t\tcode: contractInfo.code,\n\t\t\tinit: contractInfo.initStorage,\n\t\t\tbalance: contractInfo.mutezTransfer.toString(),\n\t\t\tmutez: true,\n\t\t}), tezos.wallet.batch());\n\nconst performOriginateOps = async (\n\ttezos: TezosToolkit,\n\tenv: string,\n\tcontractsInfo: ContractInfo,\n\tmaxTimeout: number,\n\tisSandbox = false,\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): Promise<OriginationWalletOperation> => {\n\ttry {\n\t\tconst result = await tezos.wallet.originate({\n\t\t\tcode: contractsInfo.code,\n\t\t\tinit: contractsInfo.initStorage,\n\t\t\tbalance: contractsInfo.mutezTransfer.toString(),\n\t\t\tmutez: true,\n\t\t\tfee,\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t});\n\n\t\tconst op = await result.send();\n\t\tawait op.confirmation(isSandbox ? 1 : 3);\n\t\treturn op;\n\t} catch (err) {\n\t\treturn handleOpsError(err, env);\n\t}\n};\n\nconst prepContractInfoForDisplay = async (\n\tparsedArgs: Opts,\n\ttezos: TezosToolkit,\n\tcontractInfo: ContractInfo,\n\top: OriginationWalletOperation,\n): Promise<TableRow> => {\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst operationResults = await op.operationResults();\n\tconst originationResults = (operationResults ?? [])\n\t\t.filter(result => result.kind === 'origination')\n\t\t.map(result => result as unknown as OperationContentsAndResultOrigination);\n\n\t// Length should be 1 since we are batching originate operations into one\n\tconst result = originationResults.length === 1 ? originationResults[0] : undefined;\n\tconst address = result?.metadata?.operation_result?.originated_contracts?.join(',');\n\tconst alias = parsedArgs.alias ?? basename(contractInfo.contract, extname(contractInfo.contract));\n\n\tconst displayableAddress = address ?? 'Something went wrong during origination';\n\n\tif (address) {\n\t\tconst validatedAddress = NonEmptyString.create(address);\n\t\tawait updateAddressAlias(protocolArgs, alias, validatedAddress);\n\t}\n\n\treturn {\n\t\tcontract: contractInfo.contract,\n\t\taddress: displayableAddress,\n\t\talias: address ? alias : 'N/A',\n\t\t// destination: tezos.rpc.getRpcUrl(),\n\t};\n};\n\nconst originate = async (parsedArgs: Opts): Promise<void> => {\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst env = getCurrentEnvironmentConfig(protocolArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\tconst tezos = await (envType === 'Network'\n\t\t\t? configureToolKitForNetwork(protocolArgs, nodeConfig, parsedArgs.sender)\n\t\t\t: configureToolKitForSandbox(nodeConfig, parsedArgs.sender));\n\n\t\tconst contractInfo = await getContractInfo(parsedArgs);\n\n\t\tconst op = await performOriginateOps(\n\t\t\ttezos,\n\t\t\tgetCurrentEnvironment(protocolArgs),\n\t\t\tcontractInfo,\n\t\t\tparsedArgs.timeout,\n\t\t\tenvType !== 'Network',\n\t\t\tparsedArgs.gasLimit,\n\t\t\tparsedArgs.storageLimit,\n\t\t\tparsedArgs.fee,\n\t\t);\n\n\t\tconst contractInfoForDisplay = await prepContractInfoForDisplay(parsedArgs, tezos, contractInfo, op);\n\t\treturn sendJsonRes([contractInfoForDisplay]);\n\t} catch (e) {\n\t\tif (e instanceof Error && e.message.includes('503')) {\n\t\t\ttry {\n\t\t\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\t\t\tif (envType === 'Network' && nodeConfig.rpcUrl.includes('ghostnet')) {\n\t\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t\t`❌ Ghostnet is returning 503 errors, indicating that the server is under heavy load.\\nPlease try again later.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t`❌ The node you are trying to connect to is not available\\nPlease check if the node is running and the URL is correct in your config.json`,\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\t// Resort to the default error message\n\t\t\t}\n\t\t}\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default originate;\n"],"mappings":";AAAA,SAAS,QAAQ,QAAQ,YAAY;;;ACArC,SAAsB,gBAAAA,qBAAoB;;;ACA1C;AAAA,EACC,yBAAAC;AAAA,EACA,+BAAAC;AAAA,EAEA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA;AAAA,OACM;;;ACPP;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAEA;AAAA,OACM;AASP,SAAS,WAAW,sBAAsB;AAC1C,SAAS,oBAAoB;AAsCtB,IAAM,0BAA0B,CACtC,YACA,QAC0E;AA5D3E;AA6DC,QAAM,yBAAyB;AAC/B,QAAI,SAAI,aAAJ,mBAAc,YAAW,OAAK,SAAI,cAAJ,mBAAe,YAAW,EAAG,QAAO,aAAa,sBAAsB;AACzG,QAAI,SAAI,aAAJ,mBAAc,YAAW,GAAG;AAC/B,UAAM,cAAc,IAAI,SAAS,CAAC;AAClC,UAAM,UAAU,iBAAiB,UAAU,EAAE,WAAW;AACxD,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,QACN,kEAAkE,WAAW;AAAA,MAC9E;AAAA,IACD;AACA,WAAO,QAAQ,QAAQ,CAAC,WAAW,OAAO,CAAC;AAAA,EAC5C;AACA,QAAI,SAAI,cAAJ,mBAAe,YAAW,GAAG;AAChC,UAAM,cAAc,IAAI,UAAU,CAAC;AACnC,UAAM,UAAU,iBAAiB,UAAU,EAAE,WAAW;AACxD,QAAI,CAAC,SAAS;AACb,aAAO;AAAA,QACN,kEAAkE,WAAW;AAAA,MAC9E;AAAA,IACD;AACA,WAAO,QAAQ,QAAQ,CAAC,WAAW,OAAO,CAAC;AAAA,EAC5C;AACA,SAAO,aAAa,sBAAsB;AAC3C;AAEO,IAAM,6BAA6B,OAAO,SAA0B,WAA2C;AACrH,MAAI;AACJ,MAAI,UAAU,WAAW,WAAW;AACnC,UAAM,WAAW,+BAA+B,OAAO;AACvD,QAAI,SAAS,eAAe,MAAM,GAAG;AACpC,mBAAa,SAAS,MAAM,EAAE;AAAA,IAC/B,OAAO;AACN,aAAO;AAAA,QACN,GAAG,MAAM;AAAA,MACV;AAAA,IACD;AAAA,EACD,OAAO;AACN,UAAM,iBAAiB,yBAAyB,OAAO;AACvD,QAAI,CAAC,gBAAgB;AACpB,aAAO;AAAA,QACN;AAAA,MACD;AAAA,IACD;AACA,iBAAa,eAAe;AAAA,EAC7B;AAEA,QAAM,QAAQ,IAAI,aAAa,QAAQ,MAAgB;AACvD,QAAM,YAAY,EAAE,QAAQ,IAAI,eAAe,WAAW,QAAQ,iBAAiB,EAAE,CAAC,EAAE,CAAC;AACzF,SAAO;AACR;AAEO,IAAM,6BAA6B,OACzC,YACA,SACA,WAC2B;AAC3B,MAAI;AACJ,MAAI,UAAU,WAAW,sBAAsB;AAC9C,UAAM,WAAW,+BAA+B,OAAO;AACvD,QAAI,SAAS,eAAe,MAAM,GAAG;AACpC,gBAAU;AAAA,IACX,OAAO;AACN,aAAO;AAAA,QACN,GAAG,MAAM;AAAA,MACV;AAAA,IACD;AAAA,EACD,OAAO;AACN,cAAU;AAAA,EACX;AAEA,QAAM,QAAQ,IAAI,aAAa,QAAQ,MAAgB;AACvD,QAAM,MAAM,MAAM,qBAAqB,YAAY,SAAS,OAAO;AACnE,QAAM,UAAU,OAAO,GAAG;AAC1B,SAAO;AACR;AAEO,IAAM,sBAAsB,CAAC,eACnC,OAAO,QAAQ,WAAW,OAAO,YAAY,CAAC,CAAC,EAAE;AAAA,EAChD,CAAC,KAAK,oBAAoB;AACzB,UAAM,QAAgB,gBAAgB,CAAC;AACvC,UAAM,QAAyB,gBAAgB,CAAC;AAChD,WAAO;AAAA,MACN,GAAG;AAAA,MACH,CAAC,KAAK,GAAG,OAAO,UAAU,WAAW,WAAW,MAAM,WAAW,KAAK,EAAE,CAAC,IAAI;AAAA,IAC9E;AAAA,EACD;AAAA,EACA,CAAC;AACF;AAEM,IAAM,iCAAiC,CAAC,aAC7C,mCAAS,YACP,OAAO,QAAQ,QAAQ,QAAQ,EAAE;AAAA,EAClC,CAAC,KAAK,wBAAwB;AAC7B,UAAM,QAAgB,oBAAoB,CAAC;AAC3C,UAAM,OAAO,oBAAoB,CAAC;AAClC,WAAO,UAAU,YACd;AAAA,MACD,GAAG;AAAA,MACH,CAAC,KAAK,GAAG;AAAA,IACV,IACE;AAAA,EACJ;AAAA,EACA,CAAC;AACF,IACE,CAAC;AAEE,IAAM,iCAAiC,CAAC,YAC9C,QAAQ,WACL,OAAO,QAAQ,QAAQ,QAAQ,EAAE;AAAA,EAClC,CAAC,KAAK,wBAAwB;AAC7B,UAAM,QAAgB,oBAAoB,CAAC;AAC3C,UAAM,OAAO,oBAAoB,CAAC;AAClC,WAAO,UAAU,uBACd;AAAA,MACD,GAAG;AAAA,MACH,CAAC,KAAK,GAAG;AAAA,IACV,IACE;AAAA,EACJ;AAAA,EACA,CAAC;AACF,IACE,CAAC;AAEE,IAAM,sBAAsB,OAClC,YACA,SACA,YACmB;AACnB,QAAM,QAAQ,IAAI,aAAa,QAAQ,MAAgB;AACvD,QAAM,MAAM,MAAM,qBAAqB,YAAY,SAAS,OAAO;AACnE,QAAM,UAAU,OAAO,GAAG;AAC3B;AAEO,IAAM,iBAAiB,CAAC,KAAc,QAAgC;AAC5E,MAAI,eAAe,OAAO;AACzB,UAAM,MAAM,IAAI;AAChB,QAAI,YAAY,KAAK,GAAG,EAAG,QAAO,aAAa,sDAAsD;AACrG,QAAI,eAAe,KAAK,GAAG,EAAG,QAAO,aAAa,uDAAuD;AACzG,QAAI,0BAA0B,KAAK,GAAG,GAAG;AACxC,YAAM,SAAS,IAAI,MAAM,+BAA+B;AACxD,YAAM,gBAAgB,SAAS,OAAO,CAAC,IAAI;AAC3C,UAAI,eAAe;AAClB,eAAO;AAAA,UACN,eAAe,aAAa,iCAAiC,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,QACjE;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,SAAO,aAAa;AAAA,EAAsC,GAAG,IAAI,KAAK,UAAU,KAAK,MAAM,CAAC,CAAC,EAAE;AAChG;AAEO,IAAM,WAAW,OAAU,SAAiB,OAAyB;AAC3E,MAAI,WAAkB,IAAI;AAAA,IACzB;AAAA,EACD;AACA,MAAI;AAEJ,QAAM,aAAa,IAAI,QAAQ,CAAC,SAAS,WAAW;AACnD,cAAU,WAAW,MAAM;AAC1B,aAAO,QAAQ;AAAA,IAChB,GAAG,UAAU,GAAI;AAAA,EAClB,CAAC;AAED,QAAMC,WAAU,YAAY;AAC3B,WAAO,MAAM;AACZ,UAAI;AACH,cAAM,SAAY,MAAM,GAAG;AAC3B,eAAO;AAAA,MACR,SAAS,KAAK;AACb,mBAAW;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AAEA,SAAO,QAAQ,KAAQ,CAACA,SAAQ,GAAG,UAAU,CAAC,EAAE,KAAK,YAAU;AAC9D,iBAAa,OAAO;AACpB,WAAO;AAAA,EACR,CAAC;AACF;;;AChPA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA;AAAA,OACM;AAEP,SAAe,cAAc;AA6B7B,IAAM,oBAAoB,CAAC,aAC1B,SAAS,WAAW,KAAK,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,WAAW,KAAK;AAEpH,IAAM,kBAAkB,OAAO,YAAkB,QAA8C;AAC9F,QAAM,WAAW,WAAW;AAC5B,QAAM,eAAeC,aAAY,OAAO,UAAU;AAClD,SAAO;AAAA,IACN,eAAe,kBAAkB,QAAQ,IAAI,QAAQ;AAAA,IACrD,iBAAiB,kBAAkB,QAAQ,IAAI,WAAW,MAAM,kBAAkB,KAAK,QAAQ;AAAA,IAC/F,WAAW,WAAW,QAAQ,MAAM,aAAa,cAAc,WAAW,KAAK,IAAI;AAAA,IACnF,YAAY,WAAW,cAAc;AAAA,IACrC,eAAe,SAAS,WAAW,SAAS,GAAG;AAAA,EAChD;AACD;AAEA,IAAM,yBAAyB,CAC9B,OACA,eACA,UACA,cACA,QAEA,cAAc,OAAO,CAAC,KAAK,iBAC1B,IAAI,aAAa;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,aAAa;AAAA,EACjB,QAAQ,aAAa;AAAA,EACrB,WAAW;AAAA,IACV,YAAY,aAAa;AAAA,IACzB,OAAO,IAAI,OAAO,EAAE,yBAAyB,aAAa,SAAS;AAAA,EACpE;AAAA,EACA,OAAO;AACR,CAAC,GAAG,MAAM,OAAO,MAAM,CAAC;AAEnB,IAAM,qBAAqB,OACjC,OACA,KACA,eACA,YACA,UACA,cACA,QACmC;AACnC,QAAM,QAAQ,uBAAuB,OAAO,eAAe,UAAU,cAAc,GAAG;AACtF,MAAI;AACH,WAAO,MAAM,SAA+B,YAAY,YAAY;AACnE,YAAM,KAAK,MAAM,MAAM,KAAK;AAC5B,YAAM,GAAG,aAAa;AACtB,aAAO;AAAA,IACR,CAAC;AAAA,EACF,SAAS,KAAK;AACb,WAAO,eAAe,KAAK,GAAG;AAAA,EAC/B;AACD;AAEA,IAAM,6BAA6B,CAAC,OAAqB,iBAAyC;AACjG,SAAO;AAAA,IACN,eAAe,aAAa;AAAA,IAC5B,iBAAiB,aAAa;AAAA,IAC9B,WAAW,aAAa;AAAA,IACxB,YAAY,aAAa;AAAA,IACzB,eAAe,aAAa,cAAc,SAAS;AAAA,IACnD,aAAa,MAAM,IAAI,UAAU;AAAA,EAClC;AACD;AAEA,IAAM,WAAW,OAAO,SAA8B;AACrD,QAAM,eAAeA,aAAY,OAAO,IAAI;AAC5C,QAAM,MAAM,4BAA4B,YAAY;AACpD,MAAI,CAAC,IAAK,QAAOC,cAAa,kCAAkC,aAAa,GAAG,sBAAsB;AACtG,MAAI;AACH,UAAM,CAAC,SAAS,UAAU,IAAI,MAAM,wBAAwB,cAAc,GAAG;AAC7E,UAAM,QAAQ,OAAO,YAAY,YAC9B,2BAA2B,cAAc,YAAY,KAAK,MAAM,IAChE,2BAA2B,YAAY,KAAK,MAAM;AAErD,UAAM,eAAe,MAAM,gBAAgB,MAAM,GAAG;AAEpD,UAAM;AAAA,MACL;AAAA,MACA,sBAAsB,YAAY;AAAA,MAClC,CAAC,YAAY;AAAA,MACb,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAEA,UAAM,yBAAyB,2BAA2B,OAAO,YAAY;AAC7E,WAAO,YAAY,CAAC,sBAAsB,CAAC;AAAA,EAC5C,QAAQ;AACP,WAAOA,cAAa,yBAAyB;AAAA,EAC9C;AACD;AAEA,IAAO,mBAAQ;;;AF/Gf,IAAM,kBAAkB,CACvB,YACA,OACA,yBAEA,QAAQ;AAAA,EACP,OAAO,QAAQ,oBAAoB,EACjC,IAAI,OAAO,wBAAuC;AAClD,UAAM,QAAQ,oBAAoB,CAAC;AACnC,UAAM,YAAY,oBAAoB,CAAC;AAEvC,UAAM,gBAAoC,oBAAoB,UAAU,EAAE,KAAK;AAC/E,UAAM,yBAAyB,MAAM,MAAM,GAAG,WAAW,UAAU,aAAa,GAAG,SAAS;AAC5F,UAAM,sBAAsB,gBAAgB,KAAK,IAAI,gBAAgB,uBAAuB,CAAC,IAAI;AAEjG,QAAI,CAAC,eAAe;AACnB;AAAA,QACC,YAAY,KAAK,2HAA2H,KAAK,6EAA6E,KAAK;AAAA;AAAA,MACpO;AAAA,IACD;AAEA,WAAO;AAAA,MACN,eAAe;AAAA,MACf,iBAAiB,UAAU;AAAA,MAC3B,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,eAAe,SAAS,oBAAoB,SAAS,EAAE,WAAW,KAAK,EAAE,CAAC;AAAA,IAC3E;AAAA,EACD,CAAC;AACH,EACE,KAAK,kBAAgB,aAAa,OAAO,iBAAe,YAAY,kBAAkB,CAAC,CAAC,EACxF,MAAM,SAAOC,cAAa,+DAA+D,GAAG,EAAE,CAAC;AAElG,IAAM,6BAA6B,CAAC,iBACnC,aAAa,IAAI,iBAAe;AAC/B,SAAO;AAAA,IACN,cAAc,YAAY;AAAA,IAC1B,gBAAgB,YAAY;AAAA,IAC5B,aAAa,YAAY,cAAc,SAAS;AAAA,EACjD;AACD,CAAC;AAEF,IAAM,OAAO,OAAO,eAAwC;AAC3D,QAAM,MAAMC,6BAA4B,UAAU;AAClD,MAAI,CAAC,IAAK,QAAOD,cAAa,kCAAkC,WAAW,GAAG,sBAAsB;AACpG,MAAI;AACH,UAAM,CAAC,SAAS,UAAU,IAAI,MAAM,wBAAwB,YAAY,GAAG;AAC3E,QAAI,YAAY,UAAW,QAAOA,cAAa,wDAAwD;AACvG,UAAM,QAAQ,MAAM,2BAA2B,YAAY,UAAU;AAErE,UAAM,uBAAuB,+BAA+B,UAAU;AAEtE,UAAM,eAAe,MAAM,gBAAgB,YAAY,OAAO,oBAAoB;AAClF,QAAI,aAAa,WAAW,GAAG;AAC9B,aAAOE;AAAA,QACN,0DAA0D,WAAW,GAAG;AAAA,MACzE;AAAA,IACD;AAEA,UAAM,mBAAmB,OAAOC,uBAAsB,UAAU,GAAG,cAAc,WAAW,OAAO;AAEnG,UAAM,yBAAyB,2BAA2B,YAAY;AACtE,WAAOD,aAAY,sBAAsB;AAAA,EAC1C,QAAQ;AACP,WAAOF,cAAa,yBAAyB;AAAA,EAC9C;AACD;AAEA,IAAO,eAAQ;;;AG7Ff,SAAS,+BAAAI,8BAA0C,gBAAAC,eAAc,eAAAC,cAAa,YAAAC,iBAAgB;AAQ9F,IAAM,sBAAsB,OAAO,eAA6C;AAC/E,QAAM,MAAMC,6BAA4B,UAAU;AAClD,MAAI,CAAC,IAAK,QAAOC,cAAa,kCAAkC,WAAW,GAAG,sBAAsB;AACpG,MAAI;AACH,UAAM,CAAC,SAAS,UAAU,IAAI,MAAM,wBAAwB,YAAY,GAAG;AAC3E,QAAI,YAAY,WAAW;AAC1B,aAAOA,cAAa,uEAAuE;AAAA,IAC5F;AAEA,UAAM,yBAAyB,OAAO,KAAK,oBAAoB,UAAU,CAAC;AAC1E,UAAM,uBAAuB,+BAA+B,UAAU;AAEtE,QAAI,uBAAuB,CAAC;AAC5B,eAAW,wBAAwB,wBAAwB;AAC1D,UAAI,CAAC,qBAAqB,eAAe,oBAAoB,GAAG;AAC/D,cAAM,oBAAoB,YAAY,YAAY,oBAAoB;AACtE,6BAAqB,KAAK,oBAAoB;AAAA,MAC/C,OAAO;AACN,QAAAC;AAAA,UACC,SAAS,oBAAoB,yDAAyD,WAAW,GAAG;AAAA,QACrG;AAAA,MACD;AAAA,IACD;AAEA,QAAI,qBAAqB,WAAW,GAAG;AACtC,aAAOC;AAAA,QACN,0BACC,qBAAqB,KAAK,IAAI,CAC/B;AAAA;AAAA,MACD;AAAA,IACD,OAAO;AACN,aAAOA;AAAA,QACN;AAAA,MACD;AAAA,IACD;AAAA,EACD,SAAS,KAAK;AACb,UAAMF,cAAa,yBAAyB;AAC5C,QAAI,WAAW,MAAO,OAAMA,cAAa,OAAO,GAAG,CAAC;AAAA,EACrD;AACD;AAEA,IAAO,8BAAQ;;;ACjDf;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,yBAAAG;AAAA,EACA,+BAAAC;AAAA,EACA;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EAEA,eAAAC;AAAA,EACA;AAAA,OACM;AAIP,SAAS,UAAU,SAAS,YAAY;AA4BxC,IAAM,4BAA4B,CAAC,iBAAiC;AACnE,QAAM,eAAe,SAAS,cAAc,QAAQ,YAAY,CAAC;AACjE,QAAM,cAAc,QAAQ,YAAY;AACxC,QAAM,iBAAiB,GAAG,YAAY,mBAAmB,WAAW;AACpE,SAAO;AACR;AAEA,IAAMC,mBAAkB,OAAO,eAA4C;AAC1E,QAAM,WAAW,WAAW;AAC5B,QAAM,eAAeC,aAAY,OAAO,UAAU;AAClD,QAAM,0BAA0B,wBAAwB,QAAQ;AAChE,QAAM,eAAe,MAAM,mBAAmB,cAAc,uBAAuB;AACnF,MAAI,iBAAiB,QAAW;AAC/B,WAAOC;AAAA,MACN,mBAAmB,uBAAuB,gGAAgG,WAAW,OAAO,YAAY;AAAA;AAAA,IACzK;AAAA,EACD;AAEA,QAAM,kBAAkB,WAAW,WAAW,0BAA0B,uBAAuB;AAC/F,QAAM,sBAAsB,MAAM,mBAAmB,cAAc,eAAe;AAClF,MAAI,wBAAwB,QAAW;AACtC,WAAOA;AAAA,MACN,gDAA2C,uBAAuB;AAAA,8IACjE,0BAA0B,uBAAuB,CAClD;AAAA;AAAA;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA,MAAM;AAAA,IACN,aAAa,oBAAoB,KAAK;AAAA,IACtC,eAAe,SAAS,WAAW,SAAS,GAAG;AAAA,EAChD;AACD;AAoBA,IAAM,sBAAsB,OAC3B,OACA,KACA,eACA,YACA,YAAY,OACZ,UACA,cACA,QACyC;AACzC,MAAI;AACH,UAAM,SAAS,MAAM,MAAM,OAAO,UAAU;AAAA,MAC3C,MAAM,cAAc;AAAA,MACpB,MAAM,cAAc;AAAA,MACpB,SAAS,cAAc,cAAc,SAAS;AAAA,MAC9C,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAED,UAAM,KAAK,MAAM,OAAO,KAAK;AAC7B,UAAM,GAAG,aAAa,YAAY,IAAI,CAAC;AACvC,WAAO;AAAA,EACR,SAAS,KAAK;AACb,WAAO,eAAe,KAAK,GAAG;AAAA,EAC/B;AACD;AAEA,IAAMC,8BAA6B,OAClC,YACA,OACA,cACA,OACuB;AApIxB;AAqIC,QAAM,eAAeC,aAAY,OAAO,UAAU;AAClD,QAAM,mBAAmB,MAAM,GAAG,iBAAiB;AACnD,QAAM,sBAAsB,oBAAoB,CAAC,GAC/C,OAAO,CAAAC,YAAUA,QAAO,SAAS,aAAa,EAC9C,IAAI,CAAAA,YAAUA,OAA0D;AAG1E,QAAM,SAAS,mBAAmB,WAAW,IAAI,mBAAmB,CAAC,IAAI;AACzE,QAAM,WAAU,kDAAQ,aAAR,mBAAkB,qBAAlB,mBAAoC,yBAApC,mBAA0D,KAAK;AAC/E,QAAM,QAAQ,WAAW,SAAS,SAAS,aAAa,UAAU,QAAQ,aAAa,QAAQ,CAAC;AAEhG,QAAM,qBAAqB,WAAW;AAEtC,MAAI,SAAS;AACZ,UAAM,mBAAmB,eAAe,OAAO,OAAO;AACtD,UAAM,mBAAmB,cAAc,OAAO,gBAAgB;AAAA,EAC/D;AAEA,SAAO;AAAA,IACN,UAAU,aAAa;AAAA,IACvB,SAAS;AAAA,IACT,OAAO,UAAU,QAAQ;AAAA;AAAA,EAE1B;AACD;AAEA,IAAM,YAAY,OAAO,eAAoC;AAC5D,QAAM,eAAeD,aAAY,OAAO,UAAU;AAClD,QAAM,MAAME,6BAA4B,YAAY;AACpD,MAAI,CAAC,IAAK,QAAOC,cAAa,kCAAkC,WAAW,GAAG,sBAAsB;AACpG,MAAI;AACH,UAAM,CAAC,SAAS,UAAU,IAAI,MAAM,wBAAwB,cAAc,GAAG;AAC7E,UAAM,QAAQ,OAAO,YAAY,YAC9B,2BAA2B,cAAc,YAAY,WAAW,MAAM,IACtE,2BAA2B,YAAY,WAAW,MAAM;AAE3D,UAAM,eAAe,MAAMC,iBAAgB,UAAU;AAErD,UAAM,KAAK,MAAM;AAAA,MAChB;AAAA,MACAC,uBAAsB,YAAY;AAAA,MAClC;AAAA,MACA,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACZ;AAEA,UAAM,yBAAyB,MAAMN,4BAA2B,YAAY,OAAO,cAAc,EAAE;AACnG,WAAOO,aAAY,CAAC,sBAAsB,CAAC;AAAA,EAC5C,SAAS,GAAG;AACX,QAAI,aAAa,SAAS,EAAE,QAAQ,SAAS,KAAK,GAAG;AACpD,UAAI;AACH,cAAM,CAAC,SAAS,UAAU,IAAI,MAAM,wBAAwB,cAAc,GAAG;AAC7E,YAAI,YAAY,aAAa,WAAW,OAAO,SAAS,UAAU,GAAG;AACpE,iBAAOH;AAAA,YACN;AAAA;AAAA,UACD;AAAA,QACD;AACA,eAAOA;AAAA,UACN;AAAA;AAAA,QACD;AAAA,MACD,QAAQ;AAAA,MAER;AAAA,IACD;AACA,WAAOA,cAAa,yBAAyB;AAAA,EAC9C;AACD;AAEA,IAAO,oBAAQ;;;ALrMR,IAAM,OAAO,CAAC,eAA6C;AACjE,QAAM,aAAa;AACnB,UAAQ,WAAW,MAAM;AAAA,IACxB,KAAK;AACJ,aAAO,kBAAU,UAAU;AAAA,IAC5B,KAAK;AACJ,aAAO,iBAAS,UAAU;AAAA,IAC3B,KAAK;AACJ,aAAO,4BAAoB,UAAU;AAAA,IACtC,KAAK;AACJ,aAAO,aAAK,UAAU;AAAA,IACvB;AACC,aAAOI,cAAa,GAAG,UAAU,kDAAkD;AAAA,EACrF;AACD;AAEA,IAAO,eAAQ;;;ADpBf,OAAO,OAAO,YAAU;AAAA,EACvB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,IACN,KAAK,OAAO;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,aAAa;AAAA,MACb,SAAS;AAAA,QACR,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,aACC;AAAA,UACD,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,cAAc;AAAA,UACd,aACC;AAAA,UACD,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,MACF;AAAA,MACA,SAAS,CAAC,WAAW;AAAA,MACrB,SAAS;AAAA,MACT,UAAU;AAAA,IACX,CAAC;AAAA,IACD,KAAK,OAAO;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,aACC;AAAA,MACD,SAAS;AAAA,QACR,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,aACC;AAAA,UACD,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,aACC;AAAA,UACD,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,cAAc;AAAA,UACd,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,MACF;AAAA,MACA,SAAS,CAAC,MAAM;AAAA,MAChB,SAAS;AAAA,MACT,UAAU;AAAA,IACX,CAAC;AAAA,IACD,KAAK,OAAO;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,aAAa;AAAA,MACb,SAAS;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,QACR,OAAO,OAAO;AAAA,UACb,MAAM;AAAA,UACN,WAAW;AAAA,UACX,cAAc;AAAA,UACd,aAAa;AAAA,UACb,UAAU;AAAA,QACX,CAAC;AAAA,MACF;AAAA,IACD,CAAC;AAAA,IACD,KAAK,OAAO;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,aACC;AAAA,MACD,SAAS;AAAA,MACT,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AAAA,EACA,OAAO;AACR,IAAI,QAAQ,IAAI;","names":["sendAsyncErr","getCurrentEnvironment","getCurrentEnvironmentConfig","sendAsyncErr","sendJsonRes","process","RequestArgs","sendAsyncErr","RequestArgs","sendAsyncErr","sendAsyncErr","getCurrentEnvironmentConfig","sendJsonRes","getCurrentEnvironment","getCurrentEnvironmentConfig","sendAsyncErr","sendJsonRes","sendWarn","getCurrentEnvironmentConfig","sendAsyncErr","sendWarn","sendJsonRes","getCurrentEnvironment","getCurrentEnvironmentConfig","RequestArgs","sendAsyncErr","sendJsonRes","getContractInfo","RequestArgs","sendAsyncErr","prepContractInfoForDisplay","RequestArgs","result","getCurrentEnvironmentConfig","sendAsyncErr","getContractInfo","getCurrentEnvironment","sendJsonRes","sendAsyncErr"]}
|
|
1
|
+
{"version":3,"sources":["index.ts","main.ts","fund.ts","common.ts","transfer.ts","instantiate_account.ts","originate.ts"],"sourcesContent":["import { Option, Plugin, Task } from '@taqueria/node-sdk';\nimport main from './main';\n\nPlugin.create(_i18n => ({\n\talias: 'taquito',\n\tschema: '1.0',\n\tversion: '0.1',\n\ttasks: [\n\t\tTask.create({\n\t\t\ttask: 'deploy',\n\t\t\tcommand: 'deploy <contract>',\n\t\t\tdescription: 'Deploy a smart contract to a particular environment',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'alias',\n\t\t\t\t\tdescription: \"Alias used to refer to the deployed contract's address\",\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storage',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Name of the storage file that contains the storage value as a Michelson expression, in the artifacts directory, used for originating a contract',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'sender',\n\t\t\t\t\tdescription: 'Name of an instantiated account to use as the sender of the originate operation',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'mutez',\n\t\t\t\t\tdescription: 'Amount of Mutez to transfer',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Number of seconds to elapse before abandoning the operation (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'gasLimit',\n\t\t\t\t\tshortFlag: 'g',\n\t\t\t\t\tdescription: 'Gas limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storageLimit',\n\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\tdescription: 'Storage limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'fee',\n\t\t\t\t\tshortFlag: 'f',\n\t\t\t\t\tdescription: 'Fee per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t\taliases: ['originate'],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'transfer',\n\t\t\tcommand: 'transfer <contract>',\n\t\t\tdescription:\n\t\t\t\t'Transfer/call an implicit account or a smart contract (specified via its alias or address) deployed to a particular environment',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'mutez',\n\t\t\t\t\tdescription: 'Amount of Mutez to transfer',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'param',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Name of the parameter file that contains the parameter value as a Michelson expression, in the artifacts directory, used for invoking a deployed contract',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'entrypoint',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'You may explicitly specify an entrypoint to make the parameter value shorter, without having to specify a chain of (Left (Right ... 14 ...))',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'sender',\n\t\t\t\t\tdescription: 'Name of an instantiated account to use as the sender of the transfer operation',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription: 'Number of retry attempts (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'gasLimit',\n\t\t\t\t\tshortFlag: 'g',\n\t\t\t\t\tdescription: 'Gas limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'storageLimit',\n\t\t\t\t\tshortFlag: 's',\n\t\t\t\t\tdescription: 'Storage limit per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'fee',\n\t\t\t\t\tshortFlag: 'f',\n\t\t\t\t\tdescription: 'Fee per contract/origination specified in mutez',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t\taliases: ['call'],\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'fund',\n\t\t\tcommand: 'fund',\n\t\t\tdescription: 'Fund all the instantiated accounts up to the desired/declared amount in a target environment',\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t\toptions: [\n\t\t\t\tOption.create({\n\t\t\t\t\tflag: 'timeout',\n\t\t\t\t\tshortFlag: 't',\n\t\t\t\t\tdefaultValue: 40,\n\t\t\t\t\tdescription: 'Number of retry attempts (to avoid congestion and network failures)',\n\t\t\t\t\trequired: false,\n\t\t\t\t}),\n\t\t\t],\n\t\t}),\n\t\tTask.create({\n\t\t\ttask: 'instantiate-account',\n\t\t\tcommand: 'instantiate-account',\n\t\t\tdescription:\n\t\t\t\t'Instantiate all accounts declared in the \"accounts\" field at the root level of the config file to a target environment',\n\t\t\thandler: 'proxy',\n\t\t\tencoding: 'application/json',\n\t\t}),\n\t],\n\tproxy: main,\n}), process.argv);\n","import { RequestArgs, sendAsyncErr } from '@taqueria/node-sdk';\nimport { IntersectionOpts as Opts } from './common';\nimport fund from './fund';\nimport instantiate_account from './instantiate_account';\nimport originate from './originate';\nimport transfer from './transfer';\n\nexport const main = (parsedArgs: RequestArgs.t): Promise<void> => {\n\tconst unsafeArgs = parsedArgs as unknown as Opts;\n\tswitch (unsafeArgs.task) {\n\t\tcase 'deploy':\n\t\t\treturn originate(unsafeArgs);\n\t\tcase 'transfer':\n\t\t\treturn transfer(unsafeArgs);\n\t\tcase 'instantiate-account':\n\t\t\treturn instantiate_account(parsedArgs);\n\t\tcase 'fund':\n\t\t\treturn fund(unsafeArgs);\n\t\tdefault:\n\t\t\treturn sendAsyncErr(`${unsafeArgs} is not an understood task by the Taquito plugin`);\n\t}\n};\n\nexport default main;\n","import {\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendJsonRes,\n\tsendWarn,\n} from '@taqueria/node-sdk';\nimport { TezosToolkit } from '@taquito/taquito';\nimport {\n\tconfigureToolKitForNetwork,\n\tFundOpts,\n\tFundOpts as Opts,\n\tgetDeclaredAccounts,\n\tgetEnvTypeAndNodeConfig,\n\tgetNetworkInstantiatedAccounts,\n} from './common';\nimport { ContractInfo, performTransferOps } from './transfer';\n\ntype TableRow = {\n\taccountAlias: string;\n\taccountAddress: string;\n\tmutezFunded: string;\n};\n\nconst getAccountsInfo = (\n\tparsedArgs: RequestArgs.t,\n\ttezos: TezosToolkit,\n\tinstantiatedAccounts: Record<string, any>,\n): Promise<ContractInfo[]> =>\n\tPromise.all(\n\t\tObject.entries(instantiatedAccounts)\n\t\t\t.map(async (instantiatedAccount: [string, any]) => {\n\t\t\t\tconst alias = instantiatedAccount[0];\n\t\t\t\tconst aliasInfo = instantiatedAccount[1];\n\n\t\t\t\tconst declaredMutez: number | undefined = getDeclaredAccounts(parsedArgs)[alias];\n\t\t\t\tconst currentBalanceInMutez = (await tezos.tz.getBalance(aliasInfo.publicKeyHash)).toNumber();\n\t\t\t\tconst amountToFillInMutez = declaredMutez ? Math.max(declaredMutez - currentBalanceInMutez, 0) : 0;\n\n\t\t\t\tif (!declaredMutez) {\n\t\t\t\t\tsendWarn(\n\t\t\t\t\t\t`Warning: ${alias} is instantiated in the target environment but not declared in the root level \"accounts\" field of ./.taq/config.json so ${alias} will not be funded as you don't have a declared tez amount set there for ${alias}\\n`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tcontractAlias: alias,\n\t\t\t\t\tcontractAddress: aliasInfo.publicKeyHash,\n\t\t\t\t\tparameter: 'Unit',\n\t\t\t\t\tentrypoint: 'default',\n\t\t\t\t\tmutezTransfer: parseInt(amountToFillInMutez.toString().replaceAll('_', '')),\n\t\t\t\t};\n\t\t\t}),\n\t)\n\t\t.then(accountsInfo => accountsInfo.filter(accountInfo => accountInfo.mutezTransfer !== 0))\n\t\t.catch(err => sendAsyncErr(`Something went wrong while extracting account information - ${err}`));\n\nconst prepAccountsInfoForDisplay = (accountsInfo: ContractInfo[]): TableRow[] =>\n\taccountsInfo.map(accountInfo => {\n\t\treturn {\n\t\t\taccountAlias: accountInfo.contractAlias,\n\t\t\taccountAddress: accountInfo.contractAddress,\n\t\t\tmutezFunded: accountInfo.mutezTransfer.toString(),\n\t\t};\n\t});\n\nconst fund = async (parsedArgs: FundOpts): Promise<void> => {\n\tconst env = getCurrentEnvironmentConfig(parsedArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(parsedArgs, env);\n\t\tif (envType !== 'Network') return sendAsyncErr('taq fund can only be executed in a network environment');\n\t\tconst tezos = await configureToolKitForNetwork(parsedArgs, nodeConfig);\n\n\t\tconst instantiatedAccounts = getNetworkInstantiatedAccounts(nodeConfig);\n\n\t\tconst accountsInfo = await getAccountsInfo(parsedArgs, tezos, instantiatedAccounts);\n\t\tif (accountsInfo.length === 0) {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`All instantiated accounts in the current environment, \"${parsedArgs.env}\", are funded up to or beyond the declared amount`,\n\t\t\t);\n\t\t}\n\n\t\tawait performTransferOps(tezos, getCurrentEnvironment(parsedArgs), accountsInfo, parsedArgs.timeout);\n\n\t\tconst accountsInfoForDisplay = prepAccountsInfoForDisplay(accountsInfo);\n\t\treturn sendJsonRes(accountsInfoForDisplay);\n\t} catch {\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default fund;\n","import {\n\tgetAccountPrivateKey,\n\tgetDefaultSandboxAccount,\n\tgetNetworkConfig,\n\tgetSandboxConfig,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendErr,\n\tTAQ_OPERATOR_ACCOUNT,\n} from '@taqueria/node-sdk';\nimport {\n\tEnvironment,\n\tNetworkConfig,\n\tProtocol,\n\tProxyTaskArgs,\n\tSandboxAccountConfig,\n\tSandboxConfig,\n} from '@taqueria/node-sdk/types';\nimport { InMemorySigner } from '@taquito/signer';\nimport { importKey, TezosToolkit } from '@taquito/taquito';\n\nexport type OriginateOpts = ProxyTaskArgs.t & {\n\tcontract: string;\n\tstorage: string;\n\talias?: string;\n\tsender?: string;\n\tmutez?: string;\n\ttimeout: number;\n\tgasLimit?: number;\n\tstorageLimit?: number;\n\tfee?: number;\n};\n\nexport type TransferOpts = ProxyTaskArgs.t & {\n\tcontract: string;\n\tmutez?: string;\n\tparam?: string;\n\tentrypoint?: string;\n\tsender?: string;\n\ttimeout: number;\n\tgasLimit?: number;\n\tstorageLimit?: number;\n\tfee?: number;\n};\n\nexport type FundOpts = ProxyTaskArgs.t & {\n\ttimeout: number;\n};\n\nexport type InstantiateAccountOpts = ProxyTaskArgs.t;\n\n// To be used for the main entrypoint of the plugin\nexport type IntersectionOpts = OriginateOpts & TransferOpts & InstantiateAccountOpts & FundOpts;\n\n// To be used for common functions in this file\ntype UnionOpts = OriginateOpts | TransferOpts | InstantiateAccountOpts | FundOpts;\n\nexport const getEnvTypeAndNodeConfig = (\n\tparsedArgs: RequestArgs.t,\n\tenv: Environment.t,\n): Promise<['Network', NetworkConfig.t] | ['Sandbox', SandboxConfig.t]> => {\n\tconst targetConstraintErrMsg = 'Each environment can only have one target, be it a network or a sandbox';\n\tif (env.networks?.length === 1 && env.sandboxes?.length === 1) return sendAsyncErr(targetConstraintErrMsg);\n\tif (env.networks?.length === 1) {\n\t\tconst networkName = env.networks[0];\n\t\tconst network = getNetworkConfig(parsedArgs)(networkName);\n\t\tif (!network) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`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\t\t\t);\n\t\t}\n\t\treturn Promise.resolve(['Network', network]);\n\t}\n\tif (env.sandboxes?.length === 1) {\n\t\tconst sandboxName = env.sandboxes[0];\n\t\tconst sandbox = getSandboxConfig(parsedArgs)(sandboxName);\n\t\tif (!sandbox) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`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\t\t\t);\n\t\t}\n\t\treturn Promise.resolve(['Sandbox', sandbox]);\n\t}\n\treturn sendAsyncErr(targetConstraintErrMsg);\n};\n\nexport const configureToolKitForSandbox = async (sandbox: SandboxConfig.t, sender?: string): Promise<TezosToolkit> => {\n\tlet accountKey: string;\n\tif (sender && sender !== 'default') {\n\t\tconst accounts = getSandboxInstantiatedAccounts(sandbox);\n\t\tif (accounts.hasOwnProperty(sender)) {\n\t\t\taccountKey = accounts[sender].secretKey;\n\t\t} else {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`${sender} is not an account instantiated in the current environment. Check .taq/config.json`,\n\t\t\t);\n\t\t}\n\t} else {\n\t\tconst defaultAccount = getDefaultSandboxAccount(sandbox);\n\t\tif (!defaultAccount) {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`No default account is specified in the sandbox to perform the operation. Please use the --sender flag to explicitly specify the account to use as the sender of the operation`,\n\t\t\t);\n\t\t}\n\t\taccountKey = defaultAccount.secretKey;\n\t}\n\n\tconst tezos = new TezosToolkit(sandbox.rpcUrl as string);\n\ttezos.setProvider({ signer: new InMemorySigner(accountKey.replace(/^unencrypted:/, '')) });\n\treturn tezos;\n};\n\nexport const configureToolKitForNetwork = async (\n\tparsedArgs: RequestArgs.t,\n\tnetwork: NetworkConfig.t,\n\tsender?: string,\n): Promise<TezosToolkit> => {\n\tlet account: string;\n\tif (sender && sender !== TAQ_OPERATOR_ACCOUNT) {\n\t\tconst accounts = getNetworkInstantiatedAccounts(network);\n\t\tif (accounts.hasOwnProperty(sender)) {\n\t\t\taccount = sender;\n\t\t} else {\n\t\t\treturn sendAsyncErr(\n\t\t\t\t`${sender} is not an account instantiated in the current environment. Check .taq/config.json`,\n\t\t\t);\n\t\t}\n\t} else {\n\t\taccount = TAQ_OPERATOR_ACCOUNT;\n\t}\n\n\tconst tezos = new TezosToolkit(network.rpcUrl as string);\n\tconst key = await getAccountPrivateKey(parsedArgs, network, account);\n\tawait importKey(tezos, key);\n\treturn tezos;\n};\n\nexport const getDeclaredAccounts = (parsedArgs: RequestArgs.t): Record<string, number> =>\n\tObject.entries(parsedArgs.config.accounts ?? {}).reduce(\n\t\t(acc, declaredAccount) => {\n\t\t\tconst alias: string = declaredAccount[0];\n\t\t\tconst mutez: string | number = declaredAccount[1];\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t[alias]: typeof mutez === 'string' ? parseFloat(mutez.replaceAll('_', '')) : mutez,\n\t\t\t};\n\t\t},\n\t\t{} as Record<string, number>,\n\t);\n\nexport const getSandboxInstantiatedAccounts = (sandbox: SandboxConfig.t): Record<string, SandboxAccountConfig.t> =>\n\t(sandbox?.accounts)\n\t\t? Object.entries(sandbox.accounts).reduce(\n\t\t\t(acc, instantiatedAccount) => {\n\t\t\t\tconst alias: string = instantiatedAccount[0];\n\t\t\t\tconst keys = instantiatedAccount[1];\n\t\t\t\treturn alias !== 'default'\n\t\t\t\t\t? {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[alias]: keys,\n\t\t\t\t\t}\n\t\t\t\t\t: acc;\n\t\t\t},\n\t\t\t{},\n\t\t)\n\t\t: {};\n\nexport const getNetworkInstantiatedAccounts = (network: NetworkConfig.t): Record<string, any> =>\n\tnetwork.accounts\n\t\t? Object.entries(network.accounts).reduce(\n\t\t\t(acc, instantiatedAccount) => {\n\t\t\t\tconst alias: string = instantiatedAccount[0];\n\t\t\t\tconst keys = instantiatedAccount[1];\n\t\t\t\treturn alias !== TAQ_OPERATOR_ACCOUNT\n\t\t\t\t\t? {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[alias]: keys,\n\t\t\t\t\t}\n\t\t\t\t\t: acc;\n\t\t\t},\n\t\t\t{},\n\t\t)\n\t\t: {};\n\nexport const generateAccountKeys = async (\n\tparsedArgs: RequestArgs.t,\n\tnetwork: NetworkConfig.t,\n\taccount: string,\n): Promise<void> => {\n\tconst tezos = new TezosToolkit(network.rpcUrl as string);\n\tconst key = await getAccountPrivateKey(parsedArgs, network, account);\n\tawait importKey(tezos, key);\n};\n\nexport const handleOpsError = (err: unknown, env: string): Promise<never> => {\n\tif (err instanceof Error) {\n\t\tconst msg = err.message;\n\t\tif (/ENOTFOUND/.test(msg)) return sendAsyncErr('The RPC URL may be invalid. Check ./.taq/config.json');\n\t\tif (/ECONNREFUSED/.test(msg)) return sendAsyncErr('The RPC URL may be down or the sandbox is not running');\n\t\tif (/empty_implicit_contract/.test(msg)) {\n\t\t\tconst result = msg.match(/(?<=\"implicit\":\")tz[^\"]+(?=\")/);\n\t\t\tconst publicKeyHash = result ? result[0] : undefined;\n\t\t\tif (publicKeyHash) {\n\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t`The account ${publicKeyHash} for the target environment, \"${env}\", may not be funded\\nTo fund this account:\\n1. Go to https://teztnets.com and click \"Faucet\" of the target testnet\\n2. Copy and paste the above key into the wallet address field\\n3. Request some Tez (Note that you might need to wait for a few seconds for the network to register the funds)`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn sendAsyncErr(`Error while performing operation:\\n${err} ${JSON.stringify(err, null, 2)}`);\n};\n\nexport const doWithin = async <T>(seconds: number, fn: () => Promise<T>) => {\n\tlet captured: Error = new Error(\n\t\t'Operation timed out. Please try again and perhaps increase the timeout using the --timeout option.',\n\t);\n\tlet timeout: ReturnType<typeof setTimeout>;\n\n\tconst maxTimeout = new Promise((resolve, reject) => {\n\t\ttimeout = setTimeout(() => {\n\t\t\treject(captured);\n\t\t}, seconds * 1000);\n\t}) as Promise<T>;\n\n\tconst process = async () => {\n\t\twhile (true) {\n\t\t\ttry {\n\t\t\t\tconst retval: T = await fn();\n\t\t\t\treturn retval;\n\t\t\t} catch (err) {\n\t\t\t\tcaptured = err as Error;\n\t\t\t}\n\t\t}\n\t};\n\n\treturn Promise.race<T>([process(), maxTimeout]).then(retval => {\n\t\tclearTimeout(timeout);\n\t\treturn retval;\n\t});\n};\n","import {\n\tgetAddressOfAlias,\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tgetParameter,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendJsonRes,\n} from '@taqueria/node-sdk';\nimport { Environment } from '@taqueria/node-sdk/types';\nimport { Expr, Parser } from '@taquito/michel-codec';\nimport { TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { BatchWalletOperation } from '@taquito/taquito/dist/types/wallet/batch-operation';\nimport {\n\tconfigureToolKitForNetwork,\n\tconfigureToolKitForSandbox,\n\tdoWithin,\n\tgetEnvTypeAndNodeConfig,\n\thandleOpsError,\n\tTransferOpts as Opts,\n} from './common';\n\nexport type ContractInfo = {\n\tcontractAlias: string;\n\tcontractAddress: string;\n\tparameter: string;\n\tentrypoint: string;\n\tmutezTransfer: number;\n};\n\ntype TableRow = {\n\tcontractAlias: string;\n\tcontractAddress: string;\n\tparameter: string;\n\tentrypoint: string;\n\tmutezTransfer: string;\n\tdestination: string;\n};\n\nconst isContractAddress = (contract: string): boolean =>\n\tcontract.startsWith('tz1') || contract.startsWith('tz2') || contract.startsWith('tz3') || contract.startsWith('KT1');\n\nconst getContractInfo = async (parsedArgs: Opts, env: Environment.t): Promise<ContractInfo> => {\n\tconst contract = parsedArgs.contract;\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\treturn {\n\t\tcontractAlias: isContractAddress(contract) ? 'N/A' : contract,\n\t\tcontractAddress: isContractAddress(contract) ? contract : await getAddressOfAlias(env, contract),\n\t\tparameter: parsedArgs.param ? await getParameter(protocolArgs, parsedArgs.param) : 'Unit',\n\t\tentrypoint: parsedArgs.entrypoint ?? 'default',\n\t\tmutezTransfer: parseInt(parsedArgs.mutez ?? '0'),\n\t};\n};\n\nconst createBatchForTransfer = (\n\ttezos: TezosToolkit,\n\tcontractsInfo: ContractInfo[],\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): WalletOperationBatch =>\n\tcontractsInfo.reduce((acc, contractInfo) =>\n\t\tacc.withTransfer({\n\t\t\tfee,\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t\tto: contractInfo.contractAddress,\n\t\t\tamount: contractInfo.mutezTransfer,\n\t\t\tparameter: {\n\t\t\t\tentrypoint: contractInfo.entrypoint,\n\t\t\t\tvalue: new Parser().parseMichelineExpression(contractInfo.parameter) as Expr,\n\t\t\t},\n\t\t\tmutez: true,\n\t\t}), tezos.wallet.batch());\n\nexport const performTransferOps = async (\n\ttezos: TezosToolkit,\n\tenv: string,\n\tcontractsInfo: ContractInfo[],\n\tmaxTimeout: number,\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): Promise<BatchWalletOperation> => {\n\tconst batch = createBatchForTransfer(tezos, contractsInfo, gasLimit, storageLimit, fee);\n\ttry {\n\t\treturn await doWithin<BatchWalletOperation>(maxTimeout, async () => {\n\t\t\tconst op = await batch.send();\n\t\t\tawait op.confirmation();\n\t\t\treturn op;\n\t\t});\n\t} catch (err) {\n\t\treturn handleOpsError(err, env);\n\t}\n};\n\nconst prepContractInfoForDisplay = (tezos: TezosToolkit, contractInfo: ContractInfo): TableRow => {\n\treturn {\n\t\tcontractAlias: contractInfo.contractAlias,\n\t\tcontractAddress: contractInfo.contractAddress,\n\t\tparameter: contractInfo.parameter,\n\t\tentrypoint: contractInfo.entrypoint,\n\t\tmutezTransfer: contractInfo.mutezTransfer.toString(),\n\t\tdestination: tezos.rpc.getRpcUrl(),\n\t};\n};\n\nconst transfer = async (opts: Opts): Promise<void> => {\n\tconst protocolArgs = RequestArgs.create(opts);\n\tconst env = getCurrentEnvironmentConfig(protocolArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${protocolArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\tconst tezos = await (envType === 'Network'\n\t\t\t? configureToolKitForNetwork(protocolArgs, nodeConfig, opts.sender)\n\t\t\t: configureToolKitForSandbox(nodeConfig, opts.sender));\n\n\t\tconst contractInfo = await getContractInfo(opts, env);\n\n\t\tawait performTransferOps(\n\t\t\ttezos,\n\t\t\tgetCurrentEnvironment(protocolArgs),\n\t\t\t[contractInfo],\n\t\t\topts.timeout,\n\t\t\topts.gasLimit,\n\t\t\topts.storageLimit,\n\t\t\topts.fee,\n\t\t);\n\n\t\tconst contractInfoForDisplay = prepContractInfoForDisplay(tezos, contractInfo);\n\t\treturn sendJsonRes([contractInfoForDisplay]);\n\t} catch {\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default transfer;\n","import { getCurrentEnvironmentConfig, RequestArgs, sendAsyncErr, sendJsonRes, sendWarn } from '@taqueria/node-sdk';\nimport {\n\tgenerateAccountKeys,\n\tgetDeclaredAccounts,\n\tgetEnvTypeAndNodeConfig,\n\tgetNetworkInstantiatedAccounts,\n} from './common';\n\nconst instantiate_account = async (parsedArgs: RequestArgs.t): Promise<void> => {\n\tconst env = getCurrentEnvironmentConfig(parsedArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(parsedArgs, env);\n\t\tif (envType !== 'Network') {\n\t\t\treturn sendAsyncErr('taq instantiate-account can only be executed in a network environment');\n\t\t}\n\n\t\tconst declaredAccountAliases = Object.keys(getDeclaredAccounts(parsedArgs));\n\t\tconst instantiatedAccounts = getNetworkInstantiatedAccounts(nodeConfig);\n\n\t\tlet accountsInstantiated = [];\n\t\tfor (const declaredAccountAlias of declaredAccountAliases) {\n\t\t\tif (!instantiatedAccounts.hasOwnProperty(declaredAccountAlias)) {\n\t\t\t\tawait generateAccountKeys(parsedArgs, nodeConfig, declaredAccountAlias);\n\t\t\t\taccountsInstantiated.push(declaredAccountAlias);\n\t\t\t} else {\n\t\t\t\tsendWarn(\n\t\t\t\t\t`Note: ${declaredAccountAlias} is already instantiated in the current environment, \"${parsedArgs.env}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (accountsInstantiated.length !== 0) {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`Accounts instantiated: ${\n\t\t\t\t\taccountsInstantiated.join(', ')\n\t\t\t\t}.\\nPlease execute \"taq fund\" targeting the same environment to fund these accounts`,\n\t\t\t);\n\t\t} else {\n\t\t\treturn sendJsonRes(\n\t\t\t\t`No accounts were instantiated because they were all instantiated in the target environment already`,\n\t\t\t);\n\t\t}\n\t} catch (err) {\n\t\tawait sendAsyncErr('No operations performed');\n\t\tif (parsedArgs.debug) await sendAsyncErr(String(err));\n\t}\n};\n\nexport default instantiate_account;\n","import {\n\taddTzExtensionIfMissing,\n\tgetArtifactsDir,\n\tgetContractContent,\n\tgetCurrentEnvironment,\n\tgetCurrentEnvironmentConfig,\n\tNonEmptyString,\n\tRequestArgs,\n\tsendAsyncErr,\n\tsendErr,\n\tsendJsonRes,\n\tupdateAddressAlias,\n} from '@taqueria/node-sdk';\nimport { OperationContentsAndResultOrigination } from '@taquito/rpc';\nimport { OriginationWalletOperation, TezosToolkit, WalletOperationBatch } from '@taquito/taquito';\nimport { BatchWalletOperation } from '@taquito/taquito/dist/types/wallet/batch-operation';\nimport { basename, extname, join } from 'path';\nimport {\n\tconfigureToolKitForNetwork,\n\tconfigureToolKitForSandbox,\n\tdoWithin,\n\tgetEnvTypeAndNodeConfig,\n\thandleOpsError,\n\tOriginateOpts as Opts,\n} from './common';\n\ntype ContractInfo = {\n\tcontract: string;\n\tcode: string;\n\tinitStorage: string;\n\tmutezTransfer: number;\n};\n\ntype TableRow = {\n\tcontract: string;\n\taddress: string;\n\talias: string;\n\tbalanceInMutez?: string;\n\tdestination?: string;\n};\n\nconst getContractPath = (parsedArgs: RequestArgs.t, contractFilename: string) =>\n\tjoin(getArtifactsDir(parsedArgs), /\\.tz$/.test(contractFilename) ? contractFilename : `${contractFilename}.tz`);\n\nconst getDefaultStorageFilename = (contractName: string): string => {\n\tconst baseFilename = basename(contractName, extname(contractName));\n\tconst extFilename = extname(contractName);\n\tconst defaultStorage = `${baseFilename}.default_storage${extFilename}`;\n\treturn defaultStorage;\n};\n\nconst getContractInfo = async (parsedArgs: Opts): Promise<ContractInfo> => {\n\tconst contract = parsedArgs.contract;\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst contractWithTzExtension = addTzExtensionIfMissing(contract);\n\tconst contractCode = await getContractContent(protocolArgs, contractWithTzExtension);\n\tif (contractCode === undefined) {\n\t\treturn sendAsyncErr(\n\t\t\t`Please generate ${contractWithTzExtension} with one of the compilers (LIGO, SmartPy, Archetype) or write it manually and put it under /${parsedArgs.config.artifactsDir}\\n`,\n\t\t);\n\t}\n\n\tconst storageFilename = parsedArgs.storage ?? getDefaultStorageFilename(contractWithTzExtension);\n\tconst contractInitStorage = await getContractContent(protocolArgs, storageFilename);\n\tif (contractInitStorage === undefined) {\n\t\treturn sendAsyncErr(\n\t\t\t`❌ No initial storage file was found for ${contractWithTzExtension}\\nStorage must be specified in a file as a Michelson expression and will automatically be linked to this contract if specified with the name \"${\n\t\t\t\tgetDefaultStorageFilename(contractWithTzExtension)\n\t\t\t}\" in the artifacts directory\\nYou can also manually pass a storage file to the originate task using the --storage STORAGE_FILE_NAME option\\n`,\n\t\t);\n\t}\n\n\treturn {\n\t\tcontract,\n\t\tcode: contractCode,\n\t\tinitStorage: contractInitStorage.trim(),\n\t\tmutezTransfer: parseInt(parsedArgs.mutez ?? '0'),\n\t};\n};\n\nconst createBatchForOriginate = (\n\ttezos: TezosToolkit,\n\tcontractsInfo: ContractInfo[],\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): WalletOperationBatch =>\n\tcontractsInfo.reduce((acc, contractInfo) =>\n\t\tacc.withOrigination({\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t\tfee,\n\t\t\tcode: contractInfo.code,\n\t\t\tinit: contractInfo.initStorage,\n\t\t\tbalance: contractInfo.mutezTransfer.toString(),\n\t\t\tmutez: true,\n\t\t}), tezos.wallet.batch());\n\nconst performOriginateOps = async (\n\ttezos: TezosToolkit,\n\tenv: string,\n\tcontractsInfo: ContractInfo,\n\tmaxTimeout: number,\n\tisSandbox = false,\n\tgasLimit?: number,\n\tstorageLimit?: number,\n\tfee?: number,\n): Promise<OriginationWalletOperation> => {\n\ttry {\n\t\tconst result = await tezos.wallet.originate({\n\t\t\tcode: contractsInfo.code,\n\t\t\tinit: contractsInfo.initStorage,\n\t\t\tbalance: contractsInfo.mutezTransfer.toString(),\n\t\t\tmutez: true,\n\t\t\tfee,\n\t\t\tgasLimit,\n\t\t\tstorageLimit,\n\t\t});\n\n\t\tconst op = await result.send();\n\t\tawait op.confirmation(isSandbox ? 1 : 3);\n\t\treturn op;\n\t} catch (err) {\n\t\treturn handleOpsError(err, env);\n\t}\n};\n\nconst prepContractInfoForDisplay = async (\n\tparsedArgs: Opts,\n\ttezos: TezosToolkit,\n\tcontractInfo: ContractInfo,\n\top: OriginationWalletOperation,\n): Promise<TableRow> => {\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst operationResults = await op.operationResults();\n\tconst originationResults = (operationResults ?? [])\n\t\t.filter(result => result.kind === 'origination')\n\t\t.map(result => result as unknown as OperationContentsAndResultOrigination);\n\n\t// Length should be 1 since we are batching originate operations into one\n\tconst result = originationResults.length === 1 ? originationResults[0] : undefined;\n\tconst address = result?.metadata?.operation_result?.originated_contracts?.join(',');\n\tconst alias = parsedArgs.alias ?? basename(contractInfo.contract, extname(contractInfo.contract));\n\n\tconst displayableAddress = address ?? 'Something went wrong during origination';\n\n\tif (address) {\n\t\tconst validatedAddress = NonEmptyString.create(address);\n\t\tawait updateAddressAlias(protocolArgs, alias, validatedAddress);\n\t}\n\n\treturn {\n\t\tcontract: contractInfo.contract,\n\t\taddress: displayableAddress,\n\t\talias: address ? alias : 'N/A',\n\t\t// destination: tezos.rpc.getRpcUrl(),\n\t};\n};\n\nconst originate = async (parsedArgs: Opts): Promise<void> => {\n\tconst protocolArgs = RequestArgs.create(parsedArgs);\n\tconst env = getCurrentEnvironmentConfig(protocolArgs);\n\tif (!env) return sendAsyncErr(`There is no environment called ${parsedArgs.env} in your config.json`);\n\ttry {\n\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\tconst tezos = await (envType === 'Network'\n\t\t\t? configureToolKitForNetwork(protocolArgs, nodeConfig, parsedArgs.sender)\n\t\t\t: configureToolKitForSandbox(nodeConfig, parsedArgs.sender));\n\n\t\tconst contractInfo = await getContractInfo(parsedArgs);\n\n\t\tconst op = await performOriginateOps(\n\t\t\ttezos,\n\t\t\tgetCurrentEnvironment(protocolArgs),\n\t\t\tcontractInfo,\n\t\t\tparsedArgs.timeout,\n\t\t\tenvType !== 'Network',\n\t\t\tparsedArgs.gasLimit,\n\t\t\tparsedArgs.storageLimit,\n\t\t\tparsedArgs.fee,\n\t\t);\n\n\t\tconst contractInfoForDisplay = await prepContractInfoForDisplay(parsedArgs, tezos, contractInfo, op);\n\t\treturn sendJsonRes([contractInfoForDisplay]);\n\t} catch (e) {\n\t\tif (e instanceof Error && e.message.includes('503')) {\n\t\t\ttry {\n\t\t\t\tconst [envType, nodeConfig] = await getEnvTypeAndNodeConfig(protocolArgs, env);\n\t\t\t\tif (envType === 'Network' && nodeConfig.rpcUrl.includes('ghostnet')) {\n\t\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t\t`❌ Ghostnet is returning 503 errors, indicating that the server is under heavy load.\\nPlease try again later.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn sendAsyncErr(\n\t\t\t\t\t`❌ The node you are trying to connect to is not available\\nPlease check if the node is running and the URL is correct in your config.json`,\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\t// Resort to the default error message\n\t\t\t}\n\t\t}\n\t\treturn sendAsyncErr('No operations performed');\n\t}\n};\n\nexport default originate;\n"],"mappings":"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","names":["sendAsyncErr","getCurrentEnvironment","getCurrentEnvironmentConfig","sendAsyncErr","sendJsonRes","process","RequestArgs","sendAsyncErr","RequestArgs","sendAsyncErr","sendAsyncErr","getCurrentEnvironmentConfig","sendJsonRes","getCurrentEnvironment","getCurrentEnvironmentConfig","sendAsyncErr","sendJsonRes","sendWarn","getCurrentEnvironmentConfig","sendAsyncErr","sendWarn","sendJsonRes","getCurrentEnvironment","getCurrentEnvironmentConfig","RequestArgs","sendAsyncErr","sendJsonRes","getContractInfo","RequestArgs","sendAsyncErr","prepContractInfoForDisplay","RequestArgs","result","getCurrentEnvironmentConfig","sendAsyncErr","getContractInfo","getCurrentEnvironment","sendJsonRes","sendAsyncErr"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taqueria/plugin-taquito",
|
|
3
|
-
"version": "0.78.
|
|
3
|
+
"version": "0.78.11",
|
|
4
4
|
"description": "A taqueria plugin for originating smart contracts using Taquito",
|
|
5
5
|
"targets": {
|
|
6
6
|
"default": {
|
|
@@ -36,17 +36,17 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://github.com/tezostaqueria/taqueria#readme",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@taquito/michel-codec": "23.
|
|
40
|
-
"@taquito/rpc": "23.
|
|
41
|
-
"@taquito/signer": "23.
|
|
42
|
-
"@taquito/taquito": "23.
|
|
43
|
-
"fast-glob": "^3.3.
|
|
44
|
-
"wtfnode": "^0.
|
|
45
|
-
"@taqueria/node-sdk": "0.78.
|
|
39
|
+
"@taquito/michel-codec": "23.1.0",
|
|
40
|
+
"@taquito/rpc": "23.1.0",
|
|
41
|
+
"@taquito/signer": "23.1.0",
|
|
42
|
+
"@taquito/taquito": "23.1.0",
|
|
43
|
+
"fast-glob": "^3.3.3",
|
|
44
|
+
"wtfnode": "^0.10.1",
|
|
45
|
+
"@taqueria/node-sdk": "0.78.11"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"tsup": "^8.
|
|
49
|
-
"typescript": "^5.
|
|
48
|
+
"tsup": "^8.5.1",
|
|
49
|
+
"typescript": "^5.9.3"
|
|
50
50
|
},
|
|
51
51
|
"tsup": {
|
|
52
52
|
"entry": [
|