update abi-gen with new method interfaces (#2325)
* update abi-gen with new method interfaces * wip: get all packages to build * wip: get all packages to build * Fix two contract wrapper calls * Export necessary types part of the contract wrapper public interfaces * Revive and fix wrapper_unit_tests * Remove duplicate type * Fix lib_exchange_rich_error_decoder tests * Fix remaining test failures in contracts-* packages * Prettier fixes * remove transactionHelper * lint and update changelogs * Fix prettier * Revert changes to reference docs * Add back changelog already published and add revert changelog entry * Add missing CHANGELOG entries * Add missing comma * Update mesh-rpc-client dep * Update Mesh RPC logic in @0x/orderbook to v6.0.1-beta * Align package versions
This commit is contained in:
@@ -58,16 +58,14 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
{},
|
||||
signatureValidator.address,
|
||||
);
|
||||
validatorWalletRevertReason = await validatorWallet.REVERT_REASON.callAsync();
|
||||
validatorWalletRevertReason = await validatorWallet.REVERT_REASON().callAsync();
|
||||
|
||||
// Approve the validator for both signers.
|
||||
await Promise.all(
|
||||
[signerAddress, notSignerAddress].map(async (addr: string) => {
|
||||
return signatureValidator.setSignatureValidatorApproval.awaitTransactionSuccessAsync(
|
||||
validatorWallet.address,
|
||||
true,
|
||||
{ from: addr },
|
||||
);
|
||||
return signatureValidator
|
||||
.setSignatureValidatorApproval(validatorWallet.address, true)
|
||||
.awaitTransactionSuccessAsync({ from: addr });
|
||||
}),
|
||||
);
|
||||
|
||||
@@ -299,7 +297,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
it('should return true when SignatureType=Presigned and signer has presigned hash', async () => {
|
||||
const hashHex = getCurrentHashHex();
|
||||
// Presign the hash
|
||||
await signatureValidator.preSign.awaitTransactionSuccessAsync(hashHex, { from: signerAddress });
|
||||
await signatureValidator.preSign(hashHex).awaitTransactionSuccessAsync({ from: signerAddress });
|
||||
// Validate presigned signature
|
||||
const signatureHex = hexConcat(SignatureType.PreSigned);
|
||||
const isValidSignature = await validateAsync(hashHex, signerAddress, signatureHex);
|
||||
@@ -333,13 +331,11 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
? constants.NULL_BYTES
|
||||
: hashBytes(validatorExpectedSignatureHex);
|
||||
if (validatorAction !== undefined) {
|
||||
await validatorWallet.prepare.awaitTransactionSuccessAsync(
|
||||
_hashHex,
|
||||
validatorAction,
|
||||
expectedSignatureHashHex,
|
||||
);
|
||||
await validatorWallet
|
||||
.prepare(_hashHex, validatorAction, expectedSignatureHashHex)
|
||||
.awaitTransactionSuccessAsync();
|
||||
}
|
||||
return signatureValidator.isValidHashSignature.callAsync(_hashHex, _signerAddress, signatureHex);
|
||||
return signatureValidator.isValidHashSignature(_hashHex, _signerAddress, signatureHex).callAsync();
|
||||
};
|
||||
|
||||
it('should revert when signerAddress == 0', async () => {
|
||||
@@ -388,11 +384,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const trezorSignatureType = ethUtil.toBuffer(`0x${SignatureType.EthSign}`);
|
||||
const signature = Buffer.concat([v, r, s, trezorSignatureType]);
|
||||
const signatureHex = ethUtil.bufferToHex(signature);
|
||||
const isValidSignature = await signatureValidator.isValidHashSignature.callAsync(
|
||||
messageHash,
|
||||
signer,
|
||||
signatureHex,
|
||||
);
|
||||
const isValidSignature = await signatureValidator
|
||||
.isValidHashSignature(messageHash, signer, signatureHex)
|
||||
.callAsync();
|
||||
expect(isValidSignature).to.be.true();
|
||||
});
|
||||
|
||||
@@ -406,11 +400,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const trezorSignatureType = ethUtil.toBuffer(`0x${SignatureType.EthSign}`);
|
||||
const signature = Buffer.concat([v, r, s, trezorSignatureType]);
|
||||
const signatureHex = ethUtil.bufferToHex(signature);
|
||||
const isValidSignature = await signatureValidator.isValidHashSignature.callAsync(
|
||||
messageHash,
|
||||
signer,
|
||||
signatureHex,
|
||||
);
|
||||
const isValidSignature = await signatureValidator
|
||||
.isValidHashSignature(messageHash, signer, signatureHex)
|
||||
.callAsync();
|
||||
expect(isValidSignature).to.be.true();
|
||||
});
|
||||
|
||||
@@ -427,10 +419,10 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
...constants.STATIC_ORDER_PARAMS,
|
||||
makerAddress,
|
||||
feeRecipientAddress: randomAddress(),
|
||||
makerAssetData: await devUtils.encodeERC20AssetData.callAsync(randomAddress()),
|
||||
takerAssetData: await devUtils.encodeERC20AssetData.callAsync(randomAddress()),
|
||||
makerFeeAssetData: await devUtils.encodeERC20AssetData.callAsync(randomAddress()),
|
||||
takerFeeAssetData: await devUtils.encodeERC20AssetData.callAsync(randomAddress()),
|
||||
makerAssetData: await devUtils.encodeERC20AssetData(randomAddress()).callAsync(),
|
||||
takerAssetData: await devUtils.encodeERC20AssetData(randomAddress()).callAsync(),
|
||||
makerFeeAssetData: await devUtils.encodeERC20AssetData(randomAddress()).callAsync(),
|
||||
takerFeeAssetData: await devUtils.encodeERC20AssetData(randomAddress()).callAsync(),
|
||||
makerFee: constants.ZERO_AMOUNT,
|
||||
takerFee: constants.ZERO_AMOUNT,
|
||||
exchangeAddress: signatureValidator.address,
|
||||
@@ -455,13 +447,11 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
? constants.NULL_BYTES
|
||||
: hashBytes(validatorExpectedSignatureHex);
|
||||
if (validatorAction !== undefined) {
|
||||
await validatorWallet.prepare.awaitTransactionSuccessAsync(
|
||||
orderHashHex,
|
||||
validatorAction,
|
||||
expectedSignatureHashHex,
|
||||
);
|
||||
await validatorWallet
|
||||
.prepare(orderHashHex, validatorAction, expectedSignatureHashHex)
|
||||
.awaitTransactionSuccessAsync();
|
||||
}
|
||||
return signatureValidator.isValidOrderSignature.callAsync(order, signatureHex);
|
||||
return signatureValidator.isValidOrderSignature(order, signatureHex).callAsync();
|
||||
};
|
||||
|
||||
it('should revert when signerAddress == 0', async () => {
|
||||
@@ -477,7 +467,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
constants.NULL_ADDRESS,
|
||||
signatureHex,
|
||||
);
|
||||
const tx = signatureValidator.isValidOrderSignature.callAsync(nullMakerOrder, signatureHex);
|
||||
const tx = signatureValidator.isValidOrderSignature(nullMakerOrder, signatureHex).callAsync();
|
||||
return expect(tx).to.revertWith(expectedError);
|
||||
});
|
||||
|
||||
@@ -526,7 +516,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
const signatureHex = hexConcat(signatureDataHex, validatorWallet.address, SignatureType.Validator);
|
||||
const orderHashHex = orderHashUtils.getOrderHashHex(signedOrder);
|
||||
const data = eip1271Data.OrderWithHash.getABIEncodedTransactionData(signedOrder, orderHashHex);
|
||||
const data = eip1271Data.OrderWithHash(signedOrder, orderHashHex).getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -543,7 +533,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
const signatureHex = hexConcat(signatureDataHex, validatorWallet.address, SignatureType.Validator);
|
||||
const orderHashHex = orderHashUtils.getOrderHashHex(signedOrder);
|
||||
const data = eip1271Data.OrderWithHash.getABIEncodedTransactionData(signedOrder, orderHashHex);
|
||||
const data = eip1271Data.OrderWithHash(signedOrder, orderHashHex).getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -560,7 +550,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
const signatureHex = hexConcat(signatureDataHex, validatorWallet.address, SignatureType.Validator);
|
||||
const orderHashHex = orderHashUtils.getOrderHashHex(signedOrder);
|
||||
const data = eip1271Data.OrderWithHash.getABIEncodedTransactionData(signedOrder, orderHashHex);
|
||||
const data = eip1271Data.OrderWithHash(signedOrder, orderHashHex).getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -573,11 +563,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
|
||||
it('should revert when SignatureType=Validator and signature is shorter than 21 bytes', async () => {
|
||||
// Set approval of signature validator to false
|
||||
await signatureValidator.setSignatureValidatorApproval.awaitTransactionSuccessAsync(
|
||||
validatorWallet.address,
|
||||
false,
|
||||
{ from: signedOrder.makerAddress },
|
||||
);
|
||||
await signatureValidator
|
||||
.setSignatureValidatorApproval(validatorWallet.address, false)
|
||||
.awaitTransactionSuccessAsync({ from: signedOrder.makerAddress });
|
||||
// Doesn't have to contain a real signature since our wallet contract
|
||||
// just does a hash comparison.
|
||||
const signatureHex = hexConcat(SignatureType.Validator);
|
||||
@@ -594,11 +582,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
|
||||
it('should revert when SignatureType=Validator, signature is valid and validator is not approved', async () => {
|
||||
// Set approval of signature validator to false
|
||||
await signatureValidator.setSignatureValidatorApproval.awaitTransactionSuccessAsync(
|
||||
validatorWallet.address,
|
||||
false,
|
||||
{ from: signedOrder.makerAddress },
|
||||
);
|
||||
await signatureValidator
|
||||
.setSignatureValidatorApproval(validatorWallet.address, false)
|
||||
.awaitTransactionSuccessAsync({ from: signedOrder.makerAddress });
|
||||
// Doesn't have to contain a real signature since our wallet contract
|
||||
// just does a hash comparison.
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
@@ -663,7 +649,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
const signatureHex = hexConcat(signatureDataHex, SignatureType.EIP1271Wallet);
|
||||
const orderHashHex = orderHashUtils.getOrderHashHex(signedOrder);
|
||||
const data = eip1271Data.OrderWithHash.getABIEncodedTransactionData(signedOrder, orderHashHex);
|
||||
const data = eip1271Data.OrderWithHash(signedOrder, orderHashHex).getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -680,7 +666,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
// just does a hash comparison.
|
||||
const signatureHex = hexConcat(generateRandomSignature(), SignatureType.EIP1271Wallet);
|
||||
const orderHashHex = orderHashUtils.getOrderHashHex(signedOrder);
|
||||
const data = eip1271Data.OrderWithHash.getABIEncodedTransactionData(signedOrder, orderHashHex);
|
||||
const data = eip1271Data.OrderWithHash(signedOrder, orderHashHex).getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -695,7 +681,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
signedOrder.makerAddress = validatorWallet.address;
|
||||
const signatureHex = hexConcat(SignatureType.EIP1271Wallet);
|
||||
const orderHashHex = orderHashUtils.getOrderHashHex(signedOrder);
|
||||
const data = eip1271Data.OrderWithHash.getABIEncodedTransactionData(signedOrder, orderHashHex);
|
||||
const data = eip1271Data.OrderWithHash(signedOrder, orderHashHex).getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -710,21 +696,21 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const signatureHex = hexConcat(SignatureType.EIP1271Wallet);
|
||||
signedOrder.makerAddress = notSignerAddress;
|
||||
const orderHashHex = orderHashUtils.getOrderHashHex(signedOrder);
|
||||
const data = eip1271Data.OrderWithHash.getABIEncodedTransactionData(signedOrder, orderHashHex);
|
||||
const data = eip1271Data.OrderWithHash(signedOrder, orderHashHex).getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
notSignerAddress,
|
||||
data,
|
||||
signatureHex,
|
||||
constants.NULL_BYTES,
|
||||
);
|
||||
const tx = signatureValidator.isValidOrderSignature.callAsync(signedOrder, signatureHex);
|
||||
const tx = signatureValidator.isValidOrderSignature(signedOrder, signatureHex).callAsync();
|
||||
return expect(tx).to.revertWith(expectedError);
|
||||
});
|
||||
|
||||
it('should revert when signer is an EOA and SignatureType=Validator', async () => {
|
||||
const signatureHex = hexConcat(notSignerAddress, SignatureType.Validator);
|
||||
const orderHashHex = orderHashUtils.getOrderHashHex(signedOrder);
|
||||
const data = eip1271Data.OrderWithHash.getABIEncodedTransactionData(signedOrder, orderHashHex);
|
||||
const data = eip1271Data.OrderWithHash(signedOrder, orderHashHex).getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
notSignerAddress,
|
||||
data,
|
||||
@@ -732,12 +718,10 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
constants.NULL_BYTES,
|
||||
);
|
||||
// Register an EOA as a validator.
|
||||
await signatureValidator.setSignatureValidatorApproval.awaitTransactionSuccessAsync(
|
||||
notSignerAddress,
|
||||
true,
|
||||
{ from: signerAddress },
|
||||
);
|
||||
const tx = signatureValidator.isValidOrderSignature.callAsync(signedOrder, signatureHex);
|
||||
await signatureValidator
|
||||
.setSignatureValidatorApproval(notSignerAddress, true)
|
||||
.awaitTransactionSuccessAsync({ from: signerAddress });
|
||||
const tx = signatureValidator.isValidOrderSignature(signedOrder, signatureHex).callAsync();
|
||||
return expect(tx).to.revertWith(expectedError);
|
||||
});
|
||||
|
||||
@@ -787,13 +771,11 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
? constants.NULL_BYTES
|
||||
: hashBytes(validatorExpectedSignatureHex);
|
||||
if (validatorAction !== undefined) {
|
||||
await validatorWallet.prepare.awaitTransactionSuccessAsync(
|
||||
transactionHashHex,
|
||||
validatorAction,
|
||||
expectedSignatureHashHex,
|
||||
);
|
||||
await validatorWallet
|
||||
.prepare(transactionHashHex, validatorAction, expectedSignatureHashHex)
|
||||
.awaitTransactionSuccessAsync();
|
||||
}
|
||||
return signatureValidator.isValidTransactionSignature.callAsync(transaction, signatureHex);
|
||||
return signatureValidator.isValidTransactionSignature(transaction, signatureHex).callAsync();
|
||||
};
|
||||
|
||||
it('should revert when signerAddress == 0', async () => {
|
||||
@@ -809,7 +791,7 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
constants.NULL_ADDRESS,
|
||||
signatureHex,
|
||||
);
|
||||
const tx = signatureValidator.isValidTransactionSignature.callAsync(nullSignerTransaction, signatureHex);
|
||||
const tx = signatureValidator.isValidTransactionSignature(nullSignerTransaction, signatureHex).callAsync();
|
||||
return expect(tx).to.revertWith(expectedError);
|
||||
});
|
||||
|
||||
@@ -856,11 +838,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
|
||||
it('should revert when SignatureType=Validator and signature is shorter than 21 bytes', async () => {
|
||||
// Set approval of signature validator to false
|
||||
await signatureValidator.setSignatureValidatorApproval.awaitTransactionSuccessAsync(
|
||||
validatorWallet.address,
|
||||
false,
|
||||
{ from: signedTransaction.signerAddress },
|
||||
);
|
||||
await signatureValidator
|
||||
.setSignatureValidatorApproval(validatorWallet.address, false)
|
||||
.awaitTransactionSuccessAsync({ from: signedTransaction.signerAddress });
|
||||
// Doesn't have to contain a real signature since our wallet contract
|
||||
// just does a hash comparison.
|
||||
const signatureHex = hexConcat(SignatureType.Validator);
|
||||
@@ -879,10 +859,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
const signatureHex = hexConcat(signatureDataHex, validatorWallet.address, SignatureType.Validator);
|
||||
const transactionHashHex = transactionHashUtils.getTransactionHashHex(signedTransaction);
|
||||
const data = eip1271Data.ZeroExTransactionWithHash.getABIEncodedTransactionData(
|
||||
signedTransaction,
|
||||
transactionHashHex,
|
||||
);
|
||||
const data = eip1271Data
|
||||
.ZeroExTransactionWithHash(signedTransaction, transactionHashHex)
|
||||
.getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -904,10 +883,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
const signatureHex = hexConcat(signatureDataHex, validatorWallet.address, SignatureType.Validator);
|
||||
const transactionHashHex = transactionHashUtils.getTransactionHashHex(signedTransaction);
|
||||
const data = eip1271Data.ZeroExTransactionWithHash.getABIEncodedTransactionData(
|
||||
signedTransaction,
|
||||
transactionHashHex,
|
||||
);
|
||||
const data = eip1271Data
|
||||
.ZeroExTransactionWithHash(signedTransaction, transactionHashHex)
|
||||
.getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -924,10 +902,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
const signatureHex = hexConcat(signatureDataHex, validatorWallet.address, SignatureType.Validator);
|
||||
const transactionHashHex = transactionHashUtils.getTransactionHashHex(signedTransaction);
|
||||
const data = eip1271Data.ZeroExTransactionWithHash.getABIEncodedTransactionData(
|
||||
signedTransaction,
|
||||
transactionHashHex,
|
||||
);
|
||||
const data = eip1271Data
|
||||
.ZeroExTransactionWithHash(signedTransaction, transactionHashHex)
|
||||
.getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -940,11 +917,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
|
||||
it('should revert when SignatureType=Validator, signature is valid and validator is not approved', async () => {
|
||||
// Set approval of signature validator to false
|
||||
await signatureValidator.setSignatureValidatorApproval.awaitTransactionSuccessAsync(
|
||||
validatorWallet.address,
|
||||
false,
|
||||
{ from: signedTransaction.signerAddress },
|
||||
);
|
||||
await signatureValidator
|
||||
.setSignatureValidatorApproval(validatorWallet.address, false)
|
||||
.awaitTransactionSuccessAsync({ from: signedTransaction.signerAddress });
|
||||
// Doesn't have to contain a real signature since our wallet contract
|
||||
// just does a hash comparison.
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
@@ -1009,10 +984,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
const signatureDataHex = generateRandomSignature();
|
||||
const signatureHex = hexConcat(signatureDataHex, SignatureType.EIP1271Wallet);
|
||||
const transactionHashHex = transactionHashUtils.getTransactionHashHex(signedTransaction);
|
||||
const data = eip1271Data.ZeroExTransactionWithHash.getABIEncodedTransactionData(
|
||||
signedTransaction,
|
||||
transactionHashHex,
|
||||
);
|
||||
const data = eip1271Data
|
||||
.ZeroExTransactionWithHash(signedTransaction, transactionHashHex)
|
||||
.getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -1034,10 +1008,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
// just does a hash comparison.
|
||||
const signatureHex = hexConcat(generateRandomSignature(), SignatureType.EIP1271Wallet);
|
||||
const transactionHashHex = transactionHashUtils.getTransactionHashHex(signedTransaction);
|
||||
const data = eip1271Data.ZeroExTransactionWithHash.getABIEncodedTransactionData(
|
||||
signedTransaction,
|
||||
transactionHashHex,
|
||||
);
|
||||
const data = eip1271Data
|
||||
.ZeroExTransactionWithHash(signedTransaction, transactionHashHex)
|
||||
.getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -1054,10 +1027,9 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
// just does a hash comparison.
|
||||
const signatureHex = hexConcat(generateRandomSignature(), SignatureType.EIP1271Wallet);
|
||||
const transactionHashHex = transactionHashUtils.getTransactionHashHex(signedTransaction);
|
||||
const data = eip1271Data.ZeroExTransactionWithHash.getABIEncodedTransactionData(
|
||||
signedTransaction,
|
||||
transactionHashHex,
|
||||
);
|
||||
const data = eip1271Data
|
||||
.ZeroExTransactionWithHash(signedTransaction, transactionHashHex)
|
||||
.getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
validatorWallet.address,
|
||||
data,
|
||||
@@ -1071,27 +1043,25 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
it('should revert when signer is an EOA and SignatureType=EIP1271Wallet', async () => {
|
||||
const signatureHex = hexConcat(SignatureType.EIP1271Wallet);
|
||||
const transactionHashHex = transactionHashUtils.getTransactionHashHex(signedTransaction);
|
||||
const data = eip1271Data.ZeroExTransactionWithHash.getABIEncodedTransactionData(
|
||||
signedTransaction,
|
||||
transactionHashHex,
|
||||
);
|
||||
const data = eip1271Data
|
||||
.ZeroExTransactionWithHash(signedTransaction, transactionHashHex)
|
||||
.getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
signedTransaction.signerAddress,
|
||||
data,
|
||||
signatureHex,
|
||||
constants.NULL_BYTES,
|
||||
);
|
||||
const tx = signatureValidator.isValidTransactionSignature.callAsync(signedTransaction, signatureHex);
|
||||
const tx = signatureValidator.isValidTransactionSignature(signedTransaction, signatureHex).callAsync();
|
||||
return expect(tx).to.revertWith(expectedError);
|
||||
});
|
||||
|
||||
it('should revert when signer is an EOA and SignatureType=Validator', async () => {
|
||||
const signatureHex = hexConcat(notSignerAddress, SignatureType.Validator);
|
||||
const transactionHashHex = transactionHashUtils.getTransactionHashHex(signedTransaction);
|
||||
const data = eip1271Data.ZeroExTransactionWithHash.getABIEncodedTransactionData(
|
||||
signedTransaction,
|
||||
transactionHashHex,
|
||||
);
|
||||
const data = eip1271Data
|
||||
.ZeroExTransactionWithHash(signedTransaction, transactionHashHex)
|
||||
.getABIEncodedTransactionData();
|
||||
const expectedError = new ExchangeRevertErrors.EIP1271SignatureError(
|
||||
notSignerAddress,
|
||||
data,
|
||||
@@ -1099,12 +1069,10 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
constants.NULL_BYTES,
|
||||
);
|
||||
// Register an EOA as a validator.
|
||||
await signatureValidator.setSignatureValidatorApproval.awaitTransactionSuccessAsync(
|
||||
notSignerAddress,
|
||||
true,
|
||||
{ from: signerAddress },
|
||||
);
|
||||
const tx = signatureValidator.isValidTransactionSignature.callAsync(signedTransaction, signatureHex);
|
||||
await signatureValidator
|
||||
.setSignatureValidatorApproval(notSignerAddress, true)
|
||||
.awaitTransactionSuccessAsync({ from: signerAddress });
|
||||
const tx = signatureValidator.isValidTransactionSignature(signedTransaction, signatureHex).callAsync();
|
||||
return expect(tx).to.revertWith(expectedError);
|
||||
});
|
||||
|
||||
@@ -1134,13 +1102,11 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
|
||||
it('should emit a SignatureValidatorApprovalSet with correct args when a validator is approved', async () => {
|
||||
const approval = true;
|
||||
const res = await signatureValidator.setSignatureValidatorApproval.awaitTransactionSuccessAsync(
|
||||
validatorWallet.address,
|
||||
approval,
|
||||
{
|
||||
const res = await signatureValidator
|
||||
.setSignatureValidatorApproval(validatorWallet.address, approval)
|
||||
.awaitTransactionSuccessAsync({
|
||||
from: signerAddress,
|
||||
},
|
||||
);
|
||||
});
|
||||
expect(res.logs.length).to.equal(1);
|
||||
const log = signatureValidatorLogDecoder.decodeLogOrThrow(res.logs[0]) as LogWithDecodedArgs<
|
||||
TestSignatureValidatorSignatureValidatorApprovalEventArgs
|
||||
@@ -1152,13 +1118,11 @@ blockchainTests.resets('MixinSignatureValidator', env => {
|
||||
});
|
||||
it('should emit a SignatureValidatorApprovalSet with correct args when a validator is disapproved', async () => {
|
||||
const approval = false;
|
||||
const res = await signatureValidator.setSignatureValidatorApproval.awaitTransactionSuccessAsync(
|
||||
validatorWallet.address,
|
||||
approval,
|
||||
{
|
||||
const res = await signatureValidator
|
||||
.setSignatureValidatorApproval(validatorWallet.address, approval)
|
||||
.awaitTransactionSuccessAsync({
|
||||
from: signerAddress,
|
||||
},
|
||||
);
|
||||
});
|
||||
expect(res.logs.length).to.equal(1);
|
||||
const log = signatureValidatorLogDecoder.decodeLogOrThrow(res.logs[0]) as LogWithDecodedArgs<
|
||||
TestSignatureValidatorSignatureValidatorApprovalEventArgs
|
||||
|
Reference in New Issue
Block a user