aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorGreg Hysen <greg.hysen@gmail.com>2018-12-04 09:26:24 +0800
committerGreg Hysen <greg.hysen@gmail.com>2018-12-19 05:36:05 +0800
commitdf0de071841e2953f6843a86bbce4ecb3ad7b04f (patch)
tree99af4e7a0bd8769a0204e906a483dde82cb992b7 /packages
parent28a5ed6a9a1e44dd298d98f9f4bcb65b1d021e26 (diff)
downloaddexon-sol-tools-df0de071841e2953f6843a86bbce4ecb3ad7b04f.tar
dexon-sol-tools-df0de071841e2953f6843a86bbce4ecb3ad7b04f.tar.gz
dexon-sol-tools-df0de071841e2953f6843a86bbce4ecb3ad7b04f.tar.bz2
dexon-sol-tools-df0de071841e2953f6843a86bbce4ecb3ad7b04f.tar.lz
dexon-sol-tools-df0de071841e2953f6843a86bbce4ecb3ad7b04f.tar.xz
dexon-sol-tools-df0de071841e2953f6843a86bbce4ecb3ad7b04f.tar.zst
dexon-sol-tools-df0de071841e2953f6843a86bbce4ecb3ad7b04f.zip
cleaning
Diffstat (limited to 'packages')
-rw-r--r--packages/contracts/contracts/extensions/CompliantForwarder/CompliantForwarder.sol28
1 files changed, 19 insertions, 9 deletions
diff --git a/packages/contracts/contracts/extensions/CompliantForwarder/CompliantForwarder.sol b/packages/contracts/contracts/extensions/CompliantForwarder/CompliantForwarder.sol
index 687e931da..b5290dc10 100644
--- a/packages/contracts/contracts/extensions/CompliantForwarder/CompliantForwarder.sol
+++ b/packages/contracts/contracts/extensions/CompliantForwarder/CompliantForwarder.sol
@@ -72,36 +72,46 @@ contract CompliantForwarder is ExchangeSelectors{
mstore(add(addressesToValidate_, offset), addressToValidate)
}
+ function validateAddress(addressToValidate) {
+
+ }
+
function exchangeCalldataload(offset) -> value {
// exchangeTxPtr at global level
// 0x20 for length offset into exchange TX
// 0x4 for function selector in exhcange TX
let exchangeTxPtr := calldataload(0x44)
- let exchangeOffset := add(0x4, add(exchangeTxPtr, add(0x24, offset)))
+ let exchangeOffset := add(exchangeTxPtr, add(0x24, offset))
value := calldataload(exchangeOffset)
}
+ function loadExchangeData(offset) -> value {
+ value := exchangeCalldataload(add(offset, 0x4))
+ }
+
function appendMakerAddressFromOrder(orderParamIndex) {
- let orderPtr := exchangeCalldataload(0)
- let makerAddress := exchangeCalldataload(orderPtr)
+ let orderPtr := loadExchangeData(0)
+ let makerAddress := loadExchangeData(orderPtr)
addAddressToValidate(makerAddress)
}
function appendMakerAddressesFromOrderSet(orderSetParamIndex) -> one {
- let orderSetPtr := exchangeCalldataload(0)
- let orderSetLength := exchangeCalldataload(orderSetPtr)
+ let orderSetPtr := loadExchangeData(0)
+ let orderSetLength := loadExchangeData(orderSetPtr)
let orderSetElementPtr := add(orderSetPtr, 0x20)
let orderSetElementEndPtr := add(orderSetElementPtr, mul(orderSetLength, 0x20))
for {let orderPtrOffset := orderSetElementPtr} lt(orderPtrOffset, orderSetElementEndPtr) {orderPtrOffset := add(orderPtrOffset, 0x20)} {
- let orderPtr := exchangeCalldataload(orderPtrOffset)
- let makerAddress := exchangeCalldataload(add(orderPtr, orderSetElementPtr))
+ let orderPtr := loadExchangeData(orderPtrOffset)
+ let makerAddress := loadExchangeData(add(orderPtr, orderSetElementPtr))
addAddressToValidate(makerAddress)
}
}
// Extract addresses to validate
- let exchangeTxPtr1 := calldataload(0x44)
- let selector := and(calldataload(add(0x4, add(0x20, exchangeTxPtr1))), 0xffffffff00000000000000000000000000000000000000000000000000000000)
+ let selector := and(
+ exchangeCalldataload(0),
+ 0xffffffff00000000000000000000000000000000000000000000000000000000
+ )
switch selector
case 0x297bb70b00000000000000000000000000000000000000000000000000000000 /* batchFillOrders */
{