diff --git a/package-lock.json b/package-lock.json index 249b7619..8f7d47fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -320,7 +320,7 @@ }, "@types/chai-as-promised": { "version": "7.1.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.2.tgz", "integrity": "sha512-PO2gcfR3Oxa+u0QvECLe1xKXOqYTzCmWf0FhLhjREoW3fPAVamjihL7v1MOVLJLsnAMdLcjkfrs01yvDMwVK4Q==", "dev": true, "requires": { @@ -353,13 +353,13 @@ }, "@types/mocha": { "version": "7.0.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz", "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", "dev": true }, "@types/nock": { "version": "11.1.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/@types/nock/-/nock-11.1.0.tgz", "integrity": "sha512-jI/ewavBQ7X5178262JQR0ewicPAcJhXS/iFaNJl0VHLfyosZ/kwSrsa6VNQNSO8i9d8SqdRgOtZSOKJ/+iNMw==", "dev": true, "requires": { @@ -920,7 +920,7 @@ }, "awesome-typescript-loader": { "version": "5.2.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz", "integrity": "sha512-slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==", "dev": true, "requires": { @@ -1369,7 +1369,7 @@ }, "chai": { "version": "4.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", "dev": true, "requires": { @@ -1383,7 +1383,7 @@ }, "chai-as-promised": { "version": "7.1.1", - "resolved": false, + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", "dev": true, "requires": { @@ -4743,7 +4743,7 @@ }, "loglevel": { "version": "1.6.8", - "resolved": false, + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", "dev": true }, @@ -5403,7 +5403,7 @@ }, "node-fetch": { "version": "2.6.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", "dev": true }, @@ -6401,7 +6401,7 @@ }, "request-promise": { "version": "4.2.5", - "resolved": false, + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz", "integrity": "sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==", "dev": true, "requires": { @@ -7524,7 +7524,7 @@ }, "tsconfig-paths-webpack-plugin": { "version": "3.2.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.2.0.tgz", "integrity": "sha512-S/gOOPOkV8rIL4LurZ1vUdYCVgo15iX9ZMJ6wx6w2OgcpT/G4wMyHB6WM+xheSqGMrWKuxFul+aXpCju3wmj/g==", "dev": true, "requires": { @@ -7680,7 +7680,7 @@ }, "typescript": { "version": "3.8.3", - "resolved": false, + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", "dev": true }, @@ -7898,7 +7898,7 @@ }, "webpack": { "version": "4.43.0", - "resolved": false, + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", "dev": true, "requires": { @@ -8059,7 +8059,7 @@ }, "webpack-cli": { "version": "3.3.11", - "resolved": false, + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", "dev": true, "requires": { @@ -8179,7 +8179,7 @@ }, "webpack-node-externals": { "version": "1.7.2", - "resolved": false, + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz", "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==", "dev": true }, diff --git a/src/chain/tezos/TezosNodeWriter.ts b/src/chain/tezos/TezosNodeWriter.ts index 0178bec0..1e5002b2 100644 --- a/src/chain/tezos/TezosNodeWriter.ts +++ b/src/chain/tezos/TezosNodeWriter.ts @@ -468,6 +468,9 @@ export namespace TezosNodeWriter { parameters: string | undefined, parameterFormat: TezosTypes.TezosParameterFormat = TezosTypes.TezosParameterFormat.Micheline ): TezosP2PMessageTypes.Transaction { + console.log('constructing') + // entrypoint = 'update' + let transaction: TezosP2PMessageTypes.Transaction = { destination: to, amount: amount.toString(), @@ -479,9 +482,16 @@ export namespace TezosNodeWriter { kind: 'transaction' }; + console.log('basic tx') + console.log("ENTRYPOINT: " + entrypoint) + if (parameters !== undefined) { if (parameterFormat === TezosTypes.TezosParameterFormat.Michelson) { + console.log('got michelson') + console.log('parameters: ' + parameters) const michelineParams = TezosLanguageUtil.translateParameterMichelsonToMicheline(parameters); + console.log(michelineParams) + transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(michelineParams) }; } else if (parameterFormat === TezosTypes.TezosParameterFormat.Micheline) { transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(parameters) }; @@ -490,9 +500,12 @@ export namespace TezosNodeWriter { transaction.parameters = { entrypoint: entrypoint || 'default', value: JSON.parse(michelineLambda) }; } } else if (entrypoint !== undefined) { + transaction.parameters = { entrypoint: entrypoint, value: [] }; } + console.log('constructed') + return transaction; } @@ -581,6 +594,8 @@ export namespace TezosNodeWriter { parameterFormat: TezosTypes.TezosParameterFormat = TezosTypes.TezosParameterFormat.Micheline ): Promise<{ gas: number, storageCost: number }> { const counter = await TezosNodeReader.getCounterForAccount(server, keyStore.publicKeyHash) + 1; + console.log("got counter") + const transaction = constructContractInvocationOperation( keyStore.publicKeyHash, counter, @@ -593,6 +608,7 @@ export namespace TezosNodeWriter { parameters, parameterFormat ); + console.log("Constructed operation") return estimateOperation(server, chainid, transaction) } @@ -666,13 +682,22 @@ export namespace TezosNodeWriter { server: string, chainid: string, operation: TezosP2PMessageTypes.Operation + ): Promise<{ gas: number, storageCost: number }> { + return estimateOperations(server, chainid, [operation]) + } + + export async function estimateOperations( + server: string, + chainid: string, + operations: Array ): Promise<{ gas: number, storageCost: number }> { const fake_signature = 'edsigu6xFLH2NpJ1VcYshpjW99Yc1TAL1m2XBqJyXrxcZQgBMo8sszw2zm626yjpA3pWMhjpsahLrWdmvX9cqhd4ZEUchuBuFYy'; const fake_chainid = 'NetXdQprcVkpaWU'; const fake_branch = 'BL94i2ShahPx3BoNs6tJdXDdGeoJ9ukwujUA2P8WJwULYNdimmq'; - const response = await performPostRequest(server, `chains/${chainid}/blocks/head/helpers/scripts/run_operation`, { chain_id: fake_chainid, operation: { branch: fake_branch, contents: [operation], signature: fake_signature } }); + const response = await performPostRequest(server, `chains/${chainid}/blocks/head/helpers/scripts/run_operation`, { chain_id: fake_chainid, operation: { branch: fake_branch, contents: operations, signature: fake_signature } }); const responseText = await response.text(); + console.log("GOT BACK: " + responseText) parseRPCError(responseText); @@ -710,6 +735,8 @@ export namespace TezosNodeWriter { * @returns Error text or `undefined` */ function parseRPCError(response: string) { + log.debug(`parsing response:\n${response}`) + let errors = ''; try {