UNPKG

create-tezos-smart-contract

Version:

Node.js toolset to write, test and deploy Tezos smart contracts

50 lines (49 loc) 2.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAccountsParams = exports.createProtocolParams = exports.flextesaProtocols = void 0; const tezos_1 = require("../tezos"); exports.flextesaProtocols = { [tezos_1.TezosProtocols.CARTHAGE]: { hash: "PsCARTHAGazKbHtnKfLzQg3kms52kSRpgnDY982a9oYsSXRLQEb", prefix: "006-PsCARTHA", kind: "Carthage" }, [tezos_1.TezosProtocols.DELPHI]: { hash: "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo", prefix: "007-PsDELPH1", kind: "Delphi" }, [tezos_1.TezosProtocols.EDO]: { hash: "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA", prefix: "008-PtEdoTez", kind: "Edo" }, [tezos_1.TezosProtocols.FLORENCE]: { hash: "PsFLorenaUUuikDWvMDr6fGBRG8kt3e3D3fHoXK1j1BFRxeSH4i", prefix: "009-PsFLoren", kind: "Florence" }, [tezos_1.TezosProtocols.GRANADA]: { hash: "PtGRANADsDU8R9daYKAgWnQYAJ64omN1o3KMGVCykShA97vQbvV", prefix: "010-PtGRANAD", kind: "Granada" }, [tezos_1.TezosProtocols.HANGZHOU]: { hash: "PtHangz2aRngywmSRGGvrcTyMbbdpWdpFKuS4uMWxg2RaH9i1qx", prefix: "011-PtHangz2", kind: "Hangzhou" }, [tezos_1.TezosProtocols.ITHACA]: { hash: "Psithaca2MLRFYargivpo7YvUr7wUDqyxrdhC5CQq78mRvimz6A", prefix: "012-Psithaca", kind: "Ithaca" } }; const createProtocolParams = (tezosProtocol) => { const protocol = exports.flextesaProtocols[tezosProtocol]; // Configure Tezos node apps with the proper one for selected protocol version const params = [ "tezos-baker", "tezos-endorser", "tezos-accuser" ].reduce((acc, val) => { acc.push(`--${val}`, `${val}-${protocol.prefix}`); return acc; }, []); // Specify protocol version and hash params.push("--protocol-hash", `${protocol.hash}`, "--protocol-kind", `${protocol.kind}`); return params; }; exports.createProtocolParams = createProtocolParams; // Commands to later add accounts in Flextesa Docker running container // docker exec -it my-sandbox /bin/sh // tezos-client --endpoint http://localhost:20000 import secret key alice unencrypted:edsk3QoqBuvdamxouPhin7swCvkQNgq4jP5KZPbwWNnwdZpSpJiEbq // tezos-client --endpoint http://localhost:20000 list known addresses // tezos-client --endpoint http://localhost:20000 transfer 1.00 from alice to alice // tezos-client --endpoint http://localhost:20000 bake for alice const createAccountsParams = (accounts, amountTz = 100) => { const balance = amountTz * Math.pow(10, 9); // XTZ in mutez const params = []; for (const name in accounts) { const account = accounts[name]; params.push(...[ "--add-bootstrap-account", `${name},${account.pk},${account.pkh},unencrypted:${account.sk}@${balance}`, "--no-daemons-for", name // DON'T USE THIS OPTION TOGETHER WITH --remove-default-bootstrap-accounts OTHERWISE TAQUITO GETS ANGRY BECAUSE OF EMPTY HEADER BLOCKS ]); } ; return params; }; exports.createAccountsParams = createAccountsParams;