aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contract-wrappers
diff options
context:
space:
mode:
Diffstat (limited to 'packages/contract-wrappers')
-rw-r--r--packages/contract-wrappers/CHANGELOG.json11
-rw-r--r--packages/contract-wrappers/CHANGELOG.md4
-rw-r--r--packages/contract-wrappers/package.json26
-rw-r--r--packages/contract-wrappers/src/contract_wrappers/erc20_token_wrapper.ts3
-rw-r--r--packages/contract-wrappers/src/contract_wrappers/erc721_token_wrapper.ts3
-rw-r--r--packages/contract-wrappers/src/contract_wrappers/ether_token_wrapper.ts2
-rw-r--r--packages/contract-wrappers/src/contract_wrappers/exchange_wrapper.ts34
-rw-r--r--packages/contract-wrappers/src/contract_wrappers/forwarder_wrapper.ts4
-rw-r--r--packages/contract-wrappers/src/schemas/tx_opts_schema.ts1
-rw-r--r--packages/contract-wrappers/src/types.ts2
10 files changed, 77 insertions, 13 deletions
diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json
index fbf3972a9..711ab49a1 100644
--- a/packages/contract-wrappers/CHANGELOG.json
+++ b/packages/contract-wrappers/CHANGELOG.json
@@ -1,5 +1,16 @@
[
{
+ "version": "4.1.0",
+ "changes": [
+ {
+ "note":
+ "Add a `nonce` field for `TxOpts` so that it's now possible to re-broadcast stuck transactions with a higher gas amount",
+ "pr": 1292
+ }
+ ],
+ "timestamp": 1542821676
+ },
+ {
"timestamp": 1542208198,
"version": "4.0.2",
"changes": [
diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md
index eca1b4633..201c65a4c 100644
--- a/packages/contract-wrappers/CHANGELOG.md
+++ b/packages/contract-wrappers/CHANGELOG.md
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
CHANGELOG
+## v4.1.0 - _November 21, 2018_
+
+ * Add a `nonce` field for `TxOpts` so that it's now possible to re-broadcast stuck transactions with a higher gas amount (#1292)
+
## v4.0.2 - _November 14, 2018_
* Dependencies updated
diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json
index 2d6b4e3f8..999375ea5 100644
--- a/packages/contract-wrappers/package.json
+++ b/packages/contract-wrappers/package.json
@@ -1,6 +1,6 @@
{
"name": "@0x/contract-wrappers",
- "version": "4.0.2",
+ "version": "4.1.0",
"description": "Smart TS wrappers for 0x smart contracts",
"keywords": [
"0xproject",
@@ -37,9 +37,9 @@
"node": ">=6.0.0"
},
"devDependencies": {
- "@0x/dev-utils": "^1.0.17",
- "@0x/migrations": "^2.0.4",
- "@0x/subproviders": "^2.1.4",
+ "@0x/dev-utils": "^1.0.18",
+ "@0x/migrations": "^2.1.0",
+ "@0x/subproviders": "^2.1.5",
"@0x/tslint-config": "^1.0.10",
"@types/lodash": "4.14.104",
"@types/mocha": "^2.2.42",
@@ -65,17 +65,17 @@
"web3-provider-engine": "14.0.6"
},
"dependencies": {
- "@0x/abi-gen-wrappers": "^1.0.5",
- "@0x/assert": "^1.0.17",
- "@0x/contract-addresses": "^1.1.0",
+ "@0x/abi-gen-wrappers": "^1.1.0",
+ "@0x/assert": "^1.0.18",
+ "@0x/contract-addresses": "^1.2.0",
"@0x/contract-artifacts": "^1.1.0",
- "@0x/fill-scenarios": "^1.0.12",
- "@0x/json-schemas": "^2.1.1",
- "@0x/order-utils": "^3.0.2",
- "@0x/types": "^1.2.1",
+ "@0x/fill-scenarios": "^1.0.13",
+ "@0x/json-schemas": "^2.1.2",
+ "@0x/order-utils": "^3.0.3",
+ "@0x/types": "^1.3.0",
"@0x/typescript-typings": "^3.0.4",
- "@0x/utils": "^2.0.5",
- "@0x/web3-wrapper": "^3.1.4",
+ "@0x/utils": "^2.0.6",
+ "@0x/web3-wrapper": "^3.1.5",
"ethereum-types": "^1.1.2",
"ethereumjs-blockstream": "6.0.0",
"ethereumjs-util": "^5.1.1",
diff --git a/packages/contract-wrappers/src/contract_wrappers/erc20_token_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/erc20_token_wrapper.ts
index 5e0ec1951..ad42cfd4f 100644
--- a/packages/contract-wrappers/src/contract_wrappers/erc20_token_wrapper.ts
+++ b/packages/contract-wrappers/src/contract_wrappers/erc20_token_wrapper.ts
@@ -111,6 +111,7 @@ export class ERC20TokenWrapper extends ContractWrapper {
from: normalizedOwnerAddress,
gas: txOpts.gasLimit,
gasPrice: txOpts.gasPrice,
+ nonce: txOpts.nonce,
}),
);
return txHash;
@@ -281,6 +282,7 @@ export class ERC20TokenWrapper extends ContractWrapper {
from: normalizedFromAddress,
gas: txOpts.gasLimit,
gasPrice: txOpts.gasPrice,
+ nonce: txOpts.nonce,
}),
);
return txHash;
@@ -342,6 +344,7 @@ export class ERC20TokenWrapper extends ContractWrapper {
from: normalizedSenderAddress,
gas: txOpts.gasLimit,
gasPrice: txOpts.gasPrice,
+ nonce: txOpts.nonce,
}),
);
return txHash;
diff --git a/packages/contract-wrappers/src/contract_wrappers/erc721_token_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/erc721_token_wrapper.ts
index 1610af47b..3bc7dc8e7 100644
--- a/packages/contract-wrappers/src/contract_wrappers/erc721_token_wrapper.ts
+++ b/packages/contract-wrappers/src/contract_wrappers/erc721_token_wrapper.ts
@@ -238,6 +238,7 @@ export class ERC721TokenWrapper extends ContractWrapper {
gas: txOpts.gasLimit,
gasPrice: txOpts.gasPrice,
from: normalizedOwnerAddress,
+ nonce: txOpts.nonce,
}),
);
return txHash;
@@ -298,6 +299,7 @@ export class ERC721TokenWrapper extends ContractWrapper {
gas: txOpts.gasLimit,
gasPrice: txOpts.gasPrice,
from: tokenOwnerAddress,
+ nonce: txOpts.nonce,
}),
);
return txHash;
@@ -369,6 +371,7 @@ export class ERC721TokenWrapper extends ContractWrapper {
gas: txOpts.gasLimit,
gasPrice: txOpts.gasPrice,
from: normalizedSenderAddress,
+ nonce: txOpts.nonce,
}),
);
return txHash;
diff --git a/packages/contract-wrappers/src/contract_wrappers/ether_token_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/ether_token_wrapper.ts
index 913c47cf7..6093f0f95 100644
--- a/packages/contract-wrappers/src/contract_wrappers/ether_token_wrapper.ts
+++ b/packages/contract-wrappers/src/contract_wrappers/ether_token_wrapper.ts
@@ -71,6 +71,7 @@ export class EtherTokenWrapper extends ContractWrapper {
value: amountInWei,
gas: txOpts.gasLimit,
gasPrice: txOpts.gasPrice,
+ nonce: txOpts.nonce,
}),
);
return txHash;
@@ -112,6 +113,7 @@ export class EtherTokenWrapper extends ContractWrapper {
from: normalizedWithdrawerAddress,
gas: txOpts.gasLimit,
gasPrice: txOpts.gasPrice,
+ nonce: txOpts.nonce,
}),
);
return txHash;
diff --git a/packages/contract-wrappers/src/contract_wrappers/exchange_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/exchange_wrapper.ts
index c76e51eee..c9556971a 100644
--- a/packages/contract-wrappers/src/contract_wrappers/exchange_wrapper.ts
+++ b/packages/contract-wrappers/src/contract_wrappers/exchange_wrapper.ts
@@ -196,6 +196,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
@@ -207,6 +208,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -243,6 +245,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
}
@@ -254,6 +257,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -287,6 +291,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.fillOrKillOrder.sendTransactionAsync(
@@ -297,6 +302,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -336,6 +342,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedSenderAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.executeTransaction.sendTransactionAsync(
@@ -347,6 +354,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedSenderAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -382,6 +390,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.batchFillOrders.sendTransactionAsync(
@@ -392,6 +401,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -425,6 +435,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.marketBuyOrders.sendTransactionAsync(
@@ -435,6 +446,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -468,6 +480,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.marketSellOrders.sendTransactionAsync(
@@ -478,6 +491,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -511,6 +525,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.marketBuyOrdersNoThrow.sendTransactionAsync(
@@ -521,6 +536,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -554,6 +570,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.marketSellOrdersNoThrow.sendTransactionAsync(
@@ -564,6 +581,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -599,6 +617,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.batchFillOrdersNoThrow.sendTransactionAsync(
@@ -609,6 +628,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -644,6 +664,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.batchFillOrKillOrders.sendTransactionAsync(
@@ -654,6 +675,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -682,12 +704,14 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedMakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.batchCancelOrders.sendTransactionAsync(orders, {
from: normalizedMakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
return txHash;
}
@@ -735,6 +759,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
}
@@ -747,6 +772,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -781,12 +807,14 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.preSign.sendTransactionAsync(hash, signerAddress, signature, {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
return txHash;
}
@@ -956,12 +984,14 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedMakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.cancelOrder.sendTransactionAsync(order, {
from: normalizedMakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
return txHash;
}
@@ -992,6 +1022,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedSenderAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.setSignatureValidatorApproval.sendTransactionAsync(
@@ -1001,6 +1032,7 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedSenderAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -1030,12 +1062,14 @@ export class ExchangeWrapper extends ContractWrapper {
from: normalizedSenderAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
}
const txHash = await exchangeInstance.cancelOrdersUpTo.sendTransactionAsync(targetOrderEpoch, {
from: normalizedSenderAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
});
return txHash;
}
diff --git a/packages/contract-wrappers/src/contract_wrappers/forwarder_wrapper.ts b/packages/contract-wrappers/src/contract_wrappers/forwarder_wrapper.ts
index 80742e030..5497f92b5 100644
--- a/packages/contract-wrappers/src/contract_wrappers/forwarder_wrapper.ts
+++ b/packages/contract-wrappers/src/contract_wrappers/forwarder_wrapper.ts
@@ -124,6 +124,7 @@ export class ForwarderWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
}
@@ -140,6 +141,7 @@ export class ForwarderWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
@@ -213,6 +215,7 @@ export class ForwarderWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
}
@@ -230,6 +233,7 @@ export class ForwarderWrapper extends ContractWrapper {
from: normalizedTakerAddress,
gas: orderTransactionOpts.gasLimit,
gasPrice: orderTransactionOpts.gasPrice,
+ nonce: orderTransactionOpts.nonce,
},
);
return txHash;
diff --git a/packages/contract-wrappers/src/schemas/tx_opts_schema.ts b/packages/contract-wrappers/src/schemas/tx_opts_schema.ts
index 83c819be2..1c1588db7 100644
--- a/packages/contract-wrappers/src/schemas/tx_opts_schema.ts
+++ b/packages/contract-wrappers/src/schemas/tx_opts_schema.ts
@@ -3,6 +3,7 @@ export const txOptsSchema = {
properties: {
gasPrice: { $ref: '/numberSchema' },
gasLimit: { type: 'number' },
+ nonce: { type: 'number' },
},
type: 'object',
};
diff --git a/packages/contract-wrappers/src/types.ts b/packages/contract-wrappers/src/types.ts
index 5a5bdd530..14d4649ae 100644
--- a/packages/contract-wrappers/src/types.ts
+++ b/packages/contract-wrappers/src/types.ts
@@ -142,10 +142,12 @@ export interface MethodOpts {
/**
* gasPrice: Gas price in Wei to use for a transaction
* gasLimit: The amount of gas to send with a transaction (in Gwei)
+ * nonce: The nonce to use for a transaction. If not specified, it defaults to the next incremented nonce.
*/
export interface TransactionOpts {
gasPrice?: BigNumber;
gasLimit?: number;
+ nonce?: number;
}
/**