Skip to content

Commit

Permalink
Merge pull request #311 from Cryptonomic/as-tokensigner
Browse files Browse the repository at this point in the history
Update signer for token operations
  • Loading branch information
anonymoussprocket authored Mar 12, 2021
2 parents 3b3d72e + 5420105 commit 8e19f24
Show file tree
Hide file tree
Showing 7 changed files with 100 additions and 31 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "tezori",
"version": "1.1.13-beta",
"version": "1.1.15-beta",
"description": "An open-source wallet framework for the Tezos blockchain.",
"main": "./src/main.prod.js",
"scripts": {
Expand Down
4 changes: 2 additions & 2 deletions src/config.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "Tezori",
"version": "1.1.13b",
"version": "1.1.15b",
"blockExplorerHost": "https://arronax.io/tezos",
"logo": "tezosLogo.png",
"logoLink": "https://github.com/Cryptonomic/T2",
"termsService": "https://github.com/Cryptonomic/T2",
"privacyPolicy": "https://github.com/Cryptonomic/T2",
"tagline": "containers.loginHome.tagline",
"LocalVersionIndex": "29",
"LocalVersionIndex": "30",
"helpUrl": "https://github.com/Cryptonomic/T2",
"ledgerAppUrl": "https://support.ledger.com/hc/en-us/articles/360016057774-Tezos-XTZ-",
"ledgerReferral": "",
Expand Down
42 changes: 31 additions & 11 deletions src/contracts/KolibriToken/thunks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { updateTokensAction } from '../../reduxContent/wallet/actions';
import { createTokenTransaction } from '../../utils/transaction';
import { TRANSACTION } from '../../constants/TransactionTypes';

import { cloneDecryptedSigner } from '../../utils/wallet';
import { getSelectedKeyStore } from '../../utils/general';
import { getMainNode, getMainPath } from '../../utils/settings';

Expand All @@ -30,7 +31,7 @@ export function transferThunk(destination: string, amount: number, fee: number,

const operationId: string | undefined = await WrappedTezosHelper.transferBalance(
tezosUrl,
signer,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
selectedAccountHash,
fee,
Expand Down Expand Up @@ -94,7 +95,14 @@ export function deployOven(fee: number, password: string, initialDelegate: strin
coreContractAddress = token.vaultCoreAddress;
}

const result = await WrappedTezosHelper.deployOven(tezosUrl, signer, keyStore, fee, coreContractAddress, initialDelegate).catch((err) => {
const result = await WrappedTezosHelper.deployOven(
tezosUrl,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
fee,
coreContractAddress,
initialDelegate
).catch((err) => {
const errorObj = { name: err.message, ...err };
console.error(`deployOven failed with ${JSON.stringify(errorObj)}`);
dispatch(createMessageAction(errorObj.name, true));
Expand Down Expand Up @@ -157,7 +165,14 @@ export function deposit(ovenAddress: string, amount: number, fee: number, passwo
const mainPath = getMainPath(pathsList, selectedPath);
const keyStore = getSelectedKeyStore(identities, selectedParentHash, selectedParentHash, isLedger, mainPath);

const operationId: string | undefined = await WrappedTezosHelper.depositToOven(tezosUrl, signer, keyStore, ovenAddress, fee, amount).catch((err) => {
const operationId: string | undefined = await WrappedTezosHelper.depositToOven(
tezosUrl,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
ovenAddress,
fee,
amount
).catch((err) => {
const errorObj = { name: err.message, ...err };
console.error(`deposit failed with ${JSON.stringify(errorObj)}`);
dispatch(createMessageAction(errorObj.name, true));
Expand Down Expand Up @@ -271,14 +286,19 @@ export function setDelegateForOven(ovenAddress: string, newDelegate: string, fee
const mainPath = getMainPath(pathsList, selectedPath);
const keyStore = getSelectedKeyStore(identities, selectedParentHash, selectedParentHash, isLedger, mainPath);

const operationId: string | undefined = await WrappedTezosHelper.setOvenBaker(tezosUrl, signer, keyStore, fee, ovenAddress, newDelegate).catch(
(err) => {
const errorObj = { name: err.message, ...err };
console.error(`withdraw failed with ${JSON.stringify(errorObj)}`);
dispatch(createMessageAction(errorObj.name, true));
return undefined;
}
);
const operationId: string | undefined = await WrappedTezosHelper.setOvenBaker(
tezosUrl,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
fee,
ovenAddress,
newDelegate
).catch((err) => {
const errorObj = { name: err.message, ...err };
console.error(`withdraw failed with ${JSON.stringify(errorObj)}`);
dispatch(createMessageAction(errorObj.name, true));
return undefined;
});

if (operationId === undefined) {
return false;
Expand Down
27 changes: 24 additions & 3 deletions src/contracts/TokenContract/thunks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { updateTokensAction } from '../../reduxContent/wallet/actions';
import { createTransaction, createTokenTransaction } from '../../utils/transaction';
import { TRANSACTION } from '../../constants/TransactionTypes';

import { cloneDecryptedSigner } from '../../utils/wallet';
import { getSelectedKeyStore } from '../../utils/general';
import { getMainNode, getMainPath } from '../../utils/settings';

Expand Down Expand Up @@ -34,7 +35,7 @@ export function transferThunk(destination: string, amount: number, fee: number,

const operationId: string | undefined = await transferBalance(
tezosUrl,
signer,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
selectedAccountHash,
fee,
Expand Down Expand Up @@ -94,7 +95,17 @@ export function mintThunk(destination: string, amount: number, fee: number, pass

const keyStore = getSelectedKeyStore(identities, selectedParentHash, selectedParentHash, isLedger, mainPath);

const groupid: string = await mint(tezosUrl, signer, keyStore, selectedAccountHash, fee, destination, amount, GAS, FREIGHT).catch((err) => {
const groupid: string = await mint(
tezosUrl,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
selectedAccountHash,
fee,
destination,
amount,
GAS,
FREIGHT
).catch((err) => {
console.log(err);
const errorObj = { name: err.message, ...err };
console.error(errorObj);
Expand Down Expand Up @@ -148,7 +159,17 @@ export function burnThunk(destination: string, amount: number, fee: number, pass

const keyStore = getSelectedKeyStore(identities, selectedParentHash, selectedParentHash, isLedger, mainPath);

const groupid: string = await burn(tezosUrl, signer, keyStore, selectedAccountHash, fee, destination, amount, GAS, FREIGHT).catch((err) => {
const groupid: string = await burn(
tezosUrl,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
selectedAccountHash,
fee,
destination,
amount,
GAS,
FREIGHT
).catch((err) => {
const errorObj = { name: err.message, ...err };
console.error(errorObj);
dispatch(createMessageAction(errorObj.name, true));
Expand Down
3 changes: 2 additions & 1 deletion src/contracts/TzBtcToken/thunks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { updateTokensAction } from '../../reduxContent/wallet/actions';
import { createTokenTransaction } from '../../utils/transaction';
import { TRANSACTION } from '../../constants/TransactionTypes';

import { cloneDecryptedSigner } from '../../utils/wallet';
import { getSelectedKeyStore } from '../../utils/general';
import { getMainNode, getMainPath } from '../../utils/settings';

Expand All @@ -29,7 +30,7 @@ export function transferThunk(destination: string, amount: number, fee: number,

const operationId: string | undefined = await TzbtcTokenHelper.transferBalance(
tezosUrl,
signer,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
selectedAccountHash,
fee,
Expand Down
51 changes: 39 additions & 12 deletions src/contracts/WrappedTezos/thunks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { updateTokensAction } from '../../reduxContent/wallet/actions';
import { createTokenTransaction } from '../../utils/transaction';
import { TRANSACTION } from '../../constants/TransactionTypes';

import { cloneDecryptedSigner } from '../../utils/wallet';
import { getSelectedKeyStore } from '../../utils/general';
import { getMainNode, getMainPath } from '../../utils/settings';

Expand All @@ -30,7 +31,7 @@ export function transferThunk(destination: string, amount: number, fee: number,

const operationId: string | undefined = await WrappedTezosHelper.transferBalance(
tezosUrl,
signer,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
selectedAccountHash,
fee,
Expand Down Expand Up @@ -94,7 +95,14 @@ export function deployOven(fee: number, password: string, initialDelegate: strin
coreContractAddress = token.vaultCoreAddress;
}

const result = await WrappedTezosHelper.deployOven(tezosUrl, signer, keyStore, fee, coreContractAddress, initialDelegate).catch((err) => {
const result = await WrappedTezosHelper.deployOven(
tezosUrl,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
fee,
coreContractAddress,
initialDelegate
).catch((err) => {
const errorObj = { name: err.message, ...err };
console.error(`deployOven failed with ${JSON.stringify(errorObj)}`);
dispatch(createMessageAction(errorObj.name, true));
Expand Down Expand Up @@ -157,7 +165,14 @@ export function deposit(ovenAddress: string, amount: number, fee: number, passwo
const mainPath = getMainPath(pathsList, selectedPath);
const keyStore = getSelectedKeyStore(identities, selectedParentHash, selectedParentHash, isLedger, mainPath);

const operationId: string | undefined = await WrappedTezosHelper.depositToOven(tezosUrl, signer, keyStore, ovenAddress, fee, amount).catch((err) => {
const operationId: string | undefined = await WrappedTezosHelper.depositToOven(
tezosUrl,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
ovenAddress,
fee,
amount
).catch((err) => {
const errorObj = { name: err.message, ...err };
console.error(`deposit failed with ${JSON.stringify(errorObj)}`);
dispatch(createMessageAction(errorObj.name, true));
Expand Down Expand Up @@ -214,7 +229,14 @@ export function withdraw(ovenAddress: string, amount: number, fee: number, passw
const mainPath = getMainPath(pathsList, selectedPath);
const keyStore = getSelectedKeyStore(identities, selectedParentHash, selectedParentHash, isLedger, mainPath);

const operationId: string | undefined = await WrappedTezosHelper.withdrawFromOven(tezosUrl, signer, keyStore, ovenAddress, fee, amount).catch((err) => {
const operationId: string | undefined = await WrappedTezosHelper.withdrawFromOven(
tezosUrl,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
ovenAddress,
fee,
amount
).catch((err) => {
const errorObj = { name: err.message, ...err };
console.error(`withdraw failed with ${JSON.stringify(errorObj)}`);
dispatch(createMessageAction(errorObj.name, true));
Expand Down Expand Up @@ -271,14 +293,19 @@ export function setDelegateForOven(ovenAddress: string, newDelegate: string, fee
const mainPath = getMainPath(pathsList, selectedPath);
const keyStore = getSelectedKeyStore(identities, selectedParentHash, selectedParentHash, isLedger, mainPath);

const operationId: string | undefined = await WrappedTezosHelper.setOvenBaker(tezosUrl, signer, keyStore, fee, ovenAddress, newDelegate).catch(
(err) => {
const errorObj = { name: err.message, ...err };
console.error(`withdraw failed with ${JSON.stringify(errorObj)}`);
dispatch(createMessageAction(errorObj.name, true));
return undefined;
}
);
const operationId: string | undefined = await WrappedTezosHelper.setOvenBaker(
tezosUrl,
isLedger ? signer : await cloneDecryptedSigner(signer, password),
keyStore,
fee,
ovenAddress,
newDelegate
).catch((err) => {
const errorObj = { name: err.message, ...err };
console.error(`withdraw failed with ${JSON.stringify(errorObj)}`);
dispatch(createMessageAction(errorObj.name, true));
return undefined;
});

if (operationId === undefined) {
return false;
Expand Down
2 changes: 1 addition & 1 deletion src/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "tezori",
"productName": "Tezori Preview",
"version": "1.1.13-beta",
"version": "1.1.15-beta",
"description": "An open-source wallet framework for the Tezos blockchain.",
"main": "./main.prod.js",
"author": {
Expand Down

0 comments on commit 8e19f24

Please sign in to comment.